【问题标题】:Trying to buy once price closes above previous high一旦收盘价高于之前的高点,就试图买入
【发布时间】:2021-10-02 09:49:37
【问题描述】:

您好,我是 pine 脚本的新手,我正在尝试运行一个在价格收于最近 20 根蜡烛的最高点上方时买入的策略。

这是给我带来问题的代码部分

oldhigh = highest(high, 20)
newhigh = close > oldhigh
plot(highest(high, 20))
strategy.entry("Buy", strategy.long, when=newhigh and inDateRange, comment="New High")
strategy.close("Buy", when=(close < close[1]), comment="Close")

从策略测试器中我可以看到它没有下单。我假设它随着价格的上涨而创出新高,并将其包含在代码的 oldhigh 部分中,因此收盘价永远不会超过高点,因为它是新高点。话虽如此,我不知道如何解决该问题,因此我们将不胜感激。

【问题讨论】:

    标签: pine-script


    【解决方案1】:

    你是对的!问题在于,每次我们创造新高时,它都会将最高线推高,因此我们无法检测到交叉。为避免这种情况,我们必须使用历史运算符 [1] 将这个高点从计算中排除。

    oldhigh = highest(high, 20)
    newhigh = close > oldhigh[1]
    plot(oldhigh[1])
    strategy.entry("Buy", strategy.long, when=newhigh and inDateRange, comment="New High")
    strategy.close("Buy", when=(close < close[1]), comment="Close")
    

    这样我们就可以看到目前为止最高的 20 个。在您的退出测试中尝试的另一个建议可能是如果我们以较低的收盘价和较低的低点退出。只是一个想法可能行得通,也可能行不通。

    干杯!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-26
      • 2023-02-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多