請問SetPosition的用法

  •   319 
  • 最後發表   帥哥元  2023 九月 06
帥哥元 發文於   2023/08/16

請問,當自動交易中心正在監控時,而我手動強制平倉,但是卻忘記關掉自動交易中心,導致自動交易仍在監控

結果當自動交易平倉時,原本手中已經沒部位,卻反而多了部位出來

下面是我的程式碼及自動交易中心的執行紀錄

請問,要如何修改??

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

Hello 帥哥元,

 

由於啟動後的自動交易策略會獨立運作,不受外部操作 (手動或其他策略交易) 的影響。

故您手動平倉後策略監控的庫存部位還是會維持在原本的數量,直到策略中斷或出場。

 

您可以將交易帳號設定為 只作多/只作空,避免策略反向進場。

這樣策略在要出場時若實際庫存已經被手動平倉的話反向進場就會被擋下。

 

另外圖中的無效交易指令是重複下出部位相同且委託價相同 (或同為市價) 的委託單時,因為是一模一樣的委託單故不會執行。

 

您可以將交易帳號設定為 只作多/只作空,避免策略反向進場。

這樣策略在要出場時若實際庫存已經被手動平倉的話反向進場就會被擋下。

帥哥元 發文於   2023/08/18

謝謝小幫手,不過這樣沒啥意義耶

列如:

有2支自動交易,同時監測模擬帳號1(一支只做多、一支只做空),同時監控是因為我也不知道未來我是做多還是做空,全看趨勢如何走來決定

如果我在10點時下單買進一口多單,也就是代表平倉時,程式會是以賣出一口來做平倉

那有2個問題了

1. 如果途中我手動先自己平倉,那只做多的那支不用理他,但是做空的那支,遇到出場時,還是一樣賣出一口,這樣,我的倉位還是錯的

2. 如果途中我手動先自己平倉,然後將監控關閉,雖然倉位不會亂掉,但是那就跟我開頭問的一樣了

XQ小幫手 發文於   2023/08/22

Hello 帥哥元,

 

小幫手不太懂您想表達的意思。

 

如果您多方策略庫存1,空方策略庫存0,此時手動平倉的話實際庫存會變成0。

若多方測略想出場的話,會被系統給限制。(實際庫存0,要賣出一張)

空方策略因為庫存為0且實際庫存為0,所以進場 (-1) 以及接下來的出場 (0) 都不會有問題,也會和實際庫存相同。

 

如果您多方策略庫存1,空方策略庫存-1的話,您應該不會"手動平倉",因為此時的庫存為0。

假設還是手動平倉了多方庫存的話,那麼此時實際庫存會變成 -1。

此時多方庫存在平倉時會被系統限制。 (實際庫存 -1,要賣出一張)

而空方庫存平倉時則不會有問題。 (實際庫存 -1,要買進一張)

 

另外,除了關掉策略外,您也可以直接對策略修改庫存。

細節可以參考 自動交易中心支援手動調整部位的功能

帥哥元 發文於   2023/08/23

先回到原本的訴求好了,多空出場都寫在同一支自動交易的策略裡面

手動出場後,會忘記關掉自動交易 ( 很重要,所以說三次)
手動出場後,會忘記關掉自動交易 ( 很重要,所以說三次)
手動出場後,會忘記關掉自動交易 ( 很重要,所以說三次)

現在假設一個狀況

08:44  自動交易開始監控帳戶內的庫存,此時庫存為0
09:10  手動買進(做多)一口大台 16500,這時庫存為1,且自動交易開始監控(停損20點)
09:18  手動停損賣出(平倉)16490,這時實際的庫存變為0,但是忘記關閉自動交易,所以此時自動交易的庫存仍為1
09:26  大台收盤價來到16480,這時自動交易停損,發出訊號(賣出一口)

然後,悲劇發生了,我的實際庫存變成了-1,也就是被自動交易賣出了一口

 

==========以下換成小幫手說的,將多空分為2支策略================

08:44  多方策略(只能買進) 和 空方策略(只能賣出) 的自動交易開始監控帳戶內的庫存,此時庫存為0
09:10  手動買進(做多)一口大台 16500,這時庫存為1,且多方 和 空方策略,自動交易開始監控(停損20點)
09:18  手動停損賣出(平倉)16490,這時實際的庫存變為0,但是忘記關閉自動交易,所以此時多方和空方自動交易的庫存仍為1
09:26  大台收盤價來到16480,這時空方自動交易停損,發出訊號(賣出一口);而多方策略可以不用理他,因為根本不會被執行

結論,還是一樣,實際庫存還是變成了-1

ahgi 發文於   2023/08/24

小幫手好像沒有說要你把程式分為兩支,他的意思我覺得是說如果你做多時,你可以在帳號設定那邊指做多避免被反向做空

現在他們的程式交易只能做到這樣,不能即時監控實際庫存,這個方法也算是一個解法,除非他們能做到可以隨時監控目前庫存變化
我也很想要這個功能,很多人遇到的問題都跟你一樣

XQ小幫手 發文於   2023/08/30

Hello 帥哥元,

 

09:26  大台收盤價來到16480,這時空方自動交易停損,發出訊號(賣出一口);而多方策略可以不用理他,因為根本不會被執行

 

如果您將策略的拆開成多方和空方策略的話,空方策略應該不會有處理多方庫存的邏輯,因為那是多方策略要處理的。

多方策略只處理多方進場和多方出場,空方策略只處理空方進場和空方出場,這樣設定只做多和只做空才有辦法控管。

 

感謝 ahgi 的熱心回覆。

帥哥元 發文於   2023/08/31

所以,我的問題不是要將策略拆成多方和空方

而是,自動交易執行中,手動干預了庫存,而又忘記關閉自動交易

導致,自動交易下了非平倉的單子

這個問題有解決方案嗎?

就跟我用閃電下單時,也有類似的狀況,進單後,先預掛好停損及停利後

結果陷入盤整中,所以手動出場,結果忘記把預掛的單子取消,是一樣的道理

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

Hello 帥哥元,

 

如果您手動干預了庫存的話,只有

1. 關掉策略,重新設定庫存啟動。

2. 手動調整策略庫存。

才能夠讓策略和實際庫存接軌。

如果您忘了作以上任一種動作的話,是無法解決問題的。

要等到目前相關人員在規劃的庫存同步功能建置完畢後才有辦法作到。

 

將策略拆開成 多方策略 及 空方策略,各自的策略設定 只作多/只作空,且腳本只處理多方部位/空方部位 這種做法是讓策略不會下出反向進場的狀況。

但也沒辦法讓策略的庫存和實際庫存同步。

 

發表回覆
Close