如何同时满足MA和MACD2个条件开平仓,反手模型
MA1:=MA(CLOSE,A);
MA2:=MA(CLOSE,B);
手数:=ss;
//交易条件
开多平空条件:=CROSS(MA1,MA2);//开多平空条件
开空平多条件:=CROSS(MA2,MA1);//开空平多条件
DIFF :=EMA(CLOSE,S) - EMA(CLOSE,P);
DEA :=EMA(DIFF,M);
MACD :=2*(DIFF-DEA);
开多:=CROSS(MACD,0);//开多平空条件
开空:=CROSS(0,MACD);//开空平多条件
//
开多平空
开空平多
//交易系统
平空:SELLSHORT(开多平空,手数,MARKET);
平多:SELL(开空平多,手数,MARKET);
开多:BUY(开多平空,手数,MARKET);
开空:BUYSHORT(开空平多,手数,MARKET);
当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY;
可用现金:cash(0),linethick0;
MA1:=MA(CLOSE,A);
MA2:=MA(CLOSE,B);
手数:=ss;
//交易条件
c1:=CROSS(MA1,MA2);//开多平空条件
c2:=CROSS(MA2,MA1);//开空平多条件
DIFF :=EMA(CLOSE,S) - EMA(CLOSE,P);
DEA :=EMA(DIFF,M);
MACD :=2*(DIFF-DEA);
a1:=CROSS(MACD,0);//开多平空条件
a2:=CROSS(0,MACD);//开空平多条件
//
开多平空:=a1 and c1;
开空平多:=a2 and c2;
//交易系统
平空:SELLSHORT(开多平空,手数,MARKET);
平多:SELL(开空平多,手数,MARKET);
开多:BUY(开多平空,手数,MARKET);
开空:BUYSHORT(开空平多,手数,MARKET);
当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY;
可用现金:cash(0),linethick0;
为什么MACD穿越0轴,且A>B条件满足,不能出信号??

此主题相关图片如下:macd.png
如果是按照macd上穿,然后均线只是比大小的话,要这样改
MA1:=MA(CLOSE,A);
MA2:=MA(CLOSE,B);
手数:=ss;
//交易条件
c1:=MA1>MA2;//开多平空条件
c2:=MA2>MA1;//开空平多条件
DIFF :=EMA(CLOSE,S) - EMA(CLOSE,P);
DEA :=EMA(DIFF,M);
MACD :=2*(DIFF-DEA);
a1:=CROSS(MACD,0);//开多平空条件
a2:=CROSS(0,MACD);//开空平多条件
//
开多平空:=a1 and c1;
开空平多:=a2 and c2;
//交易系统
平空:SELLSHORT(开多平空,手数,MARKET);
平多:SELL(开空平多,手数,MARKET);
开空:BUYSHORT(开空平多,手数,MARKET);
当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY;
可用现金:cash(0),linethick0;