EA captures trading range acording to user time range. Places order when market at edge of range for reversal acording to user parameters

Job finished

Execution time 3 days
Feedback from employee
Good employer! Thank you :)
Feedback from customer
Great coder and excellent responsiveness and communication. You can trust him to make a good EA to your requirements in a quick time. Thank you.

Specification

Range Reversal EA


29/01/26 Rev 0


Overview

This EA will bound a range of price action over a set time. At a specified time range a trade will be enabled if price action triggers a reversal at or near to the bound range, by a stated offset. Typically the EA will be permitted to only take one trade per day. The EA is not to operate on Weekends. The EA will be left running on a MT5 platform on a server.


Testing

I will not be able to test the EA on the Weekend.

I will need two working days to test the EA before final approval. Please don’t hurry me to close before then.


Specification

EA is required for MT5 platform.

Broker is 5 digit.

Speed of trade execution is important.

Time frame may be M5 or any other.

Assets may be Futures Index (Points) or FOREX (Pips)


Logic


*See Settings section at end of document for descriptions of EA ‘terms’.


The EA will be used to typically set only one trade at a user defined time window per day. In this instance it must not be triggering multiple trades per day. Typically the 5 min time frame is used.


This EA is used on Futures index where points are used. It may also be used on FOREX where pips are used.


The user specified time period ‘RangeStartTime’ to ‘RangeEndTime’ is scanned to identify the candle range highest and lowest values (wicks included). Horizontal lines are drawn around this range. The colour of the lines and thickness of the lines can be changed by the user.


Figure 1: Red Upper Range and Blue lower Range lines



Within the Allow Trade Time (‘AllowTradeStartTime’ through to ‘AllowTradeEndTime’) a market order trade will be executed acting as a limit order should market price cross the ‘TradeEntryOffset’ located at the high and low range, and reverse back to trigger the limit order style entry. Just one trade is triggered either at the high or low range depending on price action. If a ‘TradeEntryOffset’ value greater than 0 is entered then this offset order execution line is moved within the range (not outside of the range).


Figure 2: TradeEntryOffset shown






Figure 3: Trade Executed



Figure 4: Trade Closed



The ‘AllowTradeStartTime’ may be initiated when the ‘RangeEndTime’ has not yet concluded. This will enable the range to continue to be formed by steadily trending candles and only when one candle retraces inward of the ‘TradeEntryOffset’ will a trade then be placed. Figure 5 demonstrates this principal below. The range is monitored until moment order is placed to populate SL and TP values, and lot size if correlated to % balance or monetary value.




Figure 5: Price action expanding the range until trade is triggered


And below figure 6 the order placement.


Figure 6: Trade executed


And trade completing in figure 7 below.



Figure 7: Trade Complete



Within the Allow Trade Time (‘AllowTradeStartTime’ through to ‘AllowTradeEndTime’) if market price activates a trade (either a buy at the lower range, or sell at the higher range), then the trade runs until SL or TP is hit or ‘CloseAllOpenTradesBy’ is met. If ‘QtyTradesAllowedPerDay’ is 1 then only 1 trade is allowed per day, resetting at Midnight. If the value is greater than 1 then still only 1 active trade is allowed at a time. Any triggers whilst an existing active trade is open will be ignored. It is the expectation that mostly this EA will be set for 1 trade per day. If no trade has been activated by ‘AllowTradeEndTime’ then simply there is no trade for that day.


Fast execution is a priority, I don’t want slippage restriction to stop order opening.




If a value greater than 0 and less than 1 is entered into ‘MoveSLToBEWhen%ToTP’ then once this % move to TP is reached in an open trade the SL will be moved to entry. Example value entered is 0 or 1 then SL will not be moved. Example value 0.5 then SL will be moved to entry when trade has reached 50% of TP. Anticipated value to be used: 0.8 = 80% of TP.



Display

