Pine脚本策略与警报一起研究



我正在尝试将内置的Momentum策略转换为警报学习。我不知道我做得对不对。图表压缩为直线:(请帮帮我。谢谢。

这是最初内置的Momentum策略:

//@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)

我摸索出这段代码是有效的。巴德,我仍然不知道它是否与内置策略相同

//@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")

我不明白:在此处输入图像描述

您的代码将生成与策略相同的进入条件,但复制策略的所有行为将需要您构建复制其使用的特定`strategy.*((调用以及TV代理模拟器将如何执行它们的逻辑。

例如,您的参赛作品正在发布停止订单,当参赛条件不再成立时,这些订单将被取消,而这并没有反映在您的学习代码中。

您可以通过删除这一行来改进代码,因为用内置的名称命名变量是一种糟糕的做法,而且该变量稍后不会在脚本中使用。Pine中有一个名为mom((的内置函数(电视策略实际上应该使用它,而不是用户定义的函数来做同样的事情(。

mom = src - src[len]

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

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

最新更新