Skip to content

Introduction to plugins in cTrader

Plugins are extensions that enhance the cTrader platform with new tools, services and interface elements. They allow traders and developers to customise the application beyond symbols and charts by integrating external content, interactive panels or entirely new features directly into the trading environment.

Think of plugins as special algos whose main purpose is to give users easy access to various services. These services typically include the following:

  • First-party cTrader services - covers most major cTrader features including trading, accessing market data, working with local storage, accessing the internet and more.
  • Third-party services - includes nearly every third-party service you can think of. For example, using the WebView functionality, you can create a plugin that allows other traders to watch Bloomberg TV or other financial news outlets directly in cTrader.

While indicators analyse price data and cBots automate strategies, plugins focus on enhancing the user experience and bridging the gap between cTrader and external systems.

Plugin ideas

  • A trading panel with custom controls
  • A frame or section for using generative AI tools without leaving cTrader
  • A WebView of a powerful financial resource
  • A panel providing key analytics about a specific symbol or the trader's account
  • A calculator for analysing complex data in one click

Plugins are not tied to charts or market data unless explicitly coded to use them. Their primary strength lies in extending the cTrader user interface and enabling interaction with both internal and external systems. Plugins cannot be backtested, optimised or made to run in Cloud. They always operate locally on devices and in real time.

Plugin lifecycle

The flowchart below outlines the key steps from creating a plugin to enabling and using it in cTrader:

graph TB
  A([Create a plugin]) ==> B([Save and build<br> the plugin]);
  B ==> C([Enable and use<br> the plugin]);

  %% Optional branch with return connection
  A -.-> O([Edit the plugin code]) -.-> B;

After you create a plugin, you should save and build it to validate its project code. When the build succeeds, the plugin appears in the cTrader UI and can be enabled or disabled through the plugins menu.

cTrader Windows and Mac support the complete set of plugin actions, while cTrader Web and Mobile do not support plugins.

Action cTrader Windows cTrader Mac cTrader Web cTrader Mobile
Create Yes Yes No No
Edit Yes Yes No No
Save and build Yes Yes No No
Enable and use Yes Yes No No

Unlike native plugins, which operate solely in cTrader Windows and Mac, WebView plugins run on every cTrader app, including Web and Mobile.

UI integration

A plugin is a C# or Python class that adds new elements to the cTrader user interface or brings separate, additional windows. You use specific plugin attributes to determine where and how your plugin interacts with the cTrader UI and what resources it can access. The placement tutorial explains the location options and possibilities for plugins.

Depending on its design, a plugin may:

  • Add custom panels to locations, such as Active Symbol Panel (ASP), Trade Watch (TW) or chart area as custom frames.
  • Display information in separate, resizable windows.
  • Access, display or connect to external resources via WebView or network access.
  • Provide additional analytics, calculators or trading tools.

Plugins can display elements in multiple areas at once. For example, a plugin may add buttons to ASP and a chart frame simultaneously. You can also choose to detach plugin content into a separate window for multi-monitor setups. When detached windows are closed, their contents return to their original positions in the main UI.

Instance model and behaviour

Plugins differ from cBots and indicators in that they follow a singleton model, meaning only one plugin instance can exist or run at any given time. Once enabled, a plugin stays active across the platform until you disable it.

The number on the plugin icon in the top-left corner indicates the number of currently running plugins. Clicking the icon opens a plugin settings window where you can enable and disable plugins.

While plugins can access and use trading-related API methods, they require explicit user permission before executing any trade. When a plugin first attempts to trade, cTrader prompts users with a confirmation message. If granted permission, the plugin can place orders or manage positions; if not, it continues to run without trading capability. This design ensures plugins can extend cTrader functionalities without compromising user security.

Image title