Convert trading view indicator into mt5 indicator

Specification

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")


Files:

JPG
dgfgdg.JPG
103.7 Kb

Responded

1
Developer 1
Rating
(266)
Projects
598
35%
Arbitration
64
20% / 58%
Overdue
147
25%
Free
Published: 1 article, 22 codes
2
Developer 2
Rating
(541)
Projects
820
62%
Arbitration
33
27% / 45%
Overdue
23
3%
Free
Published: 1 code
3
Developer 3
Rating
(574)
Projects
945
47%
Arbitration
309
58% / 27%
Overdue
125
13%
Free
4
Developer 4
Rating
(12)
Projects
17
47%
Arbitration
2
50% / 50%
Overdue
0
Free
5
Developer 5
Rating
(2)
Projects
4
0%
Arbitration
0
Overdue
0
Free
Similar orders
EA SPECIFICATION SHEET OBJECTIVE: Build a transparent, non-martingale, non-grid breakout EA for XAUUSD that trades only high‑quality breakouts during London + New York sessions. 1. TRADING INSTRUMENT - XAUUSD only - MT4 platform - 5‑digit ECN broker 2. CORE STRATEGY LOGIC (BREAKOUT + CONFIRMATION) A trade is allowed ONLY when ALL conditions are true: - Candle closes beyond previous high/low (no wick breakouts) -
I am looking to develop a custom Expert Advisor (EA) for MetaTrader (MT4/MT5) based on a defined technical analysis strategy and flexible risk management rules. The EA should operate on a chart and timeframe that I manually specify, with the ability to adapt its behavior dynamically when the timeframe is changed. Core Strategy Logic The EA will execute trades based on predefined technical analysis zones
I need a professional MT5 Expert Advisor (EA) built with clean, modular code. This is an advanced strategy combining liquidity concepts, controlled DCA, hedge protection, and strict risk management. Core Requirements: Entry Logic (ALL must align): Liquidity sweep (Previous Day High/Low breakout and return) EMA50 and EMA200 trend alignment Higher timeframe bias (H1 or H4) RSI confirmation Bollinger Band entry Filters
I need a professional MQL5 developer. BEFORE I SHARE ANY DETAILS: 1. You must sign a PERPETUAL NDA with no expiration date 2. NDA includes €100,000 penalty for any breach 3. I require full .mq5 source code ownership 4. Developer must have 500+ completed jobs, 4.9+ rating Budget: €1500 EUR Duration: 14 days Start your application with "RULER" to prove you read this
Pip Scalper Bot 60+ USD
i want a trading bot that is aleast 98% sure,and cam also do scalping 99% correct using smart money concept, ICT, ALL technical analysis on it and also put risk management on it
Greetings I need MT5 developer that has expertise in developing a custom indicator for mt5 boom and crash based on my exact details and requirements which would be discuss later. Kindly bid for this project if it is something you can handle for me
AI Trading MQL5: Maximizing Profit from a $10 Investment Achieving significant profits from a small initial capital like $10 in AI trading with MQL5 requires a highly strategic and disciplined approach. While the potential for exponential growth exists, it's crucial to manage expectations and understand the inherent risks. **Key Strategies for Small Capital AI Trading:** 1. **Low-Risk, High-Probability
I’m looking for an experienced NinjaTrader developer to complete an existing custom indicator. The project is already partially built and is well organized, completely functional, and well documented. The former developer experienced some personal difficulties and unfortunately cannot continue. Key Requirement (Read Carefully): You MUST have direct, hands-on experience with NinjaTrader and NinjaScript (C#) . This is
I need a professional developer to help me create an EA using RSI and Moving averages.The strategies are well organised and everything is in order. I will send all the details in the inbox
Powerful 30 - 100 USD
I really want a powerful developed EA that can generate a minimum of 10% every month without martingale, greed or any dangerous strategy for sale. Developer must provide the mql5 file or the raw file for modification etc

Project information

Budget
30+ USD