EA-56324 · Utility

pull all ticks

This EA is a tick data download utility that systematically pulls historical tick data from the broker for all symbols in the Market Watch. It uses a download manager with persistent state to resume downloads across terminal restarts, navigating through symbols automatically via chart symbol/period switching.

Open the interactive view (equity curve, symbol switch)

Key facts

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

Backtest results (H1, about 1 year)

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

Strategy analysis

This EA does not execute any trading strategy; it is a pure utility designed for batch downloading historical tick data. Its core logic operates in two phases: first, it discovers the oldest available tick timestamp from the broker by querying CopyTicks in reverse-chronological jumps of 30 days from the current server time; second, it sequentially pulls all ticks from that oldest timestamp to the most recent candle time in user-specified batch sizes. The CDownloadManager struct orchestrates traversal of all Market Watch symbols, persisting its state (symbol list, current index, started/finished flags) to a binary file for crash recovery and resume capability. After completing tick downloads for one symbol, it uses ChartSetSymbolPeriod to navigate the chart to the next symbol and continue the process. Entry conditions, exit conditions, position sizing, and money management are all inapplicable since the EA performs zero trading operations.

Strengths

  • Crash recovery via persistent binary state file, enabling resume after terminal restart
  • Automatic traversal of all Market Watch symbols without manual intervention
  • Efficient oldest-tick discovery using 30-day jump increments instead of linear scanning
  • Configurable date limit to prevent downloading excessively old data
  • Timer-driven execution ensures operation even without incoming ticks

Weaknesses

  • Lacks proper error handling - CopyTicks returning -1 only increments attempts without logging the specific error
  • Hard-coded Sleep(44) may trigger broker request frequency limits or be insufficient for some servers
  • Chart symbol/period switching is a brute-force navigation method that triggers chart redraws and indicator reloads
  • No retry mechanism when no ticks are found (oldest==LONG_MAX), only an Alert and ExpertRemove
  • No progress percentage or detailed logging, making it hard for users to gauge overall download progress

Possible improvements

  • Add comprehensive error handling with retry mechanisms including CopyTicks error code logging and exponential backoff for server throttling
  • Implement detailed progress reporting with percentage completion, estimated time remaining, and per-symbol download statistics logging

Risk assessment

Overall risk: Safe

  • No trading operations are performed, posing zero financial risk
  • High-volume CopyTicks requests may trigger broker API rate limits or be flagged as abnormal activity

Evaluation scores

Code quality3.0
Strategy logic3.0
Risk management5.0
Robustness3.0
Innovation3.0
Documentation1.0
Overall3.0

Parameters

ParameterDefaultDescription
limitDatetrueEnable date limit; stops search at oldest limit
oldestLimitD'2000.01.01'Oldest date limit for search termination
tick_packets300000Tick packet size per CopyTicks request (~60 bytes/tick)

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.