N:=21;
N1:=10;
MM1:=EMA(C,5);
MM2:EMA(MM1,N),LINEDASHDOT;
IF HOLDING=0 AND C>MM2 THEN BUY( 1, 1,LIMITR,C);
BB:= IF(OPENBAR<20,OPENBAR,10);
B1:N-BB;
MM3:EMA(MM1,B1);
IF HOLDING>=1 AND C<MM3 THEN SELL(1 ,0 , LIMITR,C );
IF HOLDING=0 AND C<MM2 THEN BUYSHORT( 1, 1,LIMITR,C);
SS:=IF(OPENBAR<20,OPENBAR,10);
S1:N-SS;
MM4:EMA(MM1,S1);
IF HOLDING<=-1 AND C>MM4 THEN SELLSHORT(1 ,0 ,LIMITR,C );
刚开仓,当S1,B1=21时MM2,MM3为什么跟MM2的计算结果不一致?
因为ema(x,21),是根据历史数据的来计算的,具体你可以看一下函数解释,而公式里面的这个21是恒定值,也就是历史上的都是ema(x,21)
而你使用的后面是变量,所以根据计算公式,历史上参与计算的,会有ema(x,20),ema(x,11)等,所以到后面计算出来的结果不一样
谢谢