带有警报的Pine脚本策略研究

时间:2020-03-25 07:54:13

标签: pine-script

我正在尝试将内置动量策略转换为带有警报的研究。我不知道我做对了没有。图表压缩为直线:( 请帮我。谢谢。

这是原始的内置动量策略:

//@version=4
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)
    strategy.entry("MomLE", strategy.long, stop=high+syminfo.mintick, comment="MomLE")
else
    strategy.cancel("MomLE")

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

//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)

这是我的警报研究:

//@version=4
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)

alertcondition(condition=mom0 > 0 and mom1 > 0, message="Momentum increased")
alertcondition(condition=mom0 < 0 and mom1 < 0, message="Momentum decreased")

plot(series=mom1)

2 个答案:

答案 0 :(得分:0)

我对此代码感到愤怒。芽,我仍然不知道它是否与内置策略相同

//@version=4
study(title="Momentum", shorttitle="Mom")

len = input(40, minval=1, title="Length")
src = input(close, title="Source")

mom = src - src[len]
mom0 = mom(src,len)
mom1 = mom(mom0,1)

alertcondition(condition=mom0 > 0 and mom1 > 0, message="Momentum increased")
alertcondition(condition=mom0 < 0 and mom1 < 0, message="Momentum decreased")

plot(mom0, color=color.olive, title="Mom")
plot(mom1, color=color.red, title="Mom")

我不明白这一点: enter image description here

答案 1 :(得分:0)

您的代码将产生与策略相同的进入条件,但是要重现所有策略的行为,您将需要构建逻辑,以复制该策略所使用的特定`strategy。*()调用以及电视经纪人模拟器如何执行它们

例如,您的输入正在发布停止订单,当输入条件不再为真时,该订单将被取消,这不会反映在您的学习代码中。

您可以通过消除此行来改进代码,因为用内置名称来命名变量是不明智的做法,并且以后在脚本中不再使用该变量。 Pine中有一个名为mom()的内置函数(电视策略应实际使用该函数,而不是用户定义的函数执行相同的操作)。

mom = src - src[len]

您接下来的两行现在正在使用该函数,而不是前一行的mom变量:

mom0 = mom(src,len)
mom1 = mom(mom0,1)