Changelog for cTrader Algo API
5.6
November, 2025
What's new
- New
ChartTemplatesAPI allows you to retrieve, create, update, remove and apply chart templates. - New
Symbol[]parameter type allows you to pass multiple symbols to an algo, with a multi-symbol picker UI representation. - New
Enum[]parameter type allows you to pass multiple values of an enum type to an algo, with a multi-enum value picker UI representation. - New
TimeFrame[]parameter type allows you to pass multipleTimeFramevalues to an algo, with a multi-period picker UI representation. - New
MultiSelectalgo control allows you to let users of your algo select multiple unique string values. - New
OpenDevToolsWindowmethod forWebViewcontrol allows you to open dev tools for a WebView control instance. - New
SwapCalculationTypefor symbol points.
Improvements
TimeFrameparameter types upgraded to support custom periods in plugins.DateTimeparameter type changed to use new hard coded default value of31/10/2025 00:00:00if not set by algo instead ofDateTime.MinValue.DateOnlyparameter type changed to use new hard coded default value of31/10/2025if not set by algo instead ofDateOnly.MinValue.TimeSpanparameter type changed to use new default value of00:00:00if not set by algo instead ofTimeSpan.MinValue.TimeSpanparameter type changed to use new min value of00:00:00and max value of23:59:59if not set by algo instead ofTimeSpan.MinValueandTimeSpan.MaxValue.- Some built-in algo samples added to the list of C# and Python algorithm templates and algo samples GitHub repositories.
- Source code of all built-in indicators added to the C# and Python algo samples GitHub repositories.
- Chart view-port data transfer to algos refactored from from eager to lazy. This change prevents unnecessary resource usage in cases where an algo does not use chart view-port API members.
Bug fixes
- Chart controls with coordinates resulting in problems when used alongside chart objects.
- Account related data, such as positions, pending orders and others, not being updated when trading account is switched for plugins.
DateTimePickercontrolValueChangedevent not being triggered when value is set by algo.
5.5
September, 2025
What's new
- New
Symbolparameter type allows you to select a symbol from your account symbols list and pass it to an algo. - New
TimeSpanparameter type allows you to pass a typed time interval or time of day to an algo, with a time picker UI representation. - New
DateTimeparameter type allows you to pass a typed date and time in your algo's time zone, with a date-time picker UI representation. - New
DateOnlyparameter type allows you to pass a typed date to an algo, with a date picker UI representation. - New
Parameterscollection property, added toPluginType(similar toIndicatorTypeandRobotType), allows you to access plugin parameters in code. - New
DateTimePickeralgo control allows you to easily get a date and time value from a user of your algo.
Improvements
- Changed loading for account deposit asset from eager to lazy mode to prevent deposit asset not found errors during algo start-up.
Bug fixes
- New loaded bars after calling
LoadMoreHistoryin plugins were not added to chart. - Chart bars were not being updated after switching chart symbol or time frame in plugins.
- Incorrect number of positions returned inside the position opened event handler when accessing
Positions.Count
5.4
July, 2025
What's new
- Plugin hotkeys API: New API objects for plugins allow you to add global hotkeys. These hotkeys behave like built-in cTrader hotkeys and work everywhere.
- Parameter and output descriptions: New
Descriptionproperty in parameter and output attributes shows tooltips in the UI when users hover over them. - Chart bars toggle: New
Barsflag in chart display settings allows you to hide chart bars. The flag removes the need for transparent colours and prevents scaling issues by not drawing bars. - Setting active frames: New
Activatemethod in theFrameclass allows plugins to set the active chart or frame. - Bar outputs: Indicators can now output
OHLCbars with volume instead of a single data series. The output allows displaying custom bar charts on panels or the main chart and can be reused by other indicators. - Data series for plugins: New
CreateDataSeriesmethod allows plugins to create data series. The created series can be passed as inputs to internal indicators. - Panel child properties: New
Children,HasChildandChildrenCountproperties let you access and work with panel contents. - Grid panel position info: New
GridChildPositionInfomethod returns a child’s position in the grid. - Main menu API for plugins: New API lets you add menu items with SVG icons to the main menu. Top menu items can show custom controls. Bottom menu items can trigger plugin handlers.
- Plugin parameters: Plugins can now use parameters the same way indicators and cBots do. The parameters are visible and editable in plugin settings.
Improvements
AssetsAPI is refactored to reduce resource usage.SleepAPI is improved to prevent freezing for cBots and indicators when the market is closed.
Bug fixes
- No API bugs were found or fixed in version 5.4.
5.3
June, 2025
What's new
- Custom timeframe API: New API lets plugins define custom timeframes and supply data for them.
- Custom symbol API: New API lets plugins create custom symbols. The created symbols can be based on existing ones or defined from scratch and behave like broker symbols.
- Custom backtesting data source: New API allows plugins to provide backtesting and optimisation data. The API supports external tick data and third-party feeds.
- Notification popups: Algos can now show popup alerts similar to built-in cTrader notifications.
- Symbol sentiment access: Algos can now read sentiment data for symbols.
Improvements
- Cross-timeframe backtesting: Improved error messages for incompatible timeframe use in backtesting and optimisation.
- Updated Help Centre link in default algo templates.
- Made
Account.UserIdandAccount.Nicknameavailable for Cloud cBot instances. - CID disconnection handling: Algos keep running and return the last known account data when CID disconnects.
- Message timeouts: Timeout handling prevents algos from getting stuck while waiting for a response from cTrader.
- Help Centre API updates: Added protected API methods to the Help Centre reference.
Bug fixes
Account.BrokerNamereturned empty in the console.- Algos froze when loading all account transactions.
RiskRewardtool in backtest incorrectly placed live trades.- Typo in
ChartObject.IsLockedproperty documentation. ComboBox.SelectionChangedwas triggered after setting the selected item before render.
