READ BEFORE MESSAGING PLEASE
Developer Requirements (Strict):
- Expert Level Only: This is a professional-grade, robust trading engine. Please do not apply if you are a beginner or intermediate developer.
- Asynchronous Proficiency: You must have deep experience with CTrade and handling asynchronous order execution (Requotes, Busy Servers, and Order Integrity Sync).
- Proven Track Record: I require a developer who can deliver a "clean" build the first time. Experience with complex recovery algorithms (like the "Guardian" logic described below) is mandatory.
- Code Quality: The final EA must be highly optimized, modular, and include the "Heartbeat" and "Global Variable Persistency" features to survive terminal crashes.
- The EA must be built using the MQL5 'Trade Class' (CTrade) and must handle asynchronous order execution with full error handling for Requotes and Busy Servers.
- broker - vantage.com
- will be using a raw account
- the starting balance i will be starting with is £1000
- it needs testing as well to make sure it runs correctly before hand over. also i want the correct setting hard coded into the trader for starting with the £1000 balance so its plug and play ready for a VPS.
- MT5
FINAL TECHNICAL SPECIFICATIONS FOR DEVELOPER (MUST READ):
To ensure this build is professional-grade and "Plug and Play" ready for my Vantage Raw (£1,000 GBP) account, the following logic must be strictly implemented:
1. Multi-Currency Profit Calculation: The EA must automatically detect the account base currency (GBP). All risk calculations (Max Loss per Trade, Daily Profit/Loss, Stealth Stops) must use the current TICK_VALUE and exchange rates to ensure monetary targets are accurate to the penny, regardless of the pair being traded (e.g., EURUSD, Gold, or JPY pairs).
2. Suffix & Symbol Compatibility: The EA must be "Suffix Aware." It should automatically handle symbol names that include a dot or a plus (e.g., EURUSD. or GBPUSD+ ) as commonly found on Vantage Raw accounts, without requiring manual symbol input.
3. Guardian Recovery Execution (Hedged Basket): When the Guardian Engine triggers, it must NOT immediately close the losing trade. Instead, it must manage the original loser and the new recovery trade as a "Hedged Basket." The EA will track the net profit of these two specific tickets. Once the combined profit reaches the Guard_Profit_Target , both trades must be closed simultaneously via a high-speed CloseBy or bulk-close command.
4. Input Parameter Validation: Upon initialization, the EA must run a "Sanity Check." If any user inputs are mathematically impossible (e.g., a Max Loss greater than the Daily Loss Limit , or a Lot Size that exceeds available margin), the EA must print a clear Alert to the screen and refuse to trade until the settings are corrected.
5. Execution & Filling: Since I am using a Raw account, the code must default to ORDER_FILLING_IOC or automatically detect the filling mode via SYMBOL_FILLING_MODE . All trade sends must include a 3-attempt retry logic with a randomized delay (500ms–1500ms) to handle "Busy Server" errors without hanging the terminal.
- XAUUSD+ , m15 chart
- I WANT EVERY SETTING AVAILBLE TO ME TO EDIT MYSELF IN THE INPUTS TAB, I WANT FULL CONTROLE
- everything needs to be in pounds (£) and in english
*100% TRADING BOT REQUIREMENTS*
- everything on inputs i can change myself
- Manage Manual Trades — Allows the EA to manage trades opened by hand (Magic 0).
- Max Loss per Trade (£) — Hard monetary cap on how much a single trade can lose.
- Daily Profit Target — Automatically closes all trades and locks the system once hit.
- Daily Loss Limit — Safety cut-off to prevent further trading if a daily loss is reached.
- Trailing Drawdown — Moves the "floor" up as equity grows to protect daily profits.
- Max Total Trades — Hard limit on the number of simultaneous open positions.
- Spread Limit (Pips) — Prevents the bot from entering trades during high volatility or low liquidity.
- Start Hour and End Hour — Defines the specific daily window when the bot is allowed to trade.
- Friday Protection — Automatically closes all positions and stops trading at 8 PM on Fridays.
- Dynamic Lot Sizing — Automatically calculates position sizes based on account balance and risk %.
- Risk % per Trade — The percentage of the account used to calculate the dynamic lot.
- Safety Cap (Max Lot) — A hard ceiling to ensure dynamic lots never exceed a certain size.
- Sniper Engine (Trend) — Uses Momentum indicator for trend-following entries.
- Reaper Engine (Volatility) — Uses Bollinger Bands to trade mean reversion/volatility.
- Lion Engine (The Assassin) — Uses Stochastic oscillator to find overbought/oversold turns.
- Ghost Engine (Price Action) — Uses previous candle High/Low breaks for entries.
- Guardian Engine (Recovery) — A specialized logic that calculates exact recovery lots to trade out of losing positions.
- Stealth Stops — Closes trades based on a monetary target (£) hidden from the broker.
- Hard SL Fallback — Physical Stop Loss sent to the broker as a backup safety net.
- Max Trade Duration — Automatically closes any trade that has been open longer than the set minutes.
- Profit Addict Mode — High-efficiency logic that manages the "basket" of trades for maximum recovery.
- Engine Sensitivity — Individual adjustment settings for how aggressive each of the 5 engines triggers.
- Max Equity Risk Pct — Limits the total account equity that can be put at risk for a specific symbol.
- Magic Numbers (Snip_Magic, Reap_Magic, etc.) — Unique identifiers for each of the 5 trading engines so they don't interfere with each other.
- Snip_Max_Trades / Reap_Max_Trades (etc.) — Individual trade caps for each specific engine to prevent over-leveraging a single strategy.
- Snip_Lot / Reap_Lot (etc.) — Manual lot size overrides for each engine if Dynamic Lot Sizing is turned off.
- Guard_ATR_Mult — Multiplier used by the Guardian engine to set a recovery target based on market volatility (Average True Range).
- Guard_Profit_Target — The specific monetary amount (£) the Guardian engine aims to gain to clear a losing position.
- Guard_Sensitivity — The threshold (as a decimal of Max Loss) that triggers the Guardian recovery mode.
- BE_Trigger_Pips — The specific number of pips in profit required before the trade is moved to a Break-Even (risk-free) state.
- Trail_Dist_Pips — The exact distance in pips the stop loss maintains behind the current price once trailing begins.
- Slippage (30 points) — Internal hardcoded limit to prevent orders from filling at bad prices during high volatility.
- Filling Mode (IOC/FOK) — Automatically detects your broker's execution type (Instant vs Market) to ensure orders aren't rejected.
- Pip Adjust / Point Normalization — Internal logic that automatically scales pips for 4-digit vs 5-digit brokers and JPY pairs.
- Daily Reset Logic — Internal clock that resets the "Daily Profit/Loss" counters at midnight to start a fresh trading day.
- Guardian "Loser Pinning" — Safety logic that forces a Stop Loss onto a manual or engine trade if the Guardian is currently trying to recover it.
- Trade Comment Tagging — Automatically labels every trade in your terminal with the specific engine name (e.g., "SNIPER" or "GR_") for easy tracking.
- Broker Stop Level Check — Validates that the Stop Loss is not placed too close to the current price, preventing broker "invalid stops" errors.
- 100% Efficiency Profit Chase (ProfitAddictMode) — A specific toggle that, when enabled, allows the bot to actively manage and swap "losing" trades for "winning" recovery trades to clear the basket faster.
- Guardian Unique ID (GR_TicketID) — An internal tagging system that creates a unique link between a losing trade and its specific recovery trade so the bot never loses track of which trade it is "guarding."
- Stealth Target (£) (StealthTargetGBP) — The specific monetary value used by the Stealth Stop logic to close a trade once a set amount of cash profit is reached, without the broker seeing a TP on the charts.
- ATR Period (14) & Timeframe (M15) — The bot is hardcoded to use a 14-period Average True Range on the 15-minute chart to calculate volatility for the Guardian engine.
- Momentum Period (10) — The Sniper engine specifically uses a 10-period Momentum calculation on the M15 timeframe to determine trend strength.
- Stochastic Settings (5, 3, 3) — The Lion engine is hardcoded with these specific K, D, and Slowing periods for its overbought/oversold logic.
- Emergency SL Buffer (2 Pips) — When the Break-Even logic triggers, the bot doesn't just move to the entry price; it adds a hardcoded 2-point buffer to cover minor costs and ensure a "risk-free plus a tiny bit" exit.
- Bollinger Band Period (20) — The Reaper engine is hardcoded to use a 20-period Bollinger Band on the M15 timeframe to identify price extremes.
- Guardian Shield (2x ATR) — An internal safety feature where the Guardian engine automatically places a "Hard Stop Loss" at twice the current ATR distance to protect the recovery trade from spikes.
- Target Reached Lock — A "System Safe" logic that completely stops all trading activity once the Daily Profit or Daily Loss limit is hit, requiring a new day to start before it unlock.
- Trade Execution Delay
- News Filter: A hardcoded or URL-fed news filter to prevent the Sniper or Reaper engines from opening trades 30 minutes before/after High Impact (Red Folder) news.
- Max Open Lots (Global): A safety limit on the total volume across all engines (e.g., "Never exceed 2.0 total lots open at once") to prevent margin calls if multiple engines trigger simultaneously.
- Virtual/Hidden Take Profit: Similar to your Stealth Stops, having a hidden pip-based TP that isn't sent to the broker protects against "stop hunting."
- Max Open Lots (Global): A safety limit on the total volume across all engines (e.g., "Never exceed 2.0 total lots open at once") to prevent margin calls if multiple engines trigger simultaneously.
- Virtual/Hidden Take Profit: Similar to your Stealth Stops, having a hidden pip-based TP that isn't sent to the broker protects against "stop hunting."
- Retry Logic on Close
- Trade Frequency Limiter (Cool-down): A setting to prevent an engine from opening a new trade immediately after one closes (e.g., "Wait 5 minutes before the next Sniper entry").
- The "Guardian" Recovery Cap: A limit on how many recovery trades the Guardian can attempt. If it fails 3 times, it should accept the loss and stop to prevent blowing the account.
- Sunday Opening Protection: Prevents the bot from trading in the first 2–3 hours of the market opening on Sunday when spreads are massive and gaps occur.
- Global Equity Kill-Switch (%) — A "Nuclear Option" that closes every single trade on the account and disables the EA if the total account equity drops by a specific percentage (e.g., 20%), acting as a final shield against a black swan event.
- On-Chart Status Dashboard — Real-time visual feedback on the chart showing current Daily Profit/Loss, which Engines are currently "Searching," and the status of the Guardian (e.g., "GUARDIAN: ACTIVE - RECOVERING TICKET #12345").
- Magic Number Conflict Check — Internal logic on startup that scans the account for any other running EAs to ensure your 5 Engine Magic Numbers aren't being used by another bot, preventing "cross-talk" or accidental trade closures.
- Margin Level Safety Buffer — Prevents any new trades from opening if the "Margin Level %" falls below a certain threshold (e.g., 300%), ensuring the Guardian always has enough "buying power" to fire a recovery trade without getting a "Margin Call" error.
- Trade Retry Delay (ms) — If an order is rejected due to "Busy Server," the bot waits a randomized 500ms–1500ms before retrying, which helps bypass broker anti-spam filters that can get a bot banned for hammering the server too fast.
- Heartbeat Logging — A small internal file or log entry every 60 minutes that confirms the EA is still "alive" and connected to the server, so you can verify it didn't crash silently while you were away.
- Global Variable Persistency (Crash Recovery)
- Order Integrity Sync (Async Check) — A high-speed internal check that verifies if an order sent to the broker was actually filled before the bot tries to send another. This prevents "Double-Firing" (opening two trades instead of one) during periods of high network latency or when the broker's server is slow to respond.
I WANT EVERYTHING ABOVE ADDED TO THIS TRADING BOT PLEASE AND SO IT ALL RUNS CORRECTLY -
FINAL TECHNICAL SPECIFICATIONS FOR DEVELOPER (MUST READ):
To ensure this build is professional-grade and "Plug and Play" ready for my Vantage Raw (£1,000 GBP) account, the following logic must be strictly implemented:
1. Multi-Currency Profit Calculation: The EA must automatically detect the account base currency (GBP). All risk calculations (Max Loss per Trade, Daily Profit/Loss, Stealth Stops) must use the current TICK_VALUE and exchange rates to ensure monetary targets are accurate to the penny, regardless of the pair being traded (e.g., EURUSD, Gold, or JPY pairs).
2. Suffix & Symbol Compatibility: The EA must be "Suffix Aware." It should automatically handle symbol names that include a dot or a plus (e.g., EURUSD. or GBPUSD+ ) as commonly found on Vantage Raw accounts, without requiring manual symbol input.
3. Guardian Recovery Execution (Hedged Basket): When the Guardian Engine triggers, it must NOT immediately close the losing trade. Instead, it must manage the original loser and the new recovery trade as a "Hedged Basket." The EA will track the net profit of these two specific tickets. Once the combined profit reaches the Guard_Profit_Target , both trades must be closed simultaneously via a high-speed CloseBy or bulk-close command.
4. Input Parameter Validation: Upon initialization, the EA must run a "Sanity Check." If any user inputs are mathematically impossible (e.g., a Max Loss greater than the Daily Loss Limit , or a Lot Size that exceeds available margin), the EA must print a clear Alert to the screen and refuse to trade until the settings are corrected.
5. Execution & Filling: Since I am using a Raw account, the code must default to ORDER_FILLING_IOC or automatically detect the filling mode via SYMBOL_FILLING_MODE . All trade sends must include a 3-attempt retry logic with a randomized delay (500ms–1500ms) to handle "Busy Server" errors without hanging the terminal.
i will be testing the finished product to see if it does have all the *100% TRADING BOT REQUIREMENTS* functions within 100%