【问题标题】:Pine Script - variable store and changesPine Script - 变量存储和更改
【发布时间】:2022-10-25 10:06:15
【问题描述】:

将定义的信号转换为变量时遇到问题,我可以使用该变量来计算自上次条件满足后有多少条柱线使信号为真。

例如,如果我有: longsignal = close > ta.sma(50, close)

并假设我退出了交易,但想等到收盘价跌破 SMA50 后再进场。所以我需要存储最后一次遇到 longsignal 的时间以及最近一次收盘价低于 SMA50 的时间,这样我可以在“longsignal”中添加一个附加条件,说明定义为“close < SMA50”的交叉也必须是真的发生在时间比最近的“长信号”更近。此外,我需要一个开始的论据来让事情顺利进行,因为第一笔交易没有“长信号”可供参考

我尝试为每个创建 var 但我所有的论点似乎都不完整

【问题讨论】:

    标签: pine-script pinescript-v5


    【解决方案1】:

    您可以使用ta.barssince() 函数计算自上次条件为真以来的柱数。

    since_longsignal = ta.barssince(longsignal)
    

    您也可以使用ta.crossover(close, sma50)。只有当价格低于 sma50 并且收盘价高于 sma50 时才会如此。

    【讨论】:

    • 谢谢你。但我随后得到'未声明的标识符'longsignal'。我怀疑是因为我没有存储有关此类事件发生的数据。我该如何解决?
    • 您需要在该行之前定义您的条件longsignal
    • 道歉-您非常乐于助人,而我的解释却很迟钝。设置是我的“长信号”是基于从枢轴低点的百分比变化。但是,一旦我退出该交易,如果我退出后的收盘价确实保持在高于枢轴低点的百分比之上,因为可能尚未创建新的枢轴,它希望立即返回。所以我想阻止它再次交易,直到出现新的支点。这就是为什么我试图推动“长信号”也取决于他们是否在时间上更接近最后一个支点。
    【解决方案2】:

    请在回测菜鸟网站上搜索。它有你需要的解决方案。

    https://backtest-rookies.com/2018/11/23/tradingview-save-a-variable-store-a-value-for-later/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-07
      • 2021-06-09
      • 1970-01-01
      • 2020-09-16
      • 2020-09-19
      • 2021-12-15
      相关资源
      最近更新 更多