cTrader custom indicator builder

Build a cTrader custom indicator from plain English

Describe the calculation, inputs, chart output, and reset rules you need. Pineify writes one cTrader C# indicator file and checks its compiler diagnostics so you can revise the source before building it in cTrader.

Direct answer

Pineify can generate a single-file cTrader C# custom indicator and check compiler diagnostics against its supported cTrader.Automate reference. It can write indicator parameters, calculations, plotted output, and chart objects. It does not install the indicator, provide market data, or prove that a signal will work.

What to know first

  • One self-contained C# source file for a cTrader custom indicator
  • Configurable parameters, indicator outputs, and chart drawing logic
  • Compiler diagnostics that help you find C# and cTrader API errors
  • Clear limits for volume data, backtesting, and trading claims

What the builder writes

A cTrader custom indicator is an Indicator class with an Indicator attribute. Its parameters are declared with Parameter attributes, while plotted series use Output attributes. Pineify can write that structure, the Initialize method, the Calculate method, and any helper types inside one .cs file.

The useful part is the specification. State whether the indicator is an overlay or a separate panel, name each input, define the calculation, and describe what should appear on the chart. A request such as "plot a session VWAP line and reset it at 00:00 UTC" is more precise than "make a good VWAP."

  • Price overlays such as moving averages, bands, session levels, or a VWAP-style line
  • Separate-panel outputs such as oscillators and tick volume histograms
  • Stable chart labels, lines, or icons for conditions you define
  • Inputs for periods, source series, session times, colours, and thresholds

Define the data behind VWAP and volume indicators

A cTrader VWAP indicator needs an explicit price source, weighting source, session boundary, and reset rule. For example, you can request TypicalPrices weighted by Bars.TickVolumes with a daily reset at 00:00 UTC. That is a tick-volume-weighted calculation, not exchange-traded volume.

cTrader states that Tick Volume counts price changes within a period. It does not measure actual traded volume. Pineify will not relabel tick counts as centralised transaction volume or invent historical order flow that the selected cTrader data feed does not contain.

  • For VWAP, specify the price series, session time zone, reset time, and weighting input
  • For a volume profile, specify the price-bin size, session range, and whether tick volume is an acceptable proxy
  • For market profile, define the time-price opportunity rules rather than assuming traded volume
  • For order flow, state whether the logic uses ticks, bar tick volume, or live MarketDepth entries

Build a profile without overstating the input

A volume profile for cTrader can group an available volume measure into price bins and draw the result on the chart. The interpretation depends on the input. If it distributes bar tick volume across prices, the result is an approximation based on quote activity. If it reads live MarketDepth, it describes the bid and ask entries available from that feed at that moment.

The source code should say which method it uses. It should also expose the bin size, session range, and value-area percentage as parameters when those settings matter. Pineify can generate this logic, but the broker and cTrader determine which market data reaches the indicator.

Check the source, then build it in cTrader

Pineify checks the generated source for compiler and cTrader API diagnostics. A clean result means the checker found no reported compile error under its supported reference. It does not show that the formula matches your intent, that every broker feed behaves the same way, or that the indicator will produce useful signals.

Review the calculation and any lookback guards before copying the source into cTrader. cTrader Windows and Mac provide the editor and build step for custom indicators. Once cTrader builds the indicator, add an instance to a chart and inspect its output on the symbols and timeframes you use.

Custom indicators are not cBot backtests

cTrader documents that custom indicators cannot be backtested or optimised. They calculate and plot values on historical bars and incoming ticks, but that is not the cBot Backtesting workflow and it does not produce a strategy performance report.

If you need entries, exits, and account results over historical data, put the trading rules in a cBot and test that cBot in cTrader. A cBot can reference an indicator, but the backtest belongs to the cBot. Pineify can help generate the separate single-file cBot through its cBot builder.

Practical checks I use

I define the session before asking for VWAP

When I request VWAP, I name the price series, time zone, reset time, and volume proxy. Those choices change the line.

I label tick volume honestly

I treat Bars.TickVolumes as quote-change counts because that is how cTrader defines the series. I do not present it as exchange-traded volume.

I inspect the formula after compilation

When I receive clean compiler diagnostics, I still review warm-up bars, session boundaries, output indexes, and the result on a cTrader chart.

Primary sources

Pineify is an information tool, not investment advice. Generated code and compiler diagnostics do not guarantee signal accuracy, runtime safety, broker compatibility, or profitability. Review and test the source before using it with any trading account.

Frequently asked questions

Describe the indicator you need

State the calculation, inputs, chart output, and data assumptions. Pineify will generate one cTrader C# source file for you to review and build.

Build a cTrader indicator