EA-64995 · Utility

Indicator Loader

This EA is a utility tool designed to load up to 4 separate-window indicators into the Strategy Tester for visual analysis. It does not open any trades; its sole purpose is to programmatically attach custom indicators to chart subwindows during backtesting visualization. It handles indicator creation, subwindow placement, and cleanup on deinitialization.

Open the interactive view (equity curve, symbol switch)

Key facts

CategoryUtility
RiskSafe
Rating★★★☆☆
TypeUtility tool
TimeframesM1, M5, M15, M30, H1, H4, D1, W1, MN
IndicatorsMACD, ADX, ATR, CCI
Authorphade, MetaQuotes Ltd.

Backtest results (H1, about 1 year)

Not backtested yet — this EA could not be converted automatically.

Strategy analysis

This EA is not a trading strategy but a utility tool designed to load indicators in the Strategy Tester's visual mode. Its core logic creates up to 4 indicator handles via iCustom during OnInit and adds each indicator to a new subwindow using ChartIndicatorAdd. Entry and exit conditions are not applicable since the program does not execute any trading operations. Position sizing and money management are likewise not applicable. On the first tick in OnTick, the EA iterates through all subwindows and prints the loaded indicator names for verification purposes. During OnDeinit, the EA removes indicators from subwindows in reverse order and releases all indicator handles to prevent resource leaks. The overall design goal is to enable users to observe multiple sub-window indicators simultaneously during backtest visualization.

Strengths

  • Clean code structure with clear separation of initialization, runtime, and cleanup phases
  • Supports loading up to 4 separate-window indicators simultaneously for visual backtest analysis
  • Properly releases indicator handles and deletes indicators in OnDeinit to prevent resource leaks
  • Includes error handling and logging for failed indicator handle creation
  • Uses a centralized paths array for managing indicator paths, making it easy to extend

Weaknesses

  • The paths array is initialized with input variables at global scope, which may not be supported or may produce warnings in some MQL5 compiler versions
  • The indicator_windows array only stores window numbers but serves no actual purpose, making it redundant code
  • OnDeinit only deletes the first indicator in each subwindow; if multiple indicators exist in one subwindow, the rest are not removed
  • Lacks strict validation for empty path strings; using paths[i]!="" alone may not catch whitespace-only paths
  • The target window number calculation for ChartIndicatorAdd depends on CHART_WINDOWS_TOTAL, which has a potential race condition risk

Possible improvements

  • Move the paths array initialization inside OnInit to avoid global-scope dependency on input variables that may cause compilation compatibility issues
  • Use a loop in OnDeinit to delete all indicators in each subwindow instead of only the first one
  • Add input parameter validation in OnInit to check path validity and inform the user of issues

Risk assessment

Overall risk: Safe

  • This tool does not execute any trading operations, posing no financial risk
  • Indicator handle creation failures only log and skip, not causing program crashes
  • The global paths array initialization method may produce unexpected behavior in specific compilation environments

Evaluation scores

Code quality3.0
Strategy logic1.0
Risk management5.0
Robustness3.0
Innovation2.0
Documentation2.0
Overall2.7

Parameters

ParameterDefaultDescription
Indicator1_PathExamples\MACDPath of indicator 1
Indicator2_PathExamples\ADXPath of indicator 2
Indicator3_PathExamples\ATRPath of indicator 3
Indicator4_PathExamples\CCIPath of indicator 4

Similar Utility EAs

Backtests are historical simulations and do not guarantee future results. Not financial advice.

Get the weekly Arena report

One email a week: ranking changes, new signals and new research. No spam; unsubscribe any time.