The following text is to be displayed in black (Colour change available) on the top left hand side of the screen, below the MT5 chart window Symbol, Time frame i.e. USDJPY, M5:


Range Reversal EA

Range High (143.484) : Low (142.850)

Range Size (0.634)

Daily Trades Count Buy (0) : Sell (1)

Daily Trades Result Win (1) : Loss (0)

Range Start Time: 2026.01.29 01:30:00

Range End Time: 2026.01.29 10:30:00

Allow Trade Start Time: 2026.01.29 06:00:00

Allow Trade End Time: 2026.01.29 10:30:00

Close All Open Trades By: 2026.01.29 14:30:00

Server Time: 2026.01.29 11:00:00



User Settings

The below settings are to be configurable on the EA inputs settings window:


RangeStartTime_(HH:MM:SS) – 02:00:00 (beginning of daily range zone).

RangeEndTime_(HH:MM:SS) – 08:00:00 (end of daily range zone).


AllowTradeStartTime_(HH:MM:SS) – 06:00:00 (pending market order ready to be executed).

AllowTradeEndTime_(HH:MM:SS) – 08:00:00 (no new order will be placed after this time, EA will not execute new trade until next new fresh day session). TradeEntryOffset is painted on the chart starting at the ‘AllowTradeStartTime’.


CloseAllOpenTradesBy_(HH:MM) – 10:00 (Any open trade not hitting TP or SL by this time will be closed).


TradeEntryOffsetUnits_(Points or Pips) – Points (Points will be used for Futures indicies, pips for FOREX).


TradeEntryOffset – 10 (10 Points bellow upper range, and 10 Points above lower range. Trade is triggered as if it were a limit order in that it travels past the offset, then back through to trigger market execution of order. If this value is set to 0 then the TradeEntryOffset is on the Range line i.e. no offset).


QtyTradesAllowedPerDay – 1 (1 trade allowed. As soon as this trade is triggered the range horizontal lines will stop painting, as will the TradeEntryOffset lines. If 2 is selected then an additional trade will only be allowed after TP or SL is hit on the first trade, range horizontal and TradeEntryOffset lines will continue painting until last trade is taken or RangeEndTime or AllowTradeEndTime is reached).


TradingDaysActive_(Mon1/Tues2/Wed3/Thu4/Fri5/Sat6/Sun7) – 1,2,3,4,5 (EA will only operate on entered days, if a public holiday is on Wednesday for the working week I would enter 1,2,4,5 so that Wednesday is not traded) Or if you can enter the days instead of numbers even better!


TP%OfRange – 0.5 (0.5 = 50%, the TP will be set to half of the Range)


SL%OfRange – 0.25 (0.25 = 25%, the SL will be set to quarter of the Range)


MoveSLToBEWhen%ToTP – 0.8 (0.8 = 80% of TP, SL will be moved to entry when trade has reached 80% of TP).


LotRiskMoney - £100 (the lot size to trade will be equated from the SL size and be of a value of £100. If set to zero this method is not used).


LotRisk% - 1.00% (The lot size to trade will be equated from the SL size and 1% of the account balance. If set to zero this method is not used). Anticipate this will be the main method of computing lot size.


LotSize – 1 (the lot size to trade will be this entered value. If set to zero this method is not used).


UpperRangeLineColour – Select colour and line thickness of the chart upper horizontal range.


LowerRangeLineColour – Select colour and line thickness of the chart lower horizontal range.


TradeEntryOffsetLineColour – Select colour and line thickness of the chart TradeEntryOffset horizontal lines.


LookBackDays – 5 (on the charts the Range and TradeEntryOffset will be painted on 5 days of charts allowing the user to look back and review performance).


Display Only


ServerTime (this is a display of the broker server time to cross check range times and trade times).


RangeSize (this is a display of the range size between the upper range and lower range prior to trade being executed. The units will be points or pips depending on what was selected for ‘TradeEntryOffsetUnits’).









Files:

