macd 0軸下金叉

  •   373 
  • 最後發表   東尼  2023 三月 01
東尼 發文於   2023/02/16

請問工程師:

我要用日頻率雷達抓

"macd 第2次金叉- 第2次是在0軸以上金叉(dif>0) ,  " 但是第一次是在0軸以下的金叉(dif<0)"  

如附圖6806所示  請問該怎用指令寫  "第一次是在0軸以下的macd金叉(osc>0  dif<0)"  

謝謝您~

另外請問  本例雷達跟選股中心的選股指令寫法有不同嗎?

附加文件

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

Hello 東尼,

 

如果您的條件是前一次金叉 dif 在0以下的話,您可以在金叉發生的時候用變數保存交叉發生於0軸的上方還是下方,供下次發生判斷條件時使用。

另外金叉發生的時候OSC一定會大於0,因為OSC是兩條線 (difValue - macdValue) 的值相減。

舉例來說:

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);

 

if difValue Crosses Above macdValue then begin    //黃金交叉十

    if value1 = 1 and difValue > 0 then ret = 1;    //前一次交叉在0以下,這一次在0之上

    if difValue < 0 then value1 = 1 else value1 = -1;     //更新value1數值,0以下的話為1,不然就是-1

    end;

 

這個範例中雷達跟選股的腳本應該會是相同的,不需要另外改寫。

 

東尼 發文於   2023/02/20

工程師您好  感謝您指導

由於有些  "前一macd次金叉且在0軸下 " 跟 "本次macd次金叉且在0軸上" 時間距離太近  想屏除些干擾因素

故想在 前一次金叉是在0軸以下 想再增加一個條件

前一次macd金叉是在0軸以下 + 且在10天以前

請問 "且在10天前" 應如何表示?

感謝您!

 

rightman 發文於   2023/02/20

這個後來有解嗎

東尼 發文於   2023/02/28

工程師您好

由於有些選股後的結果

  "前一macd次金叉且在0軸下 " 跟 "本次macd次金叉且在0軸上" 時間距離太近  想屏除些干擾因

所以想多加入一個條件 前一次macd金叉是在0軸以下  "且是10天前"

請問10天前 該如何用指令表示

謝謝您~

XQ小幫手 發文於   2023/03/01

 Hello 東尼,

 

最簡單的方法是用個變數紀錄,並將其當作條件之一。

舉例來說,在日頻率時:

if value1 = -1 then value2 = 0 else if value1 = 1 then value2 += 1;   //交叉在0以下的話就用value2 記錄過了幾根Bar

 

if difValue Crosses Above macdValue then begin    //黃金交叉時

    if value1 = 1 and difValue > 0 and value2 >= 10 then ret = 1;    //前一次交叉在0以下,這一次在0之上,且過了最少10根Bar

    if difValue < 0 then value1 = 1 else value1 = -1;     //更新value1數值,0以下的話為1,不然就是-1

    end;

東尼 發文於   2023/03/01

 

工程師 感謝您的指導~~

 

發表回覆
Close