Tarea técnica

Attached to this post is the pinescript tradingview indicator code, i will also attach a link to the youtube explanatory video of how the indicator works on tradingview, i will like the exact thing on mt5, including the percentage prediction on each bar and the win loss counter ... it should work on both forex, stock and volatility indices on mt5


https://youtu.be/30FLWyEWroM?si=q9GpvJVHp-oyvsvZ// This work is licensed under a Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) https://creativecommons.org/licenses/by-nc-sa/4.0/
// © Zeiierman

//@version=5
indicator("Breakout Probability (Expo)",overlay=true,max_bars_back=5000)

// ~~ Tooltips {
t1 = "The space between the levels can be adjusted with a percentage step. 1% means that each level is located 1% above/under the previous one."
t2 = "Set the number of levels you want to display."
t3 = "If a level got 0 % likelihood of being hit, the level is not displayed as default. Enable the option if you want to see all levels regardless of their values."
t4 = "Enable this option if you want to display the backtest statistics for that a new high or low is made."
string [] tbl_tips = array.from("Number of times price has reached the first highest percentage level",
 "Number of times price failed to reach the first highest percentage level",
 "Win/Loss ratio")
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}

// ~~ Inputs {
perc                    = input.float(1.0,title="Percentage Step",step=.1,minval=0,group="Settings",tooltip=t1)
nbr                     = input.int(5, title="Number of Lines",maxval=5,minval=1,group="Settings",tooltip=t2)
upCol                   = input.color(color.new(color.green,0),title="",inline="col"),dnCol=input.color(color.new(color.red,0),title="",inline="col"),fill=input.bool(true,title="BG Color",inline="col")
var bool [] bools       = array.from(input.bool(true,title="Disable 0.00%",group="Settings",tooltip=t3),input.bool(true, title="Show Statistic Panel",group="Settings",tooltip=t4))
var bool [] alert_bool  = array.from(
 input.bool(true,title="Ticker ID",group="Any alert() function call"),
 input.bool(true,title="High/Low Price",group="Any alert() function call"),
 input.bool(true,title="Bullish/Bearish Bias",group="Any alert() function call"),
 input.bool(true,title="Bullish/Bearish Percentage",group="Any alert() function call"))
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}

// ~~ Variables {
b = bar_index
o = open
h = high
l = low
c = close
step = c*(perc/100)
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}

// ~~ Save Values In Matrix {
var total  = matrix.new<int>(7,4,0)
var vals   = matrix.new<float>(5,4,0.0)
var lines  = matrix.new<line>(1,10,line(na))
var labels = matrix.new<label>(1,10,label(na))
var tbl    = matrix.new<table>(1,1,table.new(position.top_right,2,3,
 frame_color=color.new(color.gray,50),frame_width=3,
 border_color=chart.bg_color,border_width=-2))
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}

// ~~ Save Number Of Green & Red Candles {
green = c[1]>o[1]
red   = c[1]<o[1]
if green
    prev = matrix.get(total,5,0)
    matrix.set(total,5,0,prev+1)
if red
    prev = matrix.get(total,5,1)
    matrix.set(total,5,1,prev+1)
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}

// ~~ Functions {
//Lines
CreateLine(p,i,c)=>
    prevLine = matrix.get(lines,0,i)
    line.delete(prevLine)
    li = line.new(b[1],p,b,p,color=c,width=2)
    matrix.set(lines,0,i,li)
//Labels
CreateLabel(p,i,c,r,v)=>
    prevLabel = matrix.get(labels,0,i)
    label.delete(prevLabel)
    la = label.new(b+1,p,text=str.tostring(matrix.get(vals,r,v),format.percent),
     style=label.style_label_left,color=color.new(color.black,100),textcolor=c)
    matrix.set(labels,0,i,la)
//Score Calculation
Score(x,i)=>
    ghh = matrix.get(total,i,0)
    gll = matrix.get(total,i,1)
    rhh = matrix.get(total,i,2)
    rll = matrix.get(total,i,3)
    gtotal = matrix.get(total,5,0)
    rtotal = matrix.get(total,5,1)
    hh = h>=h[1] + x
    ll = l<=l[1] - x
    if green and hh
        matrix.set(total,i,0,ghh+1)
        matrix.set(vals,i,0,math.round(((ghh+1)/gtotal)*100,2))
    if green and ll
        matrix.set(total,i,1,gll+1)
        matrix.set(vals,i,1,math.round(((gll+1)/gtotal)*100,2))
    if red and hh
        matrix.set(total,i,2,rhh+1)
        matrix.set(vals,i,2,math.round(((rhh+1)/rtotal)*100,2))
    if red and ll
        matrix.set(total,i,3,rll+1)
        matrix.set(vals,i,3,math.round(((rll+1)/rtotal)*100,2))
