Request A Free Quote
MT5 → cTrader Conversion

Convert MT5 Expert Advisors & Indicators to cTrader

We rewrite MT5 Expert Advisors as cTrader cBots and MT5 indicators as cTrader indicators in C# — rebuilding lot sizes, magic numbers and stops for how cTrader works, and checking the result against criteria agreed with you.

MT5 EA to cBotMT5 Indicator to cTraderMQL5 to C#Rewritten by Hand
3,000+ Projects Delivered
Fixed Scope & Price Before Work
C# Source Code & .algo File
Checked Against Agreed Criteria
Overview

What MT5 to cTrader Conversion Means

MT5 to cTrader conversion means rewriting MQL5 code in C#, cTrader’s language for algorithmic trading: an Expert Advisor becomes a cBot and an indicator becomes a cTrader indicator. cTrader works differently from MetaTrader — trade size is set in units rather than lots, a cBot identifies its trades by label rather than by magic number, and protective levels are set through cTrader’s own methods — so the code is rebuilt, not translated line by line.

From
MQL5 on MetaTrader 5
To
C# on cTrader
Expert Advisor
cTrader cBot
Indicator
cTrader indicator
You receive
C# source code and .algo file
Method
Rewritten by hand, no automatic converters
Expert Advisors

Convert an MT5 Expert Advisor to a cTrader cBot

An MT5 Expert Advisor and a cTrader cBot automate the same kind of trading, but they size, identify and protect trades differently. Converting an EA to a cBot keeps its trading rules and rebuilds the trade handling for cTrader.

Entries & Exits

Entry, exit and close rules are rebuilt with cTrader’s trading methods and checked against the MT5 version.

Positions & Account Type

MT5 orders, deals and positions are mapped to your cTrader account type — hedging or netting — and we agree how trades are identified and how several strategies share the account. On a netting account all trades on a symbol form one position, whatever their labels.

Lots to Units

Trade size is set in units in cTrader; lots are converted with the symbol’s own settings, rounded to its volume step and checked against your risk rules.

Stops & Targets

Stop-loss and take-profit levels, distances, trailing stop and breakeven are transferred through the matching cTrader methods. cBot stops can trigger on the opposite side of the price or after two consecutive quotes, so the trigger rule is chosen to match MT5 and stop behaviour is checked, not only the distance.

Pending Orders

Pending orders become cTrader limit, stop and stop-limit orders, with their parameters and expiry transferred as the original uses them.

Filters & Conditions

Trading sessions and days, time limits and other filters are kept, and new ones can be added.

cTrader backtest results won’t match MT5 exactly: the two testers use different data and model fills differently. We check that entries and exits follow the same rules.

Indicators

Convert an MT5 Indicator to cTrader

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

Calculations & Outputs

Calculations are rebuilt in C#; buffers become indicator outputs with line and histogram styles. Any visual differences are agreed in advance.

Indicator Handles

MQL5 calculations built on indicator handles and CopyBuffer become direct indicator references in C#, checked bar by bar.

Built-In Indicators

Calls to built-in indicators use cTrader’s own versions where their values match; where the platforms calculate differently, we write the calculation ourselves.

Objects & Panels

Chart objects and panels become cTrader drawings and chart controls; the agreed information is kept and the look is agreed separately.

Alerts & Notifications

Alert conditions become sound and email notifications in cTrader where needed.

Improvements on Request

New settings or functions, several indicators combined into one, or the indicator turned into a cBot.

Platform differences

MQL5 to C#: What Changes and How We Handle It

MetaTrader 5 and cTrader handle trades and indicators 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

Lots

Units

Lots are converted with the symbol’s own settings and volume step, and checked against your risk rules.

Position identity

Magic number; hedging or netting account

A label set by the cBot; hedging or netting account

We check that the EA’s position model fits your cTrader account type and agree how trades are identified and strategies share the account. This matters most when MT5 and cTrader account types differ.

Stops and targets

Set as price levels

Set as price levels or as distances in pips

Levels, distances and trigger rules are transferred through the matching cTrader methods.

Price data

Your MT5 broker’s prices

Your cTrader broker’s prices

We take the data difference into account and agree with you how closely values must match.

Calculation

Indicators and EAs react to new ticks; the exact behaviour depends on the code

Indicators calculate per bar and update on ticks; in cBots, OnBar runs as a new bar opens and OnBarClosed reads the last closed bar — both wait for the next bar’s first tick

We match which bar each piece of logic reads — forming or closed — and when orders are sent, and check historical and real-time behaviour separately.

Built-in indicators

MetaTrader’s own calculation

cTrader’s own calculation, which can differ in details

We compare the values and use our own calculation where the two platforms differ.

Other timeframes

Read directly from any timeframe

Loaded as separate bar series

Values from other timeframes are aligned with the chart’s bars, as in the original.

What may not carry over one to one

