Convert WaveTrend to MT4

MQL4 Indicators Converting

Job finished

Execution time 1 day
Feedback from customer
Very good developer. He completed job on time. Will surely hire again.

Specification


//@version=4
study("Wave Rider 3.0 ", overlay = true)


//ema
ma_length = input(100, title = "EMA Length 1 ")
ma_length2 = input(200, title = "EMA Length 2 ")
pips = input(10.0, title = "Pips of wick apart from EMA1") * 10 * syminfo.mintick

ema1 = ema(close, ma_length)
ema2 = ema(close, ma_length2)

plot(ema1, title="EMA1", color = color.orange, linewidth = 2)
plot(ema2, title="EMA2", color = color.green,  linewidth = 2)

belowema1 = false
aboveema1 = false

belowema1 := low < ema1 + pips or low[1] < ema1[1] + pips or low[2] < ema1[2] + pips or low[3] < ema1[3] + pips or low[4] < ema1[4] + pips
aboveema1 := high > ema1 - pips or high[1] > ema1[1] - pips or high[2] > ema1[2] - pips or high[3] > ema1[3] - pips or high[4] > ema1[4] - pips

lookback = input(30, title = "Look Back Bars")
crossnumbers = input(1, title = "Cross ma Numbers In Look Back Bars")


barsCrossedupMA(_lookback, _src, _ma) =>
    _counter = 0
    for i = 0 to _lookback by 1
        if (_src[i+1] < _ma and _src[i] > _ma)
            _counter := _counter + 1
    _counter

barsCrosseddnMA(_lookback, _src, _ma) =>
    _counter = 0
    for i = 0 to _lookback by 1
        if (_src[i+1] > _ma and _src[i] < _ma) 
            _counter := _counter + 1
    _counter    

crossup = false
crossdn = false
crossup := barsCrossedupMA(lookback, close, ema2) <= crossnumbers
crossdn := barsCrosseddnMA(lookback, close, ema2) <= crossnumbers

emabuy  = close > ema2 and ema1 > ema2 and ((close > ema1 and belowema1) or close < ema1) and crossup
emasell = close < ema2 and ema1 < ema2 and ((close < ema1 and aboveema1) or close > ema1) and crossdn


// Stoch RSI
smoothK = input(3, "K", minval=1)
smoothD = input(3, "D", minval=1)
lengthRSI = input(14, "RSI Length", minval=1)
lengthStoch = input(14, "Stochastic Length", minval=1)
rsiOverbought = input(80.0, "Over Bought")
rsiOversold = input(20.0, "Over Sold")
src = input(close, title="RSI Source")
rsi1 = rsi(src, lengthRSI)
k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = sma(k, smoothD)

rsibuy   = crossover(k, d) and k[1] <rsiOversold
rsisell  =crossunder(k, d) and k[1] >rsiOverbought

//signals
long_signal  =emabuy and rsibuy
short_signal = emasell and rsisell

plotshape(long_signal ? close : na, color=color.green, text= "Buy", location= location.belowbar, style= shape.labelup, textcolor=color.white, size = size.tiny, title="Buy Alert")
plotshape(short_signal ? close : na, color=color.red, text= "Sell", location= location.abovebar, style= shape.labeldown, textcolor=color.white, size = size.tiny, title="Sell Alert")

if long_signal
alert('Long' , alert.freq_once_per_bar_close)

if short_signal
alert('Short' , alert.freq_once_per_bar_close)


alertcondition(long_signal, "Long", "Long")
alertcondition(short_signal, "Short", "Short")

Responded

1
Developer 1
Rating
(322)
Projects
496
67%
Arbitration
5
40% / 0%
Overdue
4
1%
Working
Published: 8 codes
2
Developer 2
Rating
(516)
Projects
784
63%
Arbitration
33
27% / 45%
Overdue
23
3%
Free
Published: 1 code
3
Developer 3
Rating
(77)
Projects
231
73%
Arbitration
6
100% / 0%
Overdue
1
0%
Free
4
Developer 4
Rating
(2)
Projects
4
0%
Arbitration
0
Overdue
0
Free

Project information

Budget
30+ USD
For the developer
27 USD
Deadline
to 1 day(s)