PNG
Figure_1.png
270.8 Kb
PNG
Figure_2.png
360.0 Kb
PNG
Figure_3.png
138.0 Kb
PNG
Figure_4.png
262.1 Kb
PNG
Figure_5.png
226.1 Kb
PNG
Figure_6.png
260.5 Kb
PNG
Figure_7.png
278.9 Kb

Responded

1
Developer 1
Rating
(395)
Projects
556
41%
Arbitration
30
57% / 3%
Overdue
57
10%
Free
Published: 11 codes
2
Developer 2
Rating
(435)
Projects
641
53%
Arbitration
34
62% / 21%
Overdue
6
1%
Working
3
Developer 3
Rating
(2675)
Projects
3414
68%
Arbitration
77
48% / 14%
Overdue
342
10%
Free
Published: 1 code
4
Developer 4
Rating
(23)
Projects
34
53%
Arbitration
1
100% / 0%
Overdue
1
3%
Free
5
Developer 5
Rating
(62)
Projects
90
29%
Arbitration
24
13% / 58%
Overdue
7
8%
Working
6
Developer 6
Rating
(9)
Projects
10
10%
Arbitration
0
Overdue
0
Free
7
Developer 7
Rating
(8)
Projects
11
0%
Arbitration
8
25% / 75%
Overdue
2
18%
Free
8
Developer 8
Rating
(6)
Projects
11
27%
Arbitration
1
0% / 0%
Overdue
5
45%
Free
9
Developer 9
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
10
Developer 10
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
11
Developer 11
Rating
(1)
Projects
2
0%
Arbitration
1
0% / 100%
Overdue
0
Free
Published: 2 codes
12
Developer 12
Rating
(319)
Projects
568
35%
Arbitration
82
30% / 45%
Overdue
206
36%
Loaded
13
Developer 13
Rating
(3)
Projects
4
0%
Arbitration
0
Overdue
0
Free
14
Developer 14
Rating
(59)
Projects
92
42%
Arbitration
4
0% / 100%
Overdue
3
3%
Working
15
Developer 15
Rating
(171)
Projects
195
42%
Arbitration
13
8% / 54%
Overdue
9
5%
Free
Published: 3 codes
16
Developer 16
Rating
(6)
Projects
7
14%
Arbitration
1
0% / 100%
Overdue
1
14%
Free
17
Developer 17
Rating
(1)
Projects
1
0%
Arbitration
3
0% / 100%
Overdue
1
100%
Free
18
Developer 18
Rating
(45)
Projects
53
57%
Arbitration
2
100% / 0%
Overdue
1
2%
Free
Published: 5 codes
19
Developer 19
Rating
(78)
Projects
246
74%
Arbitration
7
100% / 0%
Overdue
1
0%
Free
Published: 1 article
20
Developer 20
Rating
(2346)
Projects
2951
63%
Arbitration
125
44% / 26%
Overdue
429
15%
Free
21
Developer 21
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
22
Developer 22
Rating
(1)
Projects
1
0%
Arbitration
0
Overdue
0
Free
23
Developer 23
Rating
(55)
Projects
92
24%
Arbitration
8
75% / 13%
Overdue
44
48%
Free
24
Developer 24
Rating
(3)
Projects
1
100%
Arbitration
3
0% / 100%
Overdue
0
Free
25
Developer 25
Rating
(16)
Projects
35
23%
Arbitration
4
0% / 50%
Overdue
2
6%
Working
26
Developer 26
Rating
(366)
Projects
449
55%
Arbitration
23
57% / 17%
Overdue
30
7%
Loaded
27
Developer 27
Rating
(49)
Projects
74
18%
Arbitration
30
17% / 53%
Overdue
31
42%
Free
28
Developer 28
Rating
(20)
Projects
26
38%
Arbitration
6
33% / 50%
Overdue
0
Free
29
Developer 29
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
Published: 6 codes
30
Developer 30
Rating
(271)
Projects
553
50%
Arbitration
57
40% / 37%
Overdue
227
41%
Working
31
Developer 31
Rating
(3)
Projects
3
0%
Arbitration
0
Overdue
0
Free
Similar orders
Project Description I am looking for an experienced MQL5/MT5 Expert Advisor developer to develop an automated trading EA for XAUUSD on the M3 timeframe , running on an Exness account . The EA will automate a manual strategy based on SNR/GAP zones , using two setup types: Price Rejection Price Correction The EA should identify valid BUY/SELL setups around predefined SNR/GAP areas, apply configurable RSI, SMA, EMA and
I need an MT5 Expert Advisor for XAUUSD (Gold) running on an Exness account. STRATEGY LOGIC The exact entry and exit rules will be provided in writing before development starts. Please quote for a single rule-based strategy with clearly separated logic, so the rules can be adjusted later without rewriting the whole EA. RISK MANAGEMENT (this is the priority of the project) - Risk per trade as a percentage of account
Modification of Trade_Panel_7 7.05 Objective . I have this utility “Trade_Panel_7 7.05” with which I open and close positions. Please refer to attached “Trade Panel Modification.jpg”. It shows an input parameter “Volume Step”. This parameter has the initial value of 0.02 as shown. This feature needs to be amended. Present Status . Value of lot size is increased by this “Volume Step”. I have built a whole series of
Hello Traders, Have a trading strategy or idea you want to automate? I specialize exclusively in MQL5 development, helping traders turn their concepts into professional trading solutions. Custom Expert Advisors — automate your strategy and reduce manual execution Custom Indicators — transform your market ideas into powerful trading tools Fix & Debug — identify errors and get your existing code working properly
please share: Strategy description — entry/exit rules, indicators used, timeframe(s), and instrument(s) (a written explanation, screenshots, or an existing indicator/EA to reference all work) Risk management rules — position sizing method (fixed lot / % risk), stop loss / take profit logic, max drawdown or daily loss limits, and whether martingale/grid/hedging is involved Broker & account details — broker name
I need a unique grid trading system for XAUUSD that combines entry, controlled two-sided grid expansion, DCA (Dollar Cost Averaging) basket profit control, hedging. Unlike traditional grid EAs that only trade against price, this unique grid system should dynamically build positions in both directions based on market movement, allowing flexible adaptation to changing conditions ie the grid needs to dynamically move
I need an experienced MQL5 developer to create a fully automated MT5 Expert Advisor called Ayoub Gold EA , focused exclusively on XAUUSD (Gold) . Main requirements: Platform: MT5 / MQL5. Fully automated BUY and SELL trading on XAUUSD. Must support broker suffixes such as XAUUSD, XAUUSD.f and XAUUSDm. Trading strategy based mainly on Range Breakout with trend confirmation. EMA, ADX and ATR filters. London/New York
Mashiri 50 - 10000 USD
I need a custom MetaTrader 5 indicator designed specifically for XAUUSD gold trading. The indicator should identify potential buy and sell opportunities, display clear entry and exit signals on the chart, provide alerts, and help identify market trends and possible reversals
Looking for an experienced Sierra Chart ACSIL/C++ developer to customize an existing footprint chart. I need 3 things: 7-Day ATR – calculate and display a configurable 7-day ATR. Custom Footprint – modify my existing footprint chart to match my preferred layout/data display. Automatic LVN – detect and plot Low Volume Nodes automatically based on volume distribution. I already have a working footprint chart, so no
//———————————————————————————————————————————————————————————————————— struct S_MCAV { double matureSum; double totalSum; double value; void Init () { matureSum = 0.0; totalSum = 0.0; value = 0.5; } void AddContext (int ctx) { totalSum += 1.0; if (ctx == 1) matureSum += 1.0; } void ApplyDecay (double rate) { matureSum *= rate; totalSum *= rate; } void Update () {

Project information

Budget
100+ USD
Deadline
to 3 day(s)