Request A Free Quote
cTrader → MT4 Conversion

Convert cTrader cBots & Indicators to MT4

We rewrite cTrader cBots as MT4 Expert Advisors and cTrader indicators as MT4 custom indicators — converting units to lots, pip stops to price levels and labelled positions to your MT4 account, and checking the result against criteria agreed with you.

cBot to MT4 EAcTrader Indicator to MT4cTrader C# to MQL4Rewritten by Hand
3,000+ Projects Delivered
Fixed Scope & Price Before Work
.mq4 Source Code & .ex4 File
Checked Against Agreed Criteria
Overview

What cTrader to MT4 Conversion Means

cTrader to MT4 conversion means rewriting cTrader’s C# code in MQL4: a cBot becomes an MT4 Expert Advisor and an indicator becomes an MT4 custom indicator. Both platforms usually trade the same forex and CFD symbols, so the market rarely changes — what changes is how trades are sized, how stops are set, how positions are tracked and how the code reacts to new data.

From
C# on cTrader
To
MQL4 on MetaTrader 4
cBot
MT4 Expert Advisor
Indicator
MT4 custom indicator
You receive
.mq4 source code and .ex4 file
Method
Rewritten by hand, no automatic converters

cTrader features and how they work in MT4

cTrader featureIn cTraderIn MT4
Volume in unitsYesPartlyConverted to lots — on EURUSD with a 100,000 contract size, 10,000 units = 0.10 lot
Stops set in pipsYesPartlyConverted to price levels
Hedging and netting accountsYesPartlySeparate tickets; netting is emulated
Position eventsYesPartlyRequest results handled on sending; later changes tracked through orders and history
Stop-limit ordersYesPartlyThe EA places a limit order when the stop price is reached; the terminal has to stay running
Renko, range and tick chartsYesPartlyBuilt in code
.NET librariesYesPartlyRewritten in MQL4 or connected through a DLL
cBots

Convert a cBot to an MT4 Expert Advisor

A cBot and an MT4 Expert Advisor automate the same kind of trading, but they size trades, set stops and track positions differently. Converting a cBot keeps its trading rules and rebuilds its trade handling for MT4.

Trade Calls

Market and pending orders, modifications and closes are rebuilt as MT4 trade operations, including scaling in, partial closes and exits tied to specific entries.

Positions & Account Type

Positions found by label become MT4 order tickets the EA identifies by magic number. Hedging logic maps naturally to separate tickets; a cBot written for a netting account — one position per symbol — has its netting emulated in the EA’s own code. How the EA works alongside other EAs, manual trades and positions already open at start is agreed in advance.

Units to Lots

Volume in units is converted to lots with the symbol’s contract size and volume step at your broker, and checked against your risk rules.

Pips to Price Levels

Stops and targets set in pips become price levels, converted with the symbol’s pip size and digits and kept within the broker’s stop and freeze distances. cBot stops can trigger on the opposite side of the price or after two consecutive quotes, so stop behaviour is checked, not only the distance.

Position Events

Logic tied to cTrader’s position events — opened, closed, modified — is rebuilt for MT4, which has no trade events: request results are handled where orders are sent, and later changes are tracked through open orders and history. The MT4 tester doesn’t run timer events, so how this is tested is agreed.

Calculation & New Bars

OnBar runs when a new bar appears; OnBarClosed reads the last closed bar, with the forming bar left out — and both wait for the tick that opens the next bar. We check not only how often bar logic runs but which bar it reads and when orders are sent; tick logic runs on MT4’s tick events, and intrabar behaviour is checked.

MT4 Strategy Tester results won’t match cTrader’s backtest exactly: the platforms use different data and model fills differently. We check that entries and exits follow the agreed rules.

Indicators

Convert a cTrader Indicator to MT4

Converting a cTrader indicator to MT4 means rebuilding its calculations in MQL4 and how it draws on the chart. We convert standard, custom and multi-timeframe indicators, as well as panels and dashboards.

Outputs & Plots

Outputs become indicator buffers; MT4 has no colour buffers, so a line that changes colour gets a separate buffer for each colour. Any visual differences are agreed in advance.

Bar Indexing

cTrader series are indexed from the oldest bar; each series is read in MT4’s direction, so values line up bar by bar.

Other Timeframes & Symbols

