-- 作者:zwdqx
-- 发布时间:2017/2/18 22:11:14
-- 关于策略回测。
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日的交叉);也有部分交易,交易明细中有记录,图中没有标出。不知是什么原因?
此主题相关图片如下:2.png

此主题相关图片如下:3.png

[此贴子已经被作者于2017-2-18 22:11:50编辑过]
|
-- 作者:jinzhe
-- 发布时间:2017/2/20 13:47:56
--
因为stkindi里面的有些周期参数值和datatype是不一样的,所以引用时要用指定65分钟线来做
diff:stkindi(\'\',\'macd.diff\',0,21,65);
dea:stkindi(\'\',\'macd.dea\',0,21,65);
macd:=stkindi(\'\',\'macd.macd1\',0,21,65);
|
-- 作者:zwdqx
-- 发布时间:2017/2/20 19:40:49
--
老师,我不用stkindi取diff,dea和macd值,而用下面计算的方式取值,这个值是不是就跟着周期走了? 得到数据的速度是不是比stkindi慢?
DIF:EMA(CLOSE,12)-EMA(CLOSE,26); DEA:EMA(DIF,9); MACD:(DIF-DEA)*2;
|