策略勾選問題--依庫存依程式??

  •   260 
  • 最後發表   灰熊  2025 五月 05
灰熊 發文於   2025/04/23

教授請教一下:

        程式於23:00並無訊號,剛檢查程式碼,若無部位,23:00會出買訊,但因前有一個買訊,部位,而只限制一口,故不會出買訊,而我剛打開電腦看,卻出現如下圖的交易部位,我是勾依庫存,而我在22:00己手動平倉,但程式是算庫存沒有部位而自動補買一口嗎,日後我是要勾依程式還是要依部位。我的想法本應是庫存多單沒有了,會先等一個賣訊不動作(因己無可賣的部位),再等下一個買訊才會進場作多,應依程式的訊號作動作,但實際卻是不一樣,平白損失了近200點。以後是要怎麼勾選策略呢,還是全勾依程式呢?(版本:3.15版),再麻煩解惑一下,謝謝。

 

 

 

排序方式: 標準 | 最新
XS小編 發文於   2025/05/05

Hello 灰熊,

 

小編補充,關於策略部位的設定,可參考 自動交易中心:庫存同步整合教學 裡的說明。

要確認策略的運作情況,可以使用 print 函數將相關數值印出,會比較容易判斷原因。

跨頻率時,建議由小跨到大會比較適合 (大多函數只支援此種狀況)。

 

若還是有問題的話,麻煩提供 自動交易策略匯出檔包含交易腳本、XQ Log 並告知問題發生的日期時間讓相關人員確認。(Log的保存範圍為近兩週)

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

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

感謝。

虎科大許教授 發文於   2025/04/25

你可以試著print 這8個進場條件,看看是哪些條件觸發進場訊號。

虎科大許教授 發文於   2025/04/24

從你提供的進場程式,看不出所以然來。

灰熊 發文於   2025/04/24

最新回測如圖:23日的23:00確實沒有買訊,但卻送單,,341號那筆是早盤9:45下單一直到24點才出賣訊,並無23:00的突然送買單,而24夜盤22:00出買訊卻沒送單,回測要等明天回測才知是否策略單有出買訊,但實際卻沒送單才能驗證

灰熊 發文於   2025/04/24

if  position=0 then begin

    if flag1=1 and Condition90 then begin

    if (Condition1 and Condition3) or (Condition3 and Condition4 and Condition5) then begin 

      flag=1;

      setposition(1);

end;

end;

end;

附上買進訊號的判斷程式碼,看能不能找到那邊有問題

灰熊 發文於   2025/04/24

謝謝教授熱心的解答,我是好奇,沒訊號會送單,有訊號卻沒送單,訊號和程式是一樣的條件,我想到是否有一種可能,因我程式有跨週期,60分有跨到5分週期而導致程式在跑的時候有出現問題,但卻無法找到答案呢?不然我在其它軟體上是沒碰過這樣的情況,想不出來了

虎科大許教授 發文於   2025/04/24

很抱歉,沒看到程式碼,實在愛莫能助。

灰熊 發文於   2025/04/24

許教授,今天又有問題,22:00有出買訊,但卻沒送單啊,剛把策略程式碼印出來,跟訊號一行一行的對,都一樣啊,怎麼會這樣;

 

虎科大許教授 發文於   2025/04/24

儘管手動平倉造成券商部位為0,但你的策略並不知道,所以仍然認為有部位。由於你提供的資訊不夠充足,無法判斷為何230000會買進。你用指標腳本繪製指標,那是所有進出場都同一個策略在運作,但現在的問題是,你用另一個策略出場(手動出場),結果可能會與指標腳本的訊號不同。

灰熊 發文於   2025/04/24

教授您好:若手動的部位,並不會影響原本策略的部位,而昨晚23:00,並未買訊,不應有多單出現,而是應等到急殺那根K才執行賣出,但部位是0,故應不會執行,我的訊號和策略程式碼是一樣的,只差在plot和setposition而己,故沒訊號,則策略是否不會送單才對呢?我有點不懂昨晚的單是怎麼回事了。想不出全理的解釋,無訊號,但卻買單的狀況。

顯示更多回應 發表回覆
Close