老师好,还是昨天发帖的问题收盘平仓不执行,现在代码都对了,截图是上午10点15分中场休息前后截图,收盘时没有信号,不发单,收盘结束10点30分开盘又有信号,有发单。昨天下午收盘时有信号也发单了,但是收盘后我点了一下刷新信号就消失了,附件是带策略工作区文件,这个问题困扰好几天了,麻烦老师给看看,谢谢!
Params
Numeric FastLength(5);// 短期指数平均线参数
Numeric SlowLength(20);// 长期指数平均线参数
Vars
Series<Numeric> AvgValue1;
Series<Numeric> AvgValue2;
Events
OnInit()
{
Range[0:DataCount-1]
{
//=========数据源相关设置==============
AddDataFlag(Enum_Data_RolloverBackWard()); //设置后复权
AddDataFlag(Enum_Data_RolloverRealPrice()); //设置映射真实价格
AddDataFlag(Enum_Data_AutoSwapPosition()); //设置自动换仓
//AddDataFlag(Enum_Data_IgnoreSwapSignalCalc()); //设置忽略换仓信号计算
}
array<Numeric> timepoint;//触发平仓时间点
timepoint[0] = 0.225950;
timepoint[1] = 0.101430;
timepoint[1] = 0.112930;
timepoint[1] = 0.145930;
SetTriggerBarClose(timepoint);
}
OnBar(ArrayRef<Integer> indexs)
{
AvgValue1 = AverageFC(Close,FastLength);
AvgValue2 = AverageFC(Close,SlowLength);
PlotNumeric("MA1",AvgValue1);
PlotNumeric("MA2",AvgValue2);
If(MarketPosition <>1 && AvgValue1[1] > AvgValue2[1])
{
Buy(0,Open);
}
If(MarketPosition <>-1 && AvgValue1[1] < AvgValue2[1])
{
SellShort(0,Open);
}
Commentary("持仓:"+Text(MarketPosition ));
}
OnBarClose(ArrayRef<Integer> indexs)
{
if(time == 0.2255 or time == 0.1010 or time == 0.1125 or time == 0.1455)
{
sell(0,close);
BuyToCover(0,close);
Commentary("收盘平仓");
}
}




你没觉得这里有什么不对么