
老师你好,我发现个问题,就是我加了除权换月的代码后,一开始运行正常的策略,在一次换月的前一根k线开了一手空单。一共持有两手空单的。但是换月后,换月那根k线又多了一手kd,而且不会平仓,每次换月都会再加一手空单。如果把除权换月的代码删了,代码的运行就正常。这是怎么回事呢?老师帮忙看看。
OnInit()
{
//与数据源有关
Range[0:DataCount-1]
{
//=========数据源相关设置==============
AddDataFlag(Enum_Data_RolloverBackWard()); //设置后复权
AddDataFlag(Enum_Data_RolloverRealPrice()); //设置映射真实价格
AddDataFlag(Enum_Data_AutoSwapPosition()); //设置自动换仓
AddDataFlag(Enum_Data_IgnoreSwapSignalCalc()); //设置忽略换仓信号计算
}
}
因为换月的规则是按等市值切换的,新合约价格太低了所以开的就多了一手
那这种情况需要处理吗?后续我看就没有开仓了,就是只会换月了
我没听懂什么意思。你为什么觉得这种情况需要处理?这是换月移仓,如果后续没有开仓,那难道不是因为你策略里没有满足平仓条件吗?平仓以后不就会自动开仓了嘛