A complete guide to collecting raw bid/ask ticks with millisecond precision – ideal for backtesting, latency checks, and machine learning.
📥 Download Trial Version
📂 The demo version (EX5,EX4) for live chart testing is attached below this blog post.
It works only on demo accounts and cannot be used on live trading accounts.
🔹 What Is Raw Tick Recorder?
Raw Tick Recorder is a utility tool (not a trading EA) designed for MetaTrader 5 and MetaTrader 4. It records every tick (bid/ask) your broker sends and writes it to local files in various formats, including:
-
.csv – human-readable format (Excel, Python)
-
.bin – high-performance binary for programmatic use
-
.bi5 – compressed format used by Dukascopy / Tickstory
This tool is ideal if you want to:
-
Build tick-level backtests
-
Compare brokers’ feed quality or latency
-
Train machine learning models with clean historical data
-
Archive quotes for compliance or research
🔧 How to Install and Run
1. Download the EA
-
If you purchased the EA, install from Market > Purchased in MetaTrader 5 (MetaTrader 4).
-
If you are testing: download the free demo from the Market page or from the link attached to this blog post.
2. Attach to a Chart
-
Open MetaTrader 5 (MetaTrader 4)
-
Choose the symbol (e.g., EURUSD, XAUUSD...) you want to record
-
Drag Raw Tick Recorder to the chart
-
Adjust parameters if needed (see below)
📌 One EA per chart = One symbol recorded.
Want to record multiple symbols? Open more charts.
⚙️ Input Parameters Explained
Parameter | Description | Default |
---|---|---|
SaveToCSV | Export .csv file | true |
SaveToBinary | Export .bin or .bi5 | true |
BinaryFormat | Choose .bin , .bi5 , or BOTH | BOTH |
ConvertToGMT | Save timestamps in GMT | false |
BufferSize | Number of ticks to buffer before writing | 1000 |
FlushIntervalSeconds | Backup flush (in seconds) | 30 |
OutputFolder | Custom folder to save data | TickData |
🗂 Output Folder Structure
By default, files are saved to:
Depending on format:
-
.csv and .bin : One file per session (appends on restart)
-
.bi5 : Automatically split hourly, stored under:
TickData/<Symbol>/YYYY/MM/DD/<Hour>h_ticks.bi5
A daily metadata .json file is also generated containing:
-
Symbol info
-
Broker
-
Digits
-
Configuration used
📈 Example Use Cases
-
Quants & ML engineers: collect clean raw input for models
-
Manual traders: verify broker spreads and spikes
-
Backtesters: use .bi5 with Tickstory/JForex
-
Prop firms: validate feed quality and quote delays
🐍 Bonus: Python Parser
Included with your download is a simple script:
This helps convert .bin and .bi5 files into clean .csv for further processing. You can edit it to suit your workflow (Pandas, NumPy, etc.).
❗ Important Notes
-
This EA does not trade or open orders
-
It is 100% MQL5 native – no DLLs, no WebRequest, no network access
-
It is safe to restart – appends to previous data
-
Resource usage is minimal: under 1% CPU, <20MB RAM
🛠 Troubleshooting
Problem | Solution |
---|---|
No files created | Check if AutoTrading is enabled, and chart is active |
Time zone mismatch | Set ConvertToGMT = true |
Files not saving | Ensure folder MQL5/Files/TickData exists and is writable |
Too many files | Use .bin only (smaller), or lower flush frequency |
🧠 Final Notes
Raw Tick Recorder gives you full control over your tick data pipeline — from clean acquisition to custom output.
You no longer have to rely on questionable broker history or third-party feeds.