Backtest - same code gets different trade results by changing end date
Backtest - same code gets different trade results by changing end date
22 Sep 2020, 21:13
Backtest -
I'm getting different trade results by changing end date
for example...
if I run 01/01/20 to 11/9/20 I get an overall equity high of 25k
if I run 01/01/20 to 18/9/20 (a later date) I only get an overall equity high of 17k
both runs using exact same code and setup parameters with tick level data for EURUSD
I'm able to recreate this... I'm using a live account
maybe its a cAlgo bug or how cAlgo backtest software calculates using number of days?
regardless something is very wrong
-DE
Replies
ctid1074959
23 Sep 2020, 13:53
RE:
PanagiotisCharalampous said:
Hi there,
Why do you expect to see the same results on different dates?
Best Regards,
Panagiotis
obviously I don't expect the same END resulting profit/loss
as mentioned above, I have a variable called :"absolutehigh" for highest profit point for time period... the "absoluteHIgh" for the shorter time period is higher (25k) vs the longer time period of (17k)... this should NOT be
what I do expect is the same trades for the same time periods
ie
if I run 01/01/20 to 11/09/20 compared to 01/01/20 to 18/09/20 the trades for both runs between 01/01/20 to 11/09/20 should be the same trades
currently they are NOT.... different trades (during the exact same period) are triggering just by moving the end date of the backtest to a later date
understand?
@ctid1074959
PanagiotisCharalampous
23 Sep 2020, 13:58
Hi ctid1074959,
as mentioned above, I have a variable called :"absolutehigh" for highest profit point for time period... the "absoluteHIgh" for the shorter time period is higher (25k) vs the onger time period of (17k)... this should NOT be
No, you did not provide this information in the original post. To help you further with this, you need to provide us with the complete cBot code and steps to reproduce this behavior e.g. cBot parameters or any other information we need to know.
Best Regards,
Panagiotis
@PanagiotisCharalampous
ctid1074959
23 Sep 2020, 14:18
RE:
PanagiotisCharalampous said:
Hi ctid1074959,
as mentioned above, I have a variable called :"absolutehigh" for highest profit point for time period... the "absoluteHIgh" for the shorter time period is higher (25k) vs the onger time period of (17k)... this should NOT be
No, you did not provide this information in the original post. To help you further with this, you need to provide us with the complete cBot code and steps to reproduce this behavior e.g. cBot parameters or any other information we need to know.
Best Regards,
Panagiotis
what email do I send to?
@ctid1074959
PanagiotisCharalampous
23 Sep 2020, 14:19
Hi ctid1074959,
You can post it here. If you don't want to disclose the code, you can send it to community@spotware.com
Best Regards,
Panagiotis
@PanagiotisCharalampous
ctid1074959
23 Sep 2020, 18:30
RE:
PanagiotisCharalampous said:
Hi ctid1074959,
You can post it here. If you don't want to disclose the code, you can send it to community@spotware.com
Best Regards,
Panagiotis
Thank you. I sent the code and info as directed.
I exported the trades to review and compare... it seems the longer time period changes the trade execution somehow showing different prices for the same trades and therefore a difference in comparable profit
-de
@ctid1074959
ctid1074959
23 Sep 2020, 18:34
RE: RE:
ctid1074959 said:
PanagiotisCharalampous said:
Hi ctid1074959,
You can post it here. If you don't want to disclose the code, you can send it to community@spotware.com
Best Regards,
Panagiotis
Thank you. I sent the code and info as directed.
I exported the trades to review and compare... it seems the longer time period changes the trade execution somehow showing different prices for the same trades and therefore a difference in comparable profit
-de
Hopefully you can figure this out and fix this quickly... otherwise using backtest is NOT accurate and NOT reliable.
Thanks again for taking a look... I'm excited to hear your findings.
--de
@ctid1074959
ctid1074959
23 Sep 2020, 18:42
RE: RE: RE:
ctid1074959 said:
ctid1074959 said:
PanagiotisCharalampous said:
Hi ctid1074959,
You can post it here. If you don't want to disclose the code, you can send it to community@spotware.com
Best Regards,
Panagiotis
Thank you. I sent the code and info as directed.
I exported the trades to review and compare... it seems the longer time period changes the trade execution somehow showing different prices for the same trades and therefore a difference in comparable profit
-de
Hopefully you can figure this out and fix this quickly... otherwise using backtest is NOT accurate and NOT reliable.
Thanks again for taking a look... I'm excited to hear your findings.
--de
I see out of 245 trades 12 were executed differently (i.e. at a different price than it's counterpart) when comparing same trades of two different lengths of backtest; that's almost 5% of trades executed differently... so probably as the number of trades grows the impact increases to profit/loss calculations
@ctid1074959
martins
01 Oct 2024, 15:47
( Updated at: 01 Oct 2024, 17:52 )
RE: Backtest - same code gets different trade results by changing end date
Hi,
I've jusy spent a few hours trying to debug why a cBot logic change altered the trade pattern, but couldn't use the feature of clicking on the yellow balance line, or a trade in the history, to redraw the upper chart with the price & trades, because (I think) you can only go back a 1000 or 2000 trades from the end (is that right?) - so I needed to shorten the backtest period in order to find the relevant part of the chart that matched the history.
BUT, because of the 'feature' mentioned in this forum item, the equity after the early trades was completly different (due to, as I now know, it using currency conversion rates from different end dates) so the trades soon became completly different too - in other words I couldn't easily find the relevant parts of the longer before & after charts by shortening the period of backtest. The fact that the program change hadn't actually caused a difference in early trades was additionally confusing - it made me wonder whether the change was in effect or not!
Is there any way of avoiding this effect - say, by using the beginning date for currency rates (since you'd expect trades to alter with a different start date anyway), or some specified date, or even better when the currency pair actually contains the currency rate needed (eg GBPUSD with an account in GBP) then use the proper dynamic rate?
(I suppose another way would be to make cBot decisions based on some sort of overall pips*volume profit measure, to avoid the arbitary exchange rate, but that seems overkill! [and wouldn't include commission or swap])
I suppose another, easier, way, using cTrader as it is, would be to have a cBot parameter to say if/when to stop trading earlier than the backtest end date (using the latter to set the same currency rate and the parameter to control the number of trades or early end date), so there are few enough trades to allow the chart scrolling to work from the yellow balance & the history. BTW, what is the limit for that?
(using cTrader Desktop v4.9.2)
@martins
PanagiotisCharalampous
23 Sep 2020, 08:24
Hi there,
Why do you expect to see the same results on different dates?
Best Regards,
Panagiotis
Join us on Telegram
@PanagiotisCharalampous