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的大括号外面去了
其他的再根据提示改