Convert tradingview pine script to mt5

MQL5 Scripts Conversão

Termos de Referência

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

Respondido

1
Desenvolvedor 1
Classificação
(803)
Projetos
1374
72%
Arbitragem
113
28% / 48%
Expirado
342
25%
Trabalhando
2
Desenvolvedor 2
Classificação
(82)
Projetos
86
57%
Arbitragem
25
0% / 84%
Expirado
19
22%
Livre
3
Desenvolvedor 3
Classificação
(409)
Projetos
537
75%
Arbitragem
9
44% / 0%
Expirado
24
4%
Livre
4
Desenvolvedor 4
Classificação
(563)
Projetos
932
47%
Arbitragem
302
59% / 25%
Expirado
124
13%
Carregado
Pedidos semelhantes
I am looking for a skilled Thinkorswim script developer for a one-time project. Your task will be to combine 8 distinct Thinkorswim studies (I will provide the code for each) into one Lower Study. The final script should display histogram rows for the individual studies with a bubble color scheme of bright green, dark green, gray, dark red, and bright red
I need some who can develop my strategy and hand me over the source code... I will give you the specific area in the market i want to mark out and then set pending orders to execute once price move into the zone
C onversion from Ninjatrader to Tradingview. This includes thorough testing and debugging to guarantee that the script functions as intended on Tradingview...If you are in for this job kindly bid
I believe in Robotics as a major artificial intellect to function of growth of business.Therefore if you script there is a likelihood of bringing economies of scale.The retrospective of the dynamics of indulgence of work can be economics of scale
there I hope you're doing well I want to convert the tradingview indicator to make an indicator for mt5. And in that, I want to make an automatic robot on the base of the indicator. I have the pine script of that indicator
Looking for someone who is able to code MQL for MT5 manager plug-in? Please contact me for more info. it is mainly on when to trigger a stop out of the account
see trade open on every tick seconde ok forex pair us us30 if is current running at 40170.00 so open 2 trade buy stop and sell stop both in every tick pending order of buy stop will 40171.00 and sell stop pending order will be 40169.00 buy stop will open at 40171.00 and tp will be 40173.00 and SL will be 40169.50 ok if buy stop hit sell stop order automatically will be close now if sell stop order open at 40169.00 so
hi hi there i have an strategy on tradingview and i want to automate it like metatrader EA so i want the strategy to open and close trade automaticlly on tradingview

Informações sobre o projeto

Orçamento
30 - 200 USD
Desenvolvedor
27 - 180 USD