CPU low utilization on ctrader 4.7.9
CPU low utilization on ctrader 4.7.9
17 May 2023, 23:17
I'm facing a performance issue with cTrader version 4.7.9 on my two laptops.
I've noticed that when I carry out backtesting, the CPU usage remains low, despite setting the platform to use 100% of the CPU.
This is causing a significant slowdown in the speed of my backtesting process, which is impacting my ability to effectively use software for bot optimization.
Previously, I didn't experience this issue. The software was able to utilize the full potential of my CPU during backtesting, which allowed for a more efficient and faster processing time.
This is why the current situation is quite puzzling.
For your reference, I have send the report from desktop application.
Additionally, this issue is being experienced on two different laptops.
I've tried some basic troubleshooting steps such as restarting the laptops, reinstalling the software, and ensuring that there are no other intensive programs running in the background, but none of these steps have resolved the issue.
I would greatly appreciate it if you could look into this matter and provide me with any possible solutions or steps that I can take to resolve this problem.
I look forward to your response.
Replies
firemyst
18 May 2023, 08:04
RE:
PrincipalQuant said:
I'm facing a performance issue with cTrader version 4.7.9 on my two laptops.
I've noticed that when I carry out backtesting, the CPU usage remains low, despite setting the platform to use 100% of the CPU.
This is causing a significant slowdown in the speed of my backtesting process, which is impacting my ability to effectively use software for bot optimization.Previously, I didn't experience this issue. The software was able to utilize the full potential of my CPU during backtesting, which allowed for a more efficient and faster processing time.
This is why the current situation is quite puzzling.For your reference, I have send the report from desktop application.
Additionally, this issue is being experienced on two different laptops.I've tried some basic troubleshooting steps such as restarting the laptops, reinstalling the software, and ensuring that there are no other intensive programs running in the background, but none of these steps have resolved the issue.
I would greatly appreciate it if you could look into this matter and provide me with any possible solutions or steps that I can take to resolve this problem.
I look forward to your response.
Also, just for kicks, have you set your Windows Laptops to utilize any GPU's you have installed by default? It might be that your laptop is passing off the workload to the GPU instead of the CPU.
@firemyst
jbogocz
19 May 2023, 00:03
( Updated at: 21 Dec 2023, 09:23 )
RE:
Thank you for prompt reply.
1) I am using "Optimization"
2) When Optimization Slide is set to 100% either no CPU and no GPU is utilized (and I didnt set laptop to utilize GPU)
3) The only one difference between 4.7.9 vs previous version i.e. 4.1 is the "efficiency mode" which cannot be disabled.
4) It apply to any bot, for example here I put performance results for "Sample RSI cBot"
using cAlgo.API;
using cAlgo.API.Indicators;
namespace cAlgo
{
[Robot(TimeZone = TimeZones.UTC, AccessRights = AccessRights.FullAccess)]
public class SampleRSIcBot : Robot
{
[Parameter("Quantity (Lots)", Group = "Volume", DefaultValue = 1, MinValue = 0.01, Step = 0.01)]
public double Quantity { get; set; }
[Parameter("Source", Group = "RSI")]
public DataSeries Source { get; set; }
[Parameter("Periods", Group = "RSI", DefaultValue = 14)]
public int Periods { get; set; }
private RelativeStrengthIndex rsi;
protected override void OnStart()
{
rsi = Indicators.RelativeStrengthIndex(Source, Periods);
}
protected override void OnTick()
{
if (rsi.Result.LastValue < 30)
{
Close(TradeType.Sell);
Open(TradeType.Buy);
}
else if (rsi.Result.LastValue > 70)
{
Close(TradeType.Buy);
Open(TradeType.Sell);
}
}
private void Close(TradeType tradeType)
{
foreach (var position in Positions.FindAll("SampleRSI", SymbolName, tradeType))
ClosePosition(position);
}
private void Open(TradeType tradeType)
{
var position = Positions.Find("SampleRSI", SymbolName, tradeType);
var volumeInUnits = Symbol.QuantityToVolumeInUnits(Quantity);
if (position == null)
ExecuteMarketOrder(tradeType, SymbolName, volumeInUnits, "SampleRSI");
}
}
}
cTrader 4.7.9 Pefromance:
cTrader 4.1 Pefromance (same Bot, same hardware, same system):
@jbogocz
Spotware
18 May 2023, 08:02
Dear trader,
Can you please clarify if you are using backtesting or optimization? Backtesting cannot utilize 100% of the CPU since each backtesting run is executed on a single thread. If you experience the issue on optimization, please share the source code of the cBot you are using so that we can investigate further.
Best regards,
cTrader Team
@Spotware