开拓者期货期权程序化系统交易论坛

标题: 每个tick计算两次? [打印本页]

作者: sensegray    时间: 2013-10-30 21:32:30     标题: 每个tick计算两次?

Begin

        If(BarStatus==0 || date!=date[1])
        {       
                SetGlobalVar(99,1);        //lastdaybars;
        }
        else
        {
                SetGlobalVar(99,GetGlobalVar(99)+1);
        }

        Commentary( "GetGlobalVar(99):" + Text(GetGlobalVar(99)) );
       
End

运行在tick图上。
这个代码原意是每个tick加1,回测时正常,但是实盘时每个tick加了2次。。。
作者: nopain    时间: 2013-10-31 14:16:11

最后Ba每次刷新会执行一次,当新增一个Bar时,倒数2根Bar会一起执行一次。
放到非Tick周期上,即每新增一个Bar时,倒数第二根Bar会多执行一次。
在Tick周期上,同样的道理,最后Bar算一次,当新增一个Tick之后,作为倒数第二个Bar,还会再算一次。

如果你非要控制,需要限定只在BarStutas==2的情况下+1。
作者: sensegray    时间: 2013-11-1 10:36:35

nopain 发表于 2013-10-31 14:16
最后Ba每次刷新会执行一次,当新增一个Bar时,倒数2根Bar会一起执行一次。
放到非Tick周期上,即每新增一个 ...

了解了,谢谢。
作者: sensegray    时间: 2014-12-8 21:06:56

nopain 发表于 2013-10-31 14:16
最后Ba每次刷新会执行一次,当新增一个Bar时,倒数2根Bar会一起执行一次。
放到非Tick周期上,即每新增一个 ...

V5版本这个机制好像又变了?




欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/) Powered by Discuz! X2