Specification
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)) //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
Responded
1
Rating
Projects
19
16%
Arbitration
3
67%
/
0%
Overdue
0
Free
2
Rating
Projects
376
72%
Arbitration
19
32%
/
47%
Overdue
14
4%
Free
Published: 14 codes
3
Rating
Projects
6
33%
Arbitration
6
0%
/
67%
Overdue
1
17%
Working
4
Rating
Projects
477
40%
Arbitration
105
40%
/
24%
Overdue
81
17%
Loaded
Published: 2 codes
5
Rating
Projects
499
67%
Arbitration
5
40%
/
0%
Overdue
4
1%
Free
Published: 8 codes
6
Rating
Projects
91
25%
Arbitration
26
19%
/
54%
Overdue
25
27%
Free
7
Rating
Projects
195
42%
Arbitration
13
8%
/
54%
Overdue
9
5%
Free
Published: 3 codes
Similar orders
El 3aksiyat 0
35+ USD
//@version=6 indicator("منظومة El_3aksiiya 0 المتكاملة", overlay=true, max_labels_count=500, max_boxes_count=500, max_lines_count=500) // الألوان color_accum = color.new(#0000FF, 85) color_manip = color.new(#FFFF00, 80) color_dist = color.new(#FFC0CB, 80) color_elliot = #FF8C00 color_fib = #FFFF00 color_entry = #00FFFF color_tp = #00FF00 rsiVal = ta.rsi(close, 14) // نموذج AMD var int barCount = 0 if
I need an experienced MT4/MT5 user or MQL4/MQL5 developer to test the MT4/MT5 sender EA used by Signalator Notify . The EA does not open trades, does not provide trading signals, and does not decide when to buy or sell. Its role is to run inside MT4/MT5 and report terminal status and trade-related events, so the purpose of this job is to check whether that monitoring workflow works correctly in a real terminal
Project information
Budget
30+ USD
Deadline
to 2 day(s)