Custom MT4 Multi-Session Opening Range / Breakout Box Indicator

MQL4 Indikatoren

Spezifikation

Custom MT4 Multi-Session Opening Range / Breakout Box Indicator

Project overview

I require a custom MetaTrader 4 (MT4 / MQL4) indicator for plotting configurable opening-range boxes for different trading sessions.

The core concept is similar to an opening-range breakout / No Trading Zone methodology.

For each configured session, the indicator must:

  1. Observe price during a specified start/end time.

  2. Calculate the actual highest high and lowest low during that period.

  3. Draw a box representing that range.

  4. Calculate the box height in pips.

  5. Determine whether the box is valid according to configurable minimum and maximum pip ranges.

  6. After the box closes, project configurable TP levels above and below the box based on multiples of the actual box height.

This is an indicator only at this stage. It does NOT need to automatically place or manage trades.


1. Multiple independent session boxes

The indicator must support at least 5 independent boxes per trading day.

Each box must have its own settings.

Example:

Box 1

  • Enabled = True

  • Name = London Opening

  • Start Time = 07:00

  • End Time = 08:00

Box 2

  • Enabled = True

  • Name = New York Pre-Open

  • Start Time = user configurable

  • End Time = user configurable

Box 3

  • Enabled = True

  • Name = New York Cash Open

  • Start Time = user configurable

  • End Time = user configurable

Boxes 4 and 5 must also be completely configurable.

I do not want session names or times hard-coded.


2. Time handling

Accurate time handling is very important.

The indicator should allow either:

Option A — Broker/server time

The user enters all box times according to MT4 broker/server time.

OR preferably:

Option B — Time-zone offset

Provide an input allowing the user to specify an offset between the desired session time and broker/server time.

For example:

TimeOffsetHours = 2

If possible, I would also like support for fractional offsets if required.

The indicator must work correctly when historical charts are loaded.

Please explain clearly how the time handling has been implemented.


3. Box calculation

For every enabled box:

Between:

BoxStartTime

and

BoxEndTime

the indicator calculates:

BoxHigh = highest traded price during the period

BoxLow = lowest traded price during the period

and:

BoxRange = BoxHigh - BoxLow

The indicator must convert this into true pips, correctly accounting for 4/5-digit Forex brokers and 2/3-digit JPY pricing.

Example:

EUR/USD:

High = 1.17550
Low = 1.17380

Range = 17 pips

not 170 pips.


4. Minimum and maximum box size

This is a critical requirement.

Every individual box must have its own independently configurable minimum and maximum range in pips.

For example:

London Opening

MinBoxPips = 10

MaxBoxPips = 30

New York Opening

MinBoxPips = 15

MaxBoxPips = 35

These must NOT be global settings shared between all boxes.

After the box period finishes:

If:

BoxRange >= MinBoxPips

AND

BoxRange <= MaxBoxPips

then:

Box = VALID

Otherwise:

Box = INVALID


5. Valid and invalid boxes

The indicator must visually distinguish valid from invalid boxes.

For example:

ValidBoxColour = user configurable

InvalidBoxColour = user configurable

ShowInvalidBoxes = True/False

The completed box should display a label containing at least:

Session name + range in pips

Example:

London Opening — 18.4 pips

If invalid, preferably:

London Opening — 34.7 pips — INVALID


6. Entry levels

For a valid box, draw:

Long breakout level

LongEntry = BoxHigh + EntryBuffer

Short breakout level

ShortEntry = BoxLow - EntryBuffer

Each box must have a configurable:

EntryBufferPips

Example:

Box High = 1.17550

EntryBuffer = 1 pip

Long Entry = 1.17560

Entry buffer must be independently configurable for each box.

Allow:

EntryBufferPips = 0

if the user wants entry exactly at the box boundary.


7. Stop-loss reference

The indicator should optionally plot an SL reference on the opposite side of the box.

For a long:

LongSL = BoxLow - SLBufferPips

For a short:

ShortSL = BoxHigh + SLBufferPips

Provide:

ShowSL = True/False

and an independently configurable:

SLBufferPips

Again, this indicator does not execute trades. These are visual levels only.


8. Take-profit projections

