Backtest Data Quality Preflight
- Utilities
- Version: 1.0
- Activations: 5
Backtest Data Quality Preflight checks the historical data underneath a
backtest before the result is interpreted.
The utility reads an OHLC CSV file from MT5 Common/Files or MQL5/Files. It
accepts comma-, semicolon-, and tab-delimited files with a header row. Required
fields are a timestamp plus open, high, low, and close. Standard MT5 exports
with separate DATE and TIME columns are supported. Volume, tick volume, and
spread columns are optional.
WHAT IT CHECKS
- OHLC consistency and non-positive prices
- Duplicate bar timestamps
- Missing intervals under user-supplied session assumptions
- Spread values above a user-supplied threshold
- Consecutive zero-volume bars when volume is available
- Digits, point, and OHLC price-step alignment when supplied
- Malformed, non-finite, and out-of-range numeric input
The missing-interval check runs only when expected interval and trading days
are both supplied. Spread and digits/point checks also run only when their
inputs are supplied. A missing optional column is reported as not available;
it is not presented as a pass.
SUPPORTED INPUT
- CSV with comma, semicolon, or tab delimiters
- File size up to 50 MB
- A single datetime/timestamp column, or separate DATE and TIME columns
- Required: time, open, high, low, close
- Optional: volume or tick volume, and spread
Numeric values must use a period as the decimal separator. Locale decimal
commas and thousands separators are rejected rather than reinterpreted.
Timestamps are evaluated exactly as supplied. The utility does not infer or
convert time zones, broker sessions, daylight-saving rules, symbol properties,
or trading calendars.
OUTPUT
The utility writes two local text files: a plain-English Human Report and an
Evidence Pack containing the input hash, configuration hash, evaluated and
not-evaluated checks, detected signals, warnings, limitations, and disclaimer.
FAIL-CLOSED BEHAVIOR
Invalid files or configurations are rejected. Rejected values are not repaired,
filled, replaced, or silently converted. No data-quality signal table is
produced for rejected input.
LOCAL-ONLY OPERATION
The product runs locally as an EX5 utility. It does not import DLLs, make web
requests, upload files, connect to a broker, or execute orders.
IMPORTANT BOUNDARY
This product records data-quality signals for a supplied historical OHLC file.
It does not certify data, repair market data, estimate corrected strategy
performance, predict future profit, recommend an EA, provide investment or
trading advice, or guarantee prop-firm or account outcomes.
SUPPORT SCOPE
Support covers:
- Installation
- File location
- Supported CSV structure and delimiters
- Basic input and configuration errors
- Output file location
- Meaning of the reported data-quality signals
Support does not cover:
- Repairing, filling, converting, or sourcing market data
- Deciding the correct broker session, time zone, or trading calendar
- EA profitability analysis
- Trading advice or optimization parameter recommendations
- Broker, account, or prop-firm advice
- Rewriting user EAs or third-party exporters
OUTPUT FILES
- `<prefix>__human_report.txt`
- `<prefix>__evidence_pack.txt`
The output prefix is configurable in the script inputs.
