将开源指标纳入您的策略,而 pine 没有内置功能
Incorporating open-source indicator into your strategy that pine doesn't have a built-in function for
我正在尝试使用 Chandelier Exit 指示器创建松树策略。 CE 指标在最佳条件下在图表上绘制“买入”和“卖出”通知。我怎样才能让我的策略承认这些?据我了解,CE 指标是基于 ATR 的。我希望我不必使用 ta.atr.
从头开始重新创建 CE 指标
我看到一堆内置指标函数可以使用,例如 ta.crossover、ta.ema、ta.macd 等...但是如何将指标合并到您的策略(例如没有内置功能的 CE)?指标名称似乎是 'CE (22,3)' 并且在警报 window 中警报被称为 'CE Buy'
指标是开源的 - 这是 link:https://www.tradingview.com/script/AqXxNS7j-Chandelier-Exit/
我只想知道 BUY/SELL 信号何时为真,以便我可以进行进一步分析。任何能让我朝着正确方向前进的信息都将不胜感激:)
谢谢!
好吧,它是一个 open-source 指标,所以为什么不在您的策略中使用它的代码。
您不需要整个代码,只需要 buySignal
和 sellSignal
。
length = input(title="ATR Period", type=input.integer, defval=22)
mult = input(title="ATR Multiplier", type=input.float, step=0.1, defval=3.0)
useClose = input(title="Use Close Price for Extremums ?", type=input.bool, defval=true)
atr = mult * atr(length)
longStop = (useClose ? highest(close, length) : highest(length)) - atr
longStopPrev = nz(longStop[1], longStop)
longStop := close[1] > longStopPrev ? max(longStop, longStopPrev) : longStop
shortStop = (useClose ? lowest(close, length) : lowest(length)) + atr
shortStopPrev = nz(shortStop[1], shortStop)
shortStop := close[1] < shortStopPrev ? min(shortStop, shortStopPrev) : shortStop
var int dir = 1
dir := close > shortStopPrev ? 1 : close < longStopPrev ? -1 : dir
buySignal = dir == 1 and dir[1] == -1
sellSignal = dir == -1 and dir[1] == 1
然后在其上添加您的策略。
我正在尝试使用 Chandelier Exit 指示器创建松树策略。 CE 指标在最佳条件下在图表上绘制“买入”和“卖出”通知。我怎样才能让我的策略承认这些?据我了解,CE 指标是基于 ATR 的。我希望我不必使用 ta.atr.
从头开始重新创建 CE 指标我看到一堆内置指标函数可以使用,例如 ta.crossover、ta.ema、ta.macd 等...但是如何将指标合并到您的策略(例如没有内置功能的 CE)?指标名称似乎是 'CE (22,3)' 并且在警报 window 中警报被称为 'CE Buy'
指标是开源的 - 这是 link:https://www.tradingview.com/script/AqXxNS7j-Chandelier-Exit/
我只想知道 BUY/SELL 信号何时为真,以便我可以进行进一步分析。任何能让我朝着正确方向前进的信息都将不胜感激:)
谢谢!
好吧,它是一个 open-source 指标,所以为什么不在您的策略中使用它的代码。
您不需要整个代码,只需要 buySignal
和 sellSignal
。
length = input(title="ATR Period", type=input.integer, defval=22)
mult = input(title="ATR Multiplier", type=input.float, step=0.1, defval=3.0)
useClose = input(title="Use Close Price for Extremums ?", type=input.bool, defval=true)
atr = mult * atr(length)
longStop = (useClose ? highest(close, length) : highest(length)) - atr
longStopPrev = nz(longStop[1], longStop)
longStop := close[1] > longStopPrev ? max(longStop, longStopPrev) : longStop
shortStop = (useClose ? lowest(close, length) : lowest(length)) + atr
shortStopPrev = nz(shortStop[1], shortStop)
shortStop := close[1] < shortStopPrev ? min(shortStop, shortStopPrev) : shortStop
var int dir = 1
dir := close > shortStopPrev ? 1 : close < longStopPrev ? -1 : dir
buySignal = dir == 1 and dir[1] == -1
sellSignal = dir == -1 and dir[1] == 1
然后在其上添加您的策略。