This is another critical requirement.

The indicator must use the actual height of the completed box to calculate projected TP levels.

If:

BoxRange = R

then for a long breakout:

TP1 Long = BoxHigh + (R × TP1Multiplier)

TP2 Long = BoxHigh + (R × TP2Multiplier)

TP3 Long = BoxHigh + (R × TP3Multiplier)

TP4 Long = BoxHigh + (R × TP4Multiplier)

For a short:

TP1 Short = BoxLow - (R × TP1Multiplier)

TP2 Short = BoxLow - (R × TP2Multiplier)

etc.

Default values:

TP1Multiplier = 1.0

TP2Multiplier = 2.0

TP3Multiplier = 3.0

TP4Multiplier = 4.0

However, all TP multipliers must be configurable.

For example, I may later want:

TP1 = 0.75 × Box

TP2 = 1.50 × Box

TP3 = 2.00 × Box

TP4 = 3.00 × Box

The indicator must support decimal multipliers.


9. TP calculation example

If a completed opening box is:

High = 1.17500

Low = 1.17300

Range = 20 pips

Then the long projections using 1×, 2×, 3× and 4× must be:

TP1 = 1.17700

TP2 = 1.17900

TP3 = 1.18100

TP4 = 1.18300

The corresponding short projections must be calculated below the box low.

This calculation must be completely automatic.


10. TP lines

Each TP level should have a label such as:

London TP1

London TP2

London TP3

London TP4

or:

NY Open TP1

etc.

Line:

  • colour

  • style

  • width

should preferably be user configurable.


11. Level extension

Entry, SL and TP levels should extend to a configurable time.

For example:

LevelsEndTime = 17:00

or preferably:

ExtendHours = X

If practical, provide both options or use whichever implementation is more robust.

The previous day's levels must not interfere visually with today's session.

There should also be an option:

ShowHistoricalDays = X

Example:

ShowHistoricalDays = 20

This would display the boxes and projections for the previous 20 trading days.


12. Historical accuracy

This is extremely important because I intend to visually backtest the strategy.

Historical boxes must be calculated using the actual historical bars within the specified time windows.

A completed historical box must never change/repaint because new price data arrives.

The high, low, range, validity and projected TP levels for a completed historical box must remain fixed.


13. Alerts

Please provide optional alerts.

Box completion alert

Example:

EURUSD London Opening box complete — Range 18.6 pips — VALID

Invalid box alert

Example:

EURUSD London Opening box complete — Range 34.2 pips — INVALID

Long breakout alert

When price first reaches/crosses the Long Entry level:

EURUSD London Opening LONG breakout

Short breakout alert

When price first reaches/crosses the Short Entry level:

EURUSD London Opening SHORT breakout

Alerts should occur once per event, not repeatedly on every tick.

Preferably support:

  • MT4 popup alert

  • sound

  • push notification

with individual True/False controls.

Email alert is optional.


14. Box information displayed on chart

I would like the following information available visually:

Session Name

Box Range: XX.X pips

VALID / INVALID

Optionally:

Box High

Box Low

The display should remain clean and readable.


15. Independent settings are essential

This point is important.

Every session box must be independently configurable.

For example:

Parameter London US Pre-Open NY Cash Open
Start 07:00 12:30 14:30
End 08:00 13:30 15:00
Min Range 10 12 8
Max Range 30 35 25
Entry Buffer 1 1.5 1
TP1 0.75×
TP2 1.5×
TP3
TP4

The numbers above are examples only and must not be hard-coded.


16. Optional average-range functionality

Please quote this separately if it materially increases development cost.

I would like the indicator optionally to calculate the current box as a percentage of the historical average box size for that same session.

Example:

Previous 20 London opening boxes average = 20 pips.

Today's London box = 14 pips.

Therefore:

CurrentBox / AverageBox = 70%

Display:

London — 14.0 pips — 70% of 20-day average

Input:

AverageLookback = 20

Ideally each session should calculate its own historical average.

This should be switchable:

ShowAverageRange = True/False


17. Optional percentile functionality

Please also quote this separately.

Rather than only comparing the box with its mean, I would eventually like to know where today's range falls within the historical distribution for that session.

