Convert tradingview pine script to mt5

MQL5 Script In conversione

Specifiche

Need to following tradingview pint script converted into mt5, all items should have option to enable / disable individually.  Numbers should be edible , Back testing in mt5 should also work.

If you need more info, search on google for trading view VuManChu B-Divergences

study(title = 'VuManChu B Divergences', shorttitle = 'VMC Cipher_B_Divergences')

// WaveTrend

wtShow = input(true, title = 'Show WaveTrend', type = input.bool)

wtBuyShow = input(true, title = 'Show Buy dots', type = input.bool)

wtGoldShow = input(true, title = 'Show Gold dots', type = input.bool)

wtSellShow = input(true, title = 'Show Sell dots', type = input.bool)

wtDivShow = input(true, title = 'Show Div. dots', type = input.bool)

vwapShow = input(true, title = 'Show Fast WT', type = input.bool)

wtChannelLen = input(9, title = 'WT Channel Length', type = input.integer)

wtAverageLen = input(12, title = 'WT Average Length', type = input.integer)

wtMASource = input(hlc3, title = 'WT MA Source', type = input.source)

wtMALen = input(3, title = 'WT MA Length', type = input.integer)


// WaveTrend Overbought & Oversold lines

obLevel = input(53, title = 'WT Overbought Level 1', type = input.integer)

obLevel2 = input(60, title = 'WT Overbought Level 2', type = input.integer)

obLevel3 = input(100, title = 'WT Overbought Level 3', type = input.integer)

osLevel = input(-53, title = 'WT Oversold Level 1', type = input.integer)

osLevel2 = input(-60, title = 'WT Oversold Level 2', type = input.integer)

osLevel3 = input(-75, title = 'WT Oversold Level 3', type = input.integer)


// Divergence WT

wtShowDiv = input(true, title = 'Show WT Regular Divergences', type = input.bool)

wtShowHiddenDiv = input(false, title = 'Show WT Hidden Divergences', type = input.bool)

showHiddenDiv_nl = input(true, title = 'Not apply OB/OS Limits on Hidden Divergences', type = input.bool)

wtDivOBLevel = input(45, title = 'WT Bearish Divergence min', type = input.integer)

wtDivOSLevel = input(-65, title = 'WT Bullish Divergence min', type = input.integer)


// Divergence extra range

wtDivOBLevel_addshow = input(true, title = 'Show 2nd WT Regular Divergences', type = input.bool)

wtDivOBLevel_add = input(15, title = 'WT 2nd Bearish Divergence', type = input.integer)

wtDivOSLevel_add = input(-40, title = 'WT 2nd Bullish Divergence 15 min', type = input.integer)


// RSI+MFI

rsiMFIShow = input(true, title = 'Show MFI', type = input.bool)

rsiMFIperiod = input(60,title = 'MFI Period', type = input.integer)

rsiMFIMultiplier = input(150, title = 'MFI Area multiplier', type = input.float)

rsiMFIPosY = input(2.5, title = 'MFI Area Y Pos', type = input.float)


// RSI

rsiShow = input(false, title = 'Show RSI', type = input.bool)

rsiSRC = input(close, title = 'RSI Source', type = input.source)

rsiLen = input(14, title = 'RSI Length', type = input.integer)

rsiOversold = input(30, title = 'RSI Oversold', minval = 50, maxval = 100, type = input.integer)

rsiOverbought = input(60, title = 'RSI Overbought', minval = 0, maxval = 50, type = input.integer)


// Divergence RSI

rsiShowDiv = input(false, title = 'Show RSI Regular Divergences', type = input.bool)

rsiShowHiddenDiv = input(false, title = 'Show RSI Hidden Divergences', type = input.bool)

rsiDivOBLevel = input(60, title = 'RSI Bearish Divergence min', type = input.integer)

rsiDivOSLevel = input(30, title = 'RSI Bullish Divergence min', type = input.integer)


// RSI Stochastic

stochShow = input(true, title = 'Show Stochastic RSI', type = input.bool)

stochUseLog = input(true, title=' Use Log?', type = input.bool)

stochAvg = input(false, title='Use Average of both K & D', type = input.bool)

stochSRC = input(close, title = 'Stochastic RSI Source', type = input.source)

stochLen = input(14, title = 'Stochastic RSI Length', type = input.integer)

