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
(393)
Projects
549
40%
Arbitration
30
57% / 3%
Overdue
57
10%
Working
Published: 11 codes
2
Developer 2
Rating
(432)
Projects
632
53%
Arbitration
32
53% / 22%
Overdue
6
1%
Loaded
3
Developer 3
Rating
(2653)
Projects
3370
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
(60)
Projects
87
29%
Arbitration
24
13% / 58%
Overdue
7
8%
Working
6
Developer 6
Rating
(8)
Projects
9
11%
Arbitration
0
Overdue
0
Free
7
Developer 7
Rating
(8)
Projects
11
0%
Arbitration
7
29% / 71%
Overdue
2
18%
Free
8
Developer 8
Rating
(5)
Projects
9
22%
Arbitration
0
Overdue
4
44%
Working
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
(311)
Projects
557
35%
Arbitration
79
32% / 43%
Overdue
202
36%
Working
13
Developer 13
Rating
(1)
Projects
1
0%
Arbitration
0
Overdue
0
Free
14
Developer 14
Rating
(58)
Projects
90
43%
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
(32)
Projects
33
61%
Arbitration
1
100% / 0%
Overdue
1
3%
Working
Published: 5 codes
19
Developer 19
Rating
(77)
Projects
243
74%
Arbitration
7
100% / 0%
Overdue
1
0%
Free
Published: 1 article
20
Developer 20
Rating
(2317)
Projects
2916
63%
Arbitration
124
44% / 25%
Overdue
429
15%
Working
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
(360)
Projects
432
54%
Arbitration
20
55% / 15%
Overdue
29
7%
Working
27
Developer 27
Rating
(49)
Projects
74
18%
Arbitration
30
17% / 53%
Overdue
31
42%
Free
28
Developer 28
Rating
(17)
Projects
23
39%
Arbitration
6
33% / 50%
Overdue
0
Working
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
Mk 30+ USD
I need a fully automated trading robot designed to generate consistent profits while strictly controlling risk and minimizing losses. The robot should use a combination of strategies, including trend-following, scalping, and price action, and must be able to adapt to different market conditions such as trending and ranging markets. It should analyze the market using indicators like Moving Averages, RSI, MACD, and
Criei um Robô para a venda alta precisão que automatiza a estratégia de correção média de Larry Williams. Possui filtros de tendência seletiva, controle de lote por risco percentual e execução rápida. Compatível com contas Hedge e Netting. Configuração simples e otimizada para mercados de alta volatilidade. *55(16) 993786056
1. IF price forms: - Higher highs + higher lows → TREND = BUY - Lower highs + lower lows → TREND = SELL ELSE → NO TRADE 2. IF: - Trend = BUY - Price retraces to support zone - Bullish engulfing candle forms - TDI green crosses above red (optional) THEN: - Execute BUY 3. IF: - Trend = SELL - Price retraces to resistance - Bearish engulfing forms - TDI confirms THEN: - Execute SELL 4. Risk per trade = 1% of account Lot
Hi, Before ordering, I want to verify the quality of your ICT/SMC logic. Do you have an existing indicator or strategy (your own work) that I can test on TradingView? If yes, please provide: 1. A demo (invite-only script or video) 2. Proof it is NON-repainting (explained clearly) 3. Live or replay demonstration (not static screenshots) Specifically I want to see: * Clean swing structure (no consecutive highs/lows) *
Project Overview ​I am looking for a high-level Algorithmic Trader / Developer to build a sophisticated, fully automated scalping system for the Nasdaq-100 Future (NQ) . The system must integrate institutional order flow logic with market structure analysis. ​The core logic must be written in Python , acting as a central hub that bridges ATAS (as the primary data source for Order Flow) and MetaTrader 5 (as the
Good morning, I have a Gap Fill strategy and a 10 min opening range break strategy that trade on RTH ES Futures data I have been working on that seem to have some bugs while live trading. They have both been coded by ChatGPT so I would like someone that know how to properly code a strategy to go over each to proof and debug them. Would you be able to do this and could you possibly add some context or features that

Project information

Budget
100+ USD
Deadline
to 3 day(s)