關於自動交易的跨商品交易移動停利

  •   248 
  • 最後發表   tradeNew  2023 十二月 29
tradeNew 發文於   2023/12/21

大環境設定:

買賣商品為 股票期貨、偵測為個股,一次偵測股票約為200隻,以2498為例子:買的股票期貨為2498 宏達電,

 

請問今天假設2498股票期貨,低於x%要立刻平倉,然後如果超過x%要先做標記 低於X%後立刻售出

每天8:30都會重啟策略

例如9:00沒有部位,開始執行策略,9:20手動下單宏達電股票期貨*1,然後9:45停損條件觸發

股票期貨>0,平倉,請問目前是可以做到嗎?

簡單來說機器只幫我判斷如果股票期貨>0平倉,小於0或者我現在有空的部位不要動作,部位的增減我是手動下單

請問目前可以做到嗎? 

 

以下有幾個問題詢問

1.上面所描述問題語法該怎麼寫呢?

 

 

a.請問庫存異動時自動加入執行是只有付費版才看得到嗎?

b.庫存異動時自動加入執行,更新頻率是多快的?,我可能是手動透過其他方式下單,並非使用XQ

 

2.目前有開放自動交易元富期貨交易了嗎?

3.如果低於x%(現貨被出貨),我在立刻平倉期貨誤差通常約幾秒呢?

 

4.目前有跨商品的逐筆洗價了嗎?

例如看宏達電股票期貨、同時更新宏達電個股資訊

 

6.判斷目前如果 股票期貨 做多部分全部平倉  如果有 做空的就不要動作

有這種語法嗎?

 

7.請問依庫存自動更新這個

因為我使用XQ只想幫我達到條件自動售出,但我下單會從其它地方下單,那如果從其他地方下單成功下單

XQ也會自動更新庫存嗎?

 

 

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

Hello tradeNew,

 

網站上有教學區,裡面有XS語法的基礎和應用可以閱覽,小幫手建議您先瀏覽該區文章。

 

請注意策略啟動後的庫存會是獨立的,所以若在啟動後庫存有透過手動交易或其他策略交易導致增減的話,執行中策略的部位庫存是不會變動的。

庫存異動時自動加入執行 只有在策略的執行商品沒有該商品,且實際庫存中沒有該商品,這時手動交易後該商品和庫存才會被納入策略中控管。

但納入策略控管後再對相同商品手動作交易的話就不會變動策略的部位庫存。

 

1.小幫手不太懂您條件 低於x%要立刻平倉,然後如果超過x%要先做標記低於X%後立刻售出 是什麼意思。

超過和低於在這邊有什麼差異?

您可以使用 filledavgprice 取得目前的庫存成本,並以此計算停損價。

內建的交易腳本也有各種停損停利的範例可以參考。

自動交易本身就是要有訂閱模組才能使用,庫存異動時自動加入執行當然也是。

至於更新頻率是多快小幫手也無法確定,不過在XQ收到回報後就會更改策略的資訊,所以應該會在交易完成後幾秒內就顯示在策略中。

 

2.就小幫手所知,目前有支援元富期貨交易。

 

3.商品洗價 => 策略運算 => 運算完畢後下出委託。

應該是1秒內就可以結束的事,除非您腳本中運算很複雜。

 

4.您可以使用 getsymbolfield 來取得不同商品的資料,但目前還是要執行商品洗價後策略才會運算。

相關人員有在規劃定時洗價功能。

 

6.有,您可以使用position和filled來判斷目前的策略部位和庫存。

如果大於0的話就代表目前是空方,小於0則是空方。

要平倉只要將部位庫存設為0即可。

 

7.就小幫手所知其他管道下單應該都可以,只要XQ可以收到委託回報/成交回報的話,這個功能就會正常運作。

tradeNew 發文於   2023/12/26

小幫手您好:

所以庫存異動時自動加入執行:

看起來是自動交易的、執行商品類型沒有這類商品 && 庫存完全沒有  → 才會進行更新嗎?

 

請問我目前所需要的功能是:

XQ,自動交易純粹只是用來幫我做 「多單」的停損、若有空單則不動作

大環境應該是這樣模擬:

9:00 開啟自動交易策略A_執行商品2498宏達電期貨

