Specification
//@version=5indicator("Infinity and Sniper by Leo", overlay=true, precision=0, explicit_plot_zorder=true, max_labels_count=500)
// Get user inputemaEnergy = falsesensitivity = input.float(6, " Sensitivity (0.5 - 10)", 0.5, 10, step=0.1)keltner_length = 10atrPeriod = 10factor = 3.5
// Keltner Channel functionkeltner_channel(src, length) =>ma = ta.sma(src, length)rangec = high - lowupper = ma + rangeclower = ma - rangec[upper, lower]
// Modified Supertrend function using Keltner Channelsupertrend(_src, factor, atrLen, kel_length) =>[upperKeltner, lowerKeltner] = keltner_channel(_src, kel_length)rangec = upperKeltner - lowerKeltnerupperBand = _src + factor * rangeclowerBand = _src - factor * rangecprevLowerBand = nz(lowerBand[1])prevUpperBand = nz(upperBand[1])lowerBand := lowerBand > prevLowerBand or close[1] < prevLowerBand ? lowerBand : prevLowerBandupperBand := upperBand < prevUpperBand or close[1] > prevUpperBand ? upperBand : prevUpperBandint direction = nafloat superTrend = naprevSuperTrend = superTrend[1]
if na(rangec[1])direction := 1else if prevSuperTrend == prevUpperBanddirection := close > upperBand ? -1 : 1elsedirection := close < lowerBand ? 1 : -1superTrend := direction == -1 ? lowerBand : upperBand[superTrend, direction]
// Get Componentsema1 = ta.ema(high, 9)ema2 = ta.ema(high, 12)ema3 = ta.ema(high, 15)ema4 = ta.ema(high, 18)ema5 = ta.ema(high, 21)ema6 = ta.ema(high, 24)ema7 = ta.ema(high, 27)ema8 = ta.ema(high, 30)ema9 = ta.ema(high, 33)ema10 = ta.ema(high, 36)ema11 = ta.ema(high, 39)ema12 = ta.ema(high, 42)ema13 = ta.ema(high, 45)ema14 = ta.ema(high, 48)ema15 = ta.ema(high, 51)
// Colorsgreen = #2BBC4Dred = #C51D0B
emaEnergyColor(ma) =>if na(ma)color.gray // o cualquier otro color predeterminadoelseemaEnergy ? (close >= ma ? green : red) : na
// Plotsplot(ema3, "", emaEnergyColor(ema3), editable=false)plot(ema4, "", emaEnergyColor(ema4), editable=false)plot(ema5, "", emaEnergyColor(ema5), editable=false)plot(ema6, "", emaEnergyColor(ema6), editable=false)plot(ema7, "", emaEnergyColor(ema7), editable=false)plot(ema8, "", emaEnergyColor(ema8), editable=false)plot(ema9, "", emaEnergyColor(ema9), editable=false)plot(ema10, "", emaEnergyColor(ema10), editable=false)plot(ema11, "", emaEnergyColor(ema11), editable=false)plot(ema12, "", emaEnergyColor(ema12), editable=false)plot(ema13, "", emaEnergyColor(ema13), editable=false)plot(ema14, "", emaEnergyColor(ema14), editable=false)plot(ema15, "", emaEnergyColor(ema15), editable=false)
[supertrend, direction] = supertrend(close, sensitivity, 11, keltner_length)bull = ta.crossover(close, supertrend)bear = ta.crossunder(close, supertrend)
y1 = low - (ta.atr(30) * 2)y2 = high + (ta.atr(30) * 2)
// Braid Filter
//-- InputsmaType = input.string('McGinley', 'Filter', options=['EMA', 'DEMA', 'TEMA', 'WMA', 'VWMA', 'SMA', 'SMMA', 'HMA', 'LSMA', 'Kijun', 'McGinley', 'RMA'])Period1 = 3Period2 = 7Period3 = 20PipsMinSepPercent = input(60, 'Filter Strength')
//-- Moving Averagema(type, src, len) =>float result = 0if type == 'SMA' // Simpleresult := ta.sma(src, len)resultif type == 'EMA' // Exponentialresult := ta.ema(src, len)resultif type == 'DEMA' // Double Exponentiale = ta.ema(src, len)result := 2 * e - ta.ema(e, len)resultif type == 'TEMA' // Triple Exponentiale = ta.ema(src, len)result := 3 * (e - ta.ema(e, len)) + ta.ema(ta.ema(e, len), len)resultif type == 'WMA' // Weightedresult := ta.wma(src, len)resultif type == 'VWMA' // Volume Weightedresult := ta.vwma(src, len)resultif type == 'SMMA' // Smoothedw = ta.wma(src, len)result := na(w[1]) ? ta.sma(src, len) : (w[1] * (len - 1) + src) / lenresultif type == 'RMA'result := ta.rma(src, len)resultif type == 'HMA' // Hullresult := ta.wma(2 * ta.wma(src, len / 2) - ta.wma(src, len), math.round(math.sqrt(len)))resultif type == 'LSMA' // Least Squaresresult := ta.linreg(src, len, 0)resultif type == 'Kijun' //Kijun-senkijun = math.avg(ta.lowest(len), ta.highest(len))result := kijunresultif type == 'McGinley'mg = 0.0mg := na(mg[1]) ? ta.ema(src, len) : mg[1] + (src - mg[1]) / (len * math.pow(src / mg[1], 4))result := mgresultresult
//-- Braid Filterma01 = ma(maType, close, Period1)ma02 = ma(maType, open, Period2)ma03 = ma(maType, close, Period3)
max = math.max(math.max(ma01, ma02), ma03)min = math.min(math.min(ma01, ma02), ma03)dif = max - min
filter = ta.atr(14) * PipsMinSepPercent / 100
//-- PlotsBraidColor = ma01 > ma02 and dif > filter ? color.green : ma02 > ma01 and dif > filter ? color.red : color.gray
//plot(dif, 'Braid', BraidColor, 5, plot.style_columns)//plot(filter, 'Filter', color.new(color.blue, 0), 2, plot.style_line)//bgcolor(BraidColor, transp=90)
// Braid Filter Finish
buy = bull and ma01 > ma02 and dif > filter ? label.new(bar_index, y1, "BUY", xloc.bar_index, yloc.price, green, label.style_label_up, color.white, size.normal) : nasell = bear and ma02 > ma01 and dif > filter ? label.new(bar_index, y2, "SELL", xloc.bar_index, yloc.price, red, label.style_label_down, color.white, size.normal) : na
[supertrends, directions] = ta.supertrend(factor, atrPeriod)bodyMiddle = plot((open + close) / 2, display=display.none)// Trend Catcher Indicator (Example)ema100 = ta.ema(close, 10)ema200 = ta.ema(close, 20)trendCatcher = ta.crossover(ema100, ema200) ? 1 : ta.crossunder(ema100, ema200) ? -1 : 0trendColor = trendCatcher == 1 ? color.rgb(90, 23, 102) : nabarcolor(trendColor)// Colored candlesbarcolor(color = close > supertrends ? color.rgb(102, 255, 0) : color.rgb(255, 0, 0))
// Take Profit Script
colorsr = 'DARK'bullcolorr = colorsr == 'DARK' ? color.rgb(0, 255, 8) : #00DBFFbearcolorr = colorsr == 'DARK' ? color.rgb(255, 0, 0) : #E91E63
ShowTEX = input.bool(true, "Show Take Profit Signals")TE1 = trueTE2 = trueTE3 = true//TE4 = input(true, 'TE - 4' , group="Money Moves [Trend Exhaustion]" , inline = "TEX")
rsiLengthInput = 22rsiSourceInput = closemaTypeInput = ta.sma(close, 14)up66 = ta.rma(math.max(ta.change(rsiSourceInput), 0), rsiLengthInput)downw = ta.rma(-math.min(ta.change(rsiSourceInput), 0), rsiLengthInput)rsi66 = downw == 0 ? 100 : up66 == 0 ? 0 : 100 - (100 / (1 + up66 / downw))rsiMA = maTypeInput
long1 = ta.crossover(rsi66, 30)long2 = ta.crossover(rsi66, 20)long3 = ta.crossover(rsi66, 15)//long4 = ta.crossover(rsi66, 10)
// SHORTshort1 = ta.crossunder(rsi66, 70)short2 = ta.crossunder(rsi66, 80)short3 = ta.crossunder(rsi66, 85)//short4 = ta.crossunder(rsi66, 90)
// LONGplotshape(long1 and ShowTEX and TE1, "GO LONG 1", style=shape.circle, location=location.belowbar,size=size.tiny, color = color.new(bullcolorr , 60) , text="Sell TP" , textcolor = bullcolorr , editable = false)plotshape(long2 and ShowTEX and TE2, "GO LONG 2", style=shape.circle, location=location.belowbar,size=size.tiny, color = color.new(bullcolorr , 50), text="Sell TP" , textcolor = bullcolorr , editable = false)plotshape(long3 and ShowTEX and TE3, "GO LONG 3", style=shape.circle, location=location.belowbar,size=size.tiny, color = color.new(bullcolorr , 10), text="Sell TP", textcolor = bullcolorr , editable = false)//plotshape(long4 and ShowTEX, "GO LONG 4", style=shape.circle, location=location.belowbar,size=size.tiny, color=color.gray, text="4")
// SHORTplotshape(short1 and ShowTEX and TE1, "GO SHORT 1", style=shape.circle, location=location.abovebar,size=size.tiny, color = color.new(bearcolorr , 60) , text="Buy TP" , textcolor = bearcolorr , editable = false)plotshape(short2 and ShowTEX and TE2, "GO SHORT 2", style=shape.circle, location=location.abovebar,size=size.tiny, color = color.new(bearcolorr , 50) , text="Buy TP" , textcolor = bearcolorr , editable = false)plotshape(short3 and ShowTEX and TE3, "GO SHORT 3", style=shape.circle, location=location.abovebar,size=size.tiny, color = color.new(bearcolorr , 10) , text="Buy TP" , textcolor = bearcolorr , editable = false)//plotshape(short4 and ShowTEX, "GO SHORT 4", style=shape.circle, location=location.abovebar,size=size.tiny, color=color.gray, text="4")
alertcondition(long1 or short1 , 'Trend Exhausted - 1', 'Trend Exhausted | Strength - 1 ')alertcondition(long2 or short2 , 'Trend Exhausted - 2', 'Trend Exhausted | Strength - 2 ')alertcondition(long3 or short3 , 'Trend Exhausted - 3', 'Trend Exhausted | Strength - 3 ')
// Peak Profit Script
import protradingart/pta_plot/6 as pp
pp.peakprofit(bull and ma01 > ma02 and dif > filter, bear and ma02 > ma01 and dif > filter)
//------------------------------------------------------------------------------// === Nas Infinity Algo ===//------------------------------------------------------------------------------
Periods = 40src = hl2Multiplier = input.float(title='Sensitivity', step=0.1, defval=7.2)changeATR = trueshowsignals = input(title='Show Buy/Sell Signals ?', defval=true)highlighting = input(title='Highlighter On/Off ?', defval=false)atr2 = ta.sma(ta.tr, Periods)atr = changeATR ? ta.atr(Periods) : atr2up = src - Multiplier * atrup1 = nz(up[1], up)up := close[1] > up1 ? math.max(up, up1) : updn = src + Multiplier * atrdn1 = nz(dn[1], dn)dn := close[1] < dn1 ? math.min(dn, dn1) : dntrend = 1trend := nz(trend[1], trend)trend := trend == -1 and close > dn1 ? 1 : trend == 1 and close < up1 ? -1 : trendupPlot = plot(trend == 1 ? up : na, title='Up Trend', style=plot.style_linebr, linewidth=2, color=highlighting == true ? #4caf50 : #ffffff00)buySignal = trend == 1 and trend[1] == -1plotshape(buySignal and showsignals ? up : na, title='Buy', text='Buy', location=location.absolute, style=shape.labelup, size=size.normal, color=#4caf50, textcolor=color.new(color.white, 0))dnPlot = plot(trend == 1 ? na : dn, title='Down Trend', style=plot.style_linebr, linewidth=2, color= highlighting == true ? #ff5252 : #ffffff00)sellSignal = trend == -1 and trend[1] == 1plotshape(sellSignal and showsignals ? dn : na, title='Sell', text='Sell', location=location.absolute, style=shape.labeldown, size=size.normal, color=color.new(color.red, 0), textcolor=color.new(color.white, 0))mPlot = plot(ohlc4, title='', style=plot.style_circles, linewidth=0)longFillColor = highlighting ? trend == 1 ? #4caf4f0b : #ffffff00 : #ffffff00shortFillColor = highlighting ? trend == -1 ? #ff52520e : #ffffff00 : #ffffff00fill(mPlot, upPlot, title='UpTrend Highligter', color=longFillColor, transp=90)fill(mPlot, dnPlot, title='DownTrend Highligter', color=shortFillColor, transp=90)alertcondition(buySignal, title='SuperTrend Buy', message='SuperTrend Buy!')alertcondition(sellSignal, title='SuperTrend Sell', message='SuperTrend Sell!')changeCond = trend != trend[1]alertcondition(changeCond, title='SuperTrend Direction Change', message='SuperTrend has changed direction!')
// Bar Colorsvar color barColor = naif (sellSignal)barColor := color.redelse if (buySignal)barColor := color.greenelsebarColor := barColor[1]
barcolor(barColor)//------------------------------------------------------------------------------// === OPTIMUM SNIPER V.1 ===//------------------------------------------------------------------------------
//Get user settingsshowBuySell = input(true, "Show Buy & Sell", group="BUY & SELL SIGNALS")sensitivity1 = input.float(3, "Sensitivity (1-6)", 1, 6, group="BUY & SELL SIGNALS")percentStop = input.float(1, "Stop Loss % (0 to Disable)", 0, group="BUY & SELL SIGNALS")offsetSignal = input.float(5, "Signals Offset", 0, group="BUY & SELL SIGNALS")showRibbon = input(false, "Show Trend Ribbon", group="TREND RIBBON")smooth1 = input.int(5, "Smoothing 1", 1, group="TREND RIBBON")smooth2 = input.int(8, "Smoothing 2", 1, group="TREND RIBBON")showReversal = input(false, "Show Reversals", group="REVERSAL SIGNALS")showPdHlc = input(false, "Show P.D H/L/C", group="PREVIOUS DAY HIGH LOW CLOSE")lineColor = input.color(color.yellow, "Line Colors", group="PREVIOUS DAY HIGH LOW CLOSE")lineWidth = input.int(1, "Width Lines", group="PREVIOUS DAY HIGH LOW CLOSE")lineStyle = input.string("Solid", "Line Style", ["Solid", "Dashed", "Dotted"])labelSize = input.string("normal", "Label Text Size", ["small", "normal", "large"])labelColor = input.color(color.yellow, "Label Text Colors")showEmas = input(false, "Show EMAs", group="EMA")srcEma1 = input(close, "Source EMA 1")lenEma1 = input.int(7, "Length EMA 1", 1)srcEma2 = input(close, "Source EMA 2")lenEma2 = input.int(21, "Length EMA 2", 1)srcEma3 = input(close, "Source EMA 3")lenEma3 = input.int(144, "Length EMA 3", 1)showSwing = input(false, "Show Swing Points", group="SWING POINTS")prdSwing = input.int(10, "Swing Point Period", 2, group="SWING POINTS")colorPos = input(color.new(color.green, 50), "Positive Swing Color")colorNeg = input(color.new(color.red, 50), "Negative Swing Color")showDashboard = input(false, "Show Dashboard", group="TREND DASHBOARD")locationDashboard = input.string("Middle Right", "Table Location", ["Top Right", "Middle Right", "Bottom Right", "Top Center", "Middle Center", "Bottom Center", "Top Left", "Middle Left", "Bottom Left"], group="TREND DASHBOARD")tableTextColor = input(color.white, "Table Text Color", group="TREND DASHBOARD")tableBgColor = input(#2A2A2A, "Table Background Color", group="TREND DASHBOARD")sizeDashboard = input.string("Normal", "Table Size", ["Large", "Normal", "Small", "Tiny"], group="TREND DASHBOARD")showRevBands = input.bool(false, "Show Reversal Bands", group="REVERSAL BANDS")lenRevBands = input.int(30, "Length", group="REVERSAL BANDS")// Functionssmoothrng(x, t, m) =>wper = t * 2 - 1avrng = ta.ema(math.abs(x - x[1]), t)smoothrng = ta.ema(avrng, wper) * mrngfilt(x, r) =>rngfilt = xrngfilt := x > nz(rngfilt[1]) ? x - r < nz(rngfilt[1]) ? nz(rngfilt[1]) : x - r : x + r > nz(rngfilt[1]) ? nz(rngfilt[1]) : x + rpercWidth(len, perc) => (ta.highest(len) - ta.lowest(len)) * perc / 100securityNoRep(sym, res, src) => request.security(sym, res, src, barmerge.gaps_off, barmerge.lookahead_on)swingPoints(prd) =>pivHi = ta.pivothigh(prd, prd)pivLo = ta.pivotlow (prd, prd)last_pivHi = ta.valuewhen(pivHi, pivHi, 1)last_pivLo = ta.valuewhen(pivLo, pivLo, 1)hh = pivHi and pivHi > last_pivHi ? pivHi : nalh = pivHi and pivHi < last_pivHi ? pivHi : nahl = pivLo and pivLo > last_pivLo ? pivLo : nall = pivLo and pivLo < last_pivLo ? pivLo : na[hh, lh, hl, ll]f_chartTfInMinutes() =>float _resInMinutes = timeframe.multiplier * (timeframe.isseconds ? 1 :timeframe.isminutes ? 1. :timeframe.isdaily ? 60. * 24 :timeframe.isweekly ? 60. * 24 * 7 :timeframe.ismonthly ? 60. * 24 * 30.4375 : na)f_kc(src, len, sensitivity1) =>basis = ta.sma(src, len)span = ta.atr(len)[basis + span * sensitivity1, basis - span * sensitivity1]wavetrend(src, chlLen, avgLen) =>esa = ta.ema(src, chlLen)d = ta.ema(math.abs(src - esa), chlLen)ci = (src - esa) / (0.015 * d)wt1 = ta.ema(ci, avgLen)wt2 = ta.sma(wt1, 3)[wt1, wt2]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 : 0f_findDivs(src, topLimit, botLimit) =>fractalTop = f_fractalize(src) > 0 and src[2] >= topLimit ? src[2] : nafractalBot = f_fractalize(src) < 0 and src[2] <= botLimit ? src[2] : nahighPrev = ta.valuewhen(fractalTop, src[2], 0)[2]highPrice = ta.valuewhen(fractalTop, high[2], 0)[2]lowPrev = ta.valuewhen(fractalBot, src[2], 0)[2]lowPrice = ta.valuewhen(fractalBot, low[2], 0)[2]bearSignal = fractalTop and high[2] > highPrice and src[2] < highPrevbullSignal = fractalBot and low[2] < lowPrice and src[2] > lowPrev[bearSignal, bullSignal]// Get componentssource = closesmrng1 = smoothrng(source, 27, 1.5)smrng2 = smoothrng(source, 55, sensitivity1)smrng = (smrng1 + smrng2) / 2filt = rngfilt(source, smrng)up2 = 0.0, up2 := filt > filt[1] ? nz(up2[1]) + 1 : filt < filt[1] ? 0 : nz(up2[1])dn2 = 0.0, dn2 := filt < filt[1] ? nz(dn2[1]) + 1 : filt > filt[1] ? 0 : nz(dn2[1])bullCond = bool(na), bullCond := source > filt and source > source[1] and up2 > 0 or source > filt and source < source[1] and up2 > 0bearCond = bool(na), bearCond := source < filt and source < source[1] and dn2 > 0 or source < filt and source > source[1] and dn2 > 0lastCond = 0, lastCond := bullCond ? 1 : bearCond ? -1 : lastCond[1]bull1 = bullCond and lastCond[1] == -1bear1 = bearCond and lastCond[1] == 1countBull = ta.barssince(bull1)countBear = ta.barssince(bear1)trigger = nz(countBull, bar_index) < nz(countBear, bar_index) ? 1 : 0ribbon1 = ta.sma(close, smooth1)ribbon2 = ta.sma(close, smooth2)rsi = ta.rsi(close, 21)rsiOb = rsi > 70 and rsi > ta.ema(rsi, 10)rsiOs = rsi < 30 and rsi < ta.ema(rsi, 10)dHigh = securityNoRep(syminfo.tickerid, "D", high [1])dLow = securityNoRep(syminfo.tickerid, "D", low [1])dClose = securityNoRep(syminfo.tickerid, "D", close[1])ema111 = ta.ema(srcEma1, lenEma1)ema22 = ta.ema(srcEma2, lenEma2)ema33 = ta.ema(srcEma3, lenEma3)[hh, lh, hl, ll] = swingPoints(prdSwing)ema = ta.ema(close, 144)emaBull = close > emaequal_tf(res) => str.tonumber(res) == f_chartTfInMinutes() and not timeframe.issecondshigher_tf(res) => str.tonumber(res) > f_chartTfInMinutes() or timeframe.issecondstoo_small_tf(res) => (timeframe.isweekly and res=="1") or (timeframe.ismonthly and str.tonumber(res) < 10)securityNoRep1(sym, res, src) =>bool bull_ = nabull_ := equal_tf(res) ? src : bull_bull_ := higher_tf(res) ? request.security(sym, res, src, barmerge.gaps_off, barmerge.lookahead_on) : bull_bull_array = request.security_lower_tf(syminfo.tickerid, higher_tf(res) ? str.tostring(f_chartTfInMinutes()) + (timeframe.isseconds ? "S" : "") : too_small_tf(res) ? (timeframe.isweekly ? "3" : "10") : res, src)if array.size(bull_array) > 1 and not equal_tf(res) and not higher_tf(res)bull_ := array.pop(bull_array)array.clear(bull_array)bull_TF1Bull = securityNoRep1(syminfo.tickerid, "1" , emaBull)TF3Bull = securityNoRep1(syminfo.tickerid, "3" , emaBull)TF5Bull = securityNoRep1(syminfo.tickerid, "5" , emaBull)TF15Bull = securityNoRep1(syminfo.tickerid, "15" , emaBull)TF30Bull = securityNoRep1(syminfo.tickerid, "30" , emaBull)TF60Bull = securityNoRep1(syminfo.tickerid, "60" , emaBull)TF120Bull = securityNoRep1(syminfo.tickerid, "120" , emaBull)TF240Bull = securityNoRep1(syminfo.tickerid, "240" , emaBull)TF480Bull = securityNoRep1(syminfo.tickerid, "480" , emaBull)TFDBull = securityNoRep1(syminfo.tickerid, "1440", emaBull)[upperKC1, lowerKC1] = f_kc(close, lenRevBands, 3)[upperKC2, lowerKC2] = f_kc(close, lenRevBands, 4)[upperKC3, lowerKC3] = f_kc(close, lenRevBands, 5)[upperKC4, lowerKC4] = f_kc(close, lenRevBands, 6)[wt1, wt2] = wavetrend(hlc3, 9, 12)[wtDivBear1, wtDivBull1] = f_findDivs(wt2, 15, -40)[wtDivBear2, wtDivBull2] = f_findDivs(wt2, 45, -65)wtDivBull = wtDivBull1 or wtDivBull2wtDivBear = wtDivBear1 or wtDivBear2// Colorscyan = #00DBFF, cyan30 = color.new(cyan, 70)pink = #E91E63, pink30 = color.new(pink, 70)red1 = #FF5252, red30 = color.new(red1 , 70)// Plot
srcStop = closeatrBand = srcStop * (percentStop / 120)atrStop = trigger ? srcStop - atrBand : srcStop + atrBandlastTrade(src) => ta.valuewhen(bull or bear, src, 0)entry_y = lastTrade(srcStop)stop_y = lastTrade(atrStop)tp1_y = (entry_y - lastTrade(atrStop)) * 1 + entry_ytp2_y = (entry_y - lastTrade(atrStop)) * 2 + entry_ytp3_y = (entry_y - lastTrade(atrStop)) * 3 + entry_ylabelTpSl(y, txt, color) =>label labelTpSl = percentStop != 0 ? label.new(bar_index + 1, y, txt, xloc.bar_index, yloc.price, color, label.style_label_left, color.white, size.normal) : nalabel.delete(labelTpSl[1])labelTpSl(entry_y, "Entry: " + str.tostring(math.round_to_mintick(entry_y)), color.gray)labelTpSl(stop_y , "Stop Loss: " + str.tostring(math.round_to_mintick(stop_y)), color.red)labelTpSl(tp1_y, "Take Profit 1: " + str.tostring(math.round_to_mintick(tp1_y)), color.green)labelTpSl(tp2_y, "Take Profit 2: " + str.tostring(math.round_to_mintick(tp2_y)), color.green)labelTpSl(tp3_y, "Take Profit 3: " + str.tostring(math.round_to_mintick(tp3_y)), color.green)lineTpSl(y, color) =>line lineTpSl = percentStop != 0 ? line.new(bar_index - (trigger ? countBull : countBear) + 4, y, bar_index + 1, y, xloc.bar_index, extend.none, color, line.style_solid) : naline.delete(lineTpSl[1])lineTpSl(entry_y, color.gray)lineTpSl(stop_y, color.red)lineTpSl(tp1_y, color.green)lineTpSl(tp2_y, color.green)lineTpSl(tp3_y, color.green)
Responded
1
Rating
Projects
462
26%
Arbitration
139
20%
/
60%
Overdue
100
22%
Free
2
Rating
Projects
8
13%
Arbitration
6
33%
/
33%
Overdue
0
Free
3
Rating
Projects
602
34%
Arbitration
64
20%
/
58%
Overdue
147
24%
Working
Published: 1 article, 22 codes
4
Rating
Projects
23
22%
Arbitration
8
13%
/
63%
Overdue
4
17%
Free
5
Rating
Projects
709
33%
Arbitration
45
47%
/
42%
Overdue
14
2%
Working
6
Rating
Projects
945
47%
Arbitration
309
58%
/
27%
Overdue
125
13%
Free
7
Rating
Projects
9
22%
Arbitration
0
Overdue
0
Free
Similar orders
Specification : 1. Goal I am commissioning a mean-reversion grid Expert Advisor for XAUUSD on MT5. The deliverable is the complete, commented .mq5 source (strictly personal usel). Offers limited to compiled .ex5 will not be considered. 2. Required framework (non-negotiable) 2.1. Works natively on M5; signals evaluated on closed bars; symmetric long/short. 2.2. Entry logic built on Bollinger Bands + Moving Average
TumiiFX
30 - 20000 USD
1. Use two EMAs: 20 and 50. If EMA 20 is above EMA 50 → uptrend (look for buys) If EMA 20 is below EMA 50 → downtrend (look for sells) 2. Wait for a pullback into the area between the two EMAs. - For buys: price must touch or move between EMA 20 and EMA 50 during the last few candles. - For stils: same idea, but in a downtrend. 3. Entry signal: Buy: a bullish engulfing candle in an uptrend after the pullback
I Need HFT bot working on MT4
30 - 100 USD
I am looking for an experienced MQL4 developer to build a professional High-Frequency Trading (HFT) / Low-Latency Expert Advisor for MetaTrader 4 (MT4) . The EA will be deployed on an IC Markets Live account and should be optimized for the fastest possible execution using a low-latency VPS located in LD4 or NY4 . The primary instruments will be US30 and XAUUSD (Gold) . The goal is to create an EA capable of
HFT bot for live account
30 - 100 USD
Project: MT4 High-Frequency Trading (HFT) Expert Advisor for IC Markets Live I am looking for an experienced MQL4 developer to build a high-frequency trading (HFT) Expert Advisor for IC Markets Live . Requirements: MT4 Expert Advisor Optimized for IC Markets Live Primary symbols: US30 and XAUUSD Ultra-fast execution with low latency Designed to run on a low-latency VPS (NY4/LD4 or equivalent) Efficient order
Ниже представлено готовое, технически выверенное Техническое задание (ТЗ) . Вы можете полностью скопировать этот текст и разместить его на бирже фриланса (например, MQL5.com в разделе «Фриланс» или на Smart-Lab). Данное ТЗ написано на профессиональном языке, понятном разработчикам торговых систем для терминала QUIK (на языке Lua) . ТЕХНИЧЕСКОЕ ЗАДАНИЕ (ТЗ) Разработка мультивалютного торгового робота для терминала
I need developer who Can perfectly build me a layout of Ninjatrader 8 (NT8) to look and feel the same on SierraCharts? I currently use NT8 but I want to start using SierraCharts because its more robust than NT8, but I don't want to have to worry about programming SierraCharts. How much would this cost? Thank you
SIERRA CHART INDICATOR
70+ USD
I am looking for an experienced Sierra Chart ACSIL developer he project involves developing a custom study trading system that utilizes Market Profile (TPO), Single Prints, Footprint/Order Flow data, Delta analysis, and price action confirmation
Bot
30 - 80 USD
I am looking for an experienced MQL5 developer to create a fully automated Expert Advisor (EA) for MetaTrader 5 based on a Price Action strategy. The bot needs to automatically identify specific candlestick formations and market structure levels, execute trades, and manage risk using a dynamic trailing stop.The EA should monitor the chart for the following price action setup:Market Structure / Trend Filter:The bot
HFT / Latency Arbitrage pepperstone
30 - 5000 USD
I am looking for an experienced MQL5 developer to build a high-frequency (HFT) latency arbitrage Expert Advisor for Pepperstone MT5 , using LMAX as the leading price feed. The initial focus will be on US30 (Dow Jones) , and if the strategy proves successful, I want the EA to be easily expandable to additional symbols such as NAS100, GER40, XAUUSD, major forex pairs, and other supported instruments. The EA should
Aak
30+ USD
BhvvI understand you want to combine the best features of these two scripts into a single, highly accurate scalping indicator for TradingView, and then translate that logic into an MQL5 Expert Advisor for MetaTrader (MT4/MT5). However, I must be upfront: "Zero SL with peak average peak target" does not exist in real trading. Markets are unpredictable. A more realistic approach is to use a tight, ATR-based Stop Loss
Project information
Budget
10000+ USD