I’ve installed the Harmonic Pattern Scanner on cTrader Desktop (demo account, latest version). When I click the “Settings” button, I get a blank white window. After enabling WebView2 and installing .NET 6 runtime, I now get a system error:
System.NullReferenceException: Object reference not set to an instance of an object. at Syncfusion.Windows.Forms.MetroForm.UpdateSystemButtonsImages()
System.NullReferenceException: Object reference not set to an instance of an object. at Syncfusion.Windows.Forms.MetroForm.UpdateSystemButtonsImages()
I’ve tried all the following:
Reinstalling the bot
Launching cTrader as administrator
Ensuring full access permissions
Installing all required runtimes
Nothing resolved the issue. The bot UI fails to render.
Please advise if this is a known bug or if an updated version is available.
Thank you!
This is a programming/coding issue. The error message makes it apparent - the code is trying to use an object that isn't being initialized or set in the code, hence the “null reference exception”.
The coder of the bot needs to debug their code and find out what it is.
Or they can share the code with someone to help out.
Either way, from everything you've shared right now, it's a pure coding issue, and nothing to do with cTrader itself.
Now my problem is I bought 1 lot of US100 then I close partial volume using this code
double volume = 0.5;ModifyVolume(volume)
it says Bad Volume.
But when I close .5 lot using a normal close, I mean not using a bot, it accepted it.
Post your code. For all I know, your code could have done something else, or reduced the size already before, or you could be using the wrong position or something else.
The code is below. To replicate, you have to buy 1 lot of US100 (Nasdaq).
using System;using System.Linq;using cAlgo.API;namespace cAlgo.Robots{ [Robot(AccessRights = AccessRights.None, AddIndicators = true)] public class TestModifyOrder : Robot { protected override void OnStart() { var position = Positions.FirstOrDefault(); if (position != null) { try { double volume = 0.5; TradeResult tradeResult = position.ModifyVolume(volume); if (tradeResult.IsSuccessful) { Print("Success!"); } else { Print($"Error: {tradeResult.Error}"); } } catch (Exception ex) { Print(ex.Message); } } } protected override void OnTick() { // Handle price updates here } protected override void OnStop() { // Handle cBot stop here } }}
Works perfectly for me.
I bought 1 lots of NAS, then started the bot:
Your statement “var position = Positions.FirstOrDefault();” might not work as you want if you have other positions open at the time because “.first()” may or may not return NAS as the first position in the open positions you have.
firemyst
25 Apr 2025, 05:53
RE: RE: RE: RE: risk reward
jobstkevin02 said:
Screen capture. I have no idea how you can go from version 5.1.14 to 5.3.62 when the current Windows desktop version is 5.2.5.
You're apparently not running the web-based version of cTrader, nor the Windows desktop version.
@firemyst