mql5-indicator-patterns
Develop custom MQL5 indicators with proper patterns. Use when creating indicators, debugging OnCalculate(), working with buffers, or implementing multi-timeframe indicators in MetaTrader 5.
Installation
Suivez les instructions du dépôt pour votre agent. Consultez les fichiers et dépendances avant l’installation.
Voir la source ↗GuidesInstructions
MQL5 Visual Indicator Patterns
Battle-tested patterns for creating custom MQL5 indicators with proper display, buffer management, and real-time updates.
Quick Reference
Essential Patterns
Display Scale (for small values < 1.0):
IndicatorSetDouble(INDICATOR_MINIMUM, 0.0);
IndicatorSetDouble(INDICATOR_MAXIMUM, 0.1);
Buffer Setup (visible + hidden):
SetIndexBuffer(0, BufVisible, INDICATOR_DATA); // Visible
SetIndexBuffer(1, BufHidden, INDICATOR_CALCULATIONS); // Hidden
New Bar Detection (prevents drift):
static int last_processed_bar = -1;
bool is_new_bar = (i > last_processed_bar);
Warmup Calculation:
int StartCalcPosition = underlying_warmup + own_warmup;
PlotIndexSetInteger(0, PLOT_DRAW_BEGIN, StartCalcPosition);
Common Pitfalls
Blank Display: Set explicit scale (see Display Scale reference)
Rolling Window Drift: Use new bar detection with hidden buffer (see Recalculation reference)
Misaligned Plots: Calculate correct PLOT_DRAW_BEGIN (see Complete Template reference)
Forward-Indexed Arrays: Always set ArraySetAsSeries(buffer, false)
Key Patterns
For production MQL5 indicators:
- Explicit scale for small values (< 1.0 range)
- Hidden buffers for recalculation tracking
- New bar detection prevents rolling window drift
- Static variables maintain state efficiently
- Proper warmup calculation prevents misalignment
- Forward indexing for code clarity
These patterns solve the most common indicator development issues encountered in real-world MT5 development.
Reference Documentation
For detailed information, see:
- Display Scale - Fix blank indicator windows for small values
- Buffer Patterns - Visible and hidden buffer architecture
- Recalculation - Bar detection and rolling window state management
- Complete Template - Full working example with all patterns
- Debugging - Checklist for troubleshooting display issues
Exemples
Consultez les exemples du dépôt source.
Voir la source ↗Historique source
- Date d’indexation
- 2026-01-20
- Mise à jour de l’index
- 2026-02-02
- Branch
- main
Les dates concernent ce répertoire. Consultez le dépôt pour l’historique du code.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!