Skip to content

Changelog for cTrader Algo API

5.7

March, 2026

What's new
  • New Floating value added to ChartMode enum allows you to set a chart container mode to the new floating mode.
  • New File parameter type allows you to pass a file to an algo, allowing the algo to read from and write to the file.
  • New File[] or multi file parameter type allows you to pass multiple files to an algo, allowing the algo to read from and write to any of the files.
  • New Archived, Custom and Enabled collection properties added to Symbols type make querying symbols easier and more performant.
  • New DATA-DIR option for CLI backtest command allows you to use a specific directory for saving and loading price data when backtesting cBots with CLI. This option eliminates the need to download historical price data multiple times when CLI is used via Docker.
Bug fixes
  • ChartTemplates.DefaultTemplate being null.

5.6

November, 2025

What's new
  • New ChartTemplates API 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 multiple TimeFrame values to an algo, with a multi-period picker UI representation.
  • New MultiSelect algo control allows you to let users of your algo select multiple unique string values.
  • New OpenDevToolsWindow method for WebView control allows you to open dev tools for a WebView control instance.
  • New SwapCalculationType for symbol points.
Improvements
  • TimeFrame parameter types upgraded to support custom periods in plugins.
  • DateTime parameter type changed to use new hard coded default value of 31/10/2025 00:00:00 if not set by algo instead of DateTime.MinValue.
  • DateOnly parameter type changed to use new hard coded default value of 31/10/2025 if not set by algo instead of DateOnly.MinValue.
  • TimeSpan parameter type changed to use new default value of 00:00:00 if not set by algo instead of TimeSpan.MinValue.
  • TimeSpan parameter type changed to use new min value of 00:00:00 and max value of 23:59:59 if not set by algo instead of TimeSpan.MinValue and TimeSpan.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.
  • DateTimePicker control ValueChanged event not being triggered when value is set by algo.

5.5

September, 2025

What's new
  • New Symbol parameter type allows you to select a symbol from your account symbols list and pass it to an algo.
  • New TimeSpan parameter type allows you to pass a typed time interval or time of day to an algo, with a time picker UI representation.
  • New DateTime parameter type allows you to pass a typed date and time in your algo's time zone, with a date-time picker UI representation.
  • New DateOnly parameter type allows you to pass a typed date to an algo, with a date picker UI representation.
  • New Parameters collection property, added to PluginType (similar to IndicatorType and RobotType), allows you to access plugin parameters in code.
  • New DateTimePicker algo 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 LoadMoreHistory in 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 Description property in parameter and output attributes shows tooltips in the UI when users hover over them.
  • Chart bars toggle: New Bars flag 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 Activate method in the Frame class allows plugins to set the active chart or frame.
  • Bar outputs: Indicators can now output OHLC bars 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 CreateDataSeries method allows plugins to create data series. The created series can be passed as inputs to internal indicators.
  • Panel child properties: New Children, HasChild and ChildrenCount properties let you access and work with panel contents.
  • Grid panel position info: New GridChildPositionInfo method 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
  • Assets API is refactored to reduce resource usage.
  • Sleep API 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.UserId and Account.Nickname available 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.BrokerName returned empty in the console.
  • Algos froze when loading all account transactions.
  • RiskReward tool in backtest incorrectly placed live trades.
  • Typo in ChartObject.IsLocked property documentation.
  • ComboBox.SelectionChanged was triggered after setting the selected item before render.

Image title