Spezifikation
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)) //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
Bewerbungen
1
Bewertung
Projekte
19
16%
Schlichtung
3
67%
/
0%
Frist nicht eingehalten
0
Frei
2
Bewertung
Projekte
373
72%
Schlichtung
18
33%
/
44%
Frist nicht eingehalten
14
4%
Arbeitet
Veröffentlicht: 14 Beispiele
3
Bewertung
Projekte
6
33%
Schlichtung
6
0%
/
67%
Frist nicht eingehalten
1
17%
Arbeitet
4
Bewertung
Projekte
472
40%
Schlichtung
103
40%
/
23%
Frist nicht eingehalten
78
17%
Überlastet
Veröffentlicht: 2 Beispiele
5
Bewertung
Projekte
499
67%
Schlichtung
5
40%
/
0%
Frist nicht eingehalten
4
1%
Frei
Veröffentlicht: 8 Beispiele
6
Bewertung
Projekte
91
25%
Schlichtung
26
19%
/
54%
Frist nicht eingehalten
25
27%
Frei
7
Bewertung
Projekte
195
42%
Schlichtung
13
8%
/
54%
Frist nicht eingehalten
9
5%
Frei
Veröffentlicht: 3 Beispiele
Ähnliche Aufträge
Robot Requirements Specification
30 - 100 USD
step by step and structure this into a full IEEE 830 / ISO/IEC/IEEE 29148 style Requirements Specification. This format will include: Introduction System Overview Functional and Performance Requirements Traceability Matrix (linking requirements to test cases) Verification and Validation Compliance Standards 1. Introduction 1.1 Purpose The purpose of this document is to define the technical requirements for the
Project Title: MT5 Algo Trading EA (Single Strategy + License Panel + Ownership + Manual Trade) --- Project Description I am looking for an experienced MT5 (MQL5) developer to create a clean, stable and professional Algo Trading EA for my company and future clients. This is a long-term business project, not a one-time personal EA. --- 1. Strategy Requirements - Only 1 single trading strategy - No martingale - No grid
Projektdetails
Budget
30+ USD
Ausführungsfristen
bis 2 Tag(e)