MQL4/.github/instructions/mt4-ea-quick-summary.md
Rahul Dhangar 669ecde7b7 Initial commit: Documentation and MT4 EA Phases 1-3 complete
- Added comprehensive MQ4/MQ5 comparison documentation (60+ pages)
- Added MT4 EA implementation plan and tracking documents (60+ pages)
- Phase 1: Core infrastructure with input parameters and data structures
- Phase 2: Bar detection system for H4, M30, M15 timeframes
- Phase 3: Pattern detection logic (Regular/Irregular Buy/Sell patterns)
- Reference files: FINAL_H4_ZONES.mq4, MultiTimeframeZoneEA.mq5, Strategy.md
2025-11-04 01:38:41 +05:30

7.2 KiB

MT4 EA Implementation - Quick Summary

Full Plan: mt4-ea-implementation-plan.md
Date: November 4, 2025


Overview

Creating a Multi-Timeframe Zone Expert Advisor for MT4 that implements the Strategy.md requirements:

  • H4 zone detection (4 pattern types)
  • M30 confirmation zones
  • M15 entry zones
  • Automated trade execution

Architecture Decision: Monolithic with Parallel Arrays

Why not OOP?

  • MT4 has unreliable support for dynamic arrays of structs
  • Proven approach from FINAL_H4_ZONES.mq4 uses parallel arrays
  • Simpler debugging and maintenance for single-file EA

Data Structure:

// H4 Zone Storage (50 max)
double h4_ZoneHighs[50];
double h4_ZoneLows[50];
datetime h4_ZoneTimes[50];
bool h4_ZoneIsReversed[50];
string h4_ZoneTypes[50];
bool h4_ZoneMonitoringM30[50];
int h4_M30ChildIndex[50];
int h4_ZoneCount = 0;

// M30 Zone Storage (100 max) - similar structure
// M15 Zone Storage (200 max) - similar structure + order tickets

10 Implementation Phases

Phase Focus Deliverable Hours
1 Infrastructure Working skeleton EA 2
2 Bar Detection New bar detection all TFs 1
3 Pattern Logic Port from MQ4 indicator 3
4 H4 Zones Create, reverse, delete 4
5 M30 Zones Monitoring & confirmation 4
6 M15 Zones Entry detection & orders 6
7 Order Management Monitor & lifecycle 3
8 Visual Display Zones + info panel 3
9 Error Handling Validation & logging 2
10 Testing Strategy tester validation 4-10

Total Estimate: 20-30 hours


Critical Corrections to Strategy

Order Type Correction

Strategy states: "Place Buy Limit at zone High"
Problem: Limit orders are BELOW current price for buys
Solution: Use Buy Stop at High and Sell Stop at Low

Stop Loss Placement

Strategy: "SL at zone boundary"
Implementation: SL = zone boundary ± StopLossPips buffer
Example: Buy Stop at High, SL at (Low - StopLossPips×Point)


Key Features

H4 Level

4 pattern types (Regular/Irregular Buy/Sell)
Zone lifecycle: Create → Break → Reverse → Break → Delete
Dashed rectangles → Solid on reversal
Visible on all timeframes

M30 Level

Monitors only when price enters H4 zone
Checks only NEW bars after entry
One-break deletion (no reversal)
Links to parent H4 zone

M15 Level

Monitors only when price enters M30 zone
Places pending order immediately
One trade per M15 zone
Links to parent M30 zone

Order Management

Buy Stop at M15 High, SL at M15 Low
Sell Stop at M15 Low, SL at M15 High
TP calculated from input pips
Cancels orders when parent zones break


MT4 Compatibility Notes

What we CAN'T use (MQL5 only):

  • Classes and objects
  • CTrade library
  • MqlRates[] structures
  • CopyRates() function
  • Position concept

What we WILL use:

  • Parallel arrays
  • Global functions
  • iOpen/iClose/iHigh/iLow
  • OrderSend() directly
  • Order ticket tracking
  • Simple structs (for data passing only)

Testing Strategy

Per-Phase Testing

