无法识别字符串if

Params Numeric FastLength(12); Numeric SlowLength(26); Numeric MACDLength(9);Vars Numeric MACDDiff; Numeric AvgMACD; Numeric MACDValue;Events OnBar(ArrayRef<Integer> indexs) { Range[0:DataSourceSize() - 1] { MACDDiff = XAverage( Close, FastLength ) - XAverage( Close, SlowLength ) ; AvgMACD = XAverage(MACDDiff,MACDLength); MACDValue = 2 * (MACDDiff - AvgMACD); PlotNumeric("MACDDiff",MACDDiff); PlotNumeric("MACDDEA",AvgMACD); If (MACDValue >= 0) PlotAuto("MACD",MACDValue,0,Red,Enum_Bar); Else PlotAuto("MACD",MACDValue,0,Green,Enum_Bar); PlotNumeric("零线",0); } } // 判断是否做多 If(MarketPosition <>1 And MACDDiff[1]> 0) { Buy(lost,Open); } // 判断是否做空 If(MarketPosition <>-1 And MACDDiff[1]< 0) { SellShort(lots,Open); } End 请老师看看问题出在哪里

第一 公式策略不用end作为结尾,函数才需要end第二 公式策略所有业务逻辑代码都要放在某个事件域中这一段为什么会放在onbar外面?请先了解学习一下基础的语法,不要什么都不看上来就乱写看看系统给的策略,或者视频区的课程

End

回复:不明白

回复:公式里没有end 的形式,把end删了还有 大括号也没一 一匹配,把if写Onbar的大括号外面去了其他的再根据提示改