請問工程師:
我要用日頻率雷達抓
"macd 第2次金叉- 第2次是在0軸以上金叉(dif>0) , " 但是第一次是在0軸以下的金叉(dif<0)"
如附圖6806所示 請問該怎用指令寫 "第一次是在0軸以下的macd金叉(osc>0 dif<0)"
謝謝您~
另外請問 本例雷達跟選股中心的選股指令寫法有不同嗎?
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;
這個範例中雷達跟選股的腳本應該會是相同的,不需要另外改寫。
工程師您好 感謝您指導
由於有些 "前一macd次金叉且在0軸下 " 跟 "本次macd次金叉且在0軸上" 時間距離太近 想屏除些干擾因素
故想在 前一次金叉是在0軸以下 想再增加一個條件
前一次macd金叉是在0軸以下 + 且在10天以前
請問 "且在10天前" 應如何表示?
感謝您!
這個後來有解嗎
工程師您好
由於有些選股後的結果
"前一macd次金叉且在0軸下 " 跟 "本次macd次金叉且在0軸上" 時間距離太近 想屏除些干擾因
所以想多加入一個條件 前一次macd金叉是在0軸以下 "且是10天前"
請問10天前 該如何用指令表示
謝謝您~
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;
工程師 感謝您的指導~~
6 評論