Rewrite the macd(trading view) code on mt5

MQL5 Indicators Scripts

Specification

rewrite the macd(trading view) code on mt5

//@version=5
indicator(title="Moving Average Convergence Divergence", 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, display = display.data_window)
sma_source = input.string(title = "Oscillator MA Type",  defval = "EMA", options = ["SMA", "EMA"], display = display.data_window)
sma_signal = input.string(title = "Signal Line MA Type", defval = "EMA", options = ["SMA", "EMA"], display = display.data_window)
// 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

alertcondition(hist[1] >= 0 and hist < 0, title = 'Rising to falling', message = 'The MACD histogram switched from a rising to falling state')
alertcondition(hist[1] <= 0 and hist > 0, title = 'Falling to rising', message = 'The MACD histogram switched from a falling to rising state')

hline(0, "Zero Line", color = color.new(#787B86, 50))
plot(hist, title = "Histogram", style = plot.style_columns, color = (hist >= 0 ? (hist[1] < hist ? #26A69A : #B2DFDB) : (hist[1] < hist ? #FFCDD2 : #FF5252)))
plot(macd,   title = "MACD",   color = #2962FF)
plot(signal, title = "Signal", color = #FF6D00)


Responded

1
Developer 1
Rating
(539)
Projects
618
33%
Arbitration
35
37% / 49%
Overdue
10
2%
Busy
2
Developer 2
Rating
(574)
Projects
945
47%
Arbitration
309
58% / 27%
Overdue
125
13%
Free
3
Developer 3
Rating
(264)
Projects
593
35%
Arbitration
64
20% / 58%
Overdue
147
25%
Free
Published: 1 article, 22 codes
4
Developer 4
Rating
(250)
Projects
460
26%
Arbitration
140
20% / 59%
Overdue
100
22%
Working
5
Developer 5
Rating
(22)
Projects
32
44%
Arbitration
1
0% / 0%
Overdue
0
Free
6
Developer 6
Rating
(54)
Projects
102
23%
Arbitration
12
25% / 17%
Overdue
13
13%
Free
7
Developer 7
Rating
(294)
Projects
469
39%
Arbitration
101
41% / 24%
Overdue
77
16%
Loaded
Published: 2 codes
8
Developer 8
Rating
(6)
Projects
8
13%
Arbitration
0
Overdue
1
13%
Free
Published: 1 code

Project information

Budget
30+ USD