XQ策略雷達

  •   87 
  • 最後發表   PHOT-6  2026 二月 03
PHOT-6 發文於   2026/01/29

請問這個腳本直接在策略雷達執行,偵測到出場條件會自動出場嗎?
為什麼感覺他都只有進場..

Inputs: len20(20), len60(60), len240(240);

Vars: 

    ma20(0), ma60(0), ma240(0),

    s20(0), t1(0), t2(0), fit20(0),

    s60(0), t3(0), t4(0), fit60(0),

    s240(0), t5(0), t6(0), fit240(0),

 

    IntraBarPersist mPos(0); 

SetTotalBar(300);

 

{ === 計算均線與斜率 === }

ma20 = Average(Close, len20);

ma60 = Average(Close, len60);

ma240 = Average(Close, len240);

 

LinearReg(Close, len20,  0, s20,  t1, t2, fit20);

LinearReg(Close, len60,  0, s60,  t3, t4, fit60);

LinearReg(Close, len240, 0, s240, t5, t6, fit240);

 

{ ==========================================

  邏輯 A:進場 (空手時才偵測)

========================================== }

if mPos = 0 then begin

    if (Close > ma20) and (Close > ma60) and (Close > ma240)

       and (s20 > s20[1] and s20[1] > s20[2])

       and (s60 > s60[1] and s60[1] > s60[2])

       and (s240 > s240[1] and s240[1] > s240[2])

    then begin

        mPos = 1; { 標記為持倉中 }

        ret = 1;

        RetMsg = "【多單進場】";

    end;

end

 

{ ==========================================

  邏輯 B:出場 (持倉時才偵測)

  條件:連續兩根收盤價 < MA60

========================================== }

else if mPos = 1 then begin

    if (Close < ma60) and (Close[1] < ma60[1]) then begin

        mPos = 0; { 標記為已出場 }

        ret = 1;

        RetMsg = "【多單出場】";

 

    end;

排序方式: 標準 | 最新
虎科大許教授 發文於   2026/01/30

策略雷達只能決定買或賣,無法用同一策略買了之後再賣。請改用交易腳本在自動交易中心交易即可。當然,ret=1要改成委託指令。

PHOT-6 發文於   2026/01/30

嗨 許教授 了解

所以要額外把賣出的雷達build一個放在另一個策略對嗎

虎科大許教授 發文於   2026/01/30

你可以寫兩個警示腳本,一個用來進場,一個用來出場。不過,這裡最大的問題是,策略之間彼此是獨立的,也就是說進場策略不知道出場策略是否已經出場,而出場策略也不知道進場策略是否已經進場。你只能用模擬的方式讓它們彼此『猜測』對方是否已經進場或出場,但是這種猜測可能會猜錯,因此我建議改用交易腳本,將進場及出場條件都寫在同一個腳本,這樣處理問題會更簡單。

PHOT-6 發文於   2026/01/30

了解... 看來XQ在設計策略雷達時沒有考慮到這點?? 好怪...
所以乾脆切到"自動交易"這個模組 讓他去進行對嗎?

PHOT-6 發文於   2026/01/30

但我好期的時 策略模組再回測時 竟然都跑得出來 結果跟我預期的也一樣@@

虎科大許教授 發文於   2026/01/30

(1)從策略雷達到自動交易,是一個過程,很難一步到位。

(2)用警示腳本回測時,之所以會有結果,是因為在回測設定時,使用者被強制要設定出場規則,例如停利、停損、最大持有時間。若沒有設定這些,則必須指定出場腳本來執行出場。至於執行策略雷達時並沒有這方面的設定,所以只能單向交易。

PHOT-6 發文於   2026/01/31

了解~ 謝謝
那所以我如果只是想接收到訊號通知自己下單的話 這樣的設定是對的嗎?
但不知道為啥策略有時候又會自動關掉...

截圖圖片

虎科大許教授 發文於   2026/01/31

這樣應該可以,但你似乎做了下單設定,這樣的話,除了警示,還會自動下單。

PHOT-6 發文於   2026/02/01

HI 許教授 

那要如何只有警示only~ 謝謝

另外現在可以Plot 微台未平倉口數嗎? 我小台之前用很久了 現在微台也一陣子了 XQ應該會有資料了吧

虎科大許教授 發文於   2026/02/01

(1)下單設定分頁不要設定或是帳號設定為「先不指定帳號」即可。

(2)Plot1(GetField("未平倉"));

顯示更多回應 發表回覆
Close