stochRsiLen = input(14, title = 'RSI Length ', type = input.integer)

stochKSmooth = input(3, title = 'Stochastic RSI K Smooth', type = input.integer)

stochDSmooth = input(3, title = 'Stochastic RSI D Smooth', type = input.integer)


// Divergence stoch

stochShowDiv = input(false, title = 'Show Stoch Regular Divergences', type = input.bool)

stochShowHiddenDiv = input(false, title = 'Show Stoch Hidden Divergences', type = input.bool)


// Schaff Trend Cycle

tcLine = input(false, title="Show Schaff TC line", type=input.bool)

tcSRC = input(close, title = 'Schaff TC Source', type = input.source)

tclength = input(10, title="Schaff TC", type=input.integer)

tcfastLength = input(23, title="Schaff TC Fast Lenght", type=input.integer)

tcslowLength = input(50, title="Schaff TC Slow Length", type=input.integer)

tcfactor = input(0.5, title="Schaff TC Factor", type=input.float)


// Sommi Flag

sommiFlagShow = input(false, title = 'Show Sommi flag', type = input.bool)

sommiShowVwap = input(false, title = 'Show Sommi F. Wave', type = input.bool)

sommiVwapTF = input('720', title = 'Sommi F. Wave timeframe', type = input.string)

sommiVwapBearLevel = input(0, title = 'F. Wave Bear Level (less than)', type = input.integer)

sommiVwapBullLevel = input(0, title = 'F. Wave Bull Level (more than)', type = input.integer)

soomiFlagWTBearLevel = input(0, title = 'WT Bear Level (more than)', type = input.integer) 

soomiFlagWTBullLevel = input(0, title = 'WT Bull Level (less than)', type = input.integer) 

soomiRSIMFIBearLevel = input(0, title = 'Money flow Bear Level (less than)', type = input.integer) 

soomiRSIMFIBullLevel = input(0, title = 'Money flow Bull Level (more than)', type = input.integer) 


// Sommi Diamond

sommiDiamondShow = input(false, title = 'Show Sommi diamond', type = input.bool)

sommiHTCRes = input('60', title = 'HTF Candle Res. 1', type = input.string)

sommiHTCRes2 = input('240', title = 'HTF Candle Res. 2', type = input.string)

soomiDiamondWTBearLevel = input(0, title = 'WT Bear Level (More than)', type = input.integer)

soomiDiamondWTBullLevel = input(0, title = 'WT Bull Level (Less than)', type = input.integer)


// macd Colors

macdWTColorsShow = input(false, title = 'Show MACD Colors', type = input.bool)

macdWTColorsTF = input('240', title = 'MACD Colors MACD TF', type = input.string)


darkMode = input(false, title = 'Dark mode', type = input.bool)



// Colors

colorRed = #ff0000

colorPurple = #e600e6

colorGreen = #3fff00

colorOrange = #e2a400

colorYellow = #ffe500

colorWhite = #ffffff

colorPink = #ff00f0

colorBluelight = #31c0ff


colorWT1 = #90caf9

colorWT2 = #0d47a1


colorWT2_ = #131722


colormacdWT1a = #4caf58

colormacdWT1b = #af4c4c

colormacdWT1c = #7ee57e

colormacdWT1d = #ff3535


colormacdWT2a = #305630

colormacdWT2b = #310101

colormacdWT2c = #132213

colormacdWT2d = #770000


// } PARAMETERS



// FUNCTIONS {

  

// Divergences 

f_top_fractal(src) => src[4] < src[2] and src[3] < src[2] and src[2] > src[1] and src[2] > src[0]

f_bot_fractal(src) => src[4] > src[2] and src[3] > src[2] and src[2] < src[1] and src[2] < src[0]

f_fractalize(src) => f_top_fractal(src) ? 1 : f_bot_fractal(src) ? -1 : 0


