作者qngu86 ()
看板Visual_Basic
标题[VB6 ] 写下单交易遇到的一个问题
时间Sat Nov 21 01:38:42 2015
小弟利用VB6写交易下单的程式
遇到一个有关於即时性的问题
需求是在一个特定的时间,同时执行多笔下单的动作
例如在 10:00:00时要送出3笔委托单
任一笔都不可以延迟至10:00:01才委托
之前的作法是用timer定时执行(每250ms)
x1=order(参数1)
x2=order(参数2)
x3=order(参数3)
但实际上遇到的问题是
x1=order(参数1) 下单後接受到委托回报,才会去下x2=order(参数1)
有时塞单时,x3就有可能会在10:00:01才送出
为解决此,现行改用
一次开三个一样的程式,触发时间都设为10:00:00
且三个程式为求同步都有彼此校时
触发时,每个程式都只下1笔 x=order(参数)
所以在10:00:00时,几乎同时送出3笔委托(时间差异不到50ms)
算是达到我要的目的
但又衍生出另一个问题
券商有限制登入帐号的次数,比如该次数为2
就无法一次开3个程式了(每个程式都要登入帐号,占用一个user)
想请教是否有其他方法可达成我的需求?
若我写在同一个程式,用3个timer,每个timer各管一个下单
是否ok呢?,还是要用多执行绪完成?
一点问题请教大家,感恩!
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.161.236.17
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Visual_Basic/M.1448041124.A.2AB.html
1F:→ qngu86: 自问自答,刚试了用3个timer 效果似乎跟原本用1个timer 11/21 09:29
2F:→ qngu86: 差不多。惨 11/21 09:29
3F:推 Marty: VB6的Timer是悲剧 不要再用了~ 11/21 15:22
4F:推 Marty: 认真回ㄧ下 跟你的经纪商要非同步的元件 不然无解 11/22 01:19
5F:推 ClubT: 电脑有可能做到真正的同时吗? 若是单数更多不会有问题吗? 11/23 13:36
6F:推 chinoyan: 多执行绪才是正解 11/24 10:22