a894554096 发表于 2015-7-10 08:57:39

a894554096 发表于 2015-7-10 08:58:58

a894554096 发表于 2015-7-10 08:59:54


If((Q_LastTime-A_OrderTime)>0.000008 and  A_OrderTime<>invalidNumeric)
{setglobalvar(0,0);
}                               
iF(A_TotalPosition<>invalidNumeric AND A_BuyPosition==0 AND A_SellPosition==0 and getglobalvar(0)<>1 )  //多头条件
{ a_sendorder(enum_buy,enum_entry,1,Q_AskPrice+pjc);                   //多头开仓  
        setglobalvar(0,1);        
}
}

这是测试的源码

a894554096 发表于 2015-7-10 09:04:00

气氛

小米 发表于 2015-7-10 09:12:46

a894554096 发表于 2015-7-10 08:59 static/image/common/back.gif
If((Q_LastTime-A_OrderTime)>0.000008 and  A_OrderTimeinvalidNumeric)
{setglobalvar(0,0);
}                               


时间的秒数到分钟数是60进制,你这样判断大于0.000008就给全局变量清零,是导致每一分钟的一开始就发单的原因。

a894554096 发表于 2015-7-10 18:14:05

小米 发表于 2015-7-10 09:12 static/image/common/back.gif
时间的秒数到分钟数是60进制,你这样判断大于0.000008就给全局变量清零,是导致每一分钟的一开始就发单的 ...

怎么能把时间转换成十进制 或者能做对比

a894554096 发表于 2015-7-10 22:15:13

问题解决了:victory:

novasea 发表于 2015-8-8 15:00:26

楼主说的,每个tick实时执行有时会重复,修订执行有时会漏掉。可否考虑用个全局变量,记下被执行过的tick的时间戳?在程序开头判断一下,如果新来的tick时间戳一样,直接跳过不执行,是不是就做到了每个tick会被且仅执行一次?本人刚学tb,只是提个想法,不知是否可行。见笑

luyuan126 发表于 2017-3-23 11:56:32

丢包

luyuan126 发表于 2017-3-23 11:57:45

高频吓人哦
页: 1 [2] 3
查看完整版本: abcdefghijklmn