作者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/m.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