划线错误(图中白色均线位置感觉不对,是哪里出错了?请老师看看)
//------------------------------------------------------------------------Params Numeric FastLengthMA(20);// 短期指数平均线参数 //Numeric SlowLengthMA(20);// 长期指数平均线参数 Numeric FastLength(12); Numeric SlowLength(26); Numeric MACDLength(9);Vars Series<Numeric> AvgValue1; Series<Numeric> AvgValue2; Series<Numeric> MACDDiff; Series<Numeric> AvgMACD; Series<Numeric> MACDValue; Series<Numeric> Fast_ma; Series<Numeric> Slow_ma; Plot pen1; Plot pen2; Events OnReady() { SetBackBarMaxCount(1+Max(FastLength,SlowLength)); Range[0:DataSourceSize() - 1] { setPlotOption("MA1", "begin-bar", FastLengthMA); //setPlotOption("MA2", "begin-bar", SlowLengthMA); setPlotOption("MACDDiff", "begin-bar", SlowLength); setPlotOption("MACDDEA", "begin-bar", SlowLength + MACDLength); setPlotOption("MACD", "begin-bar", SlowLength + MACDLength); } pen2.figure(0); //开个副图 } OnBar(ArrayRef<Integer> indexs) { AvgValue1 = AverageFC(Close,FastLengthMA); // AvgValue2 = AverageFC(Close,SlowLengthMA); PlotNumeric("MA1",AvgValue1); // PlotNumeric("MA2",AvgValue2); { If(CurrentBar==0) {Fast_ma=Close; Slow_ma=Close; MACDDiff=Fast_ma-Slow_ma; AvgMACD=MACDDiff; } Else { Fast_ma=Fast_ma[1]+(Close-Fast_ma[1])*2/(FastLength+1); Slow_ma=Slow_ma[1]+(Close-Slow_ma[1])*2/(SlowLength+1); MACDDiff=Fast_ma-Slow_ma; AvgMACD=AvgMACD[1]+(MACDDiff-AvgMACD[1])*2/(MACDLength+1); AvgMACD=AvgMACD[1]+(Fast_ma-Slow_ma-AvgMACD[1])*2/(MACDLength+1); } pen2.line("MACDDiff",date+time,MACDDiff);//画出MACD的两条均线 pen2.Line("macddea",date+time,AvgMACD); Numeric X; X=((FastLength+1)*(SlowLength+1)*((AvgMACD[1]*(MACDLength+1)-2*(AvgMACD[1]))/(MACDLength-1)-Fast_ma[1]+Slow_ma[1])/2+(SlowLength+1)*Fast_ma[1]-(FastLength+1)*Slow_ma[1])/(SlowLength-FastLength); pen1.line("X",X); MACDValue = MACDDiff - AvgMACD;