//Backtest
Backtest(v)=>
    p1 = matrix.get(total,6,0)
    p2 = matrix.get(total,6,1)
    if v==h[1]
        if h>=v
            matrix.set(total,6,0,p1+1)
        else
            matrix.set(total,6,1,p2+1)
    else
        if l<=v
            matrix.set(total,6,0,p1+1)
        else 
            matrix.set(total,6,1,p2+1)
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}

// ~~ Code {
//Run Score Function
Score(0,0)
Score(step,1)
Score(step*2,2)
Score(step*3,3)
Score(step*4,4)

//Fetch Score Values
a1 = matrix.get(vals,0,0)
b1 = matrix.get(vals,0,1)
a2 = matrix.get(vals,0,2)
b2 = matrix.get(vals,0,3)

//Lines & Labels & Alerts
for i=0 to nbr-1
    hide = array.get(bools,0)
    if not hide or (hide and (green?math.min(matrix.get(vals,i,0),
     matrix.get(vals,i,1))>0:
     math.min(matrix.get(vals,i,2),
     matrix.get(vals,i,3))>0))
        hi = h[1]+(step*i)
        lo = l[1]-(step*i)
        //Plot Lines
        CreateLine(hi,i,upCol)
        CreateLine(lo,5+i,dnCol)
        //Plot Labels
        if green
            CreateLabel(hi,i,upCol,i,0)
            CreateLabel(lo,5+i,dnCol,i,1)
        else 
            CreateLabel(hi,i,upCol,i,2)
            CreateLabel(lo,5+i,dnCol,i,3)
        //Create Alert
        if array.includes(alert_bool, true)
            s1 = str.tostring(syminfo.ticker)
            s2 = "High Price: "+str.tostring(math.round_to_mintick(h[1]))+
             " | Low Price: "+str.tostring(math.round_to_mintick(l[1]))
            s3 = green?(math.max(a1,b1)==a1?"BULLISH":"BEARISH"):
             (math.max(a2,b2)==a2?"BULLISH":"BEARISH")
            s4 = green?(math.max(a1,b1)==a1?a1:b1):(math.min(a2,b2)==a2?a2:b2)
            s5 = red  ?(math.max(a2,b2)==a2?a2:b2):(math.min(a1,b1)==a1?a1:b1)
            string [] str_vals = array.from(s1,s2,"BIAS: "+s3,
             "Percentage: High: "+str.tostring(s4,format.percent)
             +" | Low: "+str.tostring(s5,format.percent))
            output = array.new_string()
            for x=0 to array.size(alert_bool)-1
                if array.get(alert_bool,x)
                    array.push(output,array.get(str_vals,x))
            //Alert Is Triggered On Every Bar Open With Bias And Percentage Ratio
            alert(array.join(output,'\n'),alert.freq_once_per_bar)
    else
        //Delete Old Lines & Labels
        line.delete(matrix.get(lines,0,i))
        line.delete(matrix.get(lines,0,5+i))
        label.delete(matrix.get(labels,0,i))
        label.delete(matrix.get(labels,0,5+i))

//Run Backtest Function
Backtest(green?(math.max(a1,b1)==a1?h[1]:l[1]):(math.max(a2,b2)==a2?h[1]:l[1]))
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}

// ~~ Linefill {
if fill
    var filler = linefill(na)
    for i=0 to 8
        get = matrix.get(lines,0,i)
        get1= matrix.get(lines,0,i+1)
        col = i>4?color.new(dnCol,80) : i==4?color.new(color.gray,100) : color.new(upCol,80)
        filler := linefill.new(get,get1,color=col)
        linefill.delete(filler[1])
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}

// ~~ Table {
if barstate.islast and array.get(bools,1)
    //Calulate WinRatio
    W  = matrix.get(total,6,0)
    L  = matrix.get(total,6,1)
    WR = math.round(W/(W+L)*100,2)
    string [] tbl_vals = array.from("WIN: "+str.tostring(W),
     "LOSS: "+str.tostring(L),
     "Profitability: "+str.tostring(WR,format.percent))
    color [] tbl_col = array.from(color.green,color.red,chart.fg_color)
    for i=0 to 2
        table.cell(matrix.get(tbl,0,0),0,i,array.get(tbl_vals,i),
         text_halign=text.align_center,bgcolor=chart.bg_color,
         text_color=array.get(tbl_col,i),text_size=size.auto,
         tooltip=array.get(tbl_tips,i))
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}


Han respondido

