1.添加回撤止盈
Params
Numeric FastLength(12);
Numeric SlowLength(26);
Numeric MACDLength(9);
Vars
series<Numeric> MACDDiff;
Numeric AvgMACD;
Numeric MACDValue;
Numeric AvgValue1;
Numeric AvgValue2;
Series<Numeric> s_counter;
global Numeric g_counter;
EVENTS
OnInit()
{
array<Numeric> timepoint;
timepoint[0] = 0.112950;
timepoint[1] = 0.145950;
timepoint[1] = 0.145950;
SetTriggerBarClose(timepoint);
}
OnBarOpen(ArrayRef<Integer> indexs)
{
Range[0:DataSourceSize() - 1]
{
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)
{
Buy(1, Open);
}
if (MACDDiff < 0 && MACDDiff < MACDDiff[1] && MarketPosition <> -1)
{
SellShort(1, Open);
}
if (MACDDiff < 0 && MACDDiff > MACDDiff[1] && MarketPosition <> 1)
{
Sell(1, Open);
}
if (MACDDiff > 0 && MACDDiff < MACDDiff[1] && MarketPosition <> -1)
{
BuyToCover(1, Open);
}
}
}
OnBarClose(ArrayRef<Integer> indexs)
{
if(time == 0.1129 or time == 0.1459 or time == 0.2259)
{
sell(0,close);
BuyToCover(0,close);
Commentary(\"收盘平仓\");
}
}