Incredible different results when running live

Created at 20 Jan 2018, 23:04
How’s your experience with the cTrader Platform?
Your feedback is crucial to cTrader's development. Please take a few seconds to share your opinion and help us improve your trading experience. Thanks!
LE

leohermoso

Joined 31.01.2016

Incredible different results when running live
20 Jan 2018, 23:04


I am having a huge concern here! The results from backtests and from live trading is very very different, what makes me think backtesting tool have no use at all. 

 

In january with pound riping against dolar the real problem appear i am carrying a huge drawdown because backtests uses some unrealible algo to do math and tests strategys.

Its the second time i am writing about it and i need some help to figure whats happening... i have a monthly flow of more than 1000 lots and this is taking my sleep out.

 

Please reconsider your backtest tool and even make it unavailable until you guys have a reliable tool BACKTESTING

Live trading on pepperstone


@leohermoso
Replies

PanagiotisCharalampous
22 Jan 2018, 14:20

Dear leohermoso,

Can you please confirm that you are comparing the same conditions for live and backtesting results? In the post you mention January but in the results we can see only trade statistics for November. You did not provide the period for the backtesting results.

Best Regards,

Panagiotis

 


@PanagiotisCharalampous

leohermoso
22 Jan 2018, 16:11

Of course are the same period! othewise this topic makes no sense! What i meant its because January drawdown( that i am still taking) i was able to realize the different results... The backtest was performed 01/11/2017 to 30/11/2017 same period the bot did run non-stop in a ultra low latency vps from forexvps.net. 


@leohermoso

PanagiotisCharalampous
22 Jan 2018, 16:23

Dear leohermoso,

Thanks for clarifying. The principle here is that backtesting should provide exact same resulys to a real scenario given that it is provided with the exact same inputs. However we cannot control all the inputs therefore we advise you backtesting should be used with caution and should be approached as an indicative representation of market conditions.

In backtesting we try to provide trading conditions as close as possible to reality however it is impossible to provide an exact match for many reasons. A couple of them are the following

  • Depth of market. Currently backtesting does not offer DoM information therefore it might lead to different execution prices that in a live environment. Durng backtesting orders are executed at Spot price instead of VWAP price.

  • Latency. Backtesting cannot simulate the effect of execution latency that might result to an execution price different than quoted prices.

Therefore when backtesting a robot on a specific period, deviations from the real result are expected.

My advice to everybody is to use backtesting to understand the general behavior of the algorithm rather than trying to make an exact prediction of an algoritm's outcome. This is an impossible task since there are many uncontrollable factors during trading and execution.

Best Regards,

Panagiotis


@PanagiotisCharalampous

Drummond360
22 Jan 2018, 18:13

Hi All,

When back testing you need to make sure you are using tick data from server.. If you use minute bars you are only getting the open price to test with... This can be the difference between millions in profit and a blown account...

Also in your account images above you have 178 open positions! if you are trailing stops or doing anything onTick then latency could be a big issue!

Happy trading...


@Drummond360

leohermoso
23 Jan 2018, 04:36

I discovered the problem, i have two rules for order cancelation:

 

 else if (Symbol.Ask > sellprice_)                      
                        {
                            cancel_orders_by_side(VR_label, TradeType.Sell, VR_label);

                        }

This is for Short pending orders, so whats happens is even with 1.2 ms latency with broker server, broker took 200-300ms to execute request to cancel, this is a infinite time in terms of HFT. So i am pulling pending order out and using market orders instead.

 

You could include an option to delay execution in backtest like quantconnect have, will make results closer to reality! 

 

ps: Drummond i am using tick data to backtest!

 

Best Regards

 

Leo Hermoso


@leohermoso