Техническое задание
Budget: [100$ - 200$]
I need an experienced MQL5 developer to optimize my existing auto-trading EA and integrate manual trading capabilities from a second EA.
The goal is to create a complete EA that combines automated signal-based trading with full manual control.
Two reference codes are attached for review before bidding:
- Code 1 (1 Auto Trade.mq5): Auto-trading EA (main codebase - needs optimization)
- Code 2 (2 Manual Trade.mq5): Manual trading features reference (extract features from here)
⚠️ Please review BOTH codes before APPLY.
Detailed Requirements:
PART 1: Optimize Code 1 (Auto-Trading Core)
1.1 Multi-Asset Compatibility
- Ensure EA works flawlessly across ALL asset types:
- Forex pairs (major, minor, exotic)
- Indices (US30, NAS100, etc.)
- Metals (Gold, Silver)
- Crypto (if broker supports)
- Dynamic symbol property detection
- Adaptive to different tick sizes, contract sizes, and specifications
1.2 Account Type Detection & Lot Size Calculation ⚠️ CRITICAL
Currently the EA has issues distinguishing account types, causing incorrect lot sizing and money display.
Fix Required:
- Auto-detect account type: Cent / Raw-ECN / Standard
- Correct lot size calculation for each account type
- Accurate P&L display (adjusted for Cent accounts where $1 = $0.01 actual)
- Proper balance/equity conversion
- Test on all 3 account types to verify accuracy
1.3 Order Execution Speed Optimization
- Single order close: Minimize latency, retry logic for failed closes
- Batch close operations:
- Close All Buy/Sell (parallel processing if possible)
- Close All Profit/Loss
- Close All (positions + pending orders)
- Progress feedback during batch operations
- Handle 100+ positions efficiently
1.4 New Feature: Close on Opposite Signal 🆕
- Add input parameter: bool CloseOnOppositeSignal = true/false
- When enabled:
- BUY signal → Close all SELL positions before opening BUY
- SELL signal → Close all BUY positions before opening SELL
- Configurable via input settings
1.5 Optional: Virtual SL/TP Optimization
- Review current hidden SL/TP implementation
- Fix any bugs if discovered during testing
- Ensure compatibility with different broker types (Market/Instant execution)
- Proper handling when EA restarts
PART 2: Integrate Manual Trading Features (from Code 2)
Extract and integrate the following manual trading capabilities into Code 1:
2.1 Manual Entry Functions
- Market Orders:
- Manual BUY button (market execution)
- Manual SELL button (market execution)
- Use Line SL for custom stop loss placement
- Pending Orders:
- Pending BUY button (Buy Stop/Limit auto-detection)
- Pending SELL button (Sell Stop/Limit auto-detection)
- Line ET (Entry) for custom entry price
- Line SL for custom stop loss
- Auto-delete lines after order placement (configurable)
2.2 Line-Based Trading
- Line SL BUY: Draggable horizontal line for BUY stop loss
- Line SL SELL: Draggable horizontal line for SELL stop loss
- Line ET BUY: Draggable horizontal line for BUY entry (NEW from Code 2)
- Line ET SELL: Draggable horizontal line for SELL entry (NEW from Code 2)
- Set SL Manual button: Apply Line SL to existing positions
- Real-time lot size preview on line labels
- Support for profit locking (SL above/below entry)
2.3 Advanced Close Functions
- Close Buy positions only
- Close Sell positions only
- Close Profit positions only
- Close Loss positions only
- Close All (positions + pending)
- Cancel Pending Buy/Sell/All
2.4 Instant Management Actions
- Partial NOW: Execute partial close immediately on all eligible positions
- Break-Even NOW: Set all positions to break-even immediately
2.5 Feature Toggle Buttons
- Partial Close (ON/OFF)
- Break-Even (ON/OFF)
- Trailing Stop (ON/OFF)
- New Order Trailing (ON/OFF)
- Reversal Trade (ON/OFF)
- One Stop Loss (ON/OFF)
2.6 UI Layout
Maintain clean, organized button layout from Code 2:
- Row 1: EA ON/OFF
- Row 2: Line ET buttons
- Row 3: Pending Order buttons
- Row 4: Market Order buttons
- Row 5: Line SL buttons + Set SL Manual
- Row 6-7: Close buttons
- Row 8-9: Cancel Pending buttons
- Row 10-13: Feature toggles + Instant actions
- Info panel: Real-time statistics and position tracking
2.7 Enhanced Info Display
- Current positions (Buy/Sell count)
- Pending orders count and breakdown
- Floating P&L by direction
- Total P/L and volume
- Feature status indicators (color-coded)
- Account balance/equity (correctly displayed)
- Daily statistics
- Tracked pending orders list
PART 3: Testing Requirements ✅
Developer MUST perform comprehensive testing before delivery:
3.1 Backtest Requirements
- Test on at least 3 different symbols:
- 1 Forex pair (e.g., EURUSD)
- 1 Index (e.g., US30)
- 1 Metal (e.g., XAUUSD)
- Test on all 3 account types: Cent, Raw, Standard
- Verify correct lot sizing and P&L calculations
3.2 Functionality Tests
- ✅ Auto-trading signal execution
- ✅ Manual market orders
- ✅ Pending order placement (Stop/Limit)
- ✅ Line-based SL/ET adjustment
- ✅ Virtual SL/TP functionality
- ✅ All close functions (single + batch)
- ✅ Feature toggles (Partial, BE, Trailing, etc.)
- ✅ Reversal trade logic
- ✅ Close on opposite signal
- ✅ Daily limit controls
- ✅ UI responsiveness
3.3 Stress Testing
- Open 50+ positions, test batch close
- Rapid manual order placement
- Line dragging performance
- EA restart with open positions (Virtual SL/TP recovery)
3.4 Documentation
Provide brief test report showing:
- Symbols tested
- Account types tested
- Key functionalities verified
- Any known limitations
PART 4: Deliverables 📦
Final delivery must include:
- Source Code:
- .mq5 file (fully commented, clean code)
- No time limitations, no expiration
- No external DLL dependencies (unless necessary and disclosed)
- Compiled File:
- .ex5 file (ready to use)
- License:
- ✅ Lifetime usage rights
- ✅ No restrictions or expiration
- ✅ Works on unlimited accounts
- Documentation (brief):
- Setup guide
- Parameter explanations
- Known limitations (if any)
PART 5: Payment Terms 💰
- Payment Method: MQL5 Freelance escrow system
- Milestone: 100% payment upon delivery of FINAL .mq5 + .ex5 files
- Condition: Only after I receive working files that pass my testing
- No upfront payment - protected by MQL5 escrow
PART 6: Post-Delivery Support 🛠️
3-Month Support Period:
- Bug fixes for any issues discovered during real trading
- Minor optimizations if performance issues arise
- Clarifications on EA functionality
- Response time: Within 48 hours for critical bugs
Not included in support:
- New feature requests beyond original scope
- Changes to trading logic/strategy
- Issues caused by broker-specific problems
📋 EA Functional Overview (for Developer Reference)
Core Concept:
This is a semi-automated trading system that combines:
- Auto-trading: Signal-based entries from custom indicator
- Manual control: Full manual trading capabilities with advanced tools
Key Features:
Auto-Trading:
- Custom indicator signal detection (Buffer-based)
- Automated BUY/SELL entries
- Optional: Pending order mode with retracement entries
- Configurable SL calculation (N-candle or Indicator-based)
- Risk:Reward ratio-based TP
- Dynamic lot sizing (Fixed/Fixed Balance/Percent Balance)
Position Management:
- Virtual SL/TP (hidden from broker)
- Partial close at profit targets
- Break-even automation
- Trailing stop (R-based)
- Indicator-based trailing
- Box indicator trailing
- New order trailing (sync SL for same direction)
- One Stop Loss (sync all positions same direction)
- Reversal trade on SL hit
Manual Trading:
- Market orders with custom SL (via Line)
- Pending orders with custom Entry + SL (via Lines)
- Instant management actions (Partial NOW, BE NOW)
- Batch close operations
- Manual SL adjustment for existing positions
Risk Controls:
- Max positions limit
- Daily profit/loss limits
- Auto-close by floating P/L
- Time filter (trading sessions)
- Max pending orders limit
UI/UX:
- Toggle buttons for all features
- Real-time info display
- Draggable SL/ET lines with lot preview
- Sound alerts
- Statistics tracking
🎯 Ideal Developer Profile:
- ✅ 5+ years MQL5 experience
- ✅ Expert in OOP, order management, position tracking
- ✅ Experience with multi-asset EAs
- ✅ Strong understanding of broker execution types
- ✅ Portfolio with similar complex EAs
- ✅ Good communication (English)
- ✅ Available for support period
📎 Attached Files:
- 1 Auto Trade.mq5 - Main EA to optimize
- 2 Manual Trade.mq5 - Extract manual features from here
⚠️ Please review BOTH codes before APPLY.
Thank you for your interest! Looking forward to working with a skilled developer. 🚀