使用 barsince(change(strategy.position_size)) > 10 时输入不起作用

2024-03-26

我的脚本中有一个奇怪的问题。

这是工作代码:

//@version=4
strategy("Test script", overlay=true, pyramiding=100)
process_orders_on_close=true

// FACTOR 1X MACD
fastMA = round(12*1)
slowMA = round(26*1)
signal = round(9*1)
[Macd1x,_,Hist] = macd(close[0], fastMA, slowMA, signal)

// FACTOR 4X MACD
fastMA4x = round(12*4)
slowMA4x = round(26*4)
signal4x = round(9*4)
[Macd4x,_,_] = macd(close[0], fastMA4x, slowMA4x, signal4x)

// TRADE CONDITIONS
PreventMultipleEntrys = barssince(change(strategy.position_size)) > 10

BuySignal = Macd1x > 0 and Macd4x > 0 and PreventMultipleEntrys
SellSignal = Macd1x < 0 and Macd4x < 0

strategy.entry(id="Enter Long", long=true, when=BuySignal)
strategy.entry(id="Enter Short", long=false, when=SellSignal)

所以我在这里得到了多头和空头交易条目。 但是,当我添加PreventMultipleEntrys对于我的卖出信号,一切都停止了。我没有收到任何买入或卖出信号,但编译器仍然没有错误?

聪明的人可以帮我解决这个奇怪的错误吗? 这是非工作代码:

//@version=4
strategy("Test script", overlay=true, pyramiding=100)
process_orders_on_close=true

// FACTOR 1X MACD
fastMA = round(12*1)
slowMA = round(26*1)
signal = round(9*1)
[Macd1x,_,Hist] = macd(close[0], fastMA, slowMA, signal)

// FACTOR 4X MACD
fastMA4x = round(12*4)
slowMA4x = round(26*4)
signal4x = round(9*4)
[Macd4x,_,_] = macd(close[0], fastMA4x, slowMA4x, signal4x)

// TRADE CONDITIONS
PreventMultipleEntrys = barssince(change(strategy.position_size)) > 10

BuySignal = Macd1x > 0 and Macd4x > 0 and PreventMultipleEntrys
SellSignal = Macd1x < 0 and Macd4x < 0 and PreventMultipleEntrys //This line makes everything stop working

strategy.entry(id="Enter Long", long=true, when=BuySignal)
strategy.entry(id="Enter Short", long=false, when=SellSignal)

这使用不同的逻辑来防止多头和空头过早入场。您的代码编写方式的问题在于,第一次交易永远不可能发生以使事情顺利进行,因为 10 根柱之前的头寸大小第一次变化从未发生过:

//@version=4
strategy("Test script", overlay=true, pyramiding=100)
process_orders_on_close=true

// FACTOR 1X MACD
fastMA = round(12*1)
slowMA = round(26*1)
signal = round(9*1)
[Macd1x,_,Hist] = macd(close[0], fastMA, slowMA, signal)

// FACTOR 4X MACD
fastMA4x = round(12*4)
slowMA4x = round(26*4)
signal4x = round(9*4)
[Macd4x,_,_] = macd(close[0], fastMA4x, slowMA4x, signal4x)

// TRADE CONDITIONS
PreventMultipleLongEntries = sum(change(strategy.position_size) > 0 ? 1 : 0, 10) == 0
PreventMultipleShortEntries = sum(change(strategy.position_size) < 0 ? 1 : 0, 10) == 0

BuySignal = Macd1x > 0 and Macd4x > 0 and PreventMultipleLongEntries
SellSignal = Macd1x < 0 and Macd4x < 0 and PreventMultipleShortEntries

