同样一个策略,没有都没变,为何过一段时间在测(同样时间段),其他的都一样(交易次数,收益等),为何历史的最大回撤不一样了?
请见图,这是去年测试的(历史回撤资金6.8万):
这是今天的(历史回撤资金4.9万):
为何在论坛问个问题这么难呢?我一般有问题不发帖,先搜,最初学公式的时候就是这样,但金字塔论坛不能解决问题,百度搜到了理想、MACD论坛有答案,所以没办法注册了很多其他论坛的帐户,有问题上那里去问。
现在偶然发帖,还是一样,我都写得那么清楚了,是版主没仔细看,还是我的理解有问题,总算找到了官方的验证了。
不回复就顶起!
上面图的第一的1,是1手的意思,原先把开仓手数设为可改动。
后来把策略固定成1手,所以把1去掉了!
所以参数没变,策略什么都没变!
源码在这里:
重发:注是3分钟周期。
input:mm1(4,4,5,1);
input:mm2(4,2,5,1);
input:mm3(5,4,6,1);
input:mm4(10,8,10,1);
input:mm5(200,170,260,10);
input:mm6(7,6,10,1);
runmode:0;
variable:ema12=c,ema26=c,dea=0;
if day<>ref(day,1) then begin
ema12:=c;
ema26:=c;
dea:=0;
end
ema12:=ema12*11/13+c*2/13;
ema26:=ema26*25/27+c*2/27;
diff:ema12-ema26;
dea:=dea*4/5+diff/5;
dea1:dea;
macd:2*(diff-dea),colorstick;
TYP:= (HIGH + LOW + CLOSE)/3;
cci:=(TYP-MA(TYP,6))/(0.015*AVEDEV(TYP,6));
开多1:count(diff>ref(diff,1),mm1)=mm1;
开多2:count(macd>ref(macd,1),mm2)=mm2;
开多3:count(diff>dea1,mm3)=mm3;
开多:开多1 AND 开多2 AND 开多3;
开空1:count(diff<ref(diff,1),mm1)=mm1;
开空2:count(macd<ref(macd,1),mm2)=mm2;
开空3:count(diff<dea1,mm3)=mm3;
开空:开空1 AND 开空2 AND 开空3;
平多1:=count(macd<ref(macd,1),mm4)=mm4;
平多2:=cci>mm5;
平空1:=count(macd>ref(macd,1),mm4)=mm4;
平空2:=cci<-mm5;
平多:平多1 or 平多2 or CLOSE<=(ENTERPRICE-mm6);
平空:平空1 or 平空2 or CLOSE>=(ENTERPRICE+mm6);
IF HOLDING>0 AND 平多 THEN SELL(1,0,MARKET);
IF HOLDING>0 AND TIME=151200 THEN SELL(1,0,MARKET);
IF HOLDING<0 AND 平空 THEN SELLSHORT(1,0,MARKET);
IF HOLDING<0 AND TIME=151200 THEN SELLSHORT(1,0,MARKET);
IF HOLDING=0 AND 开多 AND TIME<150900 THEN BUY(1,1,MARKET);
IF HOLDING=0 AND 开空 AND TIME<150900 THEN BUYSHORT(1,1,MARKET);
费率,测试品种和测试时间段也发一下
有没有设定各种自定义平仓的?