Some things depend on the platform itself: DLLs and libraries the code uses are checked one by one — cTrader can use .NET libraries, so some work as they are and others need a replacement; symbols your broker offers only on MetaTrader servers; and tester settings specific to MetaTrader. If the cBot will run in cTrader Cloud, its compatibility with the cloud environment is checked separately. We point these out before work starts and agree the closest cTrader equivalent with you.

Why manual

Manual vs. Automatic Conversion

A converter or an AI pass can produce C# quickly. The risk is not the tool but an unchecked result: code can compile and still trade differently from the original, because MetaTrader and cTrader size, identify and protect trades in different ways. We start from how the MT5 version behaves and rebuild it for cTrader.

Automatic conversionManual conversion at Nordman Algorithms
Starting pointOften the MQL syntax, statement by statementHow the MT5 version behaves
Platform differencesOften found later, if at allIdentified before work starts and agreed with you
Trade size and positionsLots and magic numbers copied as they areConverted to units and labels for your account type

Where unchecked conversions usually go wrong

  • Lots copied as unitsA size of 0.10 lots copied as 0.10 units is rejected or opens a tiny position — sizes have to be converted with the symbol’s settings.
  • Stops off by a factor of tenFor EURUSD with a pip size of 0.0001 and a point of 0.00001, a 200-point stop in MT5 is 20 pips; copied as 200 pips, it sits ten times further from the price.
  • cBots touching each other’s tradesTwo instances with the same label treat each other’s positions as their own — and on a netting account even different labels share one position per symbol.
  • Built-in indicators that don’t matchThe same indicator name can hide a slightly different calculation, so signals drift apart from MetaTrader.
  • Signals shifted by one barMQL5 arrays and buffers can be indexed in either direction, and cTrader counts bars forward from the oldest; we check index direction and match bars by time.
  • Buffers read in the wrong directionArrays filled with CopyBuffer aren’t indexed like price series by default; read the wrong way, the newest and oldest values swap.

Have an MT5 EA or indicator you want in cTrader?

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 MT5 original and the cTrader version on the same instrument 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

  • C# source code — the full code of the cBot or indicator
  • .algo file — ready to install in cTrader; 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 an MT5 to cTrader Conversion Works

  1. Send the MQL5 code

    Share the .mq5 source with its .mqh include files, the source of any custom indicators it calls and your .set file if you have one — plus a short description.

    You sendSource + dependencies
  2. Review and fixed quote

    We analyse the code, point out anything that works differently in cTrader, check whether the cBot will run locally or in cTrader Cloud, and agree settings, acceptance criteria, price and timeline.

    You getFixed price + criteria
  3. Rewrite in C#

    The EA or indicator is rebuilt as a cBot or cTrader indicator, including any extra features you asked for.

    We buildThe cTrader version
  4. Check against the criteria

    The cTrader 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 getC# source + .algo
Scope

What Affects the Price and Timeline

Every EA 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 EAs: how orders, positions, stops and partial closes are managed.

Other Timeframes & Symbols

Data the code reads from other timeframes or instruments.

Visual Elements

Objects, panels and dashboards drawn on the chart.

DLLs & External Libraries

Each dependency is checked: whether it can be used in cTrader as it is or needs a replacement.

Only an .ex5 File?

Conversion needs the .mq5 source. Without it, recreating the EA or indicator from your description is assessed separately.

FAQ

MT5 to cTrader Conversion — Common Questions

No. cTrader runs cBots written in C#; MQL5 code — .mq5 or .ex5 — has to be rewritten.

Yes. The EA’s trading rules are kept and its trade handling is rebuilt for cTrader — sizes in units, trades identified for your account type, protective levels set through cTrader’s methods — with sizing and risk agreed with you.

Most MT5 indicators can be rebuilt in C#. DLLs and other dependencies are checked one by one — some can be used in cTrader as they are, others need a replacement; we tell you about any such differences before work starts.

Not always exactly. Your MT5 and cTrader brokers provide different prices, and some built-in indicators are calculated slightly differently on the two platforms. How closely values must match is agreed before work starts, and any difference is traced to its cause.

Not exactly. The two testers use different data and model fills differently. What we check is that entries and exits follow the agreed rules.

Conversion needs the .mq5 source code. Without it, we can assess recreating the EA or indicator from your description, settings and examples of how it behaves — but an exact match with the original can’t be promised in advance.

No. Our developers write the C# version themselves, based on how the MT5 version behaves.

Yes. cBots and cTrader indicators can be rewritten in MQL5 as Expert Advisors and indicators; parts that rely on cTrader-only features are agreed before work starts. See our cTrader to MT5 conversion page.

It depends on the size of the code, the trade handling, data from other timeframes or symbols and any external libraries. After reviewing your .mq5 code we give you a fixed price and an estimated timeline before work starts.

Send Your MQL5 Code for a Quote

Share the .mq5 source code with its include files and the custom indicators it uses, and a short description of what it does. 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