strategy.entry(id="Enter Long", long=true, when=BuySignal)
strategy.entry(id="Enter Short", long=false, when=SellSignal)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 barsince(change(strategy.position_size)) > 10 时输入不起作用 的相关文章

  • 如何使用先进先出法计算股票交易的已实现盈亏?

    我正在寻找一个 Python 插件 可以使用 FIFO 方法计算大量股票交易的已实现损益 例如 假设我们有以下三笔 MSFT 交易 75 微软金融科技 25 10 50 微软金融科技 25 12 100微软金融时报25 22 在 25 22
  • 使用Python从电报通道获取信号并将其放入MT4中

    我想从 Telegram 频道读取消息 这是重要的外汇信号 并在 MT4 Windows 应用程序中下订单 现在 我制作了一个 python 脚本 用于监听频道并将消息存储在数据库中 我还可以解析消息以获取必要的值 例如 TP SL 等 现
  • Pine脚本系列[string]到字符串转换

    我正在尝试从数组中读取符号 字符串 但是array get返回一个Series string 对象 而security只接受简单的字符串 我尝试转换为字符串 但它仍然给出 不接受系列 字符串 参数 错误 有办法让这项工作发挥作用吗 vers
  • Pine Script 绘图形状偏移问题

    该脚本将表示高点 左侧条形较低 右侧条形较低 我还希望这个脚本给我 HighofHighs 左高和右高较低 我可以正常工作 但无法让标签显示在正确的栏上 如果我使用 offset 1 它将把它放在最近的高点上 如果我使用 offset hi
  • 如何在滚动窗口中应用Python中的赫斯特指数

    我正在尝试在滚动窗口上应用 SPY 收盘价的赫斯特指数 下面的代码 我从这里得到的 https www quantstart com articles Basics of Statistical Mean Reversion Testing
  • 不能使用可变变量作为安全函数的参数

    下面的脚本无法编译 它抛出错误Cannot use a mutable variable as an argument of the security function我不明白为什么 我在安全函数中使用的参数不是可变变量 当我注释掉该行时h
  • 有没有办法从数据窗口中隐藏特定的指标值?

    我最近创建了一个脚本 可以在 TradingView 的图表上绘制几个不同的指标 在特定场景下 部分指标不活跃 在数据窗口中显示 n a 我知道 TradingView 允许我们隐藏所有指标值 我想自定义哪些指标值可见 这可能吗 谢谢你的时
  • 在 pinescript 中向警报添加变量

    我想在 pine 脚本中对 TradingView 中的多只股票使用相同的警报条件 问题是我不知道哪只股票触发了警报 除非我创建脚本的副本并为每个脚本提供自定义消息 我想要这样的东西 alertcondition someCondition
  • 如何优化 TradingView Pine 脚本中的参数? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想优化 TradingView Pine 回测中的指标参数 这对于其他工具来说是可能的 但是当我在
  • 如何将plot语句放在if语句中

    我想在价格上绘制权益曲线 将该策略与简单的买入并持有进行比较 为了使图表有用 权益曲线可以从初始权益开始 或者与图表上的第一个价格一致 或者根本没有权益曲线 具体取决于手动输入 使用下面的代码 我得到这个 第 xx 行 无法在本地范围内使用
  • 函数向全局变量返回 2 个值

    鉴于这个帖子 https stackoverflow com questions 61217589 set 2 series at once我想问为什么下面的脚本适用于 a b 但不适合 c d 找不到任何文档来解释为什么这不起作用 此示例
  • 无法从 pine 编辑器中的函数访问值

    我正在尝试测试 RSI 14 DI 反转策略 但无法从它们所在的函数访问 DI 或 DI 变量为 加 和 减 有关如何访问它们的任何想法 这是代码 version 4 strategy RSI 14 DI DI Reversal Strat
  • 如何延迟 pine 脚本中生成的警报,如果图表时间范围为 10m,任何人都可以帮助将警报延迟 n 秒吗?

    我在一秒钟内收到太多警报 相同的代码 指标应用于不同的股票 代码 并且我希望将每个警报延迟至少 5 秒 我尝试过使用 pinecoders com 提供的这个指标代码https www pinecoders com faq and code
  • Pine Script 当前价格指标

    有没有办法在 Pine Script 中创建反映股票当前价格的指标 我需要这个指标 因为我需要在蜡烛收盘前 当存在特定交叉时 输入订单 并且逐条提供回测数据 我认为指标可以让我做到这一点 如果没有 还有其他方法可以解决这个问题 我不是一个经
  • 使用图表构建交易平台 - 对 Python GUI 库的建议

    我正在构建一个小程序来从市场检索数据并实时绘制图表 虽然交易决策将在很大程度上自动化 但图表会不断更新 以便有人可以跟踪决策的制定方式 并在必要时进行手动干预 对于该任务 对于 Python 来说 什么是一个好的 GUI 库 以下是考虑因素
  • 重新采样数据帧,计算间隔内不同列的最小值、最大值以及第一列和最后一列

    我有一个数据库 其中包含 1 分钟的交易数据条目 包括开盘价 最高价 最低价和收盘价 我想创建一个函数 删除某些时间戳以仅保留 30m 条目 但是 需要更新该时间戳的值以反映新的周期 我执行了以下代码 但有一个问题 def time sta
  • 随着利润增加,如何在止损和当前价格之间保持 10 点的利润差距

    我试图在解决方案中添加另一个条件 当交易盈利 10 点时 我希望止损移动 10 点 更具体地说 假设我设置了一个挂单买单 止损是低于开盘价 10 点 止盈是 50 点 如果交易盈利 10 点 则止损将向上移动 10 点 如果交易盈利 20
  • 如何编写随机 RSI 指标

    我的指标看起来不像 TradingView 中的内置随机 RSI 指标 如何获得熟悉的外观来复制 st RSI 指标 这里是截屏 https www tradingview com x UdahzWrj 这显示了我的代码和 TradingV
  • 使用多个数组元素为相同符号生成多行(Pine 脚本)

    基于这个解决方案 https stackoverflow com questions 66370664 how to overcome compiled script code is too long in pine script来自 Bj
  • 这个套利机器人真的能正常运行吗?

    我一直在研究创建某种形式的加密货币套利交易机器人 最近看到了以下视频 该视频展示了一个套利机器人 该机器人通过部署到币安智能链的智能合约上的单个函数调用来运行 我已经查看了合约的代码 但不确定它是否能真正发挥作用 或者它是否是一个骗局合约

