Pine 脚本:MACD 上的警报条件
Pine script : alertcondition on MACD
感谢Starr Lucky 交叉问题已修复
现在我想在 MACD 线交叉时添加警报。
//@version=5
indicator(title="MACD", shorttitle="MACD", timeframe="", timeframe_gaps=true)
// Getting inputs
fast_length = input(title="Fast Length", defval=12)
slow_length = input(title="Slow Length", defval=26)
src = input(title="Source", defval=close)
signal_length = input.int(title="Signal Smoothing", minval = 1, maxval = 50, defval = 9)
sma_source = input.string(title="Oscillator MA Type", defval="EMA", options=["SMA", "EMA"])
sma_signal = input.string(title="Signal Line MA Type", defval="EMA", options=["SMA", "EMA"])
// Plot colors
col_macd = input(#2962FF, "MACD Line ", group="Color Settings", inline="MACD")
col_signal = input(#FF6D00, "Signal Line ", group="Color Settings", inline="Signal")
col_grow_above = input(#26A69A, "Above Grow", group="Histogram", inline="Above")
col_fall_above = input(#B2DFDB, "Fall", group="Histogram", inline="Above")
col_grow_below = input(#FFCDD2, "Below Grow", group="Histogram", inline="Below")
col_fall_below = input(#FF5252, "Fall", group="Histogram", inline="Below")
// Calculating
fast_ma = sma_source == "SMA" ? ta.sma(src, fast_length) : ta.ema(src, fast_length)
slow_ma = sma_source == "SMA" ? ta.sma(src, slow_length) : ta.ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal == "SMA" ? ta.sma(macd, signal_length) : ta.ema(macd, signal_length)
hist = macd - signal
plot(hist, title="Histogram", style=plot.style_columns, color=(hist>=0 ? (hist[1] < hist ?
col_grow_above : col_fall_above) : (hist[1] < hist ? col_grow_below : col_fall_below)))
plot(macd, title="MACD", color=col_macd)
plot(signal, title="Signal", color=col_signal)
plot(ta.cross(signal, macd) ? signal : na, color= color.black, style = plot.style_circles,
linewidth = 4)
所以我尝试了这个,但是...没有用,我也没有找到。
alertcross = signal , macd
alertcondition(alertcross,"Cross MACD","Cross MACD")
预先感谢您的帮助。
不确定这是否是您要查找的内容,但您是否尝试过更改
alertcross = signal , macd
alertcondition(alertcross,"Cross MACD","Cross MACD")
至
alertcross = ta.cross(signal , macd) // sets true false into alertcross
alertcondition(alertcross,"Cross MACD","Cross MACD")
文档:https://www.tradingview.com/pine-script-reference/v5/#fun_ta{dot}cross
感谢Starr Lucky 交叉问题已修复
现在我想在 MACD 线交叉时添加警报。
//@version=5
indicator(title="MACD", shorttitle="MACD", timeframe="", timeframe_gaps=true)
// Getting inputs
fast_length = input(title="Fast Length", defval=12)
slow_length = input(title="Slow Length", defval=26)
src = input(title="Source", defval=close)
signal_length = input.int(title="Signal Smoothing", minval = 1, maxval = 50, defval = 9)
sma_source = input.string(title="Oscillator MA Type", defval="EMA", options=["SMA", "EMA"])
sma_signal = input.string(title="Signal Line MA Type", defval="EMA", options=["SMA", "EMA"])
// Plot colors
col_macd = input(#2962FF, "MACD Line ", group="Color Settings", inline="MACD")
col_signal = input(#FF6D00, "Signal Line ", group="Color Settings", inline="Signal")
col_grow_above = input(#26A69A, "Above Grow", group="Histogram", inline="Above")
col_fall_above = input(#B2DFDB, "Fall", group="Histogram", inline="Above")
col_grow_below = input(#FFCDD2, "Below Grow", group="Histogram", inline="Below")
col_fall_below = input(#FF5252, "Fall", group="Histogram", inline="Below")
// Calculating
fast_ma = sma_source == "SMA" ? ta.sma(src, fast_length) : ta.ema(src, fast_length)
slow_ma = sma_source == "SMA" ? ta.sma(src, slow_length) : ta.ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal == "SMA" ? ta.sma(macd, signal_length) : ta.ema(macd, signal_length)
hist = macd - signal
plot(hist, title="Histogram", style=plot.style_columns, color=(hist>=0 ? (hist[1] < hist ?
col_grow_above : col_fall_above) : (hist[1] < hist ? col_grow_below : col_fall_below)))
plot(macd, title="MACD", color=col_macd)
plot(signal, title="Signal", color=col_signal)
plot(ta.cross(signal, macd) ? signal : na, color= color.black, style = plot.style_circles,
linewidth = 4)
所以我尝试了这个,但是...没有用,我也没有找到。
alertcross = signal , macd
alertcondition(alertcross,"Cross MACD","Cross MACD")
预先感谢您的帮助。
不确定这是否是您要查找的内容,但您是否尝试过更改
alertcross = signal , macd
alertcondition(alertcross,"Cross MACD","Cross MACD")
至
alertcross = ta.cross(signal , macd) // sets true false into alertcross
alertcondition(alertcross,"Cross MACD","Cross MACD")
文档:https://www.tradingview.com/pine-script-reference/v5/#fun_ta{dot}cross