小弟利用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呢?,還是要用多執行緒完成?
一點問題請教大家,感恩!