1
Desarrollador 1
Evaluación
(9)
Proyectos
19
16%
Arbitraje
3
67% / 0%
Caducado
0
Libre
2
Desarrollador 2
Evaluación
(279)
Proyectos
378
72%
Arbitraje
19
32% / 47%
Caducado
16
4%
Libre
Ha publicado: 15 ejemplos
3
Desarrollador 3
Evaluación
(10)
Proyectos
6
33%
Arbitraje
6
0% / 67%
Caducado
1
17%
Trabaja
4
Desarrollador 4
Evaluación
(298)
Proyectos
478
40%
Arbitraje
105
40% / 24%
Caducado
82
17%
Trabajando
Ha publicado: 2 ejemplos
5
Desarrollador 5
Evaluación
(322)
Proyectos
499
67%
Arbitraje
5
40% / 0%
Caducado
4
1%
Libre
Ha publicado: 8 ejemplos
6
Desarrollador 6
Evaluación
(70)
Proyectos
91
25%
Arbitraje
26
19% / 54%
Caducado
25
27%
Libre
7
Desarrollador 7
Evaluación
(171)
Proyectos
195
42%
Arbitraje
13
8% / 54%
Caducado
9
5%
Libre
Ha publicado: 3 ejemplos
Solicitudes similares
profitable EAs wanted with at least 3 to 5 years backtest. you be submit your proofs such as graphic results, backtesting results, and your demo or weekly the eas has traded
1. PROJECT OVERVIEW Development of a custom automated and manual trading bot for NinjaTrader 8, primarily designed for Nasdaq Futures (NQ/MNQ). The bot will contain the original trading strategy, configurable risk management, automatic and manual operating modes, alerts, profit/loss management, partial profit taking, Break Even, backtesting functionality, and the additional configurable contract-averaging system
I need I trading robot with a dashboard for stop and start working 99%accurate profit while scalping me the user only putting password of mt5 then I run it that doesn't take a long time to process a trade and always making sure that altlest it makes 500dollars per day using 0.05 lot size
Ich möchte einen professionellen Expert Advisor (EA) für MetaTrader 5 entwickeln lassen, der sich funktional am ThunderGold Scalper orientiert. Instrument: XAUUSD / GOLD Zeitrahmen: M15 Plattform: MetaTrader 5 / MQL5 Der EA soll eine eigene, nachprogrammierte Strategie verwenden und keine geschützten Quellcodes oder proprietären Dateien des Originalprodukts kopieren. Gewünschte Funktionen: automatischer Handel auf
GoldTrade EA 89+ USD
//+------------------------------------------------------------------+ //| XAUUSD Wolfe + SMC Quick Profit EA | //| MT5 / MQL5 | //+------------------------------------------------------------------+ #property strict #include <Trade/Trade.mqh> CTrade trade; //================================================================== // INPUTS //================================================================== //--- General
can you help me with I have an indicator that I built and I work with PickMyTrade. The entries come through the alerts I get from Trading View . Trading View needs to send an alert and PickMyTrade executes a trade at that exact same second. Now, I have a problem in Trading View with the synchronization between the alert and the signal. I have a box that I built for a trade. It needs to output the box and get an
I buy EA for USDEUR or XAUUSD for FTMO with proven backtest. Send me images with backtest reports where daily max dd is 1% on 200k account. I can buy several eas if you have them with proofs. Need images of backtesting for 5 years
I need an MT5 Expert Advisor for a mean-reversion strategy on EURUSD: single entry at local price extremes, fixed stop loss and take profit, no grid and no averaging. Position size must be calculated automatically so that risk per trade is capped at a fixed USD amount, with a daily loss limit and a pause after consecutive losses. I will send the full specification — entry conditions, filters and all input parameters
I am looking for a professional and market-savvy MQL developer to build a disciplined, stable Scalping Expert Advisor (EA). The ideal developer must have a solid understanding of Trend Identification, Fibonacci Levels, and Technical Indicators , alongside strict risk management implementation. Key Focus Areas & Developer Requirements: Market & Analysis Expertise: ⚬ Deep understanding of Trend direction (Market
Requirements Specification GoldV16 V0 – MT5 XAUUSD Netting EA 1. Platform: - MetaTrader 5 - MQL5 - XAUUSD - NETTING account 2. Position rule: - Only ONE XAUUSD position may be open at any time. - Fixed lot only. - No Martingale. - No automatic lot increase. 3. Stop Loss: - Stop Loss must be sent immediately when a trade opens. - Default SL distance: 1.00 USD in gold price. - SL distance must be adjustable in Inputs

Información sobre el proyecto

Presupuesto
30+ USD
Plazo límite de ejecución
a 2 día(s)