Работа завершена
Техническое задание
Description:
I am seeking a skilled MQL5 developer to create a custom Expert Advisor (EA) for MetaTrader 5 that implements a series of features designed for randomized entry, risk management, and news event handling. Additionally, the EA should integrate an existing trade copier sender, which has approximately 500 lines of source code. The EA should incorporate the following specifications:
Core Features
-
Randomized Entry:
-
Ability to randomly enter BUY or SELL trades based on Input1 (lot size).
-
Take Profit (Input2) and Stop Loss (Input3) should be specified in dollar ($) terms.
-
-
Delayed Entry:
-
A function to add a randomized delay of up to Input4 (maximum delay in minutes) before executing any trade.
-
-
Randomized Lot Size:
-
Option to randomize Input5 (lot size) by ± Input6 (%).
-
-
Split Lot Size Entries:
-
Divide the randomized lot size (Input7) into Input8 parts.
-
Ability to split the lot sizes into unequal parts (e.g., 80/20, 50/30/20, etc.) based on Input9 (user-defined percentages or ratios).
-
Each part should enter the market after a randomized delay controlled by Input10 (new independent input for delay).
-
-
Daily Profit/Loss Tracking:
-
Track daily profit and loss based on Input11 (customizable start time for a "new day").
-
At the specified time (Input11), the EA should record both the Balance and Equity of the account.
-
The higher value between Balance and Equity at that time will be used as the reference point for profit/loss calculations.
-
Display the calculated profit/loss in real time on the EA interface or MetaTrader chart.
-
-
Trade Count Tracking:
-
Keep a record of the total number of trades executed per day.
-
Include Input12 (maximum number of trades allowed per day).
-
-
Daily Drawdown Limit:
-
If equity reaches or exceeds Input13 (daily drawdown limit in $ terms), close all open positions immediately using market orders.
-
-
Total Stop Loss/Take Profit:
-
Include Input14 (Total Stop Loss in $ terms) and Input15 (Total Take Profit in $ terms).
-
Upon reaching either limit, close all positions and stop trading entirely.
-
Scheduling and Management
-
Trading Schedule:
-
Input16 and Input17 to define the start and end times for trading each day.
-
Input18: Control trading behavior at the end of the trading day:
-
Option 1: No new trades to be opened, but existing trades remain active until closed naturally (e.g., via TP, SL, or manual intervention).
-
Option 2: No new trades and all positions are closed at the end of the trading day.
-
-
-
End of Trading Week:
-
Input19 to specify the end of the trading week (e.g., Friday 23:00 or any other custom day and time).
-
Input20: Control trading behavior at the end of the trading week (similar to Input18) with the same two options:
-
Option 1: No new trades to be opened, but existing trades remain active.
-
Option 2: No new trades and all positions are closed at the end of the week.
-
-
News Event Filter
-
News Filter for Major Events:
-
Integrate a news filter that can automatically pause or close trades before major economic news events.
-
Inputs to configure:
-
Input21: Specify the time (in minutes) before a news event when trading should be paused or trades should be closed.
-
Input22: Only close trades before news events if the daily drawdown is below this threshold ($ terms).
-
Input23: Filter events based on their importance level (e.g., low, medium, or high impact).
-
Input24: Specify the time (in minutes) after a news event when trading can resume automatically.
-
-
Additional Task
-
Integration with Existing Trade Copier:
-
Integrate an already existing trade copier sender, which consists of approximately 500 lines of source code, into the new Expert Advisor.
-
The existing trade copier code should be integrated seamlessly within the EA logic to send trade data (BUY/SELL, SL/TP, lot size) to another MetaTrader instance.
-
Deliverables
-
Fully functional and well-documented MQL5 Expert Advisor file (.ex5 and .mq5).
-
Source code with appropriate comments for future modifications.
Additional Notes
-
The EA must be robust, efficient, and optimized for MetaTrader 5.
-
All inputs should be adjustable through the EA's parameter settings.
-
The news filter should use real-time or scheduled news data to function accurately.
-
The developer must provide support for minor adjustments or bug fixes after initial delivery.