SLOW PortFolio Trader (No Multithreading implemented!)  [SOLVED]

Questions about MultiCharts and user contributed studies.
vindiou
Posts: 35
Joined: 01 Jun 2011
Has thanked: 8 times
Been thanked: 3 times

SLOW PortFolio Trader (No Multithreading implemented!)

Postby vindiou » 23 Aug 2015

Hi, here is my config:

- Latest version of MultiCharts 64 9.0b11210
- Windows 8.1 Pro
- Intel Core i7 860 @2.8ghz 4 real cores + 4 virtual cores
- 8 GB RAM

I find Portfolio Trader backtesting very slow because whatever the number of strategies, instruments & signals you'll use, it will ONLY use ONE core!

When will multithreading be implemented for Portfolio Trader backtesting??

Thanks!

User avatar
TJ
Posts: 7740
Joined: 29 Aug 2006
Location: Global Citizen
Has thanked: 1033 times
Been thanked: 2221 times

Re: SLOW PortFolio Trader (No Multithreading implemented!)

Postby TJ » 23 Aug 2015

Hi, here is my config:

- Latest version of MultiCharts 64 9.0b11210
- Windows 8.1 Pro
- Intel Core i7 860 @2.8ghz 4 real cores + 4 virtual cores
- 8 GB RAM

I find Portfolio Trader backtesting very slow because whatever the number of strategies, instruments & signals you'll use, it will ONLY use ONE core!

When will multithreading be implemented for Portfolio Trader backtesting??

Thanks!

See post #13
[FAQ] Backtesting / Optimization CPU Usage -- Single Core vs Multi-Core
viewtopic.php?f=16&t=10811

vindiou
Posts: 35
Joined: 01 Jun 2011
Has thanked: 8 times
Been thanked: 3 times

Re: SLOW PortFolio Trader (No Multithreading implemented!)

Postby vindiou » 24 Aug 2015

They say: "During backtesting only one core can be used, because the process is sequential, i.e. it depends on previous results to obtain a result at a later date. It cannot be split up into multiple cores".

I disagree, if you have several different strategies, each of them having their own data + their own signals, there should be a way to multithread these processes. Just think hard.

In this case, each strategy is independent from the others and their calculation can be done separately.

Once all strategies have gone through their backtesting process, the user could either:
- Let the results "as is" for each individual strategies OR
- Choose a "MIX" option which would combine all the results into one.

I'm really wondering if Portfolio Trader calculations are restrained/restricted on purpose: Even with one core, it doesn't fully use it and doesn't seem to do anything else since my SSD isn't accessed neither!

BTW, some compilers even create the multithreaded binary themselves : https://software.intel.com/en-us/articl ... -compilers

User avatar
Henry MultiСharts
Posts: 9165
Joined: 25 Aug 2011
Has thanked: 1264 times
Been thanked: 2957 times

Re: SLOW PortFolio Trader (No Multithreading implemented!)  [SOLVED]

Postby Henry MultiСharts » 25 Aug 2015

They say: "During backtesting only one core can be used, because the process is sequential, i.e. it depends on previous results to obtain a result at a later date. It cannot be split up into multiple cores".

I disagree, if you have several different strategies, each of them having their own data + their own signals, there should be a way to multithread these processes. Just think hard.
Hello vindiou,

There is no way to multithread these processes. Please study how Portfolio Calculation is done:
I'm really wondering if Portfolio Trader calculations are restrained/restricted on purpose: Even with one core, it doesn't fully use it and doesn't seem to do anything else since my SSD isn't accessed neither!
Portfolio Trader calculations are not restricted on purpose. Before a portfolio is calculated, data from all instruments contained in the Instrument List are either gathered from MultiCharts database or downloaded from a data provider's server. Once loaded the data is stored in the RAM cache in case of 64 bit MultiCharts and no access to hard drive is required for calculation.

vindiou
Posts: 35
Joined: 01 Jun 2011
Has thanked: 8 times
Been thanked: 3 times

Re: SLOW PortFolio Trader (No Multithreading implemented!)

Postby vindiou » 26 Aug 2015

Hello vindiou,
There is no way to multithread these processes. Please study how Portfolio Calculation is done
Thanks, I already read these pages.
The problem is that it seems that the multithreading approach has been completely ignored from the beginning when Portfolio Trader was created.
Since a lot of work has already been accomplished, I understand that now, it is difficult to implement multithreading as it may completely change what has already been done.
It is always much more difficult to implement it afterwards.
The project manager should have worked on it from the beginning...

Humans have a natural single-thread approach to any problem...


Return to “MultiCharts”