|
本帖最後由 ambercrystal 於 13-10-2 23:33 編輯
G 大, 這應該是 K 公司 API sample codes? 你再去他們網站下最新版 sample codes 這段應該已經改過了(如下面). 實際上在寫, 只要自己做 symbol 的處理方式, 不需要參考這段的寫法. 我自己的交易策略平台也是用C#寫的, 曾 port 在兩家國內期貨商和一家國外交易商的 API 上, 這家期貨商相較我另一家國內期貨商, 這家報價和國內和外期下單處理非常快速且穩定, 連人在對岸連回台灣都很穩定, 唯一的缺點是沒有國外期貨報價, 需要另外再接報價源來下API外期單.
這家 API 刪除"全部"委托單的方式稍微比較麻煩, 需要將一個個委托單刪除單和成交單放在另一個 dataGridView 來判斷處理, 但刪單處理非常快速, 你如果走完這關, 其他下單處理功能應該就沒啥問題了. Login 方式不要用範例的那種每次要輸入的方式, 直接叫tfcom.LoginDirect(...) 把參數放在裡面, 就可以按一個鍵就把登入動作完成. 有什麼問題, 需要幫忙請不吝提出.
private void InputChange(object sender, EventArgs e) {
string symbol = tbTSymbol.Text;
if (tbTSymbol.Text.Length < 3) return;
//if (tbTComym.Text.Length < 4) return;
if (tbTComym.Text.Length < 5) return;
if (radioButton2.Checked) {
if (tbTComym2.Text.Length < 4) return;
}
//2013.7.5 : 期貨也有短天期,故無法再以第二碼來判別 期/選 ; 改以radiobox判別
//if ((tbTSymbol.Text[2] == 'O') || (tbTSymbol.Text[2] == '1') || (tbTSymbol.Text[2] == '2') || (tbTSymbol.Text[2] == '4') || (tbTSymbol.Text[2] == '5')) {
if (rbOpt.Checked) { //2013.7.5 選擇權
if (radioButton1.Checked)
tb20Code.Text = tfcom.GenOptSymbol(tbTSymbol.Text, tbTComym.Text, tbTStrikePrice.Text, tbTCallPut.Text);
else
tb20Code.Text = tfcom.GenOptDoubleSymbol(tbTSymbol.Text, tbTComym.Text, tbTStrikePrice.Text, tbTCallPut.Text, tbTSide.Text, tbTComym2.Text, tbTStrikePrice2.Text, tbTCallPut2.Text, tbTSide2.Text);
}
else { //2013.7.5 期貨
if (radioButton1.Checked)
tb20Code.Text = tfcom.GenFutSymbol(tbTSymbol.Text, tbTComym.Text, "");
else
tb20Code.Text = tfcom.GenFutSymbol(tbTSymbol.Text, tbTComym.Text, tbTComym2.Text);
}
tbSymbol.Text = tb20Code.Text;
if ((radioButton2.Checked) && (tb20Code.Text.Length == 0))
tb20Code.Text = "無此商品組合";
}
|
評分
-
查看全部評分
|