📖 PropProtector MT5 User Manual
Complete reference for all settings and features
📑 Table of Contents
📥 1. Installation
Verify all settings on a demo account before applying the EA to a live account. Incorrect settings may cause immediate closure of all trades.
Drag the EA onto any chart.
News Filter: The MT5 news filter uses the built-in economic calendar. No additional configuration is needed. Ensure that under Tools → Options → Expert Advisors, the "Use economic calendar" option is enabled.
⚙️ 2. General Settings
| Parameter | Default | Description |
|---|---|---|
| Magic Number | 308021 | Unique EA identifier. Only relevant when MonitorAllTrades = false. |
| Monitor ALL trades | true | Monitors all trades regardless of magic number. When false, only trades with the configured magic number are monitored. |
| Also close pending orders | true | Also closes pending orders when trades are closed (e.g. on loss limit or time rule). |
⏰ 3. Time-Based Close
An individual close time can be configured for each weekday (Monday–Friday). All times refer to broker server time.
| Parameter | Default | Description |
|---|---|---|
| Enable [Day] close | Mon–Thu: false, Fri: true | Enables time-based closing for the respective day. |
| [Day] close – Hour | 22 | Hour of close (0–23). |
| [Day] close – Minute | 55 (Fri: 57) | Minute of close (0–59). |
📈 4. Trade Limits
| Parameter | Default | Description |
|---|---|---|
| Max trades per instrument | 3 | Maximum open trades per symbol. |
| Max trades per instrument per magic | 0 (off) | Maximum trades per symbol AND magic number. 0 = disabled. |
| Max total open trades | 5 | Maximum total open trades across all symbols. |
| Max lot size per trade | 50.0 | Maximum lot size per trade. Larger trades are closed immediately. |
| Allow hedging | true | Allows opposite positions on the same symbol. |
| Enable daily trade count | true | Enables the daily trade count limit. |
| Max trades per day | 10 | Maximum trades per day (counted from reset time). |
| Enable weekly trade count | true | Enables the weekly trade count limit. |
| Max trades per week | 50 | Maximum trades per week (resets Monday 00:00). |
| Close trades when exceeded | true | Closes the most recently opened trade when limit exceeded. |
⚠️ 5. Risk Management
Per-trade risk is calculated SL-based: (Entry – SL) × Lots × Tick Value / Balance × 100 . Trades without stop-loss return risk 0.
| Parameter | Default | Description |
|---|---|---|
| Enable single trade risk | true | Enables per-trade risk checking. |
| Max risk per trade (%) | 1.0 | Maximum SL-based risk per trade as percentage. |
| Enable total risk monitoring | true | Enables total risk monitoring across all positions. |
| Max total risk (%) | 3.0 | Maximum total risk of all positions combined. |
| Close priority | CLOSE_NEWEST | On risk exceeded: CLOSE_NEWEST (newest trade) or CLOSE_RISKIEST (riskiest trade first). |
| Allow trades without SL | false | Allows trades without stop-loss. When false, a countdown starts. |
| Seconds until close without SL | 15 | Seconds until a trade without SL is automatically closed. |
🛑 6. Daily Loss Limit
The daily loss limit is calculated in real time based on equity. It considers both open positions (unrealized P/L + swap + commission) and trades closed since the last reset time.
| Parameter | Default | Description |
|---|---|---|
| Enable daily loss protection | true | Enables daily loss protection. |
| Daily loss mode | LOSS_PERCENT | LOSS_PERCENT = percentage of reset balance, LOSS_AMOUNT = fixed amount. |
| Daily loss value | 4.50 | Limit value (% or $ depending on mode). |
| Day reset time – Hour | 0 | Hour of daily reset (0–23). Defines the start of the trading day. |
| Day reset time – Minute | 0 | Minute of daily reset (0–59). |
| Disable Autotrading on stop | OFF | OFF = no block, UNTIL_RESET = until next daily reset, UNTIL_MANUAL = until manual reset. Disables autotrading in the terminal. |
| Retry attempts for closing | 5 | Number of close attempts per trade (for broker delays). |
| Delay between retries (ms) | 500 | Wait time between close attempts in milliseconds. |
🎯 7. Profit Target & Profit Lock
The profit target closes all trades when the configured value is reached. The profit lock is a trailing mechanism that secures profits above an activation threshold.
| Parameter | Default | Description |
|---|---|---|
| Enable daily profit target | false | Enables the daily profit target. |
| Profit target mode | PROFIT_PERCENT | PROFIT_PERCENT = percentage of reset balance, PROFIT_AMOUNT = fixed amount. |
| Profit target value | 2.00 | Profit target value (% or $). |
| Enable profit lock | false | Enables the profit lock (trailing profit protection). |
| Profit lock activation mode | PROFIT_PERCENT | Mode for the activation threshold. |
| Activation threshold | 1.00 | Daily profit at which the lock activates (% or $). |
| Lock percentage of peak | 50.0 | Percentage of peak profit that is secured. If profit drops below, all trades are closed. |
Profit Lock Example
Settings: Activation = 1% ($1,000 on $100,000 balance), Lock = 50%
→ Daily profit reaches $1,000: Lock activates, secured minimum profit = $500
→ Profit grows to $3,000: Secured minimum profit rises to $1,500
→ Profit drops to $1,400: Below $1,500 → All trades closed, autotrading disabled
The lock only rises – it never falls. This progressively secures daily profits.
📉 8. Equity Limits & Margin
| Parameter | Default | Description |
|---|---|---|
| Enable max equity limit | false | Enables the upper equity limit. |
| Max equity | 110,000 | Closes all trades when equity exceeds this value. |
| Enable min equity limit | false | Enables the lower equity limit. |
| Min equity | 95,000 | Closes all trades when equity drops below this value. |
| Enable min margin level | false | Enables margin level protection. |
| Min margin level (%) | 500.0 | Closes the riskiest trade when margin level drops below this value. |
🔔 9. Alerts & Notifications
| Parameter | Default | Description |
|---|---|---|
| Enable popup alerts | true | Shows popup windows for important events. |
| Enable sound alerts | true | Plays a sound on warnings. |
| Enable email alerts | false | Sends email notifications (requires SMTP configuration in terminal). |
| Enable push notifications | false | Sends push notifications to the MetaTrader mobile app. |
| Alert on daily loss limit | true | Notification when loss limit is reached. |
| Alert on trade close | true | Notification on every automatic trade closure. |
| Alert on profit target | true | Notification when profit target is reached. |
| Alert on profit lock | true | Notification on profit lock activation/trigger. |
| Alert on risk violation | true | Notification on risk violation. |
| Warning at x% of daily loss | 80 | Early warning when x% of the daily loss limit is reached. |
🖥️ 10. GUI Settings
The GUI is fully configurable. Each section can be individually shown or hidden to customize the dashboard to your needs.
| Parameter | Default | Description |
|---|---|---|
| Show GUI | true | Shows or hides the entire dashboard. |
| GUI color theme | THEME_DARK | THEME_DARK or THEME_LIGHT. |
| GUI language | LANG_ENGLISH | LANG_ENGLISH or LANG_GERMAN. |
| GUI font size | 9 | Font size (8–14). All GUI elements scale automatically. |
| GUI position X / Y | 20 / 30 | Position of the GUI on the chart in pixels. |
Additional toggleable sections: Balance, Equity, Daily P/L, Loss Limit, Risk Config, Risk Info, Open Trades, Trade Counter, SL Protection, Profit Target, Profit Lock, Equity Limits, Margin Level, Close Times, Trade Limits, Status, News.
📰 11. News Filter
The news filter uses the built-in MT5 economic calendar. News events are filtered by impact level and a configurable time window is created around each event during which trading is blocked.
| Parameter | Default | Description |
|---|---|---|
| Enable News Filter | false | Enables the news filter. |
| Filter HIGH impact | true | Filters high-impact news (NFP, FOMC, ECB, etc.). |
| Filter MEDIUM impact | false | Filters medium-impact news. |
| Filter LOW impact | false | Filters low-impact news. |
| Block trading X min before | 10 | Trading ban X minutes BEFORE the news event. |
| Block trading X min after | 5 | Trading ban X minutes AFTER the news event. |
| Enable auto-close before news | false | Automatically closes open trades before the news event. |
| Close trades X min before | 5 | Minutes before news at which trades are closed. |
| Also block pending orders | true | Also blocks new pending orders during the news window. |
| Remove existing pending orders | false | Saves and deletes existing pending orders before the news window. |
| Restore pending orders after | true | Automatically restores saved pending orders after the news window. |
| Auto-detect currencies | true | Automatically detects relevant currencies from the chart symbol. |
Pending Order Protection (New in v2.35)
When "Remove existing pending orders" is enabled, existing pending orders are saved and deleted before the news window. After the window ends, they are automatically restored – provided the price is still valid (stop level distance to current market is checked). Expired orders are skipped.
Saved orders are crash-safe: they are stored in a separate file on disk and automatically recovered on EA restart.
💾 12. Data Persistence
PropProtector saves all important data persistently to disk:
Main data file ( PropProtector_[Account]_[Symbol].dat ): Reset balance, reset time, all flags (loss limit reached, profit target reached, profit lock status, trade count status, warning sent), peak profit and save time.
Pending orders file ( PropProtector_[Account]_[Symbol]_pending.dat ): All details of saved pending orders (type, symbol, lots, price, SL, TP, magic, expiry, comment). Only created when pending orders are saved during a news window.
Both files are stored in the MQL4/Files or MQL5/Files directory. On terminal restart or EA crash, data is automatically recovered.
🔄 13. Manual Reset
The reset button is located in the GUI (bottom right). Clicking opens a confirmation dialog. After confirmation, the following values are reset:
Reset balance is set to current balance, all flags (loss limit, profit target, profit lock, trade counts) are reset, the autotrading lock is lifted, saved pending orders are deleted, and persistence files are updated.
Automatic daily reset: Daily at the configured reset time (default: 00:00 server time), the reset balance is automatically set to the current balance and all daily limits are reset. The weekly trade counter resets every Monday at 00:00.
💡 14. Tips & Troubleshooting
Recommended Initial Setup
1. Load EA on demo account → 2. Adjust all limits to your prop firm → 3. Test for at least one trading week → 4. Transfer to live account.
Common Issues
EA closes all trades immediately: Check min/max equity limits and loss limit. Disable features you don't need or adjust the values.
News filter not loading data (MT4): Verify the WebRequest URL is correctly entered. Restart the terminal after adding the URL.
Daily reset not working correctly: Ensure the reset time matches your broker's server time, not your local time.
Multiple EAs simultaneously: With MonitorAllTrades = true, PropProtector monitors all trades from all EAs. Checking runs in OnTimer (approx. every second). In rare cases, a brief window between two timer ticks may exist where two EAs open trades simultaneously.
Important
PropProtector does not replace trader attention. It is a safety net, not an autopilot. Check your settings regularly and adjust them to changed account conditions.
PropProtector v2.37 by Alex Berger
© 2025


