如何转换Momentum策略脚本以在pinescript中发出警报?

时间:2018-09-29 10:59:38

标签: finance tradingview-api pine-script

有人可以帮助我将妈妈策略的松散脚本代码转换为警报吗? 这是代码:

//@version=3
strategy("Momentum Strategy", overlay=true)
length = input(12) 
price = close

momentum(seria, length) =>
    mom = seria - seria[length]
    mom

mom0 = momentum(price, length)
mom1 = momentum(mom0, 1)

if (mom0 > 0 and mom1 > 0)
    stop_price = high+syminfo.mintick
    strategy.entry("MomLE", strategy.long, stop=stop_price, comment="MomLE", qty=2)
else
    strategy.cancel("MomLE")

if (mom0 < 0 and mom1 < 0)
    stop_price = low - syminfo.mintick
    strategy.entry("MomSE", strategy.short, stop=stop_price, comment="MomSE", qty=2)
else
    strategy.cancel("MomSE")

1 个答案:

答案 0 :(得分:1)

  

有人可以帮助我将妈妈策略的松散脚本代码转换为警报吗?

要将策略代码转换为可以生成警报的指标,有四件事要做:

  1. strategy()函数替换为study()
  2. 删除策略专用代码。在这种情况下,它们是strategy.entry()strategy.exit()函数。
  3. 然后添加the alertcondition() function以编写警报条件。为此,您可以使用与所使用策略相同的逻辑。
  4. 在代码中添加某种输出功能*。

这是它的外观:

//@version=3
study("Momentum Alert", overlay=true)
length = input(12) 
price = close

momentum(seria, length) =>
    mom = seria - seria[length]
    mom

mom0 = momentum(price, length)
mom1 = momentum(mom0, 1)

// Create alert conditions
alertcondition(condition=mom0 > 0 and mom1 > 0,
     message="Momentum increased")

alertcondition(condition=mom < 0 and mom1 < 0,
     message="Momentum decreased")

// Output something
plot(series=mom0)

*:TradingView的alertcondition()函数不是所谓的“输出函数”。但是每个指示器确实需要这样的功能(例如,用于绘制,着色或创建形状)。否则您会得到'script must have at least one output function call' error

这就是为什么我在上面的示例代码中添加了plot()函数的原因,尽管严格来说,并不是必须要针对您的问题。