谁能告诉我如此简单的macd为什么不能复现出来
Params //此处添加参数 Numeric millsecs(1000); Numeric SHORT0(12); Numeric LONG0(26); Numeric MI(9); Vars //此处添加变量 Numeric avg; Global Integer timerId; Series<Numeric>DIF;Series<Numeric>DEA;Series<Numeric>MACD1;Series<Numeric> DEA2;Series<Numeric> DIF0;Series<Numeric> DEA0 ;Series<Numeric> MACD; Series<Numeric> MACDzhou;Series<Numeric> zhou2;Series<Numeric> ys;//Series<Numeric> ;//Series<Numeric> ;//Series<Numeric> ;Series<Numeric> pd1; Plot plt1; Plot plt2; Defs //此处添加策略函数 Numeric calcAvg(Numeric a,Numeric b) { return (a+b)/2; }Events //此处实现事件函数 //初始化事件函数,策略运行期间,首先运行且只有一次,应用在订阅数据等操作 OnInit() { timerId=createTimer(millsecs); //与数据源有关 Range[0:DataCount-1] { // plt_line1.figure(0); // plt_line2.figure(0); // plt_line3.figure(0); plt1.setOption("margin-top","100%"); plt1.setOption("margin-bottom","0%"); } } //Bar更新事件函数,参数indexs表示变化的数据源图层ID数组 OnBar(ArrayRef<Integer> indexs) { // DIF0=EMA(CLOSE,SHORT0)-EMA(CLOSE,LONG0); // DEA0=EMA(DIF,MI); // MACD=(DIF0-DEA0)*2; DIF0= XAverage(CLOSE,SHORT0)- XAverage(CLOSE,LONG0); DEA0= XAverage(DIF,MI); MACD=(DIF0-DEA0)*2; pd1=iif(MACD>0,1,0); // MACDzhou=BARSLASTCOUNT(pd1==1); XAverage( MACDzhou==0; If(CurrentBar == 0 or ((TrueDate(0)!=TrueDate(1)) )) // 定期刷新数值 zhou2=1; else zhou2=zhou2+ 1; if(macd>0) ys=1; Else ys=0; // ys=iif(macd>0,1,0); Commentary(" ys :"+Text( ys)); Commentary(" macd :"+Text( macd)); plt1.line("opi", macd); // MACDzhou=BARSLASTCOUNT (ys); // Print("MACDzhou:" + Text(MACDzhou)); //ys=MOD(zhou2,5); Print("zhou2:" + Text(zhou2)); }搞不明白我只想计算macd 连续出现的bar数 为啥不能实现 求老师解答一下 明明是红珠子为啥MACD 是负数 急