|
Oklin 發表於 15-6-4 23:48
我兩個月前已經上過姜林老師的入門課程,主要是教你如何用Excel VBA跑出你策略的程式交易,是半自動,也 ...
我有寄一個檔案給你,既然你對API部分有問題,我就說明一下吧,你然你已經會產生買賣信號了,剩下就是下單的部分,雖然我程式是選擇權,不過差別也只不過是卷商下單指令的差異而已
我以日盛期貨API來當範例,首先安裝好卷商的下單程式
在VBA中建一個新的module,把下單程式的API dll檔引入VBA中,就可以使用卷商提供的下單函式
利用卷商的API下單語法說明,配合你程式的下單訊號,產生下單指令字串
com_str = Format(Date, "YYYYMMDD") & "-" & Format(Time, "hh:mm:ss") & "_" & Sheet1.Cells(i, 2) & "~" & Sheet1.Cells(i + 2, 2) & ":" & Sheet1.Cells(i, 13) & "+" & Sheet1.Cells(i, 14)
com_str_bc = "Market=O,Account=000-1355111,ContractName=TXO,ContractDate=" & Sheet1.Cells(1, 1) & ",CallPut=C,StrikePrice=" & Sheet1.Cells(i, 2) & ",OpenCloseAuto=O,BuySell=B,Lots=1,OrderType=L,Price=" & Sheet1.Cells(i, 6) & ",FokIocRod=R"
com_str_sc = "Market=O,Account=000-1355111,ContractName=TXO,ContractDate=" & Sheet1.Cells(1, 1) & ",CallPut=C,StrikePrice=" & Sheet1.Cells(i + 2, 2) & ",OpenCloseAuto=O,BuySell=S,Lots=1,OrderType=L,Price=" & Sheet1.Cells(i + 2, 4) & ",FokIocRod=R"
com_str_sp = "Market=O,Account=000-1355111,ContractName=TXO,ContractDate=" & Sheet1.Cells(1, 1) & ",CallPut=P,StrikePrice=" & Sheet1.Cells(i, 2) & ",OpenCloseAuto=O,BuySell=S,Lots=1,OrderType=L,Price=" & Sheet1.Cells(i, 10) & ",FokIocRod=R"
com_str_bp = "Market=O,Account=000-1355111,ContractName=TXO,ContractDate=" & Sheet1.Cells(1, 1) & ",CallPut=P,StrikePrice=" & Sheet1.Cells(i + 2, 2) & ",OpenCloseAuto=O,BuySell=B,Lots=1,OrderType=L,Price=" & Sheet1.Cells(i + 2, 12) & ",FokIocRod=R"
我這裡產生四組字串,是因為要同時下買put 賣put 買 call 賣call,一次下次四口,所以才需要四次,一般下單應該就只要一組串即可
T = HTSOrder(com_str_bc)
T = HTSOrder(com_str_sc)
T = HTSOrder(com_str_sp)
T = HTSOrder(com_str_bp)
然後利用API內的HTSOrder指令去送下單指令,就完成下單了,在下單程式介面中可以看到下單指令已送到下單程式,基本上就完成VBA下單了
|
評分
-
查看全部評分
|