Bars requested from other timeframes or symbols become MT4 data requests, keeping the original’s behaviour — from the forming bar or from confirmed bars only.

Chart Drawings

Lines, text, shapes and panels drawn on the chart become MT4 chart objects; the look is agreed separately.

Renko, Range & Tick Charts

Renko, range and tick charts are built in the code itself; for cBots, signals come from these bars while orders go to the broker’s real symbol.

Built-In Indicators & Alerts

Calls to cTrader’s built-in indicators use MT4’s own where their values match — otherwise we write the calculation — and alerts become MT4 alerts and notifications.

Platform differences

cTrader C# to MQL4: What Changes and How We Handle It

cTrader and MetaTrader 4 size trades, track positions and run code in different ways. These are the differences that decide whether a converted script behaves like the original — and what we do about each of them.

Trade size

Volume in units

Lots, rounded to the symbol’s volume step

Units are converted with the symbol’s contract size and checked against your risk rules.

Stops and targets

Often set as a distance in pips

Price levels, within the broker’s stop and freeze distances

Pip distances are converted to prices with the symbol’s pip size and digits.

Positions

Hedging or netting account; positions found by label

Each trade is a separate order ticket

We map each entry and its exits for your account type, and agree how the EA works alongside other EAs, manual trades and positions already open at start.

Trade events

Events when positions open, close or change

No trade events; order state is checked in the code

Reactions to opened, closed and modified positions are rebuilt and checked.

Calculation

OnBar runs as a new bar opens; OnBarClosed reads the last closed bar; both wait for the next bar’s first tick

EA code runs on every tick; bar-close logic checks for a new bar

We match which bar each piece of logic reads — forming or closed — and when orders are sent, and check intrabar behaviour.

Bar indexing

Series indexed from the oldest bar

Price arrays counted back from the current bar

We check the reading direction for every series, so values line up bar by bar.

Chart types

Time, tick, Renko, range and Heikin-Ashi charts

Time-based timeframes

Non-time charts are built in code; for EAs, orders go to the broker’s real symbol.

What may not carry over one to one

Some things depend on the platform itself: .NET libraries and NuGet packages, which MQL4 can’t load directly and which need rewriting or a 32-bit native DLL wrapper; web requests, which MT4 allows only to addresses you add in its settings and not from indicators or in the Strategy Tester — so an indicator with external data may need a separate component, and a backtest may need data saved in advance; and cTrader Cloud, which has no MT4 equivalent — an EA runs in your terminal or on a VPS. We point these out before work starts and agree the closest MT4 equivalent with you.

Why manual

Manual vs. Automatic Conversion

A converter or an AI pass can produce MQL4 code quickly. The risk is not the tool but an unchecked result: code can compile and still trade differently, because cTrader and MetaTrader size trades, set stops and index bars differently. We start from how the cTrader version behaves and rebuild it for MT4.

Automatic conversionManual conversion at Nordman Algorithms
Starting pointOften the C# code translated, statement by statementHow the cTrader version behaves
Platform differencesOften found later, if at allIdentified before work starts and agreed with you
Sizes and stopsUnits and pip distances copied as they areConverted to lots and price levels for your MT4 symbol

Where unchecked conversions usually go wrong

  • Units copied as lotsOn EURUSD with a contract size of 100,000, a volume of 10,000 units is 0.10 lot; copied as it is or rounded the wrong way, the EA opens a completely different size.
  • Pips copied as pointsFor EURUSD with a pip size of 0.0001 and a point of 0.00001, a 20-pip stop is 200 points; copied as 20 points, it sits ten times closer to the price.
  • Bars read in the wrong directioncTrader series count from the oldest bar; read the wrong way in MT4, the newest and oldest values swap.
  • Netting behaviour lostA cBot written for a netting account expects one position per symbol; MT4 keeps each trade as a separate ticket, so exits and sizing go wrong unless netting is emulated.
  • .NET code with nowhere to runLibraries a cBot loads from .NET can’t be used by MQL4 directly; without a rewrite or a native DLL, the features that depend on them stop working.
  • Stops rejected by the brokerStops and pending orders placed too close to the price break the broker’s stop or freeze level in MT4, and the order is rejected.

Have a cBot or cTrader indicator you want in MT4?

Send it to us — we review it and give you a fixed price and timeline before work starts.

