小幫手您好:
以下問題都是看現股指標,買個股期貨的環境下:
運用的函式庫為GetSymbolField的「資料欄位」,執行頻率1分K,逐筆洗價格
電腦環境:電腦配備i5-12400,32RAM,windows10。
1.請問如何判斷 同一筆交易(同一單)累積交易量 超過1000張呢?
目前只知道這個函式 GetSymbolField("Underlying", "成交量", "Tick");
2.關於自動交易期貨買賣,如果用目前「市價」,買入5張股期
假設成交3張,十秒後沒成交的2張取消,該怎麼判斷呢?
或者在執行頻率1分K,逐筆洗價的情況下因為用市價了,沒有成交的部分就取消(考慮到漲停買不到)
3.我設定頻率一分鐘,逐筆洗價,一次跑190隻個股期貨,但我看LOG有些個股期根本不會執行(確定真的股票市場有進行買賣,我print出close成交價格,log來看都久久才跑出來一次.. 甚至過了好幾分鐘)
是因為我用GetSymbolField 這個函式的關係嗎? GetSymbolField 在股票市場快市的時他更新速率多少呢?
還是一次跑太多隻個股期嗎?
4.剛剛我又用以下腳本去測試,測試2014中鴻,買期貨,看現貨指標,發現速度真的跟不太上,有時候落1~2分鐘
4.以下腳本為 看現股指標,做期貨,頻率1分鐘,逐筆洗價,超過2%就立刻購買(個股期) 跌破1%立刻賣出(個股期)
但目前如果一次跑全部的個股期貨,會發生接收tick過慢的情況(試過只用單一個股期也是一樣),導致假設現股剛剛突破2%,機器不會自動去買,可能過個幾分鐘機器才會跑這支股票有突破,再進行買進。請問自動交易是可以做到tick trade的嗎?
// 購買價格
// 購買價格
value1 = GetSymbolField("Underlying", "參考價", "D")*1.02;
// 目前成交價格
value2 = GetSymbolField("Underlying", "收盤價", "Tick");
// 單量 成交量 Tick
value3 = GetSymbolField("Underlying", "成交量", "Tick");
// 購買幾張 以50萬計算 >250 就0張
value4 = 0;
if(value2 <=1000) then begin
value4 = Round(500/(value2 * 2), 0);
end;
print("漲停價格",value1,"目前成交價格", value2,"成交量", value3,"購買幾張", value4);
// 購買價格 = 成交價格 && 5 買單 && 市價交易 下一秒取消
if value1 < value2 and value3 >= 10 and Position = 0 then begin
SetPosition(value4,market);
print("條件到購買");
end;
if position > 0 and value2 < value1*0.99 then begin
SetPosition(0,market);
print("跌破1% 自動賣出");
end;
if position > 0 then begin
SetPosition(filled,market);
print("取消掛單");
end;
1 評論