程式交易-單子賣出接回

  •   58 
  • 最後發表   Alex12  2022 六月 21
Alex12 發文於   2022/06/14

Hi 小幫手您好,

關於程式交易,在不開啟逐筆洗價前提下,若已觸發買進條件,也就是現在為filled = 1,因此後續碰觸到賣出條件後,

會在下一根K棒的開盤價賣出,但該根K棒走完後,滿足將單子買回的條件,此時我該怎麼寫?

因為在觸發賣出setposition(0)情況下後,將不會執行下一個setposition。

謝謝

排序方式: 標準 | 最新
Alex12 發文於   2022/06/15

請問小幫手可以回答我的問題嗎?

 

 

XQ小幫手 發文於   2022/06/21

Hello Alex12,

 

在不開啟逐筆洗價的狀況下,每根Bar只會運算一次。

運算時若有觸發 setposition 的話,在同一次運算中 position 跟 filled 都不會變,在腳本運算完後才會將 position 作調整,並準備送出委託單。

要到收到成交回報以後,filled 才會在下次執行腳本時更新為新的數值。

所以若您在第一根Bar結束時運算符合進場條件的話,在腳本運算結束時會是 position = 進場數量, filled = 0,並送出委託單。

若在第二根Bar完成時腳本運算,此時符合出場條件且指令為 setposition(0) 的話,若有還未成交的委託將會被取消,並依庫存數量送出出場委託單。

如果您是在同一次運算中觸發2個SetPosition 的話,那麼只會執行第一個。

所以您在撰寫腳本時可以將要優先執行的交易指令寫在上方,較不重要的放後面。

關於 SetPosition 運作的方式,可以參考說明文件

 

另外小幫手補充,小幫手回覆時都是由討論區的後面往前面回覆。(優先回覆較早發問的用戶)

所以如果您在同一篇文章推文的話會造成您的文章被往前推,反而讓小幫手看到問題的時間變晚。

由於近來問題量不少,麻煩您發問後多等待一陣子。

 

發表回覆
Close