Bug? Performance issue with tick-data backtesting

Created at 12 Sep 2023, 15:03
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!
GH

ghcaplan

Joined 15.08.2019

Bug? Performance issue with tick-data backtesting
12 Sep 2023, 15:03


Hi

When I run a backtest with tick data there is a long pause (100+ seconds) between the last tick being run and the reports being presented and the run button going live again.

The bot isn't trading - just analysing the market. It's only printing out a few lines of stats to the Log at the end of the run.

It surely can't take that long to generate a trading report with no trades? 

I have a Win 10 Pro workstation with 24 cores and 96 gigs of memory, so it's not as though my machine is under-resourced.

This pause seriously slows down the workflow. Please take a look and see if it can be fixed.


@ghcaplan
Replies

PanagiotisChar
13 Sep 2023, 05:45 ( Updated at: 13 Sep 2023, 05:59 )

Hi there,

In order to get assistance, you would need to share the cBot code that reproduces the problem


@PanagiotisChar

scotpip
14 Sep 2023, 19:00 ( Updated at: 05 Sep 2024, 16:32 )

RE: Bug? Performance issue with tick-data backtesting

Thanks for responding!

No need for my script - I think this is a generic bug.

To reproduce:

  1. I created a new hello-world script and built it without alteration.
     
  2. Ran EURUSD from 2014 - 2022 with server ticks.
     
  3. From the point the progress bar stopped at the last tick to the point the Stop message was printed to the Log and the Run button was re-activated took very nearly 6 minutes. This is pretty extreme!

During this extended pause, the CTrader client was thrashing my CPU pretty hard. with a dark red High Power Usage flag in the Task Manager. It wasn't leaking memory.

I experience these extended pauses at the end of every tick-resolution run, whatever the script. The longer the run, the longer the pause.

I note that at least one other user has reported a similar issue in the forum.

As I've said, I have an HP Z-series workstation with Windows 10 Pro, 24 Xeon cores and 96 GB of memory, so it's not a client-side resource issue.

Seems to me that you have a significant issue on your side. I'd very much appreciate a fix.


@scotpip

PanagiotisChar
15 Sep 2023, 06:20

RE: RE: Bug? Performance issue with tick-data backtesting

scotpip said: 

Thanks for responding!

No need for my script - I think this is a generic bug.

To reproduce:

  1. I created a new hello-world script and built it without alteration.
     
  2. Ran EURUSD from 2014 - 2022 with server ticks.
     
  3. From the point the progress bar stopped at the last tick to the point the Stop message was printed to the Log and the Run button was re-activated took very nearly 6 minutes. This is pretty extreme!

During this extended pause, the CTrader client was thrashing my CPU pretty hard. with a darky red High Power Usage flag in the Task Manager. It wasn't leaking memory.

I experience these extended pauses at the end of every tick-resolution run, whatever the script. The longer the run, the longer the pause.

I note that at least one other user has reported a similar issue in the forum.

As I've said, I have an HP Z-series workstation with Windows 10 Pro, 24 Xeon cores and 96 GB of memory, so it's not a client-side resource issue.

Seems to me that you have a significant issue on your side. I'd very much appreciate a fix.

I don't work for cTrader, I am just trying to help you. I have hundreds of cBots and it works fine on my cBots so it is not a general bug. If you want to be helped, you need to share the info requested. Else nobody will bother.


@PanagiotisChar

scotpip
15 Sep 2023, 15:35

RE: RE: RE: Bug? Performance issue with tick-data backtesting
PanagiotisChar said:

scotpip said: 

Thanks for responding!

No need for my script - I think this is a generic bug.

To reproduce:

  1. I created a new hello-world script and built it without alteration.
     
  2. Ran EURUSD from 2014 - 2022 with server ticks.
     
  3. From the point the progress bar stopped at the last tick to the point the Stop message was printed to the Log and the Run button was re-activated took very nearly 6 minutes. This is pretty extreme!

During this extended pause, the CTrader client was thrashing my CPU pretty hard. with a darky red High Power Usage flag in the Task Manager. It wasn't leaking memory.

I experience these extended pauses at the end of every tick-resolution run, whatever the script. The longer the run, the longer the pause.

I note that at least one other user has reported a similar issue in the forum.

As I've said, I have an HP Z-series workstation with Windows 10 Pro, 24 Xeon cores and 96 GB of memory, so it's not a client-side resource issue.

Seems to me that you have a significant issue on your side. I'd very much appreciate a fix.

I don't work for cTrader, I am just trying to help you. I have hundreds of cBots and it works fine on my cBots so it is not a general bug. If you want to be helped, you need to share the info requested. Else nobody will bother.


@scotpip

scotpip
15 Sep 2023, 15:40 ( Updated at: 16 Sep 2023, 13:59 )

RE: RE: RE: RE: Bug? Performance issue with tick-data backtesting

I've shown a simple way to replicate the bug - so I'm not clear what you're objecting to?

Are you backtesting with extended runs of server ticks? Because that's where the issue occurs. 

Also, as I've said, others are reporting the same problem.

It would be comforting if someone from the CTrader team responded. They don't seem to have a formal bug reporting system, so this is all we've got - hopefully they monitor the forum regularly?


@scotpip

PanagiotisChar
17 Sep 2023, 05:25

I've shown a simple way to replicate the bug - so I'm not clear what you're objecting to?

You haven't. That is exactly what I am asking

Are you backtesting with extended runs of server ticks? Because that's where the issue occurs. 

Yes, no problem on my side

Also, as I've said, others are reporting the same problem.

Can you share a link?

It would be comforting if someone from the CTrader team responded. They don't seem to have a formal bug reporting system, so this is all we've got - hopefully they monitor the forum regularly?

Even if they respond, they will ask for the exact same info


@PanagiotisChar

scotpip
18 Sep 2023, 07:22 ( Updated at: 18 Sep 2023, 08:20 )

RE: Bug? Performance issue with tick-data backtesting

Hi Panagiotis

I'm not finding this a welcoming experience to the community - is this really how bug reports are handled here?

I've explained that I'm experiencing this issue when running the hello world default script.

What more do you want? Instead of giving me the brush off, please explain why you are dismissing this information and insisting that my report will be ignored unless I provide a different script that has the same issue?

I'd also point out yet again that others are reporting the same problem.

To repeat - when I run 8 years of server ticks through the hello world script, the client pauses for around 6 minutes at the end of the run, thrashing my CPU, before writing the stop message to the log and ungreying the run button. With shorter runs I get shorter pauses, but still much longer than I would expect given that this is a dummy script and there is nothing to analyse.

This is 100% repeatable on a Win 10 Pro workstation with 2 x 12 core Xeon processors and 96 GB of memory.

I really don't see how I can be any clearer.

If I was a developer and multiple users reported this issue I would want to check it out rather than ignoring the report. I'm happy to provide any additional information needed, provided the request makes sense and moves the issue forward. 


@scotpip

PanagiotisChar
18 Sep 2023, 08:24

I've explained that I'm experiencing this issue when running the hello world default script.

What is a hello world script? Could you at least share the code?

If I was a developer and multiple users reported this issue I would want to check it out rather than ignoring the report.

I am not the developer, I just tried to help you in my free time as a community member. It seems you do not want to help me to help you so apologies for bothering.


@PanagiotisChar