Discuss Your Project
Checking the result

How We Check the Converted Script

We run the cTrader original and the MT4 version on the same symbol and timeframe, with matching trading sessions and bar timestamps, and compare them against acceptance criteria agreed with you:

  • Calculated values on selected bars
  • Signal timing — on which bar a signal appears, inside the bar or after it closes
  • Entry and exit conditions for strategies
  • Agreed deviations — differences accepted in advance, such as visual layout or broker-specific execution

If something doesn’t match, we find the cause — price data, platform behaviour or the code — and check the result against the agreed specification.

What you receive

  • .mq4 — full MQL4 source code
  • .ex4 — compiled file, ready to use in MetaTrader 4; we help with installation if you need it
  • Settings agreed with you before work starts
  • Fixes for bugs and differences from the agreed specification after delivery
Process

How a cTrader to MT4 Conversion Works

  1. Send the cTrader code

    Share the cBot or indicator source — the .cs files or an .algo file saved with source — any libraries it uses and your settings, plus a short description.

    You sendSource + dependencies
  2. Review and fixed quote

    We analyse the code, agree your MT4 broker, account type and symbols, and agree settings, acceptance criteria, price and timeline.

    You getFixed price + criteria
  3. Rewrite in MQL4

    The cBot or indicator is rebuilt as an MT4 Expert Advisor or custom indicator, including any extra features you asked for.

    We buildThe MT4 version
  4. Check against the criteria

    The MT4 version is checked against the acceptance criteria agreed in step 2.

    We checkValues, signals, trades
  5. Delivery and support

    Bugs and differences from the agreed specification are fixed after delivery.

    You get.mq4 + .ex4 files
Scope

What Affects the Price and Timeline

Every cBot and indicator is reviewed before we quote. These are the main factors.

Size of the Code

How much logic the code contains and how many parts depend on each other.

Trade Handling

For cBots: positions, labels, events, scaling and partial closes.

Chart Types & Data

Renko, range or tick charts and data requested from other timeframes or symbols.

Visual Elements

Drawings, panels and outputs that change colour.

.NET Libraries & Web Requests

Each .NET dependency and web request is checked and rewritten or connected another way.

Only an .algo File?

Conversion needs the source. An .algo file saved without source can’t be read, so recreating the cBot from your description is assessed separately.

FAQ

cTrader to MT4 Conversion — Common Questions

No. MetaTrader 4 runs MQL4; cTrader’s C# code — the source or an .algo file — has to be rewritten.

Yes. The cBot’s trading rules are kept and its trade handling is rebuilt for MT4 — lots, price levels for stops, positions on your account type and any extra trade management — with sizing and risk agreed with you.

With the symbol’s contract size and volume step at your MT4 broker. On EURUSD with a contract size of 100,000, 10,000 units is 0.10 lot — the contract size is checked for each symbol rather than assumed.

MetaTrader 4 charts use time-based timeframes. Renko, range or tick bars are built in the code itself, and an EA calculates its signals on these bars while placing orders on your broker’s real symbol. How this is set up and checked is agreed before work starts.

Usually. MQL4 can’t load .NET libraries directly, so each one is rewritten in MQL4 or connected through a native DLL. Dependencies are checked one by one before work starts.

Not always exactly. Your cTrader broker and your MT4 broker can provide different prices, and some built-in indicators are calculated slightly differently. How closely values must match is agreed before work starts, and any difference is traced to its cause.

Partly, in the MT4 Strategy Tester: it trades only the tested symbol, doesn’t process timer events and doesn’t run web requests. How the EA is checked depends on its multi-symbol logic, timers and external data, and the adaptations are agreed before work starts. Results won’t match cTrader’s backtest exactly — the platforms use different data and model fills differently.

Yes — that’s the reverse route, MT4 to cTrader conversion. The same approach applies, with lots, stops and positions mapped the other way.

It depends on the size of the code, the trade handling, chart types, visual elements and any .NET libraries. After reviewing your cTrader code we give you a fixed price and an estimated timeline before work starts.

Send Your cTrader Code for a Quote

Share the cBot or indicator source with the libraries it uses, and a short description of what it should do in MetaTrader 4. We will review it and give you a fixed price and timeline before work starts.

Free Technical Assessment
Fixed Price Before Work
Source Code Ownership