Each phase must pass before moving to next:

  • Phase 3: Compare pattern detection with original indicator
  • Phase 4: Test H4 zone lifecycle manually
  • Phase 5: Verify M30 monitoring triggers correctly
  • Phase 6: Verify order placement with correct parameters

Integration Testing

  • Full cascade: H4 → M30 → M15 → Order
  • Multiple concurrent zones
  • Zone break cascades
  • Reversal handling

Strategy Tester

  • 3+ months historical data
  • Visual mode verification
  • Multiple scenario testing
  • Edge case validation

Input Parameters

input double LotSize = 0.01;           // Fixed lot size
input int StopLossPips = 30;           // Additional SL buffer
input int TakeProfitPips = 60;         // TP distance
input int MagicNumber = 123456;        // EA identifier
input int Slippage = 3;                // Max slippage
input int RecentBarsToCheck = 10;     // Pattern scan depth
input bool EnableDebugLogs = false;    // Console logging

Function Organization

Main Flow

OnTick()
├─► CheckNewBars() → ProcessH4/M30/M15
├─► CheckH4ZoneEntries() → Start M30 monitoring
├─► CheckM30ZoneEntries() → Start M15 monitoring
├─► MonitorPendingOrders() → Track execution
└─► UpdateDisplay() → Refresh visuals

Pattern Detection (Reusable)

IsRegularBuy(ENUM_TIMEFRAMES tf, int index)
IsIrregularBuy(ENUM_TIMEFRAMES tf, int index)
IsRegularSell(ENUM_TIMEFRAMES tf, int index)
IsIrregularSell(ENUM_TIMEFRAMES tf, int index)

Zone Management (Per Timeframe)

H4: Create, Reverse, Delete, Draw
M30: Create, Delete, Draw
M15: Create, Draw, PlaceOrder

Risk Considerations

Limitations

  • Fixed lot size (no dynamic risk management)
  • Array size limits (50/100/200 per TF)
  • No trade management (trailing, breakeven)
  • No session filters

Safety Features

  • Magic number isolation
  • One trade per M15 zone
  • Input validation
  • Comprehensive error logging
  • Order cancellation on parent breaks

Success Criteria

Must Have:

  • All 4 patterns detected correctly
  • Full H4 → M30 → M15 cascade works
  • Orders placed with correct parameters
  • Zone lifecycle managed properly
  • Visual display accurate
  • No runtime errors in tester

Nice to Have:

  • Code comments and documentation
  • Debug logging system
  • Info panel with stats
  • Clean code organization

Next Steps

  1. Review Plan: Approve implementation approach
  2. Start Phase 1: Create EA skeleton (2 hours)
  3. Incremental Development: Complete phases 2-10 sequentially
  4. Continuous Testing: Validate each phase before proceeding
  5. Final Testing: Full strategy tester validation
  6. Demo Deployment: Live testing on demo account

File Location

MQL4/
└── Experts/
    └── _Thivyam/
        └── MultiTimeframeZone/
            └── MultiTimeframeZoneEA_MT4.mq4  (single file)

Development Timeline

Week 1: Phases 1-4 (Infrastructure + H4 zones)
Week 2: Phases 5-6 (M30/M15 zones + orders)
Week 3: Phases 7-8 (Management + display)
Week 4: Phases 9-10 (Testing + refinement)

Minimum Viable Product: End of Week 2
Production Ready: End of Week 4


Support Documentation

  • Full Implementation Plan: mt4-ea-implementation-plan.md (50+ pages)
  • Reference Code: FINAL_H4_ZONES.mq4 (pattern detection)
  • Strategy Rules: Strategy.md (requirements)
  • MQ4 vs MQ5 Analysis: COMPARISON_MQ4_vs_MQ5.md (architecture insights)

Status: Ready for Development
Risk: Medium (complex multi-TF logic)
Confidence: High (proven pattern logic + clear plan)


Quick Reference During Development:

Phase 1-2: Focus on bar detection infrastructure
Phase 3: Port pattern detection from indicator
Phase 4: Build H4 zone lifecycle
Phase 5-6: Add M30/M15 cascade
Phase 7: Add order execution
Phase 8-10: Polish and test

Remember: Test each phase thoroughly before moving forward!


End of Quick Summary