Техническое задание
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)) //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
Откликнулись
1
Оценка
Проекты
19
16%
Арбитраж
3
67%
/
0%
Просрочено
0
Свободен
2
Оценка
Проекты
375
72%
Арбитраж
19
32%
/
47%
Просрочено
14
4%
Работает
Опубликовал: 14 примеров
3
Оценка
Проекты
6
33%
Арбитраж
6
0%
/
67%
Просрочено
1
17%
Работает
4
Оценка
Проекты
477
40%
Арбитраж
105
40%
/
24%
Просрочено
81
17%
Загружен
Опубликовал: 2 примера
5
Оценка
Проекты
499
67%
Арбитраж
5
40%
/
0%
Просрочено
4
1%
Свободен
Опубликовал: 8 примеров
6
Оценка
Проекты
91
25%
Арбитраж
26
19%
/
54%
Просрочено
25
27%
Свободен
7
Оценка
Проекты
195
42%
Арбитраж
13
8%
/
54%
Просрочено
9
5%
Свободен
Опубликовал: 3 примера
Похожие заказы
Modification of ctrader cbot
30+ USD
Hi. Could you slightly rewrite my cBot for me to use a 5-minute chart without a fixed target? The stop should be a trailing stop at the level of the initial range
Project Overview I am looking for an experienced C# developer to build a fully automated cBot for cTrader based on a structural Renko expansion strategy primarily traded on Gold (XAUUSD). The strategy relies on the breakout of multiple structural swing levels (Renko bricks), a customized Fibonacci retracement overlay, automated multiple-order splitting, and dynamic position management based on two distinct market
Szukam doświadczonego programisty do stworzenia dedykowanego doradcy eksperckiego (EA) do tradingu. Programista powinien posiadać solidną wiedzę z zakresu MT5, logiki strategii, wskaźników, zarządzania ryzykiem i backtestingu. Doświadczenie w tworzeniu niezawodnych i profesjonalnych robotów handlowych będzie dodatkowym atutem. Proszę o kontakt, jeśli zrealizowałeś już podobne projekty. wszystkie szczeguły podam w
Hello, i would like to have a ninjatrader indicator. I wanna to have a footprint indicator with delta, imbalances and big trades identifiable. Also I wanna sell it on whop. And it should be fully customisable in NT8
Информация о проекте
Бюджет
30+ USD
Сроки выполнения
до 2 дн.