Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //@version=4
- study(title="MACD + cross", shorttitle="MACD")
- // Getting inputs
- fast_length = input(title="Fast Length", type=input.integer, defval=12)
- slow_length = input(title="Slow Length", type=input.integer, defval=26)
- src = input(title="Source", type=input.source, defval=close)
- signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 9)
- sma_source = input(title="Simple MA(Oscillator)", type=input.bool, defval=false)
- sma_signal = input(title="Simple MA(Signal Line)", type=input.bool, defval=false)
- // Plot colors
- col_grow_above = #26A69A
- col_grow_below = #FFCDD2
- col_fall_above = #B2DFDB
- col_fall_below = #EF5350
- col_macd = #0094ff
- col_signal = #ff6a00
- // Calculating
- fast_ma = sma_source ? sma(src, fast_length) : ema(src, fast_length)
- slow_ma = sma_source ? sma(src, slow_length) : ema(src, slow_length)
- macd = fast_ma - slow_ma
- signal = sma_signal ? sma(macd, signal_length) : 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) ), transp=0 )
- plot(macd, title="MACD", color=col_macd, transp=0)
- plot(signal, title="Signal", color=col_signal, transp=0)
- fastMA = input(title="Fast moving average", type = input.integer, defval = 12, minval = 7)
- slowMA = input(title="Slow moving average", type = input.integer, defval = 26, minval = 7)
- signalLength = input(9,minval=1)
- [currMacd,_,_] = macd(close[0], fastMA, slowMA, signalLength)
- [prevMacd,_,_] = macd(close[1], fastMA, slowMA, signalLength)
- signal2 = ema(currMacd, signalLength)
- crossoverBear = cross(currMacd, signal) and currMacd < signal ? avg(currMacd, signal) : na
- crossoverBull = cross(currMacd, signal) and currMacd > signal ? avg(currMacd, signal) : na
- //plotshape(crossoverBear, title='MACD-BEAR', style=shape.labeldown, text='SELL', location=location.abovebar, color=color.red, textcolor=color.white, size=size.tiny)
- //plotshape(crossoverBull, title='MACD-BULL', style=shape.triangleup, text='BUY', location=location.belowbar, color=color.green, textcolor=color.white, size=size.tiny)
- bgcolor(crossoverBull ? color.green : na, transp=50)
- bgcolor(crossoverBear ? color.red : na, transp=50)
- alertcondition(crossoverBear, "MACD Bear", "MACD Bearish Crossover")
- alertcondition(crossoverBull, "MACD Bull", "MACD Bullish Crossover")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement