Convert trading view indicator into mt5 indicator

İş Gereklilikleri

I am looking for someone to convert( Or sell me) trading view indicator to mt5 and have the same, dunctionality with the source code.

the indicator is " Market Structure Break & Order Block by EmreKb", 

to have the same functionalities in mt5.

You can either convert the pine script to mql5 or create a new from scratch.

pine script code are below.


// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/

// © EmreKb


//@version=5

indicator("Market Structure Break & Order Block", "MSB-OB", overlay=true, max_lines_count=500, max_bars_back=4900, max_boxes_count=500)


settings = "Settings"

zigzag_len = input.int(9, "ZigZag Length", group=settings)

show_zigzag = input.bool(true, "Show Zigzag", group=settings)

fib_factor = input.float(0.33, "Fib Factor for breakout confirmation", 0, 1, 0.01, group=settings)


text_size = input.string(size.tiny, "Text Size", [size.tiny, size.small, size.normal, size.large, size.huge], group=settings)


delete_boxes = input.bool(true, "Delete Old/Broken Boxes", group=settings)


bu_ob_inline_color = "Bu-OB Colors"

be_ob_inline_color = "Be-OB Colors"

bu_bb_inline_color = "Bu-BB Colors"

be_bb_inline_color = "Be-BB Colors"


bu_ob_display_settings = "Bu-OB Display Settings"

bu_ob_color = input.color(color.new(color.green, 70), "Color", group=bu_ob_display_settings, inline=bu_ob_inline_color)

bu_ob_border_color = input.color(color.green, "Border Color", group=bu_ob_display_settings, inline=bu_ob_inline_color)

bu_ob_text_color = input.color(color.green, "Text Color", group=bu_ob_display_settings, inline=bu_ob_inline_color)


be_ob_display_settings = "Be-OB Display Settings"

be_ob_color = input.color(color.new(color.red, 70), "Color", group=be_ob_display_settings, inline=be_ob_inline_color)

be_ob_border_color = input.color(color.red, "Border Color", group=be_ob_display_settings, inline=be_ob_inline_color)

be_ob_text_color = input.color(color.red, "Text Color", group=be_ob_display_settings, inline=be_ob_inline_color)


bu_bb_display_settings = "Bu-BB & Bu-MB Display Settings"

bu_bb_color = input.color(color.new(color.green, 70), "Color", group=bu_bb_display_settings, inline=bu_bb_inline_color)

bu_bb_border_color = input.color(color.green, "Border Color", group=bu_bb_display_settings, inline=bu_bb_inline_color)

bu_bb_text_color = input.color(color.green, "Text Color", group=bu_bb_display_settings, inline=bu_bb_inline_color)


be_bb_display_settings = "Be-BB & Be-MB Display Settings"

be_bb_color = input.color(color.new(color.red, 70), "Color", group=be_bb_display_settings, inline=be_bb_inline_color)

be_bb_border_color = input.color(color.red, "Border Color", group=be_bb_display_settings, inline=be_bb_inline_color)

be_bb_text_color = input.color(color.red, "Text Color", group=be_bb_display_settings, inline=be_bb_inline_color)



var float[] high_points_arr = array.new_float(5)

var int[] high_index_arr = array.new_int(5)

var float[] low_points_arr = array.new_float(5)

var int[] low_index_arr = array.new_int(5)


var box[] bu_ob_boxes = array.new_box(5)

var box[] be_ob_boxes = array.new_box(5)

var box[] bu_bb_boxes = array.new_box(5)

var box[] be_bb_boxes = array.new_box(5)


to_up = high >= ta.highest(zigzag_len)

to_down = low <= ta.lowest(zigzag_len)


trend = 1

trend := nz(trend[1], 1)

trend := trend == 1 and to_down ? -1 : trend == -1 and to_up ? 1 : trend


last_trend_up_since = ta.barssince(to_up[1])

low_val = ta.lowest(nz(last_trend_up_since > 0 ? last_trend_up_since : 1, 1))

low_index = bar_index - ta.barssince(low_val == low)


last_trend_down_since = ta.barssince(to_down[1])

high_val = ta.highest(nz(last_trend_down_since > 0 ? last_trend_down_since : 1, 1))

high_index = bar_index - ta.barssince(high_val == high)


if ta.change(trend) != 0

    if trend == 1

        array.push(low_points_arr, low_val)

        array.push(low_index_arr, low_index)

    if trend == -1

        array.push(high_points_arr, high_val)

        array.push(high_index_arr, high_index)



f_get_high(ind) =>

    [array.get(high_points_arr, array.size(high_points_arr) - 1 - ind), array.get(high_index_arr, array.size(high_index_arr) - 1 - ind)]



f_get_low(ind) =>

    [array.get(low_points_arr, array.size(low_points_arr) - 1 - ind), array.get(low_index_arr, array.size(low_index_arr) - 1 - ind)]



f_delete_box(box_arr) =>

    if delete_boxes

        box.delete(array.shift(box_arr))

    else

        array.shift(box_arr)

    0



[h0, h0i] = f_get_high(0)

[h1, h1i] = f_get_high(1)


[l0, l0i] = f_get_low(0)

[l1, l1i] = f_get_low(1)


if ta.change(trend) != 0 and show_zigzag

    if trend == 1

        line.new(h0i, h0, l0i, l0)

    if trend == -1

        line.new(l0i, l0, h0i, h0)


market = 1

market := nz(market[1], 1)

// market := market == 1 and close < l0 and low < l0 - math.abs(h0 - l0) * fib_factor ? -1 : market == -1 and close > h0 and high > h0 + math.abs(h0 - l0) * fib_factor ? 1 : market

last_l0 = ta.valuewhen(ta.change(market) != 0, l0, 0)

last_h0 = ta.valuewhen(ta.change(market) != 0, h0, 0)

market := last_l0 == l0 or last_h0 == h0 ? market : market == 1 and l0 < l1 and l0 < l1 - math.abs(h0 - l1) * fib_factor ? -1 : market == -1 and h0 > h1 and h0 > h1 + math.abs(h1 - l0) * fib_factor ? 1 : market


bu_ob_index = bar_index

bu_ob_index := nz(bu_ob_index[1], bar_index)

for i=h1i to l0i[zigzag_len]

    index = bar_index - i 

    if open[index] > close[index]

        bu_ob_index := bar_index[index]


bu_ob_since = bar_index - bu_ob_index


be_ob_index = bar_index

be_ob_index := nz(be_ob_index[1], bar_index)

for i=l1i to h0i[zigzag_len]

    index = bar_index - i 

    if open[index] < close[index]

        be_ob_index := bar_index[index]


be_ob_since = bar_index - be_ob_index


be_bb_index = bar_index

be_bb_index := nz(be_bb_index[1], bar_index)

for i=h1i - zigzag_len to l1i

    index = bar_index - i

    if open[index] > close[index]

        be_bb_index := bar_index[index]


be_bb_since = bar_index - be_bb_index


bu_bb_index = bar_index

bu_bb_index := nz(bu_bb_index[1], bar_index)

for i=l1i - zigzag_len to h1i

    index = bar_index - i

    if open[index] < close[index]

        bu_bb_index := bar_index[index]


bu_bb_since = bar_index - bu_bb_index


if ta.change(market) != 0

    if market == 1

        line.new(h1i, h1, h0i, h1, color=color.green, width=2)

        label.new(int(math.avg(h1i, l0i)), h1, "MSB", color=color.new(color.black, 100), style=label.style_label_down, textcolor=color.green, size=size.small)

        bu_ob = box.new(bu_ob_index, high[bu_ob_since], bar_index + 10, low[bu_ob_since], bgcolor=bu_ob_color, border_color=bu_ob_border_color, text="Bu-OB", text_color=bu_ob_text_color, text_halign=text.align_right, text_size=text_size)

        bu_bb = box.new(bu_bb_index, high[bu_bb_since], bar_index + 10, low[bu_bb_since], bgcolor=bu_bb_color, border_color=bu_bb_border_color, text=l0 < l1 ? "Bu-BB" : "Bu-MB", text_color=bu_bb_text_color, text_halign=text.align_right, text_size=text_size)

        array.push(bu_ob_boxes, bu_ob)

        array.push(bu_bb_boxes, bu_bb)

    if market == -1

        line.new(l1i, l1, l0i, l1, color=color.red, width=2)

        label.new(int(math.avg(l1i, h0i)), l1, "MSB", color=color.new(color.black, 100), style=label.style_label_up, textcolor=color.red, size=size.small)

        be_ob = box.new(be_ob_index, high[be_ob_since], bar_index + 10, low[be_ob_since], bgcolor=be_ob_color, border_color=be_ob_border_color, text="Be-OB", text_color=be_ob_text_color, text_halign=text.align_right, text_size=text_size)

        be_bb = box.new(be_bb_index, high[be_bb_since], bar_index + 10, low[be_bb_since], bgcolor=be_bb_color, border_color=be_bb_border_color, text=h0 > h1 ? "Be-BB" : "Be-MB", text_color=be_bb_text_color, text_halign=text.align_right, text_size=text_size)

        array.push(be_ob_boxes, be_ob)

        array.push(be_bb_boxes, be_bb)


for bull_ob in bu_ob_boxes

    bottom = box.get_bottom(bull_ob)

    top = box.get_top(bull_ob)

    if close < bottom

        f_delete_box(bu_ob_boxes)

    else if close < top

        alert("Price in the BU-OB zone")

    else

        box.set_right(bull_ob, bar_index + 10)

    

