技術指標的-DI數值大於+DI,可以通知出場賣出的警示腳本

  •   18 
  • 最後發表   燒腦  15 小時前
燒腦 發文於   2026/07/20

請問:

技術指標的DMI趨向指標,當-DI數值大於+DI,希望可以通知出場賣出。

下圖黃線是-DI,橘線是+DI,希望黃線在橘線上 的每一根K棒都可以跳出警示通知(出場賣出)

請問: 腳本這樣寫ok嗎?

對了,我的頻率是60分K棒

謝謝

 

// 策略:DMI 趨向指標盤中即時警示

// 執行環境:警示腳本 (盤中即時洗價)

 

input: Length(14); 

 

var: pdiValue(0), ndiValue(0), adxValue(0); 

 

SetInputName(1, "天數");

 

DirectionMovement(Length, pdiValue, ndiValue, adxValue);

 

if CurrentBar >= Length then begin

 

    if pdiValue > ndiValue and pdiValue[1] <= ndiValue[1] then begin

        ret = 1;

        retmsg = "【DMI進場通知】+DI(" + NumToStr(pdiValue, 2) + ") 大於 -DI(" + NumToStr(ndiValue, 2) + "),建議進場買進。";

    end;

 

    if ndiValue > pdiValue and ndiValue[1] <= pdiValue[1] then begin

        ret = 1;

        retmsg = "【DMI出場通知】-DI(" + NumToStr(ndiValue, 2) + ") 大於 +DI(" + NumToStr(pdiValue, 2) + "),建議出場賣出。";

    end;

 

end;

 

 

 

虎科大許教授 發文於   2026/07/20

你這個概念是交叉的概念,而交叉不會連續交叉。

若你希望-Di在+Di之上就警示,應該寫成:

if ndiValue > pdiValue then ret = 1;

另外,這種寫法不只是每根K棒符合條件都會警示,而是每個Tick符合條件都會警示。若希望每根K棒只警示一次,則觸發方式需要設定為K棒內單次觸發。

發表回覆
Close