Correct basktests (Part 1): Main reasons why backtesting results shows growth, but live accounts burn out.

We started our way in algo trading in 2015 same as all others: huge amount of forex robots with constantly growing charts, EA purchases, live account implementation, first positive trades and joy!

“Finally there are robots what will work for us and earn money consistently, so there is no need to stay with a financial markets all the time!”

Oops….wrong: Live account in short terms start to go down and down until the moment where margin call is made.

Something is wrong let’s make research and here we go: what are key factors in reaching stable and profitable results when trading on live account using forex robots? Simple question consisting of more than 100 components, otherwise we can forget about sustainable consistent earnings.


Main reasons why backtesting shows growth, but live accounts burn out:

Backtesting with demo account history data. You launch backtesting process on any broker and MT4 automatically download necessary data to do it. The problem is that this data has nothing in common with real market movements. So how we can expect that our live account will perform with same results in this case? Impossible. Solution: Forget about backtesting process without downloading real market data.


Backtesting with real account history data by open/close price with no ticks. You launch backtest and somehow implement in process real data from live account history, but are you sure such backtesting process would be the same if you would trade all those years in live account? Don’t be, it’s wrong. When you backtest with open/close method without everytick involvement 99% of system will collapse, because in the market there are often huge tick movements that in real life would get you to your stop loss or any other order, but in this case you don’t know about it. Solution: Forget about backtesting process on fast modes. Unfortunately, we always need to set the most precise, but slowest model: Every tick.


Backtesting with real tick history data using every tick model. Ready to hear another trick? Why it still doesn’t quite work for most forex robot users and even robots developers? Here’s the deal: you do real tick data backtests with best software which imports from the most available free of charge tick data source in the world (Dukascopy), but where do you trade with your live account? That’s where the problem starts… huge list of different brokers: Tickmill, FXCM, XTB, IC markets, so on and so forth, we could continue the list with all 2000+ brokers from all the forex world, because we know most of them. Hope you got the point: how can you expect that backtested data build on history of Broker A would be the same on live account at Broker B? Sure, you can, but better don`t, because it does not work. Solution: to get 99,99% and even 100% same results you got on backtests you need to use same broker and same type of account. Yes, it’s hard to find (we spent more than a year to accomplish this task), but it’s worth it.


Backtesting with real tick history data by every tick model and trading with than same broker…

We do all the processes described above and go live trading with fastest and cheapest ECN type account and… no 100% again, again performance is much worse on live. WTF? Did you backtest with variable spreads or fix spread? ECN account has variable spreads, so backtesting process has to involve variable not fixed spread. Did you backtest with commissions applicable in your ECN account or without any commissions? Swap? Margin level? Time zone? And etc. Solution: Backtesting process needs to be done with 100% same conditions you have on live account. Is it possible? Yes, it is. It’s only a matter of experience, practice, special software and many hours of work and much more.