1. FILE & SIGNAL FORMAT EA will read from a local file: signal.json (mydomain.com/ signal.json ) or what ever it called  The developer must define the JSON structure with me and adapt the EA to match it. Example JSON format (one object per signal or array — developer to propose best method): {   "id": "12345",   "symbol": "XAUUSD",   "action": "buy", // or "sell" or "close"   "volume": 0.10 } The EA must handle: Multiple signals Unique IDs per trade Matching close signals to the correct trade --- ✅ 2. TRADE MANAGEMENT (BY UNIQUE ID) Every trade must be opened with its own ID stored as: comment or magic number (developer can choose the best method) When a “close” signal arrives with the same ID, the EA must ONLY close that single position. EA must NOT close all open trades when a close signal is sent. --- ✅ 3. SYMBOL NAME HANDLING (SUFFIX OPTION) My broker uses different symbols: TradingView: XAUUSD Broker: XAUUSD.r The EA must: ✅ Have input parameter for symbol suffix (e.g. .r) OR ✅ Try to automatically detect symbol names Example: Input: SymbolSuffix = ".r" If no suffix is needed, leave it blank. --- ✅ 4. EA PARAMETERS (MUST BE INCLUDED) Inputs: 1. SymbolSuffix → string (e.g. ".r" or empty) 2. LotSize → default or read from JSON 3. Slippage 4. MagicNumberStart (if IDs stored as magic numbers) 5. FileName → default: signal.json 6. FileLocation → /MQL5/Files or Common folder 7. CheckIntervalSeconds → how often EA reads the file 8. CloseByIDOnly → true/false (must be true by default) 9. Optional risk-based lot settings or fixed volume --- ✅ 5. FILE READING LOGIC Developer must implement: Reads file every X seconds JSON parsing (no manual string hacks) Handle multiple signals if they exist After processing a signal: Option 1: delete it Option 2: mark it as "processed" (developer should suggest best approach) --- ✅ 6. TRADE ACTIONS For each signal: "buy" → open a buy trade "sell" → open a sell trade "close" → only close the trade with matching ID If the ID already exists in an open position, ignore duplicate open commands. --- ✅ 7. ERROR HANDLING & LOGGING EA must: Print readable errors in Experts tab Show if JSON not found or invalid Alert if symbol not available Skip signals safely without crashing --- ✅ 8. TERMINAL & ACCOUNT REQUIREMENTS Must work on MT5 Must handle hedging accounts (multiple trades same symbol) Must support 3 or more simultaneous trades Should survive terminal restarts without losing track of open IDs --- ✅ 9. TESTING & DELIVERY Developer must provide: Example signal.json Explanation/setup of file path Instructions for putting EA in terminal Source code (.mq5)