For example:

London Box = 16.2 pips — 32nd percentile of previous 100 sessions

Inputs:

PercentileLookback = 100

ShowPercentile = True/False

This is not essential for Version 1 if it significantly increases development time/cost.


18. No automatic trading

For clarity:

This project is NOT an Expert Advisor.

The indicator must NOT:

  • open positions;

  • close positions;

  • change orders;

  • calculate lots;

  • access trading permissions.

It is a visual/research indicator only.

I may commission a separate EA later after the strategy has been properly backtested.


19. Performance requirements

The indicator should:

  • work on standard MT4 Forex charts;

  • work correctly on 4/5-digit brokers;

  • work correctly with JPY pairs;

  • not noticeably slow MT4;

  • avoid excessive chart objects;

  • correctly remove/update its own objects when settings change;

  • not interfere with other indicators;

  • not repaint completed boxes.

It should work regardless of the chart timeframe where reasonably possible.

I will primarily use intraday charts.


20. Source code and ownership

Delivery must include:

1. Compiled .ex4 file

2. Complete editable .mq4 source code

The source code must not be locked, encrypted or intentionally obfuscated.

No external DLL dependencies.

No account-number locking.

No expiry date.

No licence server.

No requirement for an internet connection.

I require the ability to modify or extend the indicator in the future.


21. Testing before completion

Before accepting the project I will test:

  • multiple Forex pairs;

  • 5-digit pair such as EURUSD;

  • JPY pair;

  • several chart timeframes;

  • historical boxes;

  • multiple sessions on the same chart;

  • different Min/Max ranges;

  • decimal TP multipliers;

  • different broker/server times;

  • valid and invalid boxes;

  • TP calculations;

  • alerts;

  • historical non-repainting behaviour.

Any calculation or display bugs identified during this testing should be corrected before final acceptance.


22. Acceptance example

A simple test case:

Session:

07:00–08:00

High:

1.15000

Low:

1.14800

Therefore:

Range = 20 pips

Settings:

MinBox = 10

MaxBox = 30

EntryBuffer = 1 pip

TP1 = 1×

TP2 = 2×

TP3 = 3×

TP4 = 4×

The indicator should classify the box:

VALID — 20 pips

Long Entry:

1.15010

Short Entry:

1.14790

Long projections from the box high:

TP1 = 1.15200

TP2 = 1.15400

TP3 = 1.15600

TP4 = 1.15800

Short projections from the box low:

TP1 = 1.14600

TP2 = 1.14400

TP3 = 1.14200

TP4 = 1.14000

If the same session instead produces a 35-pip range with:

MaxBox = 30

it must be marked INVALID and, depending on the setting selected, either display the invalid box without trading levels or hide it.


Deliverables

Please include in your proposal:

  1. Fixed price for the project

  2. Estimated delivery time

  3. Confirmation that you have previous MQL4 indicator development experience

  4. Confirmation that the full .mq4 source code is included

  5. Confirmation that completed historical boxes will not repaint

  6. Confirmation that all 5 boxes can have independent times, Min/Max pip ranges and TP multipliers

  7. Cost of adding the 20-session average-range calculation

  8. Cost of adding the historical percentile calculation

  9. Length of post-delivery bug-fix/support period

Please do not apply if you intend to provide only a compiled EX4 file.

The priority is accuracy, simplicity, historical reliability and clean code, rather than unnecessary graphical features.


Bewerbungen