f_findDivs(src, topLimit, botLimit, useLimits) =>

    fractalTop = f_fractalize(src) > 0 and (useLimits ? src[2] >= topLimit : true) ? src[2] : na

    fractalBot = f_fractalize(src) < 0 and (useLimits ? src[2] <= botLimit : true) ? src[2] : na

    highPrev = valuewhen(fractalTop, src[2], 0)[2]

    highPrice = valuewhen(fractalTop, high[2], 0)[2]

    lowPrev = valuewhen(fractalBot, src[2], 0)[2]

    lowPrice = valuewhen(fractalBot, low[2], 0)[2]

    bearSignal = fractalTop and high[2] > highPrice and src[2] < highPrev

    bullSignal = fractalBot and low[2] < lowPrice and src[2] > lowPrev

    bearDivHidden = fractalTop and high[2] < highPrice and src[2] > highPrev

    bullDivHidden = fractalBot and low[2] > lowPrice and src[2] < lowPrev

    [fractalTop, fractalBot, lowPrev, bearSignal, bullSignal, bearDivHidden, bullDivHidden]

        

// RSI+MFI

f_rsimfi(_period, _multiplier, _tf) => security(syminfo.tickerid, _tf, sma(((close - open) / (high - low)) * _multiplier, _period) - rsiMFIPosY)

   

// WaveTrend

f_wavetrend(src, chlen, avg, malen, tf) =>

    tfsrc = security(syminfo.tickerid, tf, src)

    esa = ema(tfsrc, chlen)

    de = ema(abs(tfsrc - esa), chlen)

    ci = (tfsrc - esa) / (0.015 * de)

    wt1 = security(syminfo.tickerid, tf, ema(ci, avg))

    wt2 = security(syminfo.tickerid, tf, sma(wt1, malen))

    wtVwap = wt1 - wt2

    wtOversold = wt2 <= osLevel

    wtOverbought = wt2 >= obLevel

    wtCross = cross(wt1, wt2)

    wtCrossUp = wt2 - wt1 <= 0

    wtCrossDown = wt2 - wt1 >= 0

    wtCrosslast = cross(wt1[2], wt2[2])

    wtCrossUplast = wt2[2] - wt1[2] <= 0

    wtCrossDownlast = wt2[2] - wt1[2] >= 0

    [wt1, wt2, wtOversold, wtOverbought, wtCross, wtCrossUp, wtCrossDown, wtCrosslast, wtCrossUplast, wtCrossDownlast, wtVwap]


// Schaff Trend Cycle

f_tc(src, length, fastLength, slowLength) =>

    ema1 = ema(src, fastLength)

    ema2 = ema(src, slowLength)

    macdVal = ema1 - ema2

    alpha = lowest(macdVal, length)

    beta = highest(macdVal, length) - alpha

    gamma = (macdVal - alpha) / beta * 100

    gamma := beta > 0 ? gamma : nz(gamma[1])

    delta = gamma

    delta := na(delta[1]) ? delta : delta[1] + tcfactor * (gamma - delta[1])

    epsilon = lowest(delta, length)

    zeta = highest(delta, length) - epsilon

    eta = (delta - epsilon) / zeta * 100

    eta := zeta > 0 ? eta : nz(eta[1])

    stcReturn = eta

    stcReturn := na(stcReturn[1]) ? stcReturn : stcReturn[1] + tcfactor * (eta - stcReturn[1])

    stcReturn


// Stochastic RSI

f_stochrsi(_src, _stochlen, _rsilen, _smoothk, _smoothd, _log, _avg) =>

    src = _log ? log(_src) : _src

    rsi = rsi(src, _rsilen)

    kk = sma(stoch(rsi, rsi, rsi, _stochlen), _smoothk)

    d1 = sma(kk, _smoothd)

    avg_1 = avg(kk, d1)

    k = _avg ? avg_1 : kk

    [k, d1]


// MACD

f_macd(src, fastlen, slowlen, sigsmooth, tf) =>

    fast_ma = security(syminfo.tickerid, tf, ema(src, fastlen))

    slow_ma = security(syminfo.tickerid, tf, ema(src, slowlen))

    macd = fast_ma - slow_ma,

    signal = security(syminfo.tickerid, tf, sma(macd, sigsmooth))

    hist = macd - signal

    [macd, signal, hist]


// MACD Colors on WT    

