-- 我的写的交易系统在图表中各个年份都是有信号的 但是回测的时候中间的时间段都没有交易明细 求解答 数据应该是完整的吧 代码已经贴了
DIFF := EMA(CLOSE,S) - EMA(CLOSE,P);
DEA := EMA(DIFF,M);
MACD := DIFF-DEA, COLORSTICK;
VOLDIFF := EMA(VOL,S) - EMA(VOL,P);
VOLDEA := EMA(VOLDIFF,M);
VOLMACD := VOLDIFF-VOLDEA, COLORSTICK;
Y0:=IF( MACD>0, 5,0);
Y1:=IF( MACD>0.5 ,-1,0);
Y2:=IF( MACD>1 , -3, 0);
Y3:=IF(MACD<-0.5 ,1,0);
Y4:=IF(MACD<-1,3,0);
Y5:=IF(RET(MACD,1)>MACD ,-1,0);
Y6:=IF(RET(MACD,2)>RET(MACD,1) AND RET(MACD,1)>MACD, -3, 0);
Y7:=IF(CROSS(DIFF,DEA)AND MACD<0.1 AND VOLMACD>0, 10,0);
Y8:=IF(VOLMACD>0 AND MACD>0 , 5 , 0);
Y9:=IF(CROSS(VOLDIFF,VOLDEA) AND CROSS(DIFF,DEA), 5, 0);
Y10:=Y0+Y1+Y2+Y3+Y4+Y5+Y6+Y7+Y8+Y9;
B:=Y10;
INDEXM:=STKINDIEX(\'1A0001\' ,\'MACD\' ,0 ,7 ,0,26);
INDEXMV:=STKINDIEX(\'1A0001\',\'VMACD\',0,7,0,26);
INDEXDIFF:=STKINDIEX(\'1A0001\',\'MACD.DIFF\',0,7,0,26);
INDEXDEA:=STKINDIEX(\'1A0001\',\'MACD.DEA\',0,7,0,26);
INDEXVDIFF:=STKINDIEX(\'1A0001\',\'VMACD.DIFF\',0,7,0,26);
INDEXVDEA:=STKINDIEX(\'1A0001\',\'VMACD.DEA\',0,7,0,26);
BEGIN
Z0:=IF(INDEXM>0, 5,0);
Z1:=IF(INDEXM>0.5 ,-1,0);
Z2:=IF(INDEXM>1 ,-3,0);
Z3:=IF(INDEXM<-0.5 ,1,0);
Z4:=IF(INDEXM<-1,3,0);
Z5:=IF(RET(INDEXM,1)>INDEXM ,-1,0);
Z6:=IF(RET(INDEXM,2)>RET(INDEXM,1) AND RET(INDEXM,1)>INDEXM, -3, 0);
Z7:=IF(CROSS(INDEXDIFF,INDEXDEA)AND INDEXM<0.1 AND INDEXMV>0, 10,0);
Z8:=IF(INDEXMV>0 AND INDEXM>0 , 5 , 0);
Z9:=IF( CROSS(INDEXVDIFF,INDEXVDEA) AND CROSS(INDEXDIFF,INDEXDEA), 5, 0);
Z10:=Z0+Z1+Z2+Z3+Z4+Z5+Z6+Z7+Z8+Z9;
2B:=Z10;
END
IF HOLDING>0 THEN
BEGIN
SELL(B<2B,0,THISCLOSE);
END
IF HOLDING=0 THEN
BEGIN
BUY(B>2B+1,30%,THISCLOSE);
END