for bear_ob in be_ob_boxes

    top = box.get_top(bear_ob)

    bottom = box.get_bottom((bear_ob))

    if close > top

        f_delete_box(be_ob_boxes)

    if close > bottom

        alert("Price in the BE-OB zone")

    else

        box.set_right(bear_ob, bar_index + 10)

        

for bear_bb in be_bb_boxes

    top = box.get_top(bear_bb)

    bottom = box.get_bottom(bear_bb)

    if close > top

        f_delete_box(be_bb_boxes)

    else if close > bottom

        alert("Price in the BE-BB zone")

    else

        box.set_right(bear_bb, bar_index + 10)

        

for bull_bb in bu_bb_boxes

    bottom = box.get_bottom(bull_bb)

    top = box.get_top(bull_bb)

    if close < bottom

        f_delete_box(bu_bb_boxes)

    else if close < top

        alert("Price in the BU-BB zone")

    else

        box.set_right(bull_bb, bar_index + 10)



alertcondition(ta.change(market) != 0, "MSB", "MSB")


Dosyalar:

JPG
dgfgdg.JPG
103.7 Kb

Yanıtlandı

1
Geliştirici 1
Derecelendirme
(252)
Projeler
570
36%
Arabuluculuk
64
20% / 58%
Süresi dolmuş
147
26%
Ücretsiz
2
Geliştirici 2
Derecelendirme
(506)
Projeler
760
63%
Arabuluculuk
33
27% / 45%
Süresi dolmuş
23
3%
Ücretsiz
3
Geliştirici 3
Derecelendirme
(558)
Projeler
925
48%
Arabuluculuk
301
59% / 25%
Süresi dolmuş
123
13%
Yüklendi
4
Geliştirici 4
Derecelendirme
(7)
Projeler
12
25%
Arabuluculuk
1
100% / 0%
Süresi dolmuş
0
Ücretsiz
5
Geliştirici 5
Derecelendirme
(2)
Projeler
4
0%
Arabuluculuk
0
Süresi dolmuş
0
Ücretsiz
Benzer siparişler
Hi. I have a strategy that Ive backtested and is giving very good returns across 10 years. MODEL Inputs for optimisation would be : Trade on Monday Trade on Tuesday Trade on Wednesday Trade on Thursday Trade on Friday RR for Trade 1: default 3 Risk for Trade 1: default 1% BE for Trade 1 : default 0 (not applicable) RR for Trade 2 : default 1 Risk for Trade 2 : default 3% SL buffer : (default 0 .3pips(3 points) as
My Ea is currently closing orders in Drawdow and is making loss after loss I need someone with coding experience to help me fix this problem and also make a couple of visual changes pls text me first I can explain everything more detailed n
Trading robots are programs, which operate according to underlying algorithms. An algorithm is a set of actions that need to be performed in response to certain events. For example, the most common task in algo trading is the identification of the "New bar" event. When the event occurs, the robot checks the emergence of trading signals and acts accordingly. Before you decide to program or order a trading robot, you
I have existing Ctrader automated strategy that I am using but will like to add and remove some features and after that I will like to convert it to mt5 ea…if this what you kindly bid now and let discuss what I need to add and remove
Need to convert a 700-line MQL4 EA program to MQL5 for listing on the MT5 marketplace. The goal is to ensure compatibility and functionality within the MT5 trading platform environment
I would like to ask the following: I work on a CTrader account (provided by a Broker) but on the Tradingview Platform. I would like to place an order with you if you make the following configuration correctly and at a good price: It is only about SL and TP. They must work like this: 1. When launching any order, SL should be set at 60p pips and TP at 4000 pips distance. 2. Whenever the launched position moves up or
Hello, I need an EA for both MQL4 and MQL5 that complies with Prop Firm's rules of a maximum daily drawdown of 4%. This means it should close all trades after a 4% loss and not trade for the rest of the day. Additionally, it should not use martingale, grid trading, or trade stacking (opening three or more trades at the same time in the same direction). The EA should also be able to achieve a monthly return of 5-10%
I want someone to employ and will create a HFT robot for my company and it must work on MQL5 and it must open and close orders automatically must work on Synthetic Indices and programmer needs to understand how Synthetic indices move and the algo of them, robot must have high win rate for my Clients, must be able to grow small accounts. Programmer can possibly land a job as a Developer if the robot created works
HI, I'm looking for an experienced person who can add buy/sell indications/Alerts on existing Pinescript code along with little modification of the script and the script should connect to MT5 platform using pineconnector MT5 platform should execute trade instantly as based on the alerts/indications on tradingview script
I would like to find a developer who can develop an indicator that works with MT5 for Deriv synthetic indices (Deriv Broker) the developer should be an expert with Deriv, and has already developed systems for deriv broker The indicator should works with all assets with all the synthetic indices Volatility, Step, Jump, Boom , Crash, etc - Multiple RSI dashboard monitor to monitor multiple indices which shows a

Proje bilgisi

Bütçe
30+ USD
Geliştirici için
27 USD