EA-209 · Utility

scOnTickMarketWatch

This is a script (not an EA) that monitors all symbols in the Market Watch window and fires custom chart events whenever a new tick arrives on any symbol. It works in conjunction with a companion EA (exOnTickMarketWatch) that receives and processes those custom events to print tick information.

Open the interactive view (equity curve, symbol switch)

Key facts

CategoryUtility
RiskSafe
Rating★★☆☆☆
TypeUtility tool
TimeframesM1, M5, M15, M30, H1, H4, D1
IndicatorsTimeCurrent, SymbolInfoInteger, SymbolInfoDouble
Author—

Backtest results (H1, about 1 year)

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

Strategy analysis

This script has no trading strategy; it is a market monitoring utility. The core concept is to detect new ticks across all symbols in the Market Watch window through a polling mechanism. Specifically, it runs a while loop checking TimeCurrent() every 500 milliseconds, and when a new server time is detected, it iterates through all Market Watch symbols, comparing each symbol's SYMBOL_TIME against the current tick time. If a symbol's time is greater than or equal to the current tick time, it fires a custom chart event via EventChartCustom, passing the symbol index, spread, and bid price as event parameters. There are no entry conditions, exit conditions, position sizing, or money management because it does not execute any trades. The script uses _StopFlag to detect user termination and Sleep(500) to control the polling frequency and reduce CPU usage. The companion EA receives these events through the OnChartEvent callback and prints the symbol name, list index, bid price, and spread information.

Strengths

  • Enables cross-symbol tick monitoring without running a separate EA for each symbol in Market Watch
  • Uses custom event mechanism for decoupled communication between script and EA, with reasonable architecture
  • Implements controlled polling loop via Sleep and _StopFlag, balancing performance with user control

Weaknesses

  • Polling approach is inefficient; 500ms delay may cause untimely tick events with lag in high-frequency scenarios
  • Event ID uses symbol index (pos) which can shift when Market Watch list changes, potentially causing misidentification
  • It is a script not an EA, requiring manual execution on each restart without auto-start support

Possible improvements

  • Replace polling with OnBookEvent or SymbolInfoTick approach to reduce CPU usage and improve real-time tick detection
  • Use a hash of the symbol name or a fixed ID as event identifier instead of positional index to prevent event misassignment when Market Watch list changes

Risk assessment

Overall risk: Safe

  • This script does not execute any trades, posing no trading risk
  • Polling approach may consume significant CPU resources under high-load environments

Evaluation scores

Code quality3.0
Strategy logic2.0
Risk management5.0
Robustness2.0
Innovation3.0
Documentation2.0
Overall2.8

Parameters

ParameterDefaultDescription
delay500Polling interval in ms (quote detection frequency)

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.