Conversion of TradingView Pine Script to MQL5 Indicator

MQL5 Indikatoren Konvertierung

Auftrag beendet

Ausführungszeit 22 Stunden
Bewertung des Kunden
I hired this developer to create a complex custom indicator. The code was flawless, with zero bugs, and they implemented all my requested features precisely.
Bewertung des Entwicklers
Thanks for your fair order. Wish you safe trades,

Spezifikation

Please convert the 2 Pine Scripts below into MQL5 Indicator, it has to be done in 2 days:

1. RMD

//@version=5
indicator('Ranging Market Detector', shorttitle='RMD')

// input paraneters
treshold_level = input.float(title='treshold', defval=4, minval=0, step=1)

//Kalman filter calculation
p = ohlc4

value1 = 0.0
value2 = 0.0
klmf = 0.0

value1 := 0.2 * (p - p[1]) + 0.8 * nz(value1[1])
value2 := 0.1 * (high - low) + 0.8 * nz(value2[1])
lambda = math.abs(value1 / value2)

alpha = (-lambda * lambda + math.sqrt(lambda * lambda * lambda * lambda + 16 * lambda * lambda)) / 8
klmf := alpha * p + (1 - alpha) * nz(klmf[1])


// Calculateing the absolute value of the Kalman filter curve slope
klmf_diff = math.abs(klmf - klmf[1])

// Long term average of the Kalman filter slope
av_klmf_diff = 1.0 * ta.ema(klmf_diff, 200)

// The Kalman filter slope minus the average slope (Decline from the average slope)
// This slope decline is divided by the average slope value to normalize it
normalized_slope_decline = (klmf_diff - av_klmf_diff) / av_klmf_diff

// Condition that defines the trend regime
// Slope declined from the average by not less than the given treshold value
trend_condition = (normalized_slope_decline >= treshold_level) or (normalized_slope_decline[1] >= treshold_level)

bgcol = trend_condition ? color.new(color.yellow, 30) : color.new(color.gray, 30)
// Plot normalized slope decline as histogram plot
plot(normalized_slope_decline, style=plot.style_columns, color=bgcol, linewidth=3)
//plot(lambda, style=plot.style_histogram, color=color.new(color.blue, 0), linewidth=3)
// Plot treshold level line
plot(treshold_level, color=color.new(color.yellow, 0))


2. HalfTrend

//@version=5
indicator('HalfTrend', overlay=true)

amplitude = input(title='Amplitude', defval=1)

channelDeviation = 2
atr_input = 100
showArrows = true
showChannels = true

var int trend = 0
var int nextTrend = 0
var float maxLowPrice = nz(low[1], low)
var float minHighPrice = nz(high[1], high)

var float up = 0.0
var float down = 0.0
float atrHigh = 0.0
float atrLow = 0.0
float arrowUp = na
float arrowDown = na

atr2 = ta.atr(atr_input) / 2
dev = channelDeviation * atr2

highPrice = high[math.abs(ta.highestbars(amplitude))]
lowPrice = low[math.abs(ta.lowestbars(amplitude))]
highma = ta.ema(high, amplitude)
lowma = ta.ema(low, amplitude)

if nextTrend == 1
    maxLowPrice := math.max(lowPrice, maxLowPrice)

    if highma < maxLowPrice and close < nz(low[1], low)
        trend := 1
        nextTrend := 0
        minHighPrice := highPrice
        minHighPrice
else
    minHighPrice := math.min(highPrice, minHighPrice)

    if lowma > minHighPrice and close > nz(high[1], high)
        trend := 0
        nextTrend := 1
        maxLowPrice := lowPrice
        maxLowPrice

if trend == 0
    if not na(trend[1]) and trend[1] != 0
        up := na(down[1]) ? down : down[1]
        arrowUp := up - atr2
        arrowUp
    else
        up := na(up[1]) ? maxLowPrice : math.max(maxLowPrice, up[1])
        up
    atrHigh := up + dev
    atrLow := up - dev
    atrLow
else
    if not na(trend[1]) and trend[1] != 1
        down := na(up[1]) ? up : up[1]
        arrowDown := down + atr2
        arrowDown
    else
        down := na(down[1]) ? minHighPrice : math.min(minHighPrice, down[1])
        down
    atrHigh := down + dev
    atrLow := down - dev
    atrLow

ht = trend == 0 ? up : down

var color buyColor = color.blue
var color sellColor = color.red

htColor = trend == 0 ? buyColor : sellColor
htPlot = plot(ht, title='HalfTrend', linewidth=2, color=htColor)


Bewerbungen

1
Entwickler 1
Bewertung
(266)
Projekte
598
35%
Schlichtung
64
20% / 58%
Frist nicht eingehalten
147
25%
Frei
Veröffentlicht: 1 Artikel, 22 Beispiele
2
Entwickler 2
Bewertung
(322)
Projekte
499
67%
Schlichtung
5
40% / 0%
Frist nicht eingehalten
4
1%
Frei
Veröffentlicht: 8 Beispiele
3
Entwickler 3
Bewertung
(278)
Projekte
373
72%
Schlichtung
19
32% / 47%
Frist nicht eingehalten
14
4%
Frei
Veröffentlicht: 14 Beispiele

Projektdetails

Budget
30+ USD
Ausführungsfristen
bis 2 Tag(e)