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
高频吓人哦