f_macdWTColors(tf) =>

    hrsimfi = f_rsimfi(rsiMFIperiod, rsiMFIMultiplier, tf)

    [macd, signal, hist] = f_macd(close, 28, 42, 9, macdWTColorsTF)

    macdup = macd >= signal

    macddown = macd <= signal

    macdWT1Color = macdup ? hrsimfi > 0 ? colormacdWT1c : colormacdWT1a : macddown ? hrsimfi < 0 ? colormacdWT1d : colormacdWT1b : na

    macdWT2Color = macdup ? hrsimfi < 0 ? colormacdWT2c : colormacdWT2a : macddown ? hrsimfi < 0 ? colormacdWT2d : colormacdWT2b : na 

    [macdWT1Color, macdWT2Color]

    

// Get higher timeframe candle

f_getTFCandle(_tf) => 

    _open  = security(heikinashi(syminfo.tickerid), _tf, open, barmerge.gaps_off, barmerge.lookahead_on)

    _close = security(heikinashi(syminfo.tickerid), _tf, close, barmerge.gaps_off, barmerge.lookahead_on)

    _high  = security(heikinashi(syminfo.tickerid), _tf, high, barmerge.gaps_off, barmerge.lookahead_on)

    _low   = security(heikinashi(syminfo.tickerid), _tf, low, barmerge.gaps_off, barmerge.lookahead_on)

    hl2   = (_high + _low) / 2.0

    newBar = change(_open)

    candleBodyDir = _close > _open

    [candleBodyDir, newBar]


// Sommi flag

f_findSommiFlag(tf, wt1, wt2, rsimfi, wtCross, wtCrossUp, wtCrossDown) =>    

    [hwt1, hwt2, hwtOversold, hwtOverbought, hwtCross, hwtCrossUp, hwtCrossDown, hwtCrosslast, hwtCrossUplast, hwtCrossDownlast, hwtVwap] = f_wavetrend(wtMASource, wtChannelLen, wtAverageLen, wtMALen, tf)      

    

    bearPattern = rsimfi < soomiRSIMFIBearLevel and

                   wt2 > soomiFlagWTBearLevel and 

                   wtCross and 

                   wtCrossDown and 

                   hwtVwap < sommiVwapBearLevel

                   

    bullPattern = rsimfi > soomiRSIMFIBullLevel and 

                   wt2 < soomiFlagWTBullLevel and 

                   wtCross and 

                   wtCrossUp and 

                   hwtVwap > sommiVwapBullLevel

    

    [bearPattern, bullPattern, hwtVwap]

    

f_findSommiDiamond(tf, tf2, wt1, wt2, wtCross, wtCrossUp, wtCrossDown) =>

    [candleBodyDir, newBar] = f_getTFCandle(tf)

    [candleBodyDir2, newBar2] = f_getTFCandle(tf2)

    bearPattern = wt2 >= soomiDiamondWTBearLevel and

                   wtCross and

                   wtCrossDown and

                   not candleBodyDir and

                   not candleBodyDir2                   

    bullPattern = wt2 <= soomiDiamondWTBullLevel and

                   wtCross and

                   wtCrossUp and

                   candleBodyDir and

                   candleBodyDir2 

    [bearPattern, bullPattern]

 

// } FUNCTIONS  


// CALCULATE INDICATORS {


// RSI

rsi = rsi(rsiSRC, rsiLen)

rsiColor = rsi <= rsiOversold ? colorGreen : rsi >= rsiOverbought ? colorRed : colorPurple


// RSI + MFI Area

rsiMFI = f_rsimfi(rsiMFIperiod, rsiMFIMultiplier, timeframe.period)

rsiMFIColor = rsiMFI > 0 ? #3ee145 : #ff3d2e


// Calculates WaveTrend

[wt1, wt2, wtOversold, wtOverbought, wtCross, wtCrossUp, wtCrossDown, wtCross_last, wtCrossUp_last, wtCrossDown_last, wtVwap] = f_wavetrend(wtMASource, wtChannelLen, wtAverageLen, wtMALen, timeframe.period)

 

// Stochastic RSI

[stochK, stochD] = f_stochrsi(stochSRC, stochLen, stochRsiLen, stochKSmooth, stochDSmooth, stochUseLog, stochAvg)


// Schaff Trend Cycle

tcVal = f_tc(tcSRC, tclength, tcfastLength, tcslowLength)


// Sommi flag

[sommiBearish, sommiBullish, hvwap] = f_findSommiFlag(sommiVwapTF, wt1, wt2, rsiMFI, wtCross,  wtCrossUp, wtCrossDown)


