diff:=stkindi('','macd.diff',0,datatype);
dea:=stkindi('','macd.dea',0,datatype);
macd:=stkindi('','macd.macd1',0,datatype);
if cross(diff,dea) then begin
sellshort(1,0,marketr);
buy(holding=0,1,marketr);
end
if cross(dea,diff) then begin
sell(1,0,marketr);
buyshort(holding=0,1,marketr);
end
持仓:holding,linethick0;
资产:asset,noaxis;
用含有datatype的语句进行测评,同时选择了65分钟测评周期。发现测试结果(图上标出的开、平仓信号)与macd的金叉、死叉不对应,部分已交叉的在图上没有标出,交易明细中也没有(如11月8、9日的交叉);也有部分交易,交易明细中有记录,图中没有标出。不知是什么原因?
老师,已经在螺纹钢测试中(2016.1.4-2017.2.15)选项中设置了多分钟线65分钟,检查测试出的交易明细发现:
1、65分钟K线上开仓、平仓信号与交易明细吻合,但与图上macd金叉、死叉不吻合。
2、日K线上的开仓、开仓信号与macd金叉、死叉是吻合的,不知为什么,老师能帮忙测试、检查一下吗?
我的公式是金叉平空、开多,死叉平多开空,但65分钟K线上开仓、平仓信号,与图上macd金叉、死叉不吻合。就是图上有开仓平仓信号,但从K线上看根本没有金叉、死叉。
因为stkindi里面的有些周期参数值和datatype是不一样的,所以引用时要用指定65分钟线来做
diff:stkindi('','macd.diff',0,21,65);
dea:stkindi('','macd.dea',0,21,65);
macd:=stkindi('','macd.macd1',0,21,65);
DIF:EMA(CLOSE,12)-EMA(CLOSE,26);
DEA:EMA(DIF,9);
MACD:(DIF-DEA)*2;