OnBarOpen(ArrayRef<Integer> indexs)
{ GetBar(nowbar);
barstarttime=nowbar.datetime;//???
FileAppend(path+symbol,"barstarttime="+Text(barstarttime)+"output by baropen");
Bool ret = A_GetPreFills(Symbol, fills, barstarttime, 0, "", 0);//要从真正的barstarttime开始算
IF (ret)
{
if (fills[0].filldatetime>barstarttime)
{
filled=True;
}
}
}
上面的代码对于日线数据。昨天(2025-10-27)晚上21:00开盘的,获取到的bar开始时间为20251028.000000;
我这个代码的本意是这个当前bar已经成交过的,把filled置为TRUE,后面出现任何行情都不在委托。所以我这边 fills[0].filldatetime>barstarttime 这个语句假设在昨天2025-10-27 22点钟有成交过一次,那么fills[0].filldatetime这个值的格式是yyyymmdd.hhmmss?(文档里头好像没标明)?如果是这样,这个取值是20251027.22还是其他什么?还是应该用fills[0].tradingday>bastarttime来实现吗?
日线级别自然是没有 分钟的时间的
你要么自己加上,要么取别的地方