Spezifikation
Project Title:
Development of a Custom Breakout Expert Advisor (EA) with Dynamic Trailing Stop and On-Screen Dashboard for MT5
Project Description:
Overview:
I am looking for an experienced MQL5 developer to build a fully automated Trading Robot (Expert Advisor) for MetaTrader 5 based on a pending orders breakout strategy with strict dynamic risk management. The EA must be highly optimized, bug-free, and follow the exact specifications detailed below.
Technical Specifications & Requirements:
1. Target Assets & Platform
- Platform: MetaTrader 5 (MT5).
- Assets: Gold (XAUUSD), Bitcoin (BTCUSD), US Indices (Dow Jones, Nasdaq), and Major Forex Pairs (e.g., EURUSD).
- Crucial Coding Requirement: The EA must include an Auto-Digits / Auto-Points Adjustmentmechanism. It must automatically detect the instrument's digits (e.g., 5 digits for Forex, 2 digits for Gold/Indices) and normalize the points calculation dynamically so that parameters work seamlessly across all assets without manual adjustment.
2. Core Logic (Order Placement & Cancellation)
- Pending Orders: The EA must place two pending orders simultaneously around the current market price:
- One Buy Stop order above the current price.
- One Sell Stop order below the current price.
- Distance: The total distance between the Buy Stop and Sell Stop orders must be exactly 20 points/pips(User-adjustable).
- Example: If Buy Stop is at 4170.10, the Sell Stop must be automatically placed at 4168.10.
- One-Cancels-Other (OCO) Feature: As soon as one of the pending orders is triggered and turns into an active position (e.g., the Buy Stop opens), the EA must immediately and automatically delete the opposite pending order (the Sell Stop) to prevent it from executing if the market reverses.
3. Risk Management & Break-Even (Locking Profit)
- Initial Stop Loss (SL): Immediate upon execution, the active position must have an initial Stop Loss of 10 points/pips (User-adjustable).
- Example: If a Buy order is triggered at 4170.10, the initial SL must be set immediately at 4169.10.
- Break-Even Trigger: The EA must monitor the position. Once the price moves in favor of the trade by 0.22 points/pips (User-adjustable), the Break-Even function must activate.
- Example: If a Buy trade triggers at 4170.10 and the market price touches 4170.32, the break-even mechanism is triggered.
- Secured Profit: Upon triggering break-even, the SL must be moved from its initial position to a secured profit zone of 0.02 points/pips above/below the entry price.
- Example: For a Buy entry at 4170.10, the SL automatically updates to 4170.12 once the price hits 4170.32.
4. Dynamic Trailing Stop & Exit
- Point-by-Point Trailing: After the Break-Even is successfully locked, the SL must turn into a dynamic trailing stop that follows the price step-by-step.
- Trailing Step Mechanism: Every time the price moves further into profit by 0.01 points/pips, the trailing SL must move up/down by the exact same amount (0.01 points/pips).
- Example: If the price of a Buy trade moves from 4170.32 to 4170.33, the SL must instantly adjust from 4170.12 to 4170.13. It should trailing smoothly with every fractional point movement.
- Exit Strategy: There is No Fixed Take Profit (TP). The trade must remain open, riding the trend, and will only exit when the price reverses and hits the dynamic Trailing Stop Loss line.
5. On-Screen Display (Owner Information Canvas)
- Mandatory Visual Requirement: The developer must code a clean, non-intrusive text label/dashboard on the chart screen.
- Hardcoded Text Display: The dashboard must permanently display the owner’s name and international contact information exactly as follows:
- Owner Name: sanad
- Contact: +966552955657
- Technical Note: This text must be hardcoded inside the .mq5 file using Comment() or ChartObjects so it appears on the chart background whenever the EA is running.
6. Input Parameters (External Variables)
The following parameters must be exposed in the EA Inputs tab for optimization and modification:
- input double Lot_Size = 0.1; (Trade volume)
- input int Distance_Between_Orders = 20; (Distance between pending orders in points)
- input int Initial_Stop_Loss = 10; (Initial SL in points)
- input double Activation_Distance = 0.22; (Distance required to trigger break-even)
- input double Secured_Profit_Distance = 0.02; (Lock profit distance from entry price)
- input double Trailing_Step = 0.01; (Dynamic trailing step size)
- input ulong Magic_Number = 123456; (EA Unique Identifier)
⚠️ CRITICAL TERMS OF DELIVERY (Source Code & Anti-Locking):
- Full Open Source Delivery: The developer must deliver the complete, unencrypted, and clean source code file in .mq5 format. Deliveries containing only the compiled .ex5 file will be rejected immediately.
- No Hardcoded Restrictions / Expired Locks: The code must NOT contain any time-bombs, account number restrictions, or domain locks. It must be 100% independent.
- No External Server Calls (Anti-Remote Lock): The use of functions like WebRequest() or any external API calls to verify licenses or connect to the developer's server is strictly forbidden. The EA must run entirely locally on the user's MT5 platform.
- Code Review Acceptance: Project funds will only be released after the .mq5 source code is thoroughly reviewed and verified by an independent third-party programmer to ensure it meets all the safety and functionality conditions above.