

描述:我所有的开仓信号都是在 onbarclose() 域完成,另外设置了定时器 每个小节点提前3秒开;白糖SR000在120分钟运行策略(K线 自然分割)
定时器如下:
Array<Numeric> timePoint;
Integer i;
Print("GetSessionCount: " + Text(GetSessionCount));
For i = 0 To GetSessionCount() - 1
{
Print("GetSessionEndTime: " + Text(GetSessionEndTime(i),6));
Numeric ret = DateTimeAdd(GetSessionEndTime(i), -3);
if(ret < 0)
{
ret = DateTimeAdd(GetSessionEndTime(i), 86400 - 1);
}
ret = StringToTime(TimeToString(ret));
Print("SetTriggerBarClose: " + Text(ret));
ArrayPushBack(timePoint, ret);
}
Print("tarryszie: " + text(GetArraySize(timePoint))+"; arrytime: "+ TextArray(timePoint));
If(True) SetTriggerBarClose(timePoint); // 按小节
Print("------");问题:
为什么会存在 11:24:38 开仓的信号?而且提示“闪烁”
预期应该在 11:29:57 开
商品名称 委托时间 委托价格 状态 买卖 开平 委托数量 成交数量 成交价 成交额 剩余数量 对手价 理论价 委托编号 委托来源 状态消息
白糖605 2026/03/16 11:24:38 5483 全部成交 买入 开仓 21 21 5473 1,149,330 0 5473 5473 100002 时间 消息类型 消息级别 内容
2026-03-16 11:24:42.241 策略运行 警告 策略运行,S03@myunit@SR000_M120发生信号闪烁,合约:SR000.CZCE,上次执行信号个数:1,本次执行信号个数:0,发生Bar时间:20260316.100000,发生Bar=5005希望大家看看是否遇到类似问题~
你要这么说的话
镍也不对吧
应该是时间切片的问题
起码最小的切片
能够和Close的时间点配合上
120分钟
绝大多数收盘都不在你划分的时间点上?
不是的,有的品种周期有区别,但都是正规的分钟数 如:60/120分钟
有没有叠加合约?
单图层,单品种,单策略
如果仅仅是差几秒,可能是本地时间问题。但是差了好几分钟。。。正常自然时间分割 120分钟线