【问题标题】:Problem in converting Pinescript code to Metastock将 Pinescript 代码转换为 Metastock 的问题
【发布时间】:2022-06-14 12:07:30
【问题描述】:
在 pine 脚本中,我们可以通过以下方式创建一个变化周期的简单移动平均线:
( cum(close) - cum(close)[barssince(condition)] ) / barssince(condition)
但是,在 Metastock 上,类似于 pine 脚本中的 [ ] 的 Ref 函数,只接受静态周期,而不接受像 barsince 那样的变化周期。
如何创建变化周期移动平均线或变化周期总和?
【问题讨论】:
标签:
pine-script
trading
tradingview-api
pinescript-v5
pine-script-v4
【解决方案1】:
为避免过时的 MSFL 出现很多问题,我建议访问 MetaStock 论坛站点,搜索 forum.dll 并使用接受可变周期的移动平均函数,例如
ExtFml("forum.VarMov",CLOSE,BarsSince(condition),S);
否则,问题:
MS 努力保持 cum() 的准确性,而不是整数值,并且
除以零错误(在条件重置栏上)很难捕捉(不直观),你最终会得到类似的结果:
cumData:=cum(CLOSE);
reset:={condition goes here}
varAvg:=(cumData - ValueWhen(1,reset,cumData)) / Max(BarsSince(reset),1));
{plot}
varAvg;