1
Entwickler 1
Bewertung
(395)
Projekte
510
23%
Schlichtung
60
57% / 25%
Frist nicht eingehalten
60
12%
Arbeitet
2
Entwickler 2
Bewertung
Projekte
0
0%
Schlichtung
0
Frist nicht eingehalten
0
Frei
3
Entwickler 3
Bewertung
(111)
Projekte
182
25%
Schlichtung
24
17% / 75%
Frist nicht eingehalten
16
9%
Frei
4
Entwickler 4
Bewertung
Projekte
0
0%
Schlichtung
0
Frist nicht eingehalten
0
Frei
5
Entwickler 5
Bewertung
Projekte
0
0%
Schlichtung
0
Frist nicht eingehalten
0
Frei
6
Entwickler 6
Bewertung
(17)
Projekte
23
30%
Schlichtung
3
33% / 67%
Frist nicht eingehalten
3
13%
Arbeitet
7
Entwickler 7
Bewertung
(17)
Projekte
21
19%
Schlichtung
5
40% / 40%
Frist nicht eingehalten
0
Frei
8
Entwickler 8
Bewertung
(2343)
Projekte
2948
63%
Schlichtung
124
44% / 26%
Frist nicht eingehalten
429
15%
Arbeitet
9
Entwickler 9
Bewertung
(8)
Projekte
8
0%
Schlichtung
2
50% / 0%
Frist nicht eingehalten
1
13%
Arbeitet
10
Entwickler 10
Bewertung
(40)
Projekte
39
46%
Schlichtung
12
17% / 50%
Frist nicht eingehalten
2
5%
Frei
11
Entwickler 11
Bewertung
(2674)
Projekte
3412
68%
Schlichtung
77
48% / 14%
Frist nicht eingehalten
342
10%
Arbeitet
Veröffentlicht: 1 Beispiel
12
Entwickler 12
Bewertung
(172)
Projekte
184
46%
Schlichtung
3
33% / 33%
Frist nicht eingehalten
1
1%
Arbeitet
13
Entwickler 13
Bewertung
Projekte
0
0%
Schlichtung
0
Frist nicht eingehalten
0
Frei
14
Entwickler 14
Bewertung
(65)
Projekte
81
57%
Schlichtung
6
67% / 17%
Frist nicht eingehalten
2
2%
Arbeitet
15
Entwickler 15
Bewertung
(1)
Projekte
1
0%
Schlichtung
1
0% / 0%
Frist nicht eingehalten
0
Arbeitet
16
Entwickler 16
Bewertung
(3)
Projekte
8
63%
Schlichtung
0
Frist nicht eingehalten
0
Arbeitet
17
Entwickler 17
Bewertung
(25)
Projekte
31
13%
Schlichtung
13
0% / 77%
Frist nicht eingehalten
9
29%
Arbeitet
18
Entwickler 18
Bewertung
(1)
Projekte
4
0%
Schlichtung
5
20% / 40%
Frist nicht eingehalten
2
50%
Frei
19
Entwickler 19
Bewertung
(366)
Projekte
447
55%
Schlichtung
23
57% / 17%
Frist nicht eingehalten
30
7%
Beschäftigt
20
Entwickler 20
Bewertung
(7)
Projekte
6
0%
Schlichtung
4
25% / 75%
Frist nicht eingehalten
2
33%
Frei
21
Entwickler 21
Bewertung
(30)
Projekte
45
16%
Schlichtung
2
0% / 100%
Frist nicht eingehalten
4
9%
Frei
22
Entwickler 22
Bewertung
(3)
Projekte
3
33%
Schlichtung
0
Frist nicht eingehalten
0
Arbeitet
23
Entwickler 23
Bewertung
Projekte
0
0%
Schlichtung
0
Frist nicht eingehalten
0
Frei
24
Entwickler 24
Bewertung
(268)
Projekte
603
34%
Schlichtung
65
22% / 57%
Frist nicht eingehalten
147
24%
Arbeitet
Veröffentlicht: 1 Artikel, 22 Beispiele
25
Entwickler 25
Bewertung
Projekte
1
0%
Schlichtung
0
Frist nicht eingehalten
0
Frei
Veröffentlicht: 1 Beispiel
26
Entwickler 26
Bewertung
(106)
Projekte
129
25%
Schlichtung
25
28% / 56%
Frist nicht eingehalten
8
6%
Frei
27
Entwickler 27
Bewertung
(551)
Projekte
839
61%
Schlichtung
33
27% / 45%
Frist nicht eingehalten
24
3%
Frei
Veröffentlicht: 1 Beispiel
28
Entwickler 28
Bewertung
Projekte
0
0%
Schlichtung
0
Frist nicht eingehalten
0
Frei
29
Entwickler 29
Bewertung
(14)
Projekte
14
36%
Schlichtung
1
0% / 100%
Frist nicht eingehalten
1
7%
Frei
30
Entwickler 30
Bewertung
(13)
Projekte
22
41%
Schlichtung
8
0% / 50%
Frist nicht eingehalten
3
14%
Frei
31
Entwickler 31
Bewertung
(83)
Projekte
95
32%
Schlichtung
9
22% / 56%
Frist nicht eingehalten
5
5%
Arbeitet
32
Entwickler 32
Bewertung
Projekte
0
0%
Schlichtung
0
Frist nicht eingehalten
0
Frei
33
Entwickler 33
Bewertung
Projekte
0
0%
Schlichtung
0
Frist nicht eingehalten
0
Frei
34
Entwickler 34
Bewertung
Projekte
0
0%
Schlichtung
0
Frist nicht eingehalten
0
Frei
Ähnliche Aufträge
Looking for an MQL5 developer for ongoing work EAs + TradingView indicators (Gold, Silver, BTCUSD) Hey, I'm a trading content creator/influencer with an active community, and I need EAs I can offer to my audience. Not a one off gig looking to build a long-term working relationship with someone who's actually solid at this. What I need: Automated trading EAs (scalp or intraday style) for Gold, Silver, and BTCUSD
I'm a ninja trader day trader and I have worked with a company called Legendary Trader and use their indicated and automated strategies to trade. I rencenly have been playing with a free indicator I was able to download that uses CCI & ATR calculations to define the market being in an up or down trend. I have found in reviewing historical data that taking a trade when the signal flips from bull to bear sentiment or
Hi, do you have a proven EA for MT5, suitable for live accounts and prop firms, including the Brazilian market? I’m looking for ready, tested EAs. Can you send a backtest or demo? Please if you do have and can send me nacktest or demo you should Message me
need an EA or indicator done , based on any strategy but with the following specific risk management parameters ; were i am able to do at least 2RR(standard reward-risk ratio for every trade) , fair win rate that is at leat 50% , EA should be able to generate at least 2 trades and above per week , favourable sharpe ratio . total drawdown of not more than 8% any given month and not over 3% any given day , would
Mamba EA Scalper 30 - 40 USD
Hi, i need a aggressive mobile trading bot which supports both IOS and Android versions, the bot will use stochastic oscillator indicator %K period:15 , while % D period:9 and slowing :9 ,price field should be Low/High while it's method should be simple , Levels: 20,80 and time frames: all . The styles should have a main line which should be green and signal line which should be red . The bot should be able to trade
a one min scalper which will scalp on a one minute timeframe and can trade a low account to a big one and is more effective in mt4 and mt5 for a very short period of time yeah
Mt5 ea 30+ USD
I have a fast execution ea that need a little touch, it trade on gold and my problem is about the risk ratio the tp is 3pip and stop loss 20 but i cannot get it right to make the average win larger and average loss lower. I would like to know if i can get help to get it right without touching the tragedy and the trade frequency. Those two pictures I attached is the example of what my bot actually do like i explained
hello could you make me same indicator for ninja ? https://www.youtube.com/watch?v=pxs2MuqvH3w if yes for how much and timeline ? thks in advance and please reply me as soon as possible you get my notification
Hello, I want a simple bot for NinjaTrader8. I need a bot that operates automatically on Nasdaq (NQ/MNQ). Requirements: open buys and sells following a simple trend strategy, configurable stop loss and take profit, risk per trade of 1 to 2% of capital, if it loses 3% in a day, stop trading until the next day. Compatible with backtesting, delivery of the source code and the working bot in NinjaTrader 8. My initial
[8/4/2026 4:54 AM] DR.HassaN: AI Gold Analysis Web Platform Requirements Hello, I would like to build a professional AI-powered web platform dedicated exclusively to Gold (XAU/USD) analysis . This is NOT a trading platform or broker . It is an intelligent analysis platform that provides high-quality trading signals and detailed market analysis. The platform should have a modern, premium design with my own branding

Projektdetails

Budget
150+ USD
MwSt (23%): 34.5 USD
Insgesamt: 185 USD
Für die Entwickler
135 USD

Kunde

Veröffentlichte Aufträge1
Anzahl der Schlichtungen0