請教設定MACD提醒雷達策略腳本語法

  •   783 
  • 最後發表   RainLU  2023 五月 26
RainLU 發文於   2022/12/06

請問各位

我想設定一個腳本語法是MACD翻轉的提醒

 

例如:

MACD參數(3,35,5),我要設定頻率5分鐘,若MACD 綠柱轉紅柱 OR 紅柱轉綠柱,就提醒雷達訊號。

 

如圖範例

在10:00 MACD紅柱轉綠柱走弱趨勢,這時希望可以在10:00時候提醒雷達訊號。

 

 

排序方式: 標準 | 最新
XQ小幫手 發文於   2022/12/07

Hello RainLU,

 

MACD中的柱狀圖值是OSC值。

您可以參考內建的 DIF-MACD由正轉負 和 DIF-MACD由負轉正 警示腳本。

關於如何設定策略雷達,您可以參考教學說明

RainLU 發文於   2022/12/08

請問小編,若柱狀圖值OSC值,正轉負或負轉正,我想要當下OSC轉換過程設定只要達到0數值就符合通知訊號,XS語法要怎麼寫,謝謝。

XQ小幫手 發文於   2022/12/08

Hello RainLU,

 

您可以參考 Cross Above / Cross Below 的說明,其實這條件判斷已經有包含等於的狀況。

如果您要自己寫的話,就是上一期的 osc 小於/大於 0,當期的 osc 大於等於/小於等於 0。

舉例來說:

input: FastLength(12), SlowLength(26), MACDLength(9);

variable: difValue(0), macdValue(0), oscValue(0);

 

SetTotalBar((maxlist(FastLength,SlowLength,6) + MACDLength) * 3 + 8);

 

SetInputName(1, "DIF短期期數");

SetInputName(2, "DIF長期期數");

SetInputName(3, "MACD期數");

 

MACD(weightedclose(), FastLength, SlowLength, MACDLength, difValue, macdValue, oscValue);

 

Ret = oscValue >= 0 and oscValue < 0;   //osc由下往上跨越0

//Ret = oscValue <= 0 and oscValue > 0;   //osc由上往下跨越0

 

網站上有教學區,裡面有XS語法的基礎和應用可以閱覽。

RainLU 發文於   2022/12/08

感謝小編回答

另外請教小編,如圖宏達電,當符合訊號09:55正轉負,第一根10:00箭頭這根跑完後,第二根10:05才會出現訊號,我想要當下正轉負(OSC 0)的下一根也就是10:00圖片箭頭這根就出訊號。

以上問題 謝謝

 

 

 

 

XQ小幫手 發文於   2022/12/09

Hello RainLU,

 

您可以在設定雷達時勾選逐筆洗價,這樣策略雷達就會在每次洗價時運算,若條件符合就會馬上觸發。

不會等到Bar結束時才運算判斷是否會觸發。

 

建議您可以先看一下教學區的頁面,裡面有XS語法和相關功能基礎設定的說明。

RainLU 發文於   2022/12/09

另外請問

 

如圖,例如圖中12:13箭頭,當OSC紅色柱狀數值開始減少,我要判斷比前一根的12:13,也就是下一根12:14後紅色柱狀越來越少,並判斷要OSC連續二根小於數字越來越低,有往下的趨勢,提醒通知。

反之當OSC綠色柱狀數字開始增加,往上趨勢,提醒通知。

以上要怎麼設定參數語法 謝謝

 

XQ小幫手 發文於   2022/12/09

Hello RainLU,

 

建議您可以先看一下教學區的頁面,裡面有XS語法和相關功能基礎設定的說明。

 

您只需要拿 oscValue 去作比較即可,如果同樣的條件要持續好幾期的話,可以參考 TrueAll 函數。

舉例來說:

input: FastLength(12), SlowLength(26), MACDLength(9);

variable: difValue(0), macdValue(0), oscValue(0);

 

SetTotalBar((maxlist(FastLength,SlowLength,6) + MACDLength) * 3 + 8);

 

SetInputName(1, "DIF短期期數");

SetInputName(2, "DIF長期期數");

SetInputName(3, "MACD期數");

 

MACD(weightedclose(), FastLength, SlowLength, MACDLength, difValue, macdValue, oscValue);

 

condition1 = trueall(oscValue < oscValue[1], 2) and oscValue > 0;  //連續2期 OSC 小於前期且 OSC 為紅柱

//condition1 = trueall(oscValue > oscValue[1], 2) and oscValue < 0;  //連續2期 OSC 大於前期且 OSC 為綠柱

 

if conditon1 then ret = 1;

  • 按讚來自於
  • Eddie Lin
kriseddie 發文於   2023/05/23

請問一下  我要判斷當日的 OSC柱狀數值 比前一日  數值縮小或變大,但是要能分辨負數和正數
例如 1 變 2  然後 2 變 1  這個是正數的部分
前期-1 當期 -2 這個是負數的部分 -1往-2   負數數值向下變小
正數和負數的部分 要分開寫 
這樣的語法怎麼寫呢

kriseddie 發文於   2023/05/23

不好意思
應該是說我要判斷當日 osc 與前1日 osc 紅柱 數值變化
紅柱縮減後,當日數值 比 前一日數值 小

然後 綠柱 縮減  當日的綠柱數值 負數 比 前一日 綠柱數值小

XQ小幫手 發文於   2023/05/24

 Hello kriseddie,

 

網站上有教學區,裡面有XS語法的基礎和應用可以閱覽。

 

您可以分成兩個條件寫:

condition1 = oscValue[1] >= 0 and oscValue > oscValue[1];

condition2 = oscValue[1] <= 0 and oscValue < oscValue[1];

 

或是使用 AbsValue 取絕對值。

value1 = absvalue(oscValue);

condition1 = value1 > value1[1];

  • 按讚來自於
  • Eddie Lin
顯示更多回應 發表回覆
Close