开多平空条件:=(cross(ma(c,5),ma(c,10))) AND (MACD<0 );或者开多平空条件:=(cross(ma(c,5),ma(c,10))) AND (DIFF>DEA );可以测试;但开多平空条件:=(cross(ma(c,5),ma(c,10))) AND (MACD<0 ) and diff>dea;就测试不了
diff:=ema(c,10)-ema(c,30);
dea:=ema(diff,5);
MACD:=2*(DIFF-DEA);
开多平空条件:=(cross(ma(c,5),ma(c,10))) AND (MACD<0 ) AND DIFF>DEA;
开空平多条件:=c<ma(c,10);
开多:BUY(开多平空条件,1,MARKET);
平多:SELL(开空平多条件,1,MARKET);
一样的,问题是3个条件难以同时成立,并不是图表后台的问题
这3个条件是很常见,但是你的条件逻辑上有很大的问题导致了同时不成立,尤其是后两个
因为:你的macd定义为: macd:=2*(DIFF-DEA); 所以如果要满足条件macd>0 那么必然是diff>dea的,但是后两个条件是macd<0 and diff>dea,这两个条件是恒不同时成立的