- 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
1.8 KiB
1.8 KiB
| applyTo |
|---|
| **/MQL5/Indicators/_Thivyam/**/*.mq5 |
Instructions for _Thivyam MQL5 Custom Indicators
CRITICAL: MQL5 Syntax Compliance
Before writing any MQL5 code, read and follow: mql5-syntax-critical.instructions.md
Key mandatory rules:
- Use dot operator (
.) for pointer member access, NOT arrow (->) - Declare loop variables BEFORE for-loop:
int i; for(i=0; i<n; i++) - Use dynamic arrays (
Type[]) forArraySetAsSeries()andCopyRates() - Verify property constant names in official MQL5 documentation
Indicator-Specific Instructions
- Properties: Clearly define indicator properties at the top of the file (e.g.,
#property indicator_chart_window,#property indicator_buffers,#property indicator_plots). - Buffers: All indicator buffers must be initialized in
OnInit()usingSetIndexBuffer(). - Calculation (
OnCalculate()):- The
OnCalculate()function is the core of the indicator and must be coded for maximum performance. - CRITICAL: You MUST correctly handle the
prev_calculatedparameter to avoid recalculating the entire price history on every new tick. The calculation loop should start fromrates_total - prev_calculated. - Handle the potential for
EMPTY_VALUEin indicator buffers when performing calculations. - Validate all buffers for
ArraySetAsSeries()consistency and log descriptive errors when buffer allocation fails.
- The
- Visualization: Use
PlotIndexSetInteger()and related helpers to keep plot naming and styling consistent with _Thivyam standards. - Performance Testing: Profile heavy indicators using the MT5 Strategy Tester in visual mode and document any maximum history requirements.
- Agent Workflow: Add concise comments that describe non-obvious buffer shifts or smoothing logic so automated agents can refactor safely.