使用 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 时输入不起作用 的相关文章

随机推荐

  • 如何在 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