Spécifications
I'm looking for an experienced MQL5 developer to build a clean and reliable Opening Range Breakout Expert Advisor for MetaTrader 5.
I have previously experienced problems with EAs placing duplicate pending orders after terminal or VPS restarts. My priority is reliable execution, sensible risk management and an EA that I can confidently test and maintain.
1. Opening Range Strategy
-
Platform: MetaTrader 5.
-
Default symbol: EURUSD.
-
Default timeframe: M5.
-
Trading days: Monday to Friday.
-
Opening range: 08:00–08:30 broker server time.
-
Calculate the highest high and lowest low during that period using completed candles.
-
After the range is complete, place a Buy Stop above the range high and a Sell Stop below the range low.
-
Entry offset: 20 points, configurable.
-
Session times and entry offset must be configurable.
All times refer to broker server time. Automatic daylight-saving adjustment is not required.
2. Pending Order Management
-
When one pending order is triggered, cancel the opposite pending order.
-
Maximum one filled trade per symbol per trading day.
-
Cancel unfilled pending orders at 12:00 server time.
-
Do not open new trades after the pending-order expiry time.
-
Do not create duplicate orders when MT5 or the VPS restarts.
-
Existing EA orders and positions must be recognized correctly after restart.
-
Manage only trades associated with the EA's Magic Number.
If entry prices are no longer valid or broker restrictions prevent safe placement, the EA should skip the affected order rather than chase the market.
3. Risk Management
-
Fixed lot or percentage-based risk.
-
Default risk: 1% of account balance per trade.
-
Buy Stop SL: below the opening range low by 20 points.
-
Sell Stop SL: above the opening range high by 20 points.
-
Take Profit: 1.5 times the initial SL distance (1.5R).
-
Configurable maximum spread filter.
-
Optional break-even at 1R.
-
No martingale, grid or averaging.
Lot sizing must account for the actual entry-to-stop distance and broker volume restrictions.
4. Reliability and Testing
I am particularly concerned about:
-
Duplicate pending orders following a VPS restart.
-
Incorrect risk-based position sizing.
-
Both breakout orders being triggered unexpectedly.
-
Differences between Strategy Tester and demo trading.
-
Broker minimum-distance and order execution restrictions.
The EA should log important decisions, including why an order was placed, cancelled, rejected or skipped.
5. Deliverables
-
Complete MQ5 source code.
-
Compiled EX5 file.
-
Configurable input parameters.
-
Strategy Tester demonstration using EURUSD M5.
-
Brief installation and configuration guide.
-
Code must compile without errors.
No profitability guarantee, extensive optimization or external API integration is required.
6. What I Expect From the Developer
I'm not necessarily looking for the cheapest bid. I value developers who understand the trading workflow, communicate clearly and deliver dependable software.
Please briefly explain:
-
How you would prevent duplicate orders following a terminal restart.
-
How you would handle the opposite pending order when one side triggers.
-
What you would test before delivering the EA.
Please provide a realistic fixed price and delivery time.
I prefer a practical, maintainable solution with clear testing evidence rather than unnecessary complexity.
Thank you.