Live performance forward testing VS Historical backtesting

Adam Weil

Feb 25, 2013
Assuming that you have an account with a reasonable balance and for any reason, you have decided to implement an expert advisor on your trading station, then you got a brand. new Forex robot with enough good reputation and suitable price! Or for other instance, you have coded a new EA or strategy that worked well during your manual daily trading by yourself to automate your trading.

Let's start by saying that you should never run even the best Forex robot in the world on your real account before backtesting it on historical data and testing its live performance on a demo account, even both of these evaluational processes don't precisely reflect the true behavior of your EA if run on a real Forex account for many reasons (will be mentioned later), but they could give you a general idea to decide whether to run it on your real account, give it another trial looking for its best settings that fit with your conditions or even request a refund and give it back to its author (Never pay for an EA without a refund policy).

Good correlation between backtesting, out-of-sample and live performance testing results is vital for determining the viability of a trading system. While backtesting as a simulating process has many disadvantages as it's natively a standalone mathematical process based on mostly offline historical data, it's mandatory for testing of some types of strategies, therefore backtesting results may include orders that are not filled in real-time strategy calculation or real-time strategy trading and here is the most prominent reasons for that:

  1. Live Market Reaction: The market movements are simply reactions to the traders orders, your live orders really affect the market whatever your trade size is, while in backtesting this has no rule.
  2. Broker latency: This is a dynamic constantly changing latency periods ranging from 1 millisecond to even 10 seconds caused by exchange latency and internet connection latency, a fixed latency time in backtesting for example set for 300 milliseconds doesn't compensate that.
  3. Orders Filling: In backtesting this is done depending on the main data series price without taking Volume into account.
  4. Historical Data Structure: Most of its forms are as time-based bars (minute, daily etc) depending on a ticks group containing just Open, High, Low, and Close prices without the actual price movement within each bar from these four values.
  5. Missed Tick or Wrong Ticks Data: A singl tick difference between those available for backtesting and the real live data could result in a complete difference between the live and backtest charts for the same period under the same conditions, what missleads the tested Expert Advisor or strategy calculations.

Certain charts can magnify the difference between live and historical calculation as Point and Figure chart.

Best Profitable Wishes
Adam Weil