//Sommi diamond

[sommiBearishDiamond, sommiBullishDiamond] = f_findSommiDiamond(sommiHTCRes, sommiHTCRes2, wt1, wt2, wtCross, wtCrossUp, wtCrossDown)


// macd colors

[macdWT1Color, macdWT2Color] = f_macdWTColors(macdWTColorsTF)


// WT Divergences

[wtFractalTop, wtFractalBot, wtLow_prev, wtBearDiv, wtBullDiv, wtBearDivHidden, wtBullDivHidden] = f_findDivs(wt2, wtDivOBLevel, wtDivOSLevel, true)

    

[wtFractalTop_add, wtFractalBot_add, wtLow_prev_add, wtBearDiv_add, wtBullDiv_add, wtBearDivHidden_add, wtBullDivHidden_add] =  f_findDivs(wt2, wtDivOBLevel_add, wtDivOSLevel_add, true)

[wtFractalTop_nl, wtFractalBot_nl, wtLow_prev_nl, wtBearDiv_nl, wtBullDiv_nl, wtBearDivHidden_nl, wtBullDivHidden_nl] =  f_findDivs(wt2, 0, 0, false)


wtBearDivHidden_ = showHiddenDiv_nl ? wtBearDivHidden_nl : wtBearDivHidden

wtBullDivHidden_ = showHiddenDiv_nl ? wtBullDivHidden_nl : wtBullDivHidden


wtBearDivColor = (wtShowDiv and wtBearDiv) or (wtShowHiddenDiv and wtBearDivHidden_) ? colorRed : na

wtBullDivColor = (wtShowDiv and wtBullDiv) or (wtShowHiddenDiv and wtBullDivHidden_) ? colorGreen : na


wtBearDivColor_add = (wtShowDiv and (wtDivOBLevel_addshow and wtBearDiv_add)) or (wtShowHiddenDiv and (wtDivOBLevel_addshow and wtBearDivHidden_add)) ? #9a0202 : na

wtBullDivColor_add = (wtShowDiv and (wtDivOBLevel_addshow and wtBullDiv_add)) or (wtShowHiddenDiv and (wtDivOBLevel_addshow and wtBullDivHidden_add)) ? #1b5e20 : na


// RSI Divergences

[rsiFractalTop, rsiFractalBot, rsiLow_prev, rsiBearDiv, rsiBullDiv, rsiBearDivHidden, rsiBullDivHidden] = f_findDivs(rsi, rsiDivOBLevel, rsiDivOSLevel, true)

[rsiFractalTop_nl, rsiFractalBot_nl, rsiLow_prev_nl, rsiBearDiv_nl, rsiBullDiv_nl, rsiBearDivHidden_nl, rsiBullDivHidden_nl] = f_findDivs(rsi, 0, 0, false)


rsiBearDivHidden_ = showHiddenDiv_nl ? rsiBearDivHidden_nl : rsiBearDivHidden

rsiBullDivHidden_ = showHiddenDiv_nl ? rsiBullDivHidden_nl : rsiBullDivHidden


rsiBearDivColor = (rsiShowDiv and rsiBearDiv) or (rsiShowHiddenDiv and rsiBearDivHidden_) ? colorRed : na

rsiBullDivColor = (rsiShowDiv and rsiBullDiv) or (rsiShowHiddenDiv and rsiBullDivHidden_) ? colorGreen : na

 

// Stoch Divergences

[stochFractalTop, stochFractalBot, stochLow_prev, stochBearDiv, stochBullDiv, stochBearDivHidden, stochBullDivHidden] = f_findDivs(stochK, 0, 0, false)


stochBearDivColor = (stochShowDiv and stochBearDiv) or (stochShowHiddenDiv and stochBearDivHidden) ? colorRed : na

stochBullDivColor = (stochShowDiv and stochBullDiv) or (stochShowHiddenDiv and stochBullDivHidden) ? colorGreen : na



// Small Circles WT Cross

signalColor = wt2 - wt1 > 0 ? color.red : color.lime


// Buy signal.

buySignal = wtCross and wtCrossUp and wtOversold


buySignalDiv = (wtShowDiv and wtBullDiv) or 

               (wtShowDiv and wtBullDiv_add) or 

               (stochShowDiv and stochBullDiv) or 

               (rsiShowDiv and rsiBullDiv)

    

