2个问题:
1、交易时间结束前持仓全部平仓;
2、交易时间开始样本数重新记录
这应该怎么编写
下面策略是可以编译的
Params
Numeric FastLength(12);
Numeric SlowLength(26);
Numeric MACDLength(9);
Vars
series<Numeric> MACDDiff;
Numeric AvgMACD;
Numeric MACDValue;
Numeric AvgValue1;
Numeric AvgValue2;
EVENTS
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(2, Open);
}
if (MACDDiff < 0 && MACDDiff < MACDDiff[1] && MarketPosition <> -1)
{
SellShort(2, Open);
}
if (MACDDiff < 0 && MACDDiff > MACDDiff[1] && MarketPosition <> 1)
{
Sell(2, Open);
}
if (MACDDiff > 0 && MACDDiff < MACDDiff[1] && MarketPosition <> -1)
{
BuyToCover(2, Open);
}
}
}
1 收盘平仓 很多案例课都有讲,有日内交易里附带的,也有专门讲的
https://www.bilibili.com/read/cv17625951/?spm_id_from=333.999.0.0
2 计数器
https://www.bilibili.com/video/BV1Y841197qV/?spm_id_from=333.999.0.0