MACD公式如下:
input:P(26,20,100,8),S(12,5,40,4),M(9,2,60,6);
DIFF : EMA(CLOSE,S) - EMA(CLOSE,P),COLORMAGENTA;
DEA : EMA(DIFF,M);
MACD : 2*(DIFF-DEA), COLORSTICK;
单独放在一个公式编辑中,显示值与指标值相同,但是放在自己的策略中,不知道为啥数值变化与指标值不同。
反复试了好多次,拷贝出来后加载数值就正常,放在策略中后数值就改变。。。烦死了
刚才又仔细观察发现P值在策略中的表格值会自动改变,就是运行模式下面的参数表中,缺省自动改为5,最小自动变为1,与自己代码中的
P(26,20,100,8)不同。请大佬指导
有变量名重复了吧。比如某个参数变量和你现在代码中某个变量重名了。
你贴下你代码。macd那部分代码看不出来什么情况的。
已经处理了,谢谢老师。另外,请教下OPENPROFITPER这个函数,是不是已经默认值为百分比数值了。
比如想回撤为30%触发告警,是设置OPENPROFITPER>30%还是OPENPROFITPER>30?
是的,等价于(
close-AvGENTERPRICE)/AvGENTERPRICE*100;
[此贴子已经被作者于2019/8/27 16:30:49编辑过]
继续请教:
1、OPENPROFITPER>30%还是OPENPROFITPER>30
按照公式,如果想算止盈在30%,是前面还是后面设置正确?
2、OPENPROFITPER=(close-AvGENTERPRICE)/AvGENTERPRICE*100,好像没有手数,是不是OPENPROFITPER和几手无关?
2、AvGENTERPRICE是怎么计算的,是以K线的最低价格来算的吗(假设开多的话)?
3、在策略在不同的品种加载上时,mindiff怎么计算的?比如我加载相同的策略在螺纹钢K线与黄金K线上,它如何让策略识别出不同的两种种类。并以不同的mindiff数值分别止盈止损?
1.OPENPROFITPER>0.3 这样就可以了。
2.不是最低价 是按照一次或多次开仓的开仓价统计计算的。开仓价又要看你开仓指令了。是限价还是市价,限价那就是限价指令的那个价格,市价那就是收盘价。
3.自适应,函数会自行读取相应的值的。
1.后者。OPENPROFITPER>30
这类问题,建议您自己输出结果看下,有助于理解函数
2.本来就和手数没关系,上面公式中也体现出来了。
3.AvGENTERPRICE只和你下单指令有关系。图表历史中计算按什么价格计算,请查看下单指令的函数说明,其中都有明确解释。
4.每个窗格中的策略执行都是独立的副本,副本与副本之间没有任何关联。
mindiff函数,说明中也说明了其变动价位的来源。建议您自己在合约设置中查看下就明白了。