Does cTRADER support Multi-Core & Threading

Created at 23 Apr 2016, 17:22
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!
GoldnOil750's avatar

GoldnOil750

Joined 07.04.2015

Does cTRADER support Multi-Core & Threading
23 Apr 2016, 17:22


Hi,

I wanted to ask a few question :  (I am using core-i7, 4800mq, 4-Core, 8-Thread with 16gb Memory.

1.  Does cTRADER benefits from Multi-Core Processor ?  

2.  Does cTRADER benefit from Multi-Threading ?

3.  using a cBOT which works on "onTICK" method, and assuming of getting hundreds of TICKs per second, how does the "onTICK" method executes.  Does it will queue all "onTICK" methods and use Single-Core, Single-Thread or it will use what is available.

4.  If the "onTICK" method can use Multi-Thread, Multi Core features, then how does it guarantee that the instruction or logic that has to be executed is exclusive and does not create an error due to a certain "onTICK" method executing faster.

Reason for asking these questions are that I by each new version of cTRADER being launched by my BROKER i.e. update, it is more and more unreliable in terms of (1) Hang/Feeze and (2) Disconnection.  I am convinced more then enough that cTRADER is only good for (a) Manual Trading and (b) Naked Charts.  As if you

(i) attach 2 to 3 indicators to a Chart and

(ii) Open 6 to 7 Forex Currency Charts with

(iii) 4 to 5 Positions on each Chart

(iv) attach a cBOT which manages "Stop-Loss" and "Take-Profit" only, using "OnTick" method using 2 to 3 indicator input values, then cTRADER after running for hour or so becomes highly unstable, starts freezing or hanging and disconnects, and making the cBOT usless.

 

Please reply to the above questions and any way to make sure to force cTRADER to use Single-Core, Single-Thread and then again check its performance/issues I have highlighted.    As for now, I am moving to MT4 and keeping cTRADER for Naked Charts and drawing some trend lines manually.

 

Thank you

///S.Khan


@GoldnOil750
Replies

Spotware
26 Apr 2016, 16:11

Dear Trader,

1.  Does cTRADER benefits from Multi-Core Processor ?  

2.  Does cTRADER benefit from Multi-Threading ?

Yes, it benefits.

3.  using a cBOT which works on "onTICK" method, and assuming of getting hundreds of TICKs per second, how does the "onTICK" method executes.  Does it will queue all "onTICK" methods and use Single-Core, Single-Thread or it will use what is available.

The will be triggered on each new tick that come after the new tick arrives in the Queue after the previous onTick method is finished, but it will consider all previous tick values and it uses single core.

We kindly ask you to check your cBot again and to avoid using unnecessary long loops on the onTick() Method of cBots or on the Calculate() Method of custom Indicators. 


@Spotware

GoldnOil750
26 Apr 2016, 17:17

RE:

Hi,

just the "in-built" cBOTs that comes with cALGO like Sample Martingale or Sample RSI bot;  Opening it on 5 to 6 Currency Pairs and with few 2 to 3 indicators on each chart;  cTRADER platform goes on freezing time to time especially when switching between charts.  And as soon as we have 20+ positions opened then frequent disconnections also starts.

Its not me but I see a lot of trader complaining of this "freezing" and "disconnection" on ctdn forum and many other forums.    I think SPOTWARE is just not addressing this issue of disconnection and freezing sincerely (like this is happening for the last 2 years now with me) and sooner or later; programmers will start leaving and with no more development and free resources available, TRADERS will also leave.

 

Thanks anyway;  for me it is done and moving to MT4.  Such a lovely platform cTRADER is but with such instability no-one can take risk on real LIVE accounts. The usual reply we receive from SPOTWARE is @we are improving, "it is modern platform so hence accept the glitches@, or vote on the new feature, etc  like replies.  

JUST open 10 Currency Pairs, add 3 indicators, add a cBOT to each pair (the sample RSI cBOT which comes with cALGO) and see what happens when 20+ postions are opened. It is not that difficult to see this freezing and disconnection.  Use a Brokers platform instead of SPOTWARE provided platforms !

///S.Khan

 

Spotware said:

Dear Trader,

1.  Does cTRADER benefits from Multi-Core Processor ?  

2.  Does cTRADER benefit from Multi-Threading ?

Yes, it benefits.

3.  using a cBOT which works on "onTICK" method, and assuming of getting hundreds of TICKs per second, how does the "onTICK" method executes.  Does it will queue all "onTICK" methods and use Single-Core, Single-Thread or it will use what is available.

The will be triggered on each new tick that come after the new tick arrives in the Queue after the previous onTick method is finished, but it will consider all previous tick values and it uses single core.

We kindly ask you to check your cBot again and to avoid using unnecessary long loops on the onTick() Method of cBots or on the Calculate() Method of custom Indicators. 

 


@GoldnOil750

GoldnOil750
26 Apr 2016, 17:26 ( Updated at: 21 Dec 2023, 09:20 )

RE: RE:

Just look the @DSASHOBARD@, made in MT4.  Just see the complexity and after all these indicators values being displayed, TRADER can switch between charts so smoothly w/o any freezing and lag.  Also, you can see the number of positions it is handling and 100 of calculations it is doing but never ever a chance of freezing or disconnection from the broker's server.

But on the other hand, cTRADER can't even handle 1% of it and the platforms freezes or disconnects from brokers server.

MT4 is handling, 28 PAIRS, their each and every Indicator values, then INPUT from 5-PINS that come from 5 other charts, then NEWs input, HEAT MAP, etc.....   and then there are buttons on the Chart that help traders to close, open a group of pairs, or individual pairs.  Like leave the TRADERs, can SPOTWARE with all its programmer team can produce a similar for 1-PIAR also ????  AND with all this MT4 does not crashes, freezes, or disconnects.

 

 

 

 

GoldnOil750 said:

Hi,

just the "in-built" cBOTs that comes with cALGO like Sample Martingale or Sample RSI bot;  Opening it on 5 to 6 Currency Pairs and with few 2 to 3 indicators on each chart;  cTRADER platform goes on freezing time to time especially when switching between charts.  And as soon as we have 20+ positions opened then frequent disconnections also starts.

Its not me but I see a lot of trader complaining of this "freezing" and "disconnection" on ctdn forum and many other forums.    I think SPOTWARE is just not addressing this issue of disconnection and freezing sincerely (like this is happening for the last 2 years now with me) and sooner or later; programmers will start leaving and with no more development and free resources available, TRADERS will also leave.

 

Thanks anyway;  for me it is done and moving to MT4.  Such a lovely platform cTRADER is but with such instability no-one can take risk on real LIVE accounts. The usual reply we receive from SPOTWARE is @we are improving, "it is modern platform so hence accept the glitches@, or vote on the new feature, etc  like replies.  

JUST open 10 Currency Pairs, add 3 indicators, add a cBOT to each pair (the sample RSI cBOT which comes with cALGO) and see what happens when 20+ postions are opened. It is not that difficult to see this freezing and disconnection.  Use a Brokers platform instead of SPOTWARE provided platforms !

///S.Khan

 

Spotware said:

Dear Trader,

1.  Does cTRADER benefits from Multi-Core Processor ?  

2.  Does cTRADER benefit from Multi-Threading ?

Yes, it benefits.

3.  using a cBOT which works on "onTICK" method, and assuming of getting hundreds of TICKs per second, how does the "onTICK" method executes.  Does it will queue all "onTICK" methods and use Single-Core, Single-Thread or it will use what is available.

The will be triggered on each new tick that come after the new tick arrives in the Queue after the previous onTick method is finished, but it will consider all previous tick values and it uses single core.

We kindly ask you to check your cBot again and to avoid using unnecessary long loops on the onTick() Method of cBots or on the Calculate() Method of custom Indicators. 

 

 


@GoldnOil750

swingfish
21 Feb 2019, 22:05

RE:

Spotware said:

Dear Trader,

1.  Does cTRADER benefits from Multi-Core Processor ?  

2.  Does cTRADER benefit from Multi-Threading ?

Yes, it benefits.

if you don't mind .. could you guys get into this a bit more in detail?

because if the software does truely support  Multi-Threading  a Xeon CPU would perform better, even if it has a slower clockrate.however if it doesn't a i5/i7 would be more suitable.

since there are significant costs involved, it would be very helpful to get more details on this from the Spotware end.

 

 

 

 


@swingfish

Conno123
21 Feb 2019, 23:42

Gold and Oil

I have to agree with you but my missing support and resistance lines were in the forefront of my mind this week. I have always run cTrader on very high end fast gaming machines. The last two being an Alienware Aurora R6 and my brand new R8 that I bought last week. Won't go into all the spec of each machine but both were and are powerful rigs.

I actually got in touch with FxPro customer support around Christmas to ask them if they were getting any reports from other clients about hanging, freezing and constant dropouts as like yourself this was becoming a major problem for me.  I had seen people posting such issues in various locations on the web but the FxPro help desk told me they hadn't received any similar reports so I left it at that. But I have to agree with you that I have also noticed [v3.0] cTrader was seemingly becoming increasingly resource hungry. One observation was that my CPU was often running at almost 100% when the app was running with the cooling fans kicking in which is something I don't often encounter even on games with ultra high graphics settings. I also have considered going over to MT4 but for the fact that I much prefer the cTrader UI I have stuck with it.

So far though v3.3 seems to have improved things for me on the performance front which I am thankful for apart from what now appears to be an incompatibility issue with one of the indicators I was using downloaded from the cTrader.com site.

I am also interested in spotwares reaction and comments on this issue.

 


@Conno123

ap11
22 Feb 2019, 17:49

Dear Mario and Conno123,

cTrader works in different threads. The main UI thread coordinates all the work.
If you have a lot of UI objects, like a deal map with a lot of historical trades, a lot of positions and pending orders on the chart, a lot chart objects drawn by indicators or cBots, it all might cause UI freezing and unresponsive behavior.
All of these objects are controlled by a user. Items on the chart can be hidden using the Viewing Options of a chart. If you experience any issues you can experiment with that.

cBots and indicators work in different threads than the UI thread but still coordinated by the main thread.
If you want to use multithreading in a single cBot or Indicator, you can do it. cAlgo API is not thread safe, but you can execute your code in another thread. You only have to remember that API method calls should be made from the main cBot/indicator thread. You can do this by wrapping a call into BeginInvokeOnMainThread method.

We are constantly working on increasing cTrader performance. Last year we have seriously modified our in house performance testing procedure. Many scenarios involving heavy usage of cTrader were not included before but now they are a part of the testing process. Version 3.3 and all upcoming versions include some performance improvements.
If you have a specific scenario of poor performance with steps to reproduce, it would be nice if you share it with us.

Best Regards,
Andrey


@ap11

GoldnOil750
23 Feb 2019, 06:52

Hi Andrey and Conno123,

hope you guys are well.  There is no doubt cTRADER has improved a lot.  Having said that doesn't means that the core issue, the NUMBER ONE reason which can turn the serious trader away is platform performance.

 

As Andrey said if we can share something with him to reproduce the lagging or freezing issues.  Very simple, just add  3 Moving Averages on the Chart and Two indicator like MACD and STOCH.  Open atleast 10 to 12 pairs and apply these indicators.  Just wait for small news in which certain GBP or EUR pair is moving a little faster and you will see that the platform freezes in terms :  (1) Cannot switch between pairs  (2) Opening a new Chart will not load the candles data...  

Just download the cTRADER platform from a broker like FxPro or IC Market or RoboForex....  do not use your own Spotware cTRADER platform.

 

Unfortunately, cTRADER is spendig more time on beautification of the platform and changing the UI constantly. 

        1. The new changes like the "TABS",  they are very long...   we can only fit 4 or 5 charts and then have to scroll from left to right which is very annoying.

        2. Sound button and other features that were first accessbile on a single click, but now are accessible on 2 or more clicks.

For a trader to get familiar and comfortable with the UI and suddenly you change it, can turn away traders and tell them that SPOTWARE cannot makeup its mind.  We are traders and would appreciate that less click and scrolling to get the most needed things or atleast allow the Trader to customize the ribbon as per his ease of use.

BUT HAVING said that the number one issues remain the PLATFORM freezing and slow response with just the basics default indicator.  If we go on adding 3rd party cBOTs or Indicators the platform crashes and we have to force terminate it.

I think and propose that cTRADER make a pool of volunteers (real traders i.e. the end users. not the coders) who are willing to give suggestions on the UI and can test the performance. They have a direct link with SPOTWARE and a weekly engineering call where performance issues can be discussed.  These kind of development where inviting the community and engaging the real traders will help.

If you just look at the PREVIOUS threads where i have shared a IMAGE of a dashboard from MT4, trust me in cTRADER we cannot achieve 10% of that also while MT4 runs all that and more without even sweating a drop whether there is volitality on few pairs or all pairs.  You can try yourself and go on ForexFactory and download the "Dashboard" on the thread "https://www.forexfactory.com/showthread.php?t=532236".


I have been saying this for a long time and now I am tired as if things are going to move so slow in this direction.... it is better to use MT4 while we wait for a more stable and fast cTRADER platform.

Its a beautiful UI but with the worst peformance issues when volitality increases on even 2 to 3 pairs.

regards,

///SKhan
 

 

 

 

 

 


@GoldnOil750

Conno123
23 Feb 2019, 13:24

Andrey - With the risk of appearing somewhat dim, your explanation went completely over my head, so I imagine I may not be the only one. Maybe GoldnOil [aka SKhan] who asked the original question related to processor architecture probably has a better understanding of your reply in which case I'm sure he appreciates the answer.

From my perspective the foundation of what he is trying to get across is that the cTrader platform for the average trader when compared to MT4 appears to have some basic performance issues when loaded with setups that MT4 doesn't even break a sweat over. His aim I believe is to try and suggest that it would be a better idea to focus more time and resources on improving cTrader in this regard rather than constantly tweaking the UI i.e. performance first, functionality and UI second. A delicate balancing act I know as you can please some people some of the time, but not everyone all of the time. 

I do note that you pointed out that some serious modifications have been made to the in house performance testing procedures recently which is great news. So far I have personally noticed much improvement with v3.3 when compared to v3.0 but I've only been using it for a week, so my experiences described here are mainly related to V3.0. If my first impressions with the latest version are an indication of further improvements to come then you are moving in the right direction.

I don't use MT4 on my live account as I much prefer the UI of cTrader, but when I read SKhan's original post it immediately stuck a chord with my own experience of cTrader v3.0 and earlier. As an example some time ago I can recall having over 20 charts open on MT4 when I was experimenting with a Renko bar system which required two screens open for each pair I was monitoring. On another occasion I had around 12 to 14 pairs open on MT4 with an early signal EA running independently on every screen. Not once did I experience the freezing, hanging or data delays that I experienced on cTrader with a setup of far less complexity.  I can recall that on some occasions which were more frequent than I care to admit, I'd actually be locked out of my screens when important news was released and the only way I could get functionality again would be to hit CTRL ALT DELETE, bring up the task manager, end the process, then reload cTrader afresh. Clearly not an ideal situation to find yourself in with a live account. Was this a market issue, a broker issue, a platform issue? Can't say for certain but I didn't experience any of this on MT4.

The other point here which is very difficult for individual users like myself to ascertain is how common are these problems? No disrespect intended but clearly it wouldn't be in Spotwares or the brokers interest to fully disclose the stats if the numbers were high. Not saying they are high, just saying apart from reading other posts on forums such as this can we the users actually get an idea on the extent of the problem.

To round up, the reasons for my comments are that I wished to add a little weight to the original posters observations as I had experienced something almost identical. However unlike GoldnOil I don't wish to switch over to MT4 and will give cTrader [v3.3] more time, but I can understand his reasons for doing so.

Regards


@Conno123