自動交易網路瞬間斷線又剛好出訊號問題

  •   199 
  • 最後發表   XiangYu  2023 九月 27
XiangYu 發文於   2023/09/09

Hi 小幫手

以下假設都有勾選網路斷線繼續執行

1. 若以下程式碼

if position = 0 and filled = 0 and _LongCondition and currentTime = 133000 then              

begin              

setposition(2, MARKET, label:="多單進場");              

_LongCondition = false; 

_EntryDay = 1; 

end; 

在133000訊號觸發當下,網路剛好瞬間斷線,送單跟成交的狀況會是如何?

2. 若以下程式碼

if position = 0 and filled = 0 and _LongCondition and currentTime >= 133000 and currentTime <= 133030 then              

begin              

setposition(2, MARKET, label:="多單進場");              

_LongCondition = false; 

_EntryDay = 1; 

end;    

a. 在133000,網路剛好瞬間斷線,133001網路連線,送單跟成交的狀況會是如何?

b. 在133000 ~133030,網路都是正常的,送單跟成交的狀況會是如何?

 

我的主要目的是避免出訊號的當下,網路剛好瞬間斷線,導致程式沒將單子送出,造成虧損。

排序方式: 標準 | 最新
XQ小幫手 發文於   2023/09/18

Hello XiangYu,

 

自動交易策略在運算完送單時若市場已經收盤,則該筆單不會下出。

故 currenttime = 133000 在股票市場應該是不會送出委託的。

另外這種寫法要在 13:30:00 這一秒有洗價的話才會符合,故達成的機率也很低。

 

至於斷線的部分,可以參考 自動交易策略參數總覽 內的說明。

 

選擇「繼續執行」:當報價網路發生中斷時,系統會嘗試重新連線,同時回補斷線期間的成交資料。當回補完成之後,系統會從斷線前的K棒繼續執行,期間回補的K棒也會執行,可是如果執行這些回補的K棒時有呼叫任何交易指令的話,這些指令會被忽略,不予以執行。

 

a. 斷線期間的資料就算有符合條件,斷線後重新運算時也不會重下。

 

b. 如同小幫手上面所說,XQ腳本運算要有洗價才會運算,且 currenttime = 133000 這種寫法要 13:30:00 這一秒市場有洗價才會讓腳本運算。

   就算真的在那一秒運算了,還要市場還沒收盤才會下出委託。

   故在股票市場應該是不會下出委託,期貨市場的話則要那個時間點剛好有洗價才有機會。

XiangYu 發文於   2023/09/18

Hi 小幫手,

 

我目前改成這樣

if position = 0 and filled = 0 and _LongCondition and GetField("time","1") = 133000 then               

begin               

setposition(2, MARKET, label:="多單進場");               

_LongCondition = false;  

end; 

 

1. 是否可理解為 1分K內只要有洗價就會下單呢?

2. 就算斷線1分鐘內連回來一樣可以接續下單?

XQ小幫手 發文於   2023/09/27

Hello XiangYu,

 

1.如果您的執行商品為股票的話,13:25~13:30之間是集合競價,是不會有洗價的。

故也不會有交易。

 

2.若是其他商品 (ex. 台指期),那麼在 13:30 ~ 13:31 這段時間內腳本有運算且條件符合的話就會進場。

 

發表回覆
Close