Entries & Exits
Entry, exit and close rules are rebuilt with MQL5 trade functions and checked against the MT4 version.
We rewrite MQL4 Expert Advisors and indicators in MQL5 for MetaTrader 5 — starting from how your MT4 version behaves, not just making the code compile, and checking the result against criteria agreed with you.
iMA(NULL, 0, 21, 0, MODE_EMA, PRICE_CLOSE, i)CopyBuffer(hEma, 0, i, 1, ema)Close[1]iClose(_Symbol, _Period, 1)OrderSend(Symbol(), OP_BUY, lots, Ask, …)trade.Buy(lots, _Symbol)MT4 order handlingMT5 orders, deals & positionsSame logic, rebuilt for MetaTrader 5
MT4 to MT5 conversion means rewriting an MQL4 Expert Advisor or indicator in MQL5 so that it runs natively in MetaTrader 5. MQL4 code doesn’t run in MT5: the two languages read indicator data, prices and trades in different ways, so the code has to be rebuilt for MT5 — not just recompiled.
An MT4 Expert Advisor manages every trade as an order ticket; MT5 separates orders, deals and positions and has two account types. Converting an MT4 EA to MT5 keeps its trading rules and rebuilds the trade handling for MT5.
Entry, exit and close rules are rebuilt with MQL5 trade functions and checked against the MT4 version.
On hedging accounts each trade stays a separate position; on netting accounts trades combine into one. The EA is built for the type you use.
The EA tracks its trades and manages positions according to your account type. On a netting account each symbol has one shared position, so running several strategies on one symbol is agreed in advance.
Stop-loss, take-profit, trailing stop and breakeven, within your broker’s minimum stop distance.
Market and pending orders, filling modes and slippage are set up for MT5 and your broker’s symbol settings.
Lot calculations are rebuilt with MT5’s symbol and account properties, so sizing and risk limits work as in MT4.
MT5 backtest results will not match MT4 exactly: the two testers model ticks and fills differently and use different history. We check that entries and exits follow the same rules.
Converting an MT4 indicator to MT5 means rebuilding how it reads prices and other indicators and how it draws on the chart. We convert standard, custom and multi-timeframe indicators, as well as dashboards and scanners.
Lines, histograms, arrows and fills are rebuilt with MT5 indicator buffers and plot styles.
Calls to MT4 indicators are rebuilt with MT5 indicator handles, created once and read when needed.
Values from other timeframes and symbols are loaded and aligned with the chart’s bars, as in the original.
Pop-up, push and email alerts work as in the MT4 version.
Input parameters keep their names and defaults unless you want them changed.
New settings or functions, dashboards or panels, several indicators combined into one, or the indicator turned into an EA.
MT4 and MT5 look alike, but the code underneath works differently. These are the differences that decide whether a converted EA or indicator behaves like the original — and what we do about each of them.
Your MT4 broker’s history
Your MT5 history, which can differ even with the same broker
We take the difference into account and agree with you how closely values must match.
Indicator functions return a value directly
Indicators are created once and their values copied when needed
We restructure indicator calls so values match the MT4 version bar by bar.
Every trade is an order ticket
Orders, deals and positions are separate; hedging or netting account
We rebuild trade tracking and position management for your account type; on netting accounts, several strategies on one symbol are agreed in advance.
Price arrays are indexed from the current bar
Array direction is set explicitly for every buffer
We check signals on historical and live bars, so nothing shifts or repaints where the original didn’t.
Data is read directly
History may need to load first
We handle history loading, so values from other timeframes and symbols are ready when they are used.
One symbol per test, ticks generated from M1 data
Several symbols per test, real ticks where available
Results differ between testers; we check that entries and exits follow the agreed rules.
Some things depend on the platform itself: 32-bit DLLs used with MT4 don’t load in 64-bit MT5; logic built on several opposite positions doesn’t work on a netting account; and symbols your broker offers only on MT4 servers. We point these out before work starts and agree the closest MT5 equivalent with you.
Converters and compatibility libraries can make MQL4 code compile in MT5 by emulating MT4 functions. The risk is an unchecked result: how a given library manages indicator handles, how fast it runs and how its trade logic behaves — especially on netting accounts — all need checking. We start from how the MT4 version behaves, rebuild it with MQL5’s own tools and check the result.
| Automatic conversion | Manual conversion at Nordman Algorithms | |
|---|---|---|
| Starting point | MQL4 functions emulated on top of MT5 | How the MT4 version behaves |
| Indicator calls | Handle management and speed depend on the library | Rebuilt with MQL5’s own indicator model |
| Orders | Emulated order logic needs checking for your account type | Trade handling built for MT5 positions and your account type |
Send it to us — we review it and give you a fixed price and timeline before work starts.
We run the MT4 original and the MT5 version on the same instrument and timeframe, with matching trading sessions and bar timestamps, and compare them against acceptance criteria agreed with you:
If something doesn’t match, we find the cause — price history, platform behaviour or the code — and check the result against the agreed specification.
Share the .mq4 source with its .mqh include files, the source of any custom indicators it calls, required libraries and your .set file if you have one — plus a short description.
You sendSource + dependenciesWe analyse the code, point out anything that works differently in MT5, and agree settings, acceptance criteria, price and timeline.
You getFixed price + criteriaThe EA or indicator is rebuilt in MQL5, including any extra features you asked for.
We buildThe MT5 versionThe MT5 version is checked against the acceptance criteria agreed in step 2.
We checkValues, signals, tradesBugs and differences from the agreed specification are fixed after delivery.
You get.mq5 + .ex5Every EA and indicator is reviewed before we quote. These are the main factors.
How much logic the code contains and how many parts depend on each other.
For EAs: how orders, positions, stops and partial closes are managed.
Data the code reads from other timeframes or instruments.
Objects, panels and dashboards drawn on the chart.
DLLs or libraries the code depends on, which may need an MT5 version.
Conversion needs the .mq4 source. Without it, recreating the EA or indicator from your description is assessed separately.
Sometimes the move goes the other way — a broker or prop firm offers only MT4, or an EA has to run alongside existing MT4 tools. We convert MT5 Expert Advisors and indicators to MT4 as well.
MT4 has fewer platform features than MT5, so some parts are rebuilt rather than copied:
No. MetaTrader 5 doesn’t run MQL4 files — neither .mq4 nor .ex4. The code has to be rewritten in MQL5.
Yes. The EA’s trading rules are kept and its trade handling is rebuilt for MT5 positions and your account type — hedging or netting — with sizing, stops and targets agreed with you.
Most MT4 indicators can be rebuilt in MQL5. Code that depends on MT4-specific features, such as 32-bit DLLs, needs an MT5 equivalent; we tell you about any such differences before work starts.
Not always exactly. MT4 and MT5 keep separate price histories, even with the same broker, and some things work 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 model ticks and fills differently and use different history, so results differ. What we check is that entries and exits follow the agreed rules.
Conversion needs the .mq4 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 MQL5 version themselves, using MQL5’s own indicator and trading model.
Yes. Parts that rely on MT5-only features — netting accounts, multi-symbol testing or some drawing styles — may need a different implementation in MT4; we agree that before work starts. See our MT5 to MT4 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 .mq4 code we give you a fixed price and an estimated timeline before work starts.
Share the .mq4 source code with its include files and the custom indicators it uses, and a short description of what the EA or indicator does. We will review it and give you a fixed price and timeline before work starts.