9:20 我自已用手機APP下單 下2498宏達電期貨5口                                                            

9:25 條件觸發 售出全部多單,若有空單期貨則不動作

條件觸發有看到,會自己賣出多單然後順便空幾口(因有其它程式再跑,所以可能此時倉庫狀態是空單)

但自動交易策略A  不要去把我空單給平倉回補

請問以上環境XQ自動交易有支援嗎,要如何設定呢 謝謝?

 

XS小編 發文於   2023/12/27

 Hello tradeNew,

 

執行商品類型沒有這類商品 => 執行商品類型沒有這項商品才對。

舉例來說:

A策略中沒有台積電,且實際庫存中沒有台積電,此時手動下單買進1張台積電的話,策略才會將這張台積電加入策略中計算。

 

如果某隻策略只需要做多單的停損,那麼在腳本撰寫時只要限定讓其只能夠在庫存大於0的時候賣出,這樣就不會有補單的狀況發生。

 

舉例來說:

if filled > 0 and close <= filledavgprice * 0.98 then setposition(0, market);

 

這樣策略就只會在停損條件達到時賣出,不會買入。

tradeNew 發文於   2023/12/27

Hi xs小編你好

 

我目前的策略是執行策略時 以台積電舉例  庫存為0         時間:9:00

我手動下單買入一張                                    庫存+1         時間:9:20分

停利停損條件達到要讓策略自動售出                               時間:9:30分

 

如果此時用if filled > 0 then setposition(0, market);會有做用嗎,他會判定到庫存是+1嗎?

因為我已經開策略了,但9:20分手動下單, 此時庫存會更新嗎? 還是為0?

還是說策略執行後會自動檢查庫存呢?

 

 

 

 

 

 

 

 

 

 

 

XS小編 發文於   2023/12/28

Hello tradeNew,

 

如果您的策略裡面執行商品沒有台積電、實際庫存中沒有台積電,有勾選 庫存異動時自動加入執行 的話,那麼在 09:20分 買進台積電的時候策略會將台積電庫存1納入策略運算中。

此時 if filled > 0 then setposition(0, market); 只要洗價就會觸發並出場。

tradeNew 發文於   2023/12/29

Hi 小編

 

這邊不太懂設定的地方

 

1.假設我9:00開盤執行策略A                執行商品 2498宏達電 2388威盛

2.我手動下單                                       買入2330台積電 *1張

3.我正在執行的策略A會自動把2330給加入策略A嗎?

所以此時策略A執行、然後執行商品為 2498 、 2388 、 2330 嗎?

此時策略A就會看到新增2330商品、以及會看到庫存*1 

 

以上是這樣嗎,這部分一直無法理解 謝謝?

XS小編 發文於   2023/12/29

Hello tradeNew,

 

小編不太確定您哪裡無法理解。

 

執行商品沒有台積電

實際庫存中沒有台積電

策略有勾選 庫存異動時自動加入執行

 

這三個條件應該很明確才對。

 

1.假設我9:00開盤執行策略A                執行商品 2498宏達電 2388威盛

=> 策略是否有勾選 庫存異動時自動加入執行?

 

2.我手動下單                                       買入2330台積電 *1張

=> 請問下單買進台積電1張之前,策略執行帳戶裡是否有任何台積電的庫存?

   下單買進台積電的帳戶是否和策略執行帳戶相同?

 

3.我正在執行的策略A會自動把2330給加入策略A嗎?

=> 如果上述條件都有達成的話,策略A的執行商品就會變成 2498, 2388 以及 2330 並顯示庫存1。

 

XQ本身有提供模擬帳號,您可以用模擬帳號來操作會比較容易理解。 

如果滿足了3個條件策略卻沒有將商品自動加入的話那就可能有問題,麻煩詳細描述操作步驟並提供 XQ Log 讓相關人員檢驗。

Log資料夾(預設路徑:C:\SysJust\XQLite\LOG)直接壓縮後提供即可。

您可以直接將檔案上傳,如果檔案過大的話也可以保存到雲端後將連結Mail至客服信箱 XQservice@XQ.com.tw 且務必附上 討論文章連結網址(小幫手才能盡早處理)。

感謝。

發表回覆
Close