Техническое задание
//@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)
Откликнулись
1
Оценка
Проекты
460
26%
Арбитраж
140
20%
/
59%
Просрочено
100
22%
Работает
2
Оценка
Проекты
8
13%
Арбитраж
6
33%
/
17%
Просрочено
0
Работает
3
Оценка
Проекты
593
35%
Арбитраж
64
20%
/
58%
Просрочено
147
25%
Свободен
Опубликовал: 1 статью, 22 примера
4
Оценка
Проекты
23
22%
Арбитраж
8
13%
/
63%
Просрочено
4
17%
Свободен
5
Оценка
Проекты
618
33%
Арбитраж
35
37%
/
49%
Просрочено
10
2%
Занят
6
Оценка
Проекты
945
47%
Арбитраж
309
58%
/
27%
Просрочено
125
13%
Свободен
7
Оценка
Проекты
9
22%
Арбитраж
0
Просрочено
0
Свободен
Похожие заказы
CẦN TÌM NGƯỜI VIẾT EA NHƯ HÌNH
500+ USD
cần người tạo EA y thay đổi hình ảnh gửi đầy đủ tính năng như hình giá cả có thể tăng thêm khối lượng mong muốn viết giống hình không khác ROBOT HƠI NHIỀU TÍNH NĂNG MỌI NGƯỜI CÓ THỂ ĐƯA GIÁ THAM KHẢO
I want to develop and EA first to use for back testing, then to use for trading. This will be done on the 15 min timeframe. The EA must Identify sessions highs and lows with specific timings (Asian, London, NY), Place three EMA and ensure that the 50, 100 and 200 exponential moving averages are in order to give directional bias Sell bias = 50 below the 100, which is below the 200 Buy bias = 50 above the 100, which is
I need an experienced MQL4 developer to build a robust, conservative MT4 EA designed to trade Forex major pairs on IG . This is for long-term use with controlled drawdown — no martingale/grid/hedging . Platform / Broker Platform: MT4 Broker: IG Must work with: 5-digit pricing, variable spreads, slippage, and IG’s execution constraints Symbols (Majors only) EURUSD, GBPUSD, USDJPY, AUDUSD, USDCHF, USDCAD (configurable
Need a HFT scalping EA
30 - 100 USD
Require the development of a high-speed HFT, fully automated trading Expert Advisor (EA) for MetaTrader 5 , optimized for live trading on both Deriv and Exness . The EA must be designed for fast execution, low latency, and reliability on real-money accounts , with full compatibility across broker-specific contract specifications, tick sizes, tick values, pricing formats, and volume rules. It should automatically
This EA uses the inbuilt indicators to execute trades. It follows the simple rules of buy signal and sell signal.It will be independent of each other. The same rule follows for each
Hello Developers, I need a utility that allows to me open multiple positions. First the utility will show me all currency pairs on the watch list, and it will give me the option to either buy, sell, or neutral for each currency pair. Secondly, lot sizes for all currency pairs (that are not neutral) are determined through an input of cost per pip (USD). Lastly, then the execute button, which opens positions according
An expert advisor based on 15 minute candle range
50 - 100 USD
This is a reversal strategy based on the range of a 15 minute candle. Functions of the EA · Draw a range (high to low) of a specified 15 minute candle e.g. 15:00 (of course this can be 3 x 5 minute candles. The trade is taken in the 5 minute chart so this might be easier) · Compare the range of this candle to the value of the Daily ATR – the range must be a certain percentage of the Daily ATR e.g. 20%
1. Background & MQL5 Journey: ¿Cuéntame un poco sobre tu background en trading algorítmico y qué te emociona de crear EAs de alto rendimiento? 2. Experience: ¿Cuáles son 2-3 EAs destacados que has creado (mercados, Sharpe, PF, señales/backtests)? 3. Institutional Results: ¿Puedes lograr Sharpe ≥3.0, PF >2.5, <10% DD en XAUUSD? ¿Qué te da confianza? 4. Demo EA: ¿Tienes una señal de EA top (MQL5/Myfxbook) con 100+
EA for account Protection
50+ USD
Project Overview I am looking for an experienced MT5 (MQL5) developer to modify an existing Account Protection EA and, if required, extend it with custom logic. This is NOT a strategy or trading EA . The EA is purely for risk management, drawdown protection, alerts, and trading lock , suitable for prop-firm and managed accounts . Core Requirements 1. Alerts & Monitoring Alert on trade entry and trade exit Alert when
Project description: Development of a high-precision scalping Expert Advisor (EA), optimized for small capital accounts (starting from 50 USD) with 1:30 leverage on the IC Markets broker platform. The EA should be ready for use on both demo and live accounts, with pre-optimized settings, but with the flexibility to adjust all parameters. Mandatory technical requirements (all must be demonstrated in a working demo)
Информация о проекте
Бюджет
10000+ USD