成功率测试指标(原码,说明)
达信没有提供测试指标成功率的功能,这使对指标的评价和应用均觉得心中无数.我尝试写了一个指标用来达成这一目的.
指标的前部为要测试的选股公式,比如kd金叉.你要测试什么指标只需更换这一部分即可,但指标最后的输出条件一定用"买进"字样.
买进:=CROSS("KDJ.K"(9,3,3),"KDJ.D"(9,3,3));
上市天数:=BARSCOUNT(C);
买入天数:=BARSLAST(买进);
买入价:=REF(C,买入天数);
止盈价:=买入价*1.1;
止损价:=买入价*0.95;
涨幅:=(C-买入价)/买入价*100;
止赢:=C>=止盈价;
止损:=C<=止损价;
止赢发生:=止赢 AND COUNT(REF(止赢,1),买入天数)=0 AND COUNT(REF(止损,1),买入天数)=0;
止损发生:=止损 AND COUNT(REF(止损,1),买入天数)=0 AND COUNT(REF(止赢,1),买入天数)=0;
DRAWICON(止赢发生,0.5,1);
DRAWICON(止损发生,0.5,2);
止赢次数:=SUM(止赢发生,上市天数);
止损次数:=SUM(止损发生,上市天数);
总操作次数:=止赢次数+止损次数;
成功率:=IF(总操作次数>0,止赢次数/总操作次数*100,0);
总赢幅:=止赢次数*10;
总损幅:=止损次数*5;
净赢幅:=总赢幅-总损幅;
上市天数输出:上市天数,NODRAW;
买入天数输出:买入天数,NODRAW;
涨幅输出:涨幅,NODRAW;
成功次数输出:止赢次数,NODRAW;
失败次数输出:止损次数,NODRAW;
总操作次数输出:总操作次数,NODRAW;
总收益输出:净赢幅,NODRAW;