Params
Numeric FastLength(12);
Numeric SlowLength(26);
Numeric MACDLength(9);
Vars
Numeric MACDDiff;
Numeric AvgMACD;
Numeric MACDValue;
Numeric AvgValue1;
Numeric AvgValue2;
Begin
OnBar(ArrayRef<Integer> indexs)
Begin
Range[0:DataSourceSize() - 1]
Begin
MACDDiff = XAverage(Close, FastLength) - XAverage(Close, SlowLength);
AvgMACD = XAverage(MACDDiff, MACDLength);
MACDValue = MACDDiff - AvgMACD;
AvgValue1 = XAverage(Close, 10); // 根据实际情况修改平均值1
AvgValue2 = XAverage(Close, 20); // 根据实际情况修改平均值2
if (MACDDiff > 0 && MACDDiff > MACDDiff[1] && MarketPosition <> 1)
Begin
Buy(0, Open);
End;
if (MACDDiff < 0 && MACDDiff < MACDDiff[1] && MarketPosition <> -1)
Begin
SellShort(0, Open);
End;
if (MACDDiff < 0 && MACDDiff > MACDDiff[1] && MarketPosition <> 1)
Begin
Sell(0, Open);
End;
if (MACDDiff > 0 && MACDDiff < MACDDiff[1] && MarketPosition <> -1)
Begin
BuyToCover(0, Open);
End;
End;
End;
End;
翻译说是BEGIN-END不匹配不知道啥原因,求个大佬给修修/(ㄒoㄒ)/~~
程序里面有个代码升级 你可以试一下
改完之后;
Numeric FastLength(12);
说这行缺少分号T.T
这个可以能是输入法问题 要用英文输入法吧 不然应该没错
begin end 好像是之前版本的了
你改成 { } 括号 应该就行了吧