I want a pinescript converted to MT5 and EA

MQL5 In conversione

Specifiche

Looking for a skilled developer to turn a pinescript into an MT5 indicator & EA

I then want it to place buy and sell trades accordingly with close on opposite signal.









//@version=1
indicator("Supply and Demand johann]", overlay = true, max_boxes_count = 500, max_bars_back = 500)
//------------------------------------------------------------------------------
//Settings
//-----------------------------------------------------------------------------{
per = input.float(10., 'Threshold %', minval = 0, maxval = 100)
div = input.int(50, 'Resolution' , minval = 2, maxval = 500)
tf = input.timeframe('', 'Intrabar TF')

//Colors
showSupply = input(true ,'Supply        ', inline = 'supply', group = 'Style')
supplyCss = input(#2157f3, '' , inline = 'supply', group = 'Style')
supplyArea = input(true ,'Area' , inline = 'supply', group = 'Style')
supplyAvg = input(true ,'Average' , inline = 'supply', group = 'Style')
supplyWavg = input(true ,'Weighted' , inline = 'supply', group = 'Style')

showEqui = input(true ,'Equilibrium' , inline = 'equi' , group = 'Style')
equiCss = input(color.gray, '' , inline = 'equi' , group = 'Style')
equiAvg = input(true ,'Average' , inline = 'equi' , group = 'Style')
equiWavg = input(true ,'Weighted' , inline = 'equi' , group = 'Style')

showDemand = input(true ,'Demand    ' , inline = 'demand', group = 'Style')
demandCss = input(#ff5d00, '' , inline = 'demand', group = 'Style')
demandArea = input(true ,'Area' , inline = 'demand', group = 'Style')
demandAvg = input(true ,'Average' , inline = 'demand', group = 'Style')
demandWavg = input(true ,'Weighted' , inline = 'demand', group = 'Style')

//-----------------------------------------------------------------------------}
//UDT's
//-----------------------------------------------------------------------------{
type bin
float lvl
float prev
float sum
float prev_sum
float csum
float avg
bool isreached

type area
box bx
line avg
line wavg

//-----------------------------------------------------------------------------}
//Functions
//-----------------------------------------------------------------------------{
n = bar_index

get_hlv()=> [high, low, volume]

method set_area(area id, x1, top, btm, avg, wavg, showArea, showAvg, showWavg)=>
if showArea
id.bx.set_lefttop(x1, top)
id.bx.set_rightbottom(n, btm)
if showAvg
id.avg.set_xy1(x1, avg)
id.avg.set_xy2(n, avg)
if showWavg
id.wavg.set_xy1(x1, wavg)
id.wavg.set_xy2(n, wavg)

//-----------------------------------------------------------------------------}
//Main variables
//-----------------------------------------------------------------------------{
var max = 0.
var min = 0.
var x1 = 0
var csum = 0.

//Intrabar data
[h, l, v] = request.security_lower_tf(syminfo.tickerid, tf, get_hlv())

//Init on left bar
if time == chart.left_visible_bar_time
max := high
min := low
csum := volume
x1 := n
else //Accumulate
max := math.max(high, max)
min := math.min(low, min)
csum += volume

//-----------------------------------------------------------------------------}
//Set zones
//-----------------------------------------------------------------------------{
var supply_area = area.new(
box.new(na, na, na, na, na, bgcolor = color.new(supplyCss, 80))
, line.new(na, na, na, na, color = supplyCss)
, line.new(na, na, na, na, color = supplyCss, style = line.style_dashed))

var demand_area = area.new(
box.new(na, na, na, na, na, bgcolor = color.new(demandCss, 80))
, line.new(na, na, na, na, color = demandCss)
, line.new(na, na, na, na, color = demandCss, style = line.style_dashed))

var equi = line.new(na, na, na, na, color = equiCss)
var wequi = line.new(na, na, na, na, color = equiCss, style = line.style_dashed)

var float supply_wavg = na
var float demand_wavg = na

if time == chart.right_visible_bar_time
r = (max - min) / div
supply = bin.new(max, max, 0, 0, 0, 0, false)
demand = bin.new(min, min, 0, 0, 0, 0, false)

//Loop trough intervals
for i = 0 to div-1
supply.lvl -= r
demand.lvl += r

//Accumulated volume column
if not supply.isreached and showSupply and supplyArea
box.new(x1, supply.prev, x1 + int(supply.sum / csum * (n - x1)), supply.lvl, na
, bgcolor = color.new(supplyCss, 50))
if not demand.isreached and showDemand and demandArea
box.new(x1, demand.lvl, x1 + int(demand.sum / csum * (n - x1)), demand.prev, na
, bgcolor = color.new(demandCss, 50))
//Loop trough bars
for j = 0 to (n - x1)-1
//Loop trough intrabars
for k = 0 to (v[j]).size()-1
//Accumulate if within upper internal
supply.sum += (h[j]).get(k) > supply.lvl and (h[j]).get(k) < supply.prev ? (v[j]).get(k) : 0
supply.avg += supply.lvl * (supply.sum - supply.prev_sum)
supply.csum += supply.sum - supply.prev_sum
supply.prev_sum := supply.sum

//Accumulate if within lower interval
demand.sum += (l[j]).get(k) < demand.lvl and (l[j]).get(k) > demand.prev ? (v[j]).get(k) : 0
demand.avg += demand.lvl * (demand.sum - demand.prev_sum)
demand.csum += demand.sum - demand.prev_sum
demand.prev_sum := demand.sum
//Test if supply accumulated volume exceed threshold and set box
if supply.sum / csum * 100 > per and not supply.isreached
avg = math.avg(max, supply.lvl)
supply_wavg := supply.avg / supply.csum

//Set Box/Level coordinates
if showSupply
supply_area.set_area(x1, max, supply.lvl, avg, supply_wavg, supplyArea, supplyAvg, supplyWavg)

supply.isreached := true
//Test if demand accumulated volume exceed threshold and set box
if demand.sum / csum * 100 > per and not demand.isreached and showDemand
avg = math.avg(min, demand.lvl)
demand_wavg := demand.avg / demand.csum
//Set Box/Level coordinates
if showDemand
demand_area.set_area(x1, demand.lvl, min, avg, demand_wavg, demandArea, demandAvg, demandWavg)

demand.isreached := true
if supply.isreached and demand.isreached
break
if supply.isreached and demand.isreached and showEqui
//Set equilibrium
if equiAvg
avg = math.avg(max, min)
equi.set_xy1(x1, avg)
equi.set_xy2(n, avg)
//Set weighted equilibrium
if equiWavg
wavg = math.avg(supply_wavg, demand_wavg)
wequi.set_xy1(x1, wavg)
wequi.set_xy2(n, wavg)

break
supply.prev := supply.lvl
demand.prev := demand.lvl

//-----------------------------------------------------------------------------}


Con risposta

1
Sviluppatore 1
Valutazioni
(19)
Progetti
22
23%
Arbitraggio
3
67% / 33%
In ritardo
2
9%
In elaborazione
2
Sviluppatore 2
Valutazioni
Progetti
0
0%
Arbitraggio
0
In ritardo
0
Gratuito
3
Sviluppatore 3
Valutazioni
(4)
Progetti
4
0%
Arbitraggio
1
0% / 0%
In ritardo
0
Gratuito
4
Sviluppatore 4
Valutazioni
(571)
Progetti
941
47%
Arbitraggio
304
59% / 25%
In ritardo
124
13%
In elaborazione
5
Sviluppatore 5
Valutazioni
(54)
Progetti
102
23%
Arbitraggio
12
25% / 17%
In ritardo
13
13%
Gratuito

Informazioni sul progetto

Budget
40+ USD
Per lo sviluppatore
36 USD
Scadenze
da 1 a 5 giorno(i)