Tag: Dukascopy

  • How to Backtest a Forex EA with Dukascopy Data: A Step-by-Step Guide

    Practical Guides · 10 min read

    The quality of a backtest is only as good as the data it runs on. MetaTrader’s built-in historical data is convenient but frequently has gaps, incorrect prices, and quality issues — especially for periods before 2015.

    Dukascopy provides free, institutional-quality tick data for all major forex pairs going back to 2003 in some cases. Using this data produces backtests that are significantly more reliable than those run on broker-provided data alone.

    This guide covers the complete process from download to verified backtest result.


    Step 1: Download JForex Data from Dukascopy

    Go to dukascopy.com and navigate to the Historical Data Feed section. No account is required for free data access. Select your pair (e.g., EURUSD), set the date range for the full period you want to backtest, and choose Ticks as the data type. Download as CSV or the Dukascopy native format.

    For a full 13-year backtest from 2010 to 2023, expect to download multiple files — Dukascopy typically limits individual downloads to 1-3 months of tick data. You will need to merge these files before importing.

    Step 2: Use Tick Data Suite or Birt’s CSV2FXT

    MetaTrader cannot directly import Dukascopy’s raw CSV format. You need a conversion tool to create the correct file format.

    Two common options:

    • Tick Data Suite (TDS) — a paid tool (~$97 one-time) that automates the entire import process and enables “Every Tick Based on Real Ticks” modeling quality. The gold standard for serious backtesting.
    • Birt’s CSV2FXT — a free tool that converts Dukascopy CSV files to FXT format importable by MetaTrader. More manual setup but zero cost.

    Step 3: Import to MetaTrader History Center

    In MT4, go to Tools > History Center. Select your pair and timeframe. Click Import and select the converted file. MetaTrader will validate and import the data — this can take several minutes for large tick files.

    After import, go to Charts > Open Chart for the pair and scroll back through history to verify the data appears correctly and without gaps.

    Step 4: Run the Strategy Tester

    Open the Strategy Tester (Ctrl+R). Select your EA, the symbol, and the date range. Under Model, choose “Every Tick Based on Real Ticks” if using TDS, or “Every Tick” if using imported data without TDS.

    Set your spread manually to a realistic value for the period — use the historical average spread from your broker for the pair, not zero or a minimal value. For EURUSD, 1.0 pip is a reasonable average across a full period including news events.

    Step 5: Interpret the Results

    The backtest report will show the quality percentage — look for above 90%. Below 90% indicates data gaps or modeling issues that reduce reliability. The report also shows profit factor, drawdown, and total trades — compare these against any published backtests from the developer to verify consistency.

    Why This Matters

    A backtest run on broker data at zero spread with 70% modeling quality is not a useful evaluation tool. A backtest run on Dukascopy tick data at realistic spread with 99% modeling quality is the closest simulation to live trading conditions available to retail traders. The difference between these two tests, on the same EA, can be dramatic.

    Try It on a Demo Account First

    All BotFXPro EAs include a free MQL5 demo. Run it in Strategy Tester before committing to live.

    Chronos Algo — 13-Year Backtest Available on MQL5 →