OnInit()
{
array<Numeric> timepoint;
timepoint[0] = 0.145900;
SetTriggerBarClose(timepoint);
}
OnBarClose(ArrayRef<Integer> indexs)
{
if(time == 0.1459)
{
sell(0,close);
BuyToCover(0,close);
Commentary(\"收盘平仓\");
}
}
在1秒钟周期下模拟盘跑57个品种其中47个品种在0.1459会运行Commentary(\"收盘平仓\")但是有几个品种就不会运行
问题是我改成0.1456也没有触发还是螺纹这些大品种
不要用==表示,因为bar时间是浮点数,不一定是准确的0.1456,有可能是0.145600459这样的有毫秒精度的返回值。
用大于号表示试试。
遇到这种问题要学会自己调试,写代码确认是哪一部分没有运行起来,再分析没有运行起来的原因。
很正常,因为有一些小品中在最后一分钟根本没有成交,就没有新的行情数据,也就驱动不了