Convert trading view indicator into mt5 indicator

指定

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


ファイル:

JPG
dgfgdg.JPG
103.7 Kb

応答済み

1
開発者 1
評価
(268)
プロジェクト
603
34%
仲裁
65
22% / 57%
期限切れ
147
24%
仕事中
パブリッシュした人: 1 article, 22 codes
2
開発者 2
評価
(552)
プロジェクト
840
61%
仲裁
33
27% / 45%
期限切れ
24
3%
パブリッシュした人: 1 code
3
開発者 3
評価
(574)
プロジェクト
945
47%
仲裁
309
58% / 27%
期限切れ
125
13%
4
開発者 4
評価
(13)
プロジェクト
18
44%
仲裁
2
50% / 50%
期限切れ
0
5
開発者 5
評価
(2)
プロジェクト
4
0%
仲裁
0
期限切れ
0
類似した注文
Hi, I have an existing MQL5 EA of around 18,000 lines that I would like you to review. It has two entry systems (Main + Scalper), many filters/parameters, risk management, and prop-firm functionality. The EA is already working, but I am struggling with optimization and obtaining robust backtest statistics. I would like to send you the complete source code so you can first review the architecture, strategy logic
Senior MQL5 Developer Required — XAUUSD & BTCUSD Algorithmic EA I am looking for an experienced MQL5 developer to design and build a robust MT5 Expert Advisor for XAUUSD (Gold) and BTCUSD . This is not a request for a basic RSI/EMA EA, martingale, grid, or recovery system . I want a properly engineered algorithmic trading system with a demonstrable trading rationale, robust risk management, reliable execution and
Project: Forex EA — EURUSD, Automating My Own Strategy Summary I currently trade EURUSD manually using my own tested strategy and am looking for an experienced MQL5 developer to automate it as an Expert Advisor (EA) for MetaTrader 5. What the bot should do Instrument: EURUSD Determine entry signals using multiple timeframes (higher timeframe for direction/trend, lower timeframe for precise entry timing) Place orders
Ai sadick 30+ USD
Fully automated entry and exit of trades. Identify market trends using price action and reliable technical indicators. Trade major Forex pairs and XAU/USD (Gold). Automatic Stop Loss and Take Profit on every trade. Adjustable risk management, with default risk of 1% per trade. Maximum daily loss protection to stop trading after a specified loss. Break-even and trailing-stop functions. Adjustable lot size, risk %
Hello there, I am looking for a automated strategy for ninjatrader 5 Looking for a proven profit factor of 1.5 ( minimum ) on 15 mins time frame . I do MNQ futures I do not have the logic, but I like mean reverssion variable , plus RSI etc . that could make the automated tool robust and long lasting. i need fast response if you have
profitable EAs wanted with at least 3 to 5 years backtest. you be submit your proofs such as graphic results, backtesting results, and your demo or weekly the eas has traded
Date:29.08.2026 **TECHNICAL SPECIFICATIONS** PDF Attached for reference rest all details given below. Required: Creation, Integration and successful execution of trading algo/robot in MT5 using MT5 VPS. Brokers: Trades to be executed in both brokers Swissquote and Pepperstone. Symbols: All available in MT5. ** Common parameters for all executions: · Manual Start/Stop. · Session time (defined / always
ZONDII Scalpers 30+ USD
I need an Expert Advisor called ZONDII Scalpers for MT5 (MQL5). Timeframe: M5 Pairs: XAUUSD / EURUSD BUY when: Price > EMA200 and EMA50 crosses above EMA200 and RSI(14) > 50 SELL when: Price < EMA200 and EMA50 crosses below EMA200 and RSI(14) < 50 Risk: Fixed lot 0.01, SL 300 points, TP 600 points, Trailing start 200 points / step 100 points. Filter: Max spread 30 points. Only 1 trade at a time. Inputs must be
I am looking for a professional MT5 EA developer to build a high-performance trading bot specifically for XAUUSD (Gold). My target is approximately 200% return within 3 months, while keeping the drawdown and risk as controlled as reasonably possible. Requirements: MT5 Expert Advisor (EA) XAUUSD only Fully automated trading Clear risk management Stop Loss and Take Profit on trades No martingale or grid strategy unless
Hello, I’m looking for an experienced MT5 developer to build a professional Expert Advisor (EA) for trading Gold (XAUUSD). My requirements: Platform: MT5 Instrument: XAUUSD (Gold) Fully automatic trading Both BUY and SELL trades Adjustable lot size Stop Loss and Take Profit Trailing Stop / Break Even Daily maximum loss limit Maximum drawdown protection Maximum number of open trades Trading hours/session filter Spread

プロジェクト情報

予算
30+ USD