buySignalDiv_color = wtBullDiv ? colorGreen : 

                     wtBullDiv_add ? color.new(colorGreen, 60) : 

                     rsiShowDiv ? colorGreen : na


// Sell signal

sellSignal = wtCross and wtCrossDown and wtOverbought

             

sellSignalDiv = (wtShowDiv and wtBearDiv) or 

               (wtShowDiv and wtBearDiv_add) or

               (stochShowDiv and stochBearDiv) or

               (rsiShowDiv and rsiBearDiv)

                    

sellSignalDiv_color = wtBearDiv ? colorRed : 

                     wtBearDiv_add ? color.new(colorRed, 60) : 

                     rsiBearDiv ? colorRed : na


// Gold Buy 

lastRsi = valuewhen(wtFractalBot, rsi[2], 0)[2]

wtGoldBuy = ((wtShowDiv and wtBullDiv) or (rsiShowDiv and rsiBullDiv)) and

           wtLow_prev <= osLevel3 and

           wt2 > osLevel3 and

           wtLow_prev - wt2 <= -5 and

           lastRsi < 30           

          

// } CALCULATE INDICATORS



// DRAW {

bgcolor(darkMode ? color.new(#000000, 80) : na)

zLine = plot(0, color = color.new(colorWhite, 50))


//  MFI BAR

rsiMfiBarTopLine = plot(rsiMFIShow ? -95 : na, title = 'MFI Bar TOP Line', transp = 100)

rsiMfiBarBottomLine = plot(rsiMFIShow ? -99 : na, title = 'MFI Bar BOTTOM Line', transp = 100)

fill(rsiMfiBarTopLine, rsiMfiBarBottomLine, title = 'MFI Bar Colors', color = rsiMFIColor, transp = 75)


// WT Areas

plot(wtShow ? wt1 : na, style = plot.style_area, title = 'WT Wave 1', color = macdWTColorsShow ? macdWT1Color : colorWT1, transp = 0)

plot(wtShow ? wt2 : na, style = plot.style_area, title = 'WT Wave 2', color = macdWTColorsShow ? macdWT2Color : darkMode ? colorWT2_ : colorWT2 , transp = 20)


// VWAP

plot(vwapShow ? wtVwap : na, title = 'VWAP', color = colorYellow, style = plot.style_area, linewidth = 2, transp = 45)


// MFI AREA

rsiMFIplot = plot(rsiMFIShow ? rsiMFI: na, title = 'RSI+MFI Area', color = rsiMFIColor, transp = 20)

fill(rsiMFIplot, zLine, rsiMFIColor, transp = 40)


// WT Div


plot(series = wtFractalTop ? wt2[2] : na, title = 'WT Bearish Divergence', color = wtBearDivColor, linewidth = 2, offset = -2)

plot(series = wtFractalBot ? wt2[2] : na, title = 'WT Bullish Divergence', color = wtBullDivColor, linewidth = 2, offset = -2)


// WT 2nd Div

plot(series = wtFractalTop_add ? wt2[2] : na, title = 'WT 2nd Bearish Divergence', color = wtBearDivColor_add, linewidth = 2, offset = -2)

plot(series = wtFractalBot_add ? wt2[2] : na, title = 'WT 2nd Bullish Divergence', color = wtBullDivColor_add, linewidth = 2, offset = -2)


// RSI

plot(rsiShow ? rsi : na, title = 'RSI', color = rsiColor, linewidth = 2, transp = 25)


// RSI Div

plot(series = rsiFractalTop ? rsi[2] : na, title='RSI Bearish Divergence', color = rsiBearDivColor, linewidth = 1, offset = -2)

plot(series = rsiFractalBot ? rsi[2] : na, title='RSI Bullish Divergence', color = rsiBullDivColor, linewidth = 1, offset = -2)


// Stochastic RSI

stochKplot = plot(stochShow ? stochK : na, title = 'Stoch K', color = color.new(#21baf3, 0), linewidth = 2)

stochDplot = plot(stochShow ? stochD : na, title = 'Stoch D', color = color.new(#673ab7, 60), linewidth = 1)

stochFillColor = stochK >= stochD ? color.new(#21baf3, 75) : color.new(#673ab7, 60)

fill(stochKplot, stochDplot, title='KD Fill', color=stochFillColor)


// Stoch Div

plot(series = stochFractalTop ? stochK[2] : na, title='Stoch Bearish Divergence', color = stochBearDivColor, linewidth = 1, offset = -2)

plot(series = stochFractalBot ? stochK[2] : na, title='Stoch Bullish Divergence', color = stochBullDivColor, linewidth = 1, offset = -2)


// Schaff Trend Cycle

plot(tcLine ? tcVal : na, color = color.new(#673ab7, 25), linewidth = 2, title = "Schaff Trend Cycle 1")

plot(tcLine ? tcVal : na, color = color.new(colorWhite, 50), linewidth = 1, title = "Schaff Trend Cycle 2")



// Draw Overbought & Oversold lines

//plot(obLevel, title = 'Over Bought Level 1', color = colorWhite, linewidth = 1, style = plot.style_circles, transp = 85)

plot(obLevel2, title = 'Over Bought Level 2', color = colorWhite, linewidth = 1, style = plot.style_stepline, transp = 85)

plot(obLevel3, title = 'Over Bought Level 3', color = colorWhite, linewidth = 1, style = plot.style_circles, transp = 95)


//plot(osLevel, title = 'Over Sold Level 1', color = colorWhite, linewidth = 1, style = plot.style_circles, transp = 85)

plot(osLevel2, title = 'Over Sold Level 2', color = colorWhite, linewidth = 1, style = plot.style_stepline, transp = 85)


// Sommi flag

plotchar(sommiFlagShow and sommiBearish ? 108 : na, title = 'Sommi bearish flag', char='⚑', color = colorPink, location = location.absolute, size = size.tiny, transp = 0)

plotchar(sommiFlagShow and sommiBullish ? -108 : na, title = 'Sommi bullish flag', char='⚑', color = colorBluelight, location = location.absolute, size = size.tiny, transp = 0)

plot(sommiShowVwap ? ema(hvwap, 3) : na, title = 'Sommi higher VWAP', color = colorYellow, linewidth = 2, style = plot.style_line, transp = 15)


// Sommi diamond

plotchar(sommiDiamondShow and sommiBearishDiamond ? 108 : na, title = 'Sommi bearish diamond', char='◆', color = colorPink, location = location.absolute, size = size.tiny, transp = 0)

plotchar(sommiDiamondShow and sommiBullishDiamond ? -108 : na, title = 'Sommi bullish diamond', char='◆', color = colorBluelight, location = location.absolute, size = size.tiny, transp = 0)


// Circles

plot(wtCross ? wt2 : na, title = 'Buy and sell circle', color = signalColor, style = plot.style_circles, linewidth = 3, transp = 15)


plotchar(wtBuyShow and buySignal ? -107 : na, title = 'Buy circle', char='·', color = colorGreen, location = location.absolute, size = size.small, transp = 50)

plotchar(wtSellShow and sellSignal ? 105 : na , title = 'Sell circle', char='·', color = colorRed, location = location.absolute, size = size.small, transp = 50)


plotchar(wtDivShow and buySignalDiv ? -106 : na, title = 'Divergence buy circle', char='•', color = buySignalDiv_color, location = location.absolute, size = size.small, offset = -2, transp = 15)

plotchar(wtDivShow and sellSignalDiv ? 106 : na, title = 'Divergence sell circle', char='•', color = sellSignalDiv_color, location = location.absolute, size = size.small, offset = -2, transp = 15)


plotchar(wtGoldBuy and wtGoldShow ? -106 : na, title = 'Gold  buy gold circle', char='•', color = colorOrange, location = location.absolute, size = size.small, offset = -2, transp = 15)


// } DRAW



// ALERTS {

  

// BUY

alertcondition(buySignal, 'Buy (Big green circle)', 'Green circle WaveTrend Oversold')

alertcondition(buySignalDiv, 'Buy (Big green circle + Div)', 'Buy & WT Bullish Divergence & WT Overbought')

alertcondition(wtGoldBuy, 'GOLD Buy (Big GOLDEN circle)', 'Green & GOLD circle WaveTrend Overbought')

alertcondition(sommiBullish or sommiBullishDiamond, 'Sommi bullish flag/diamond', 'Blue flag/diamond')

alertcondition(wtCross and wtCrossUp, 'Buy (Small green dot)', 'Buy small circle')


// SELL

alertcondition(sommiBearish or sommiBearishDiamond, 'Sommi bearish flag/diamond', 'Purple flag/diamond')

alertcondition(sellSignal, 'Sell (Big red circle)', 'Red Circle WaveTrend Overbought')

alertcondition(sellSignalDiv, 'Sell (Big red circle + Div)', 'Buy & WT Bearish Divergence & WT Overbought')

alertcondition(wtCross and wtCrossDown, 'Sell (Small red dot)', 'Sell small circle')


// } ALERTS

Con risposta

1
Sviluppatore 1
Valutazioni
(807)
Progetti
1382
72%
Arbitraggio
113
29% / 48%
In ritardo
343
25%
Caricato
2
Sviluppatore 2
Valutazioni
(82)
Progetti
86
57%
Arbitraggio
25
0% / 84%
In ritardo
19
22%
Gratuito
3
Sviluppatore 3
Valutazioni
(409)
Progetti
537
75%
Arbitraggio
9
44% / 0%
In ritardo
24
4%
Gratuito
4
Sviluppatore 4
Valutazioni
(564)
Progetti
933
47%
Arbitraggio
302
59% / 25%
In ritardo
125
13%
Caricato
Ordini simili
I am looking for a professional and experienced developer to assist me with a project involving the conversion of a MetaTrader 4 (MT4) indicator to TradingView (TV) format. If you have the necessary skills and are interested in collaborating, please reach out with your portfolio and any relevant experience. I’m eager to discuss this project in more detail
It is using EMA/SMA for triggers of long or short (green long/red short) and the line above or below is the stop loss, profit triggers would need to figure out or allow it until next trigger. Already in thinkscript And add parameters
I have been using Tradingview for a few years and have now found an MT5 strategy (scalper for forex markets) that I would like to have converted into a Pine code. The strategy should be able to output the corresponding signals on Tradingview and also be usable in the Strategy Tester for backtesting. I am enclosing the relevant MT5 code, although I do not know whether it is error-free. Please note the following
A “grid” display style like the attached image. User can choose up to 3 EMA’s to monitor on up to 6 Time Frames. If the EMA slope is greater than 0 = Green If the EMA slope is less than 0 = Red If the EMA slope is 0 = Black The grid should be customizable on it’s size, colors, and placement on the chart. Each EMA should update per tick. A label at the top of the grid should read “SLOPES” Indicator 2: A “grid” display
Requirement: 1. Convert Pivot source code .mq4 to Sierra Chart mq4 source code is provided .mq4 as attached .mq4 2. upon conversion to add a button code on Sierra chart .cpp to allow display/hide the pivot line in Sierra Chart ---- *no need alert, make it light without any alert, just a button to display/hide pivot line will do :) to continue, pivot font text also no need I"ve mark with red cross to remove see
I have 2 (indicators) I coded and I use on Tradingview I just need converted to use on Ninjatrader i will be looking for great developer to bid for it and for more details
I've use most of code from this script, add some more filter, and added different kind of moving avg instead of rsi input .. please check the source code .. . 70-80% is similar to it. Please check can you convert And are you familiar with backtest.py library? Oky. This library has ML approach to get the optimized backtest parameters right ? included for this but let me know what you think? can you install backtest.py
i am looking for somebody how can convert my pine script code into an MT5 EA. Are you able to do it? Find the pine script code attached. Kindly send a message if you can do this and let me know the time frame and budget. Thanks
Hello developers, I would like to hire someone can convert the Radar Signal indicator: https://www.youtube.com/watch?v=5DmKcy7rb-U&nbsp ; to it's TradingView equivalent. Radar signal indicator is the combination of 7 classic MT4 indicators. They include ADX, RSI , CCI , OsMA, ATR, WPR. The indicator shows the values of these indicators in blue and red. Red color indicates a bearish market condition and the blue shows
Greetings to all developers that see this post, I have a task, I would like to work with an expert. I have an indicator that is written in the Pine script (TradingView) language; I would like it converted to MQL5, which will then lead to the creation of a trading bot based on the circumstances. I'll give you access to the indicator file

Informazioni sul progetto

Budget
30 - 200 USD
Per lo sviluppatore
27 - 180 USD