随机推荐

  • 如何在 MongoDB 中组织多对多关系

    我有两个表 集合 用户和组 用户可以是任意数量的组的成员 并且用户也可以是任意数量的组的所有者 在关系数据库中 我可能有第三个表 名为 UserGroups 其中包含 UserID 列 GroupID 列和 IsOwner 列 我正在使用
  • 如何编写一个接受借用或拥有元素的“Vec”的函数?

    在 Rust 中 如何将拥有的对象向量传递给需要借用对象向量的函数 我是创建新向量的唯一选择吗 对于函数签名的最佳实践是什么 在该函数中我关心结构体所包含的泛型的类型 但不关心它是否被借用 示例情况 fn using vec of borr
  • MySQL 事务日志

    我正在开发一个项目 要求我们在 DBMS MySQL 中使用 事务日志 我们已经改用 InnoDB 以便使用事务来满足另一个需求 我想了解什么是交易日志 我已经搜索了一天多了 包括阅读 MySQL 文档 也许我只是没有寻找正确的关键词 我不
  • 在 python 中评估后缀?

    我想编写一个函数来计算作为列表传递的后缀表达式 到目前为止我已经得到 def evalPostfix text s Stack for symbol in text if symbol in 0123456789 s push int sy
  • 设备无法识别 USB 调试上的 AVD 设备

    我的公司推出了由中国公司制造的新Android学习选项卡 我在此选项卡上测试我的应用程序时遇到问题 我可以使用驱动程序升级选项卡的操作系统 但我无法将设备用作 AVD 我从开发者选项中打开了 USB 调试 升级操作系统的驱动程序和将设备用作
  • 如何对调用 getJSON 的 javascript 函数进行单元测试

    我已经在单元测试中苦苦挣扎了两天 但在异步测试方面我无法实现一些目标 我是单元测试的新手 我不明白为什么这不起作用 我有一个文件 login js 调用 getJSON url data function 并返回一个带有登录状态的字符串 成
  • Android OnClickListener 未在 GridView 中触发(仅限 2.2)

    我有一个由 CursorAdapter 生成的按钮网格视图 当 CursorAdapter 传递到 Gridview 时 视图会正确呈现 但网格中的第一个项目不会触发 OnClickListener 事件 如果我在网格中选择另一个按钮 该事
  • 使用java代码获取FXML文件节点

    如何使用 FXML 文件获取元素或节点Java 我知道使用方法初始化或通过设置控制器FxmL 中的类 但我需要在没有任何控制器的情况下完成它 我想使用访问 fxml 文件内的节点 我的 FXML 代码 HBox fx id hbx id h
  • 如何知道基类指针指向什么类型的对象?

    我有一个名为 Cell 的基类 其他类有一个指向该类的对象的指针 以及 3 个派生类 CellA CellB 和 CellC 当一个 Cell 死亡时 指针指向 Cell 否则是存活的 A B 或 C 如何知道此时此刻指针指向什么而采取行动
  • 在按钮上绘制文本 - 外观差异

    I have my custom button where I have overridden the OnPaint and draw the text in it only On runtime the text looks diffe
  • 尝试修复 NetworkOnMainThreadException 但出现 Toast 错误

    我正在尝试修复来自 java 代码极客的我最喜欢的示例之一的线程错误 这是代码 public class JsonParsingActivity extends Activity String url http search twitter
  • @include 容器是什么意思?

    我正在开始使用 Compass 和 Susy 我的目标是让我的布局适应手机 平板电脑和桌面屏幕尺寸 在 Susy 的例子中 susy oddbird net http susy oddbird net guides reference re
  • Linux(或 RedHat Linux)上的小块分配器以避免内存碎片

    我知道有一个用于用户应用程序的分配器 可以处理 HP UX 上的大量小块分配链接文本 http docs hp com en B9106 90010 malloc 3C html在 Windows XP 上低碎片堆 http msdn mi
  • C# - 如何从集合视图中获取不同的项目

    CollectionView view CollectionView CollectionViewSource GetDefaultView MyData View Filter i gt MyClass i MyProperty 我有一个
  • iOS:UDID 已弃用...MAC 地址?

    据我们所知 Apple 不赞成开发者访问 UDID 但据我所知 可以获得 iDevice 的 MAC 地址 那么有什么区别呢 MAC地址和UDID都是硬件的唯一标识符 与应用程序无关 UDID 和 MAC 地址之间的一些明显差异 可以想象
  • Emacs 读取大文件 ~14GB [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 最近我在我的系统上下载了 emacs 来编辑大文件 正如它声称的那样 当尝试打开大文件时 emacs 给我带来了缓冲区大小超出的问题 有办法增加吗 我
  • 使用Android模拟器进行远程调试

    是否可以在一台机器上编写代码 编译 Android 应用程序并在另一台机器上启动的模拟器上远程调试它 我厌倦了模拟器不断地占用我笔记本电脑一半的 CPU 我以前没有尝试过 甚至没有注意到 adb connectcmb 提到的命令 但我可以确
  • 修复了 IOS 上位置延迟的问题

    当我在 iPad 上测试了我的网站上的 affix 后 我发现它无法正常工作 我惊讶地发现这是 iOS 的问题https github com twbs bootstrap issues 11560 https github com twb
  • Android 中的 ImageView 内容是否有工具属性?

    我找不到tools属性以在 Android 布局中设置示例图像 我的假设是目前没有这样的事情 至少没有direct支持 但我想知道是否我搜索得不够好或者是否有解决方法 如何在 Android 设计时定义图像占位符tools 的例子tools
  • 使用 barsince(change(strategy.position_size)) > 10 时输入不起作用

    我的脚本中有一个奇怪的问题 这是工作代码 version 4 strategy Test script overlay true pyramiding 100 process orders on close true FACTOR 1X M