Termos de Referência
This task is straightforward for an experienced MT4 developer (if you are not experienced in coding please do not apply for this job) and $50 is a fair rate for the work and the given timeline. I need updates to an existing EA to enhance its risk management features and implement a profit-locking mechanism. The changes should not interfere with the existing logic but rather add the following functionalities:
- Enable or disable trading.
- Set a daily profit cap with configurable options once the cap is reached.
- Set a daily loss cap with configurable options once the cap is reached.
Deadline: The update is required by 1 PM GMT on Saturday, 14 September, so I can conduct testing in the afternoon.
The EA already calculates daily profit/loss and displays on screen so this is the figure it should use for the Daily Profit Cap and Daily Loss Cap
New Input Parameters:
- Allow Trading
- Description: This input allows you to enable or disable trading activity.
- Type: Boolean (Yes/No)
- Function: When set to "No," the EA will stop opening new trades but will manage any existing open trades based on the EA's internal logic.
- Default: Yes
- DailyProfitCap
- Description: A limit for daily or session profits based on a percentage of the current account balance.
- Type: Float (Percentage of account balance)
- Function:
- If set to 0, the profit cap function is disabled.
- If a profit cap is set and reached, the EA will act according to the selected option in DailyProfitCapOptions.
- Default: 0 (Disabled)
- DailyProfitCapOptions
- Description: Defines the behavior of the EA once the DailyProfitCap is reached.
- Type: Enum (Option 1, Option 2, Option 3)
- Options:
1. Automatic Restart: The EA will close all open trades and stop trading for 24 hours. After the 24-hour period, it will automatically resume trading.
2. Manual Restart: The EA will close all open trades and stop trading. Trading will remain halted until the user manually toggles Allow Trading to "No" and then back to "Yes."
3. Await Next Breakout: The EA will close all open trades and stop trading. Trading will resume when a new candle breakout signal is detected.
- DailyLossCap
- Description: A limit for daily or session losses based on a percentage of the current account balance.
- Type: Float (Percentage of account balance)
- Function:
- If set to 0, the loss cap function is disabled.
- If a loss cap is set and reached, the EA will act according to the selected option in DailyLossCapOptions.
- Default: 0 (Disabled)
- DailyLossCapOptions
- Description: Defines the behavior of the EA once the DailyLossCap is reached.
- Type: Enum (Option 1, Option 2, Option 3)
- Options:
1. Automatic Restart: The EA will close all open trades and stop trading for 24 hours. After the 24-hour period, it will automatically resume trading.
2. Manual Restart: The EA will close all open trades and stop trading. Trading will remain halted until the user manually toggles Allow Trading to "No" and then back to "Yes."
3. Await Next Breakout: The EA will close all open trades and stop trading. Trading will resume when a new candle breakout signal is detected.
Summary of Key Inputs
Input | Description | Default |
Allow Trading | Enable or disable EA trading | Yes |
DailyProfitCap | Limit for daily/session profits (as a %) | 0 (if 0 Disabled) |
DailyProfitCapOptions | Actions when profit cap is reached | Option 1 |
DailyLossCap | Limit for daily/session losses (as a %) | 0 (if 0 Disabled) |
DailyLossCapOptions | Actions when loss cap is reached | Option 1 |