这图怎么成这样了,寻求解决方案
求老师帮忙解决一下,谢谢 Numeric ss(1); // 开仓手数 Numeric Length(24); // KD参数 Numeric SlowLength(3); // KD参数 Numeric SmoothLength(3); // KD参数 Numeric M1(5); // 均线1 Numeric M2(20); // 均线2 Numeric FastLength(12); // MACD快线参数 Numeric SlowLengthMACD(26); // MACD慢线参数 Numeric SignalLength(9); // MACD信号线参数Vars Series<Numeric> HighestValue; Series<Numeric> LowestValue; Series<Numeric> KValue; Numeric SumHLValue; Numeric SumCLValue; Series<Numeric> DValue; Series<Numeric> MA1; Series<Numeric> MA2; Series<Numeric> MACD; // MACD值 Series<Numeric> MACDSignal; // MACD信号线 Series<Numeric> MACDHist; // MACD量柱 BOOL PDCON1; BOOL PKCON1; BOOL DCON1; BOOL KCON1; Numeric MyEntryPrice; Numeric MyExitPrice; Numeric MINPOINT; BOOL IsBullish; // 是否多头排列 BOOL IsBearish; // 是否空头排列Events onBar(ArrayRef<Integer> indexs) { // 计算MA5和MA20 MA1 = Average(Close, M1); MA2 = Average(Close, M2); // 判断多头或空头排列 IsBullish = MA1 > MA2; // MA5在MA20上方为多头排列 IsBearish = MA1 < MA2; // MA5在MA20下方为空头排列 // 计算MACD MACD = XAverage(Close, FastLength) - XAverage(Close, SlowLengthMACD); MACDSignal = XAverage(MACD, SignalLength); MACDHist = MACD - MACDSignal; // 绘制指标 PlotNumeric("MA1", MA1); PlotNumeric("MA2", MA2); PlotNumeric("MACD", MACD); PlotNumeric("MACDSignal", MACDSignal); PlotNumeric("MACDHist", MACDHist); // 开仓条件 // 多头排列:收盘价站上MA5并且MACD快线上穿0轴 If (IsBullish && Close[1] > MA1 && CrossOver(MACD, 0)) { If (MarketPosition != 1 && (MaxEntries == 0 || BarsSinceExit >= 1 || BarsSinceEntry >= 1)) { Buy(ss, Open); } } // 空头排列:收盘价跌破MA5且MACD快线下穿0轴 If (IsBearish && Close[1] < MA1 && CrossUnder(MACD, 0)) { If (MarketPosition != -1 && (MaxEntries == 0 || BarsSinceExit >= 1 || BarsSinceEntry >= 1)) { SellShort(ss, Open); } } // 平仓条件 // 多头平仓:收盘价跌破MA5且MACD量柱由红变绿 If (MarketPosition == 1 && Close[1] < MA1 && MACDHist < 0 && MACDHist[1] >= 0) { Sell(0, Open); } // 空头平仓:收盘价站上MA5且MACD量柱由绿变红 If (MarketPosition == -1 && Close[1] > MA1 && MACDHist > 0 && MACDHist[1] <= 0) { BuyToCover(0, Open); } }