做多:MACD的DIFF在0轴上方 同时 KDJ形成金叉 做多单
平多:MACD的DIFF下穿0轴 或者 KDJ形成死叉 平多单
做空:MACD的DIFF在0轴下方 同时 KDJ形成死叉 做多单
平多:MACD的DIFF上穿0轴 或者 KDJ形成金叉 平空单
//MACD
DIFF : EMA(CLOSE,S) - EMA(CLOSE,P);
DEA : EMA(DIFF,M);
MACD1 : 2*(DIFF-DEA), COLORSTICK;
//KDJ
RSV:=(CLOSE-LLV(LOW,3))/(HHV(HIGH,3)-LLV(LOW,3))*100;
K:SMA(RSV,3,1);
D:SMA(K,3,1);
J:3*K-2*D;
if CROSS( DIFF ,macd1 ) AND CROSS( J ,K) and holding=0 then begin
BUY(holding<0,3,market);
end //开多
if CROSS( MACD1 ,DIFF ) OR CROSS( K,J) and holding>0 then begin
sell(holding>0,3,market);
end //平多
if CROSS( MACD1,DIFF ) AND CROSS( K ,J) and holding=0 then begin
BUYSHORT(holding<0,3,market);
end //开空
if CROSS( DIFF ,MACD1 ) OR CROSS( J , K) and holding>0 then begin
sellshort(holding>0,3,market);
end //平空
1.你是要表述diff在0轴之上?
if CROSS( DIFF ,macd1 ) AND CROSS( J ,K) and holding=0 then begin
BUY(holding<0,3,market);
end //开多
那这里应该是diff>0
2.if CROSS( DIFF ,MACD1 ) OR CROSS( J , K) and holding>0 then begin
sellshort(holding>0,3,market);
end //平空
平空这里改下是holding<0