开拓者期货期权程序化系统交易论坛
标题:
请教TB自动交易的扫描顺序
[打印本页]
作者:
jesseattb
时间:
2009-4-9 16:10:22
标题:
请教TB自动交易的扫描顺序
TB自动交易时,先按图表上BAR的顺序走一遍,然后在当前BAR上每个TICK都扫描一遍
也就是BAR0->BAR1->...->BAR1->BAR2->BAR2->...
在当前BAR的时间周期里,比如60分钟里BAR0只走一遍,对吗?
我在程序调试中发现,在当前BAR的时间周期里,有时会重新从头扫描,也就是BAR0不止走一遍
请问这是什么原因?
作者:
nopain
时间:
2009-4-9 17:40:14
1、最原始的处理方式应该是:每个Tick来了,从Bar0-BarN全部算一遍。
2、但这样效率太低,所以我们做了优化,一般情况下从头算过一次之后,以后更新Tick,只算最后的1个或2个Bar。
3、有的时候也会从头算起,比如,您修改了参数,网络短线重连等。。
作者:
jesseattb
时间:
2009-4-9 18:09:59
我需要用全局变量来记录A_SendOrder已经执行的次数,在BAR=0时对全局变量进行初始化.我原来以为BAR0只走一次的.
现在有什么办法
If (BarStatus == 0)
{
SetGlobalVar(1,0);
}
// 开仓
If (GetGlobalVar(1) == 0 && High[1] < High[2] && Low[1] > Low[2])
{
If (Close >= High[1])
{
SetGlobalVar(1,1);
A_SendOrder(Enum_Buy,Enum_Entry,1,Close);
}Else If (Close <= Low[1])
{
SetGlobalVar(1,-1);
A_SendOrder(Enum_Sell,Enum_Entry,1,Close);
}
}
作者:
nopain
时间:
2009-4-10 08:49:03
当全局变量!=InvalidNumeric才做初始化。
欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/)
Powered by Discuz! X2