What Is an Expert Advisor? EA Trading Explained for MT4 and MT5

An expert advisor is an MT4/MT5 program that trades for you. What EA means in trading, how it works tick by tick, setting targets, and prop firm rules.

What Is an Expert Advisor? EA Trading Explained for MT4 and MT5

By Marcel Hambálek · Senior Trader, For Traders

An expert advisor (EA) is a compiled MQL4 or MQL5 program attached to a single MetaTrader chart that is allowed to send, modify and close orders on your behalf. In trading, "EA" stands for expert advisor — the MetaTrader name for what most traders casually call a trading bot or algo.

Key takeaways

  • EA stands for expert advisor: an MQL4/MQL5 program with order-sending permission, running on one chart at a time in MT4 or MT5.
  • If it can send an order itself, it's an EA — indicators only draw, scripts run once, signal services only tell you what to do.
  • An EA's logic runs on every incoming tick via OnTick, and on roughly 99% of those ticks the correct action is to do nothing.
  • Most of an EA's real-world behaviour lives in its input parameters: risk %, SL/TP in points or ATR multiples, trailing start and step, max spread cap and session filter.
  • Backtests die in forward trading for four repeatable reasons: curve fitting, unrealistic spread and slippage assumptions, no news filter and no drawdown governor.
  • On a For Traders Challenge the daily loss limit and max drawdown apply to your bot exactly as they apply to your hands — all on simulated capital.

Watch: related video

What is an expert advisor? EA meaning in trading

An expert advisor is a compiled MQL4 or MQL5 program attached to one chart in MetaTrader 4 or MetaTrader 5, with permission to send, modify and close orders automatically, evaluated on every incoming tick. That's the precise answer to "what is EA in trading." In plain English: it's code sitting on your chart that watches price move and pulls the trigger for you — no clicking, no hesitating, no checking the phone during NFP.

Ask ten traders "what does EA mean in trading" and you'll get the same core idea phrased ten different ways — auto-trading, set-and-forget, algo on the chart. But the mechanics are fixed: the EA reads incoming tick data, runs its logic against your rules for entries, stops, targets and position sizing, then fires the order through the terminal. It doesn't sleep, doesn't second-guess the stop, and doesn't widen a loss because "it'll come back." That's the whole pitch of expert advisor trading — remove the emotional leg from execution.

What "EA" stands for and where the term comes from

"EA" is short for expert advisor, and the term isn't generic trading slang — it's MetaQuotes' own label for the object type inside MT4 and MT5. When MetaQuotes built MetaTrader 4 and gave it a scripting language, they called the folder in the Navigator panel "Expert Advisors," and the name stuck across the entire retail industry. So when someone asks "ea expert advisor" as a search term, they're really asking about a MetaTrader-native automated strategy, not a generic bit of software.

EA, bot, algo, robot — the same thing in different vocabularies

Different platforms, different names for the same function. In MetaTrader 4 and MetaTrader 5, it's an expert advisor, written in MQL4 or MQL5. On cTrader, the equivalent is called a cBot, coded in C#. On NinjaTrader, it's a "strategy," built in NinjaScript. Outside any specific platform, traders just say "trading robot" or "algo." All four labels describe the same object: automated logic with order-execution rights on a live or demo account. If you've been told your EA "isn't a real trading robot," that's a vocabulary argument, not a technical one.

Is "MyExpertAdvisor" the same as an expert advisor?

No — and this trips people up in search results. MyExpertAdvisor is a third-party EA vendor brand, a company selling pre-built expert advisors, not a MetaTrader feature or a generic term. It's one product built on top of the concept this section defines. If you landed here looking for that specific vendor, you're one click away; if you want to understand the underlying mechanism — what an EA actually is, how it reads ticks and manages risk — that's the concept covered throughout this guide.

Expert advisor vs indicator vs script vs signal service

The dividing line: can it send an order by itself?

One question resolves almost every mix-up on this topic: can the program send an order without you clicking a button? If yes, you're looking at an expert advisor. If it only calculates and draws on your chart, it's an indicator. If it fires once and stops, it's a script. Everything else — signal services, copy trading — routes the decision through someone else's account, not your own compiled logic.

This isn't a semantic distinction. MetaTrader itself enforces it at the platform level. An EA needs the Auto Trading button toggled on (top toolbar in MT4/MT5) before it's granted permission to touch the trade tab. Flip it off, and even a fully loaded expert advisor sits there reading ticks and doing nothing — it can calculate, log, alert, but it cannot execute. Indicators and scripts never ask for that permission because they never need it.

Indicator vs script vs expert advisor at a glance

All three are built from the same MQL4/MQL5 language and compile into the same folder structure, which is exactly why traders confuse them. The differences show up in behavior, not appearance.

AttributeIndicatorScriptExpert Advisor
Can send an orderNoYes, onceYes, continuously
Execution styleRuns on every tick, draws onlyRuns once, then terminatesRuns continuously while attached
Needs Auto Trading enabledNoNo (executes immediately if it trades)Yes
Compiled file extension.ex4 / .ex5 (from .mq4/.mq5).ex4 / .ex5 (from .mq4/.mq5).ex4 / .ex5 (from .mq4/.mq5)
Terminal folderMQL4(5)/IndicatorsMQL4(5)/ScriptsMQL4(5)/Experts

Notice the file extension row is identical across all three — that's the part that trips people up. An .ex4 or .ex5 file tells you nothing about what the program does until you check which subfolder it landed in, or watch whether it asks for Auto Trading permission on attach.

Where signal services and copy trading sit

A signal service or copy trading arrangement is not an EA in trading terms, even though the end result — orders appearing on your account — looks similar. With copy trading, a provider's trades are mirrored to your account through a subscription mechanism (MetaTrader's Signals feature, or a third-party bridge), not through compiled logic sitting on your own chart. You're not running MQL4/MQL5 code; you're subscribing to someone else's execution stream.

That distinction matters beyond terminology. Most prop firms, including evaluation rules you'll find across the industry, treat self-hosted EAs and third-party copy trading as separate risk categories — some permit automated EAs on a funded account but restrict or ban copy trading and signal subscriptions outright, because the firm can't audit external signal logic the way it can review an attached .ex5 file. If you're building toward a funded account, know which category your tool falls into before you rely on it.

How an expert advisor works, tick by tick

An expert advisor doesn't "watch" the market the way you do — it runs a fixed event sequence every time MetaTrader pushes a new quote to the chart it's attached to. Three functions carry the whole lifecycle: OnInit, OnTick, and OnDeinit. Understand those three and you understand what your EA is actually doing between the moments it places an order.

OnInit: what happens the moment you attach the EA

OnInit fires once, the instant you drag the EA onto a chart or the terminal restarts with it already attached. This is validation, not trading. A well-written EA checks its inputs here — lot size within broker limits, stop distance greater than the symbol's minimum stop level, risk percentage not set to something absurd like 50% — and resolves the symbol's digits and point value so a "20 pip stop" on a 5-digit gold quote doesn't turn into 2 pips or 200. If any of that fails, OnInit returns an error and the EA refuses to run rather than trading on broken assumptions. That fail-fast behaviour is a feature: an EA that silently starts trading with a misread point value is far more dangerous than one that throws an init error and does nothing.

OnTick: the loop that runs on every price update

OnTick is where the real work happens, and it fires constantly — every incoming quote on the attached symbol, which on XAUUSD during London/New York overlap can mean several times a second. Each pass runs the same decision tree: does a position already exist with my magic number, is current spread inside my defined cap, is the session filter open, does the entry condition actually fire right now. Only if every check passes does the EA move toward an order send. Everything else in that pass is discarded the moment the next tick arrives.

Doing nothing is the correct action on ~99% of ticks

This is the part most explainers skip: on the overwhelming majority of ticks, the EA evaluates the full condition set and exits the function without touching the market. That's not a broken bot — that's the bot working. A trend-following EA waiting for a breakout across thousands of ticks a day should look idle almost all the time. If your EA is sending orders on every third tick, that's the red flag, not the silence.

What happens when spread widens mid-tick

Spread widening around news — NFP, FOMC, a gold gap at the Sunday open — is where OnTick behaviour actually matters. Three outcomes are possible on that tick: the order gets rejected outright by the EA's own spread filter, the broker requotes at a worse price and the EA has to decide whether to accept it, or the order fills with slippage that quietly turns a planned 1.4R trade into a 1.1R one. None of these are malfunctions — they're the market and your broker's execution engine doing exactly what they do under stress. A spread filter that blocks entries above a defined pip cap is your primary defence against the requote scenario.

OnDeinit, magic numbers and one EA per chart

OnDeinit fires when you detach the EA, close the terminal, or the platform recompiles it — this is cleanup, not trading logic, and a careful EA uses it to release any objects it drew on the chart. Separately, every EA-generated trade carries a magic number, a unique integer tag that lets the EA recognise its own positions and ignore trades opened manually or by a different EA on the same account. That's also why the architecture is one EA per chart: without a distinct magic number and chart context, two EAs trading the same symbol will fight over position management and misread each other's orders as their own.

How to install an expert advisor on MT4 and MT5

To install an expert advisor, go to File → Open Data Folder, then drop the file into MQL5\Experts (or MQL4\Experts on MT4), then hit Refresh in the Navigator or restart the terminal. Get the folder wrong and the platform won't warn you — the EA just never shows up.

How to install an expert advisor on MT4 and MT5
  1. Open your terminal, click File → Open Data Folder. This opens the actual filesystem folder your specific terminal instance reads from — not the shared MQL installation most traders assume they're looking at.
  2. Navigate to MQL5 → Experts for MT5, or MQL4 → Experts for MT4.
  3. Copy your file in. If it's a .mq5 or .mq4 source file, you need to open it in MetaEditor and compile it first (F7) — that produces the .ex5 or .ex4 the terminal can actually attach. If you were handed a .ex5/.ex4 directly, it's ready to go, no compile step needed.
  4. Back in the terminal, right-click Expert Advisors in the Navigator panel and hit Refresh. If it still doesn't appear, close and restart the terminal — MetaTrader only scans the Experts folder on launch or on manual refresh.

The correct folder path (and why the Navigator stays empty)

The single most common install question we see: "I dropped the EA in and nothing happens." Nine times out of ten, the file landed in MQL5\Indicators or MQL5\Scripts instead of MQL5\Experts. MetaTrader doesn't throw an error for a misplaced file — it simply never lists it under Expert Advisors in the Navigator, because it's not looking there. No dialogue box, no log entry, nothing. If you're troubleshooting a "missing" EA, check the folder path before you check anything else.

Enabling Auto Trading and reading the smiley

Installing the file is only half the job — the EA still won't touch the market until two switches are both on. First, the global Auto Trading button on the main toolbar needs to be green, not red. Second, each individual EA has its own "Allow Algo Trading" checkbox in its Properties dialogue (Common tab), which you set when you drag it onto the chart. Both need to be active simultaneously.

Once attached and running, look at the top-right corner of the chart: a green smiley face means the EA is live and permitted to trade. A sad/red face means it's attached but blocked — either global Auto Trading is off, the EA's own checkbox is unticked, or the broker/server has algo trading disabled on that account type.

Common silent failures: wrong folder, unsigned file, wrong build

  • Wrong folder — covered above, the most frequent cause by far.
  • Unsigned or uncompiled source — a raw .mq5/.mq4 won't run until MetaEditor compiles it into an .ex5/.ex4.
  • Wrong build/version — an mt4 ea file (.ex4) will never load on MT5 and vice versa; the two platforms don't share compiled binaries, only similar syntax.

Types of expert advisors — and which ones kill accounts

Not all EAs are built the same, and the category an expert advisor forex bot falls into tells you almost everything about how it will die. Some strategies fail slowly and visibly; others look flawless for months, then blow through max drawdown in a single session. Knowing the behavioural signature of each type — trade frequency, typical R:R, drawdown shape — is what separates traders who evaluate an EA properly from traders who just run the backtest and hope.

Trend-following, mean-reversion and breakout EAs

These are the honest workhorses. Trend-following EAs trade infrequently (a handful of setups a week), hold for days, and post a typical R:R of 1:2 to 1:4 — most trades lose small, a few winners carry the month. Mean-reversion EAs trade more often, aim for tighter R:R closer to 1:1, and depend on ranges holding. Breakout EAs sit between the two, waiting for volatility expansion. All three share a drawdown shape that's gradual and correlated with regime — a trend EA bleeds in chop, a mean-reversion EA bleeds in a trending market. That's a survivable, diagnosable failure mode.

Scalping and HFT-style EAs: where latency and spread decide everything

A scalping EA fires dozens to hundreds of trades a day for a few pips each, which means spread and execution latency aren't a cost of doing business — they're the entire P&L. The same scalping EA can be profitable on a VPS sitting 2ms from the broker's server and net-negative on a home laptop with a flaky connection, because slippage on entry and exit eats the edge before it exists. Backtests on these almost always overstate performance since historical spread data rarely captures real widening at the tick level.

Grid and martingale EAs: the equity curve that looks perfect until it doesn't

A grid EA and a martingale EA both scale position size into a losing trade — averaging down, adding lots as price moves against the position, waiting for a reversion to flatten out at breakeven-plus. In marketing screenshots this produces the smoothest equity curve you'll ever see: months of tiny, steady gains. The mechanism is the problem. Every added leg increases exposure right when the market is proving you wrong, so the eventual max drawdown breach isn't a tail risk — it's a mathematical certainty on a long enough timeline. These are effectively fatal under prop firm risk rules, since a single unfavorable leg sequence can blow a daily loss limit that took months to build.

News-trigger EAs and why NFP, CPI and FOMC break them

A news trading EA is built to fire the instant NFP, CPI or an FOMC statement hits the wire, chasing the initial spike. The problem is mechanical: spreads on XAUUSD and majors can blow out several times their normal width in the first seconds after release, fills slip past the intended entry, and stop orders sitting near the level get triggered at far worse prices than backtested. A news filter that pauses trading around high-impact releases isn't a nice-to-have for these EAs — without one, the strategy is trading against the exact conditions that break it.

EA typeTrade frequencyTypical R:RDrawdown shapeWhat kills it
Trend-followingLow1:2–1:4Gradual, regime-linkedExtended chop / range
Mean-reversionMedium~1:1GradualTrending breakout regime
BreakoutMedium1:1.5–1:3ChoppyFalse breakouts, low volatility
Scalping / HFT-styleVery high~1:1 or lessDeath by a thousand cutsSpread, latency, no VPS
Grid / martingaleHigh, compounding sizeSkewed — many small wins, one fatal lossSmooth then verticalTrending move against the grid
News-triggerEvent-driven, rareHigh varianceSudden gapsSlippage, spread blowout at NFP/CPI/FOMC

EA input parameters: setting targets, stops and lot size

The Inputs tab is where an expert advisor either becomes a repeatable system or a liability wearing a system's clothes — and it's the part almost nobody writing about EAs actually opens up. EA input parameters control risk per trade, where your stop loss and take profit sit, how a trailing stop follows price, and which conditions block a trade entirely (spread, slippage, session). Get the defaults wrong and the strategy underneath can be flawless and still bleed you dry.

Risk % vs fixed lots vs lot step

Risk percent sizes each trade as a fraction of current equity (say 0.5–1%), so lot size shrinks after a drawdown and grows after a win streak — the only method that scales with account size without manual babysitting. Fixed lot size trades the same volume regardless of equity, which is fine for a small demo test but dangerous on a funded account approaching a daily loss limit. Lot step (the smallest volume increment your broker allows, often 0.01) matters more than traders think — an EA rounding down aggressively on a small account can silently under-risk every trade, and one rounding up can double it.

SL and TP in points vs ATR multiples

Stop loss take profit EA settings expressed in raw points break the moment you move the same EA from EURUSD to XAUUSD. A 300-point stop is roughly 30 pips on EURUSD but a wafer-thin ~$3 stop on gold, which trades hundreds of points of daily range without blinking — you'll get stopped out on noise, not on being wrong. An ATR-multiple stop (e.g., 1.5× ATR(14)) travels across instruments because it's expressed in the pair's own volatility, not an arbitrary tick count. If you're running one EA across forex and gold, ATR-based SL/TP isn't a nicety, it's the only version that survives the switch.

Trailing start, trailing step and breakeven logic

These are three separate parameters, and treating them as one is how traders get stopped out of winners. Trailing start is the profit distance (in points or ATR) before the trailing stop activates at all. Trailing step is how far price must move before the stop ratchets forward again — set tighter than average intrabar noise (common on XAUUSD's five-minute chart) and you'll get chopped out on a pullback that was never a reversal. Breakeven logic is a one-time move: push SL to entry (plus a small buffer for spread) once the trade clears a defined threshold, protecting against a full round-trip loss on a trade that was briefly winning.

Max spread cap, slippage tolerance and session filter

Max spread blocks new entries when spread widens beyond a threshold — essential around NFP or FOMC when gold and indices can see spread blow out several-fold in seconds. Slippage tolerance (in points) caps how far from the requested price a fill is accepted; too tight and the EA misses valid fills constantly, too loose and it eats slippage silently in fast markets. A session filter restricts trading to hours matching the strategy's intent — a London-breakout EA firing during the illiquid Asian session is a design bug wearing a live-account price tag.

ParameterWhat it doesSane default rangeFailure mode if set wrong
Risk %Sizes lot per trade off equity0.25%–1%Oversized lots blow the daily loss limit fast
Fixed lotStatic volume regardless of equityBroker minimum for testingDoesn't scale — over-risks small accounts
SL/TP (ATR multiple)Stop/target sized to volatility1–2× ATR(14)Fixed points break across instruments
Trailing startProfit needed before trail activates1×ATRToo early — trail chokes a runner immediately
Trailing stepDistance stop moves forward0.3–0.5× ATRTighter than noise — stopped out on pullbacks
Breakeven triggerMoves SL to entry + buffer0.5–1× planned SLToo tight — breakeven-stops winners before they run
Max spreadBlocks entries above spread threshold2–3× average spreadToo loose — entries fill during NFP/FOMC spread spikes
Slippage toleranceMax deviation from requested price3–10 pointsToo tight — missed fills; too loose — silent slippage cost
Session filterRestricts trading hoursMatches strategy logicOff-hours entries on thin liquidity

Whatever you're tuning, change one parameter at a time and map the result — a real edge produces a flat parameter surface, where 13, 14 and 15 all perform similarly. If a setting only works at exactly 14 and collapses on either side, that's not an edge, that's curve-fitting to noise, and it will not survive live spread and slippage.

Ready to trade funded capital?

Choose your path — Instant Accounts, One-Step or Two-Step Challenges — from just $23, with up to $300,000 in funded capital.

Choose your challenge

Why profitable backtests fail forward — and how to test properly

A backtest that shows 90% modelling quality on your broker's tick data still isn't reality — it's a simulation of reality, and the gap between the two is where most EAs die. If you want a bot that survives contact with live spread, you test it in a specific sequence: optimise in-sample, validate out-of-sample, then forward test on simulated capital before risking a funded account.

Strategy Tester, tick data and modelling quality

The MT5 Strategy Tester grades every backtest with a modelling quality score. "Every tick based on real ticks" reconstructs price movement from actual historical tick data — the closest you get to real execution inside a backtest. "1-minute OHLC" just interpolates between four price points per candle, which flatters entries and completely misses the wicks that would have stopped you out. A 90% modelling quality figure looks reassuring, but it's still built on your broker's synthetic tick reconstruction, not on the fills you'd actually get from your liquidity provider at 8:30am on NFP day. Treat the number as a floor for confidence, not a guarantee of forward performance.

The four reasons EAs die

  • Curve-fitted backtests — parameters tuned so tightly to historical noise that they describe the past instead of predicting the future.
  • Unrealistic spread and slippage assumptions — testing on fixed 1-pip spread when your live account widens to 3-4 pips during volatility.
  • No news filter — an EA that happily buys straight into an FOMC print because the backtest never modelled the spread spike.
  • No drawdown governor — nothing hardcoded to stop trading once losses hit a defined threshold, so a losing streak that should cost 5% costs 25%.

Out-of-sample, walk-forward and the XAUUSD tick-density problem

XAUUSD is the most-traded instrument on the For Traders platform, and gold punishes backtest complacency harder than any major forex pair. Its tick density is far higher than EURUSD or GBPUSD — more price updates per second means more opportunities for your EA's logic to fire on noise rather than signal. Gold's spread can multiply several times over around the New York open and during US data releases, and a backtest run on demo-default spread and slippage settings simply won't catch that. If you're running or building a gold EA, hardcode a harder spread filter — reject entries when the current spread exceeds a defined multiple of its rolling average — and set your slippage assumption well above whatever the platform default happens to be.

The testing sequence that actually means something runs in three stages. First, in-sample optimise on a defined historical window to find a workable parameter set. Second, out-of-sample validate on unseen data the optimiser never touched — this is where curve-fitting and over-optimisation get exposed, because a real edge holds up while a fitted one collapses. Third, forward test on simulated capital under the same risk parameters — position size, daily loss limit, max drawdown — you'll trade under live. Walk-forward testing, where you roll this window forward repeatedly and re-optimise each time, tells you whether the edge persists as market conditions shift, or whether it was only ever a fit to one specific historical stretch.

VPS, disconnects and what happens to your open trades

An expert advisor only thinks while the terminal is running and connected to your broker's trade server — close the laptop lid and the logic stops, even with positions still open. Whether that's a problem depends entirely on how your exits are built, not on how good your strategy is.

Why an EA needs a machine that never sleeps

Every tick your EA never receives is a decision it never makes. If your logic checks price on every OnTick() call and your laptop goes to sleep, drops Wi-Fi, or your ISP hiccups during NFP, the EA simply isn't there. The position doesn't close, doesn't trail, doesn't hedge — it just sits, waiting for a connection that isn't coming. This is the single biggest gap between backtest and live results: your strategy tester never disconnects, your home internet does.

Server-side SL/TP vs EA-managed exits

This distinction matters more than almost anything else in EA risk management, and most traders never think about it until they get burned:

  • Server-side stop loss and take profit — attached directly to the order and held on the broker's trade server. These execute whether your terminal is open, your VPS is running, or your laptop is in a drawer. A terminal disconnect does not touch them.
  • EA-managed exits — trailing stops, breakeven moves, time-based closes, anything coded inside OnTick() or a timer event. These only fire while the EA is running and receiving price. No connection, no exit.

A trailing-only EA — one that relies purely on internal logic to protect an open position — is structurally fragile. A terminal disconnect during a news spike can leave a trade fully exposed with nothing backstopping it. An EA that sets a hard server-side stop the moment it opens a trade, then trails afterward as a bonus, survives a dropped connection with a defined worst case instead of an open-ended one. If you're evaluating or building an EA, this is the first thing to check in the code — not the entry logic.

Latency, execution and when a VPS is genuinely worth it

A VPS for expert advisor hosting solves one problem: uptime and proximity. You're not buying more CPU, you're buying a machine that sits physically closer to your broker's trade server and never sleeps, never loses Wi-Fi, never gets a Windows update mid-session. Choose low-latency hosting by ping to the actual trade server your broker uses — a VPS in London doing 2ms to a London server beats a "faster" VPS in another region doing 40ms. For execution-sensitive strategies, that latency directly affects slippage and fill quality on every order.

Be honest about whether you need one. A swing EA that checks price a few times a day, holds for days, and relies on server-side stops for protection rarely needs a VPS — a stable connection each evening is enough. A scalping EA managing exits tick-by-tick, or one trading through session opens and news windows, needs one running 24/5 without exception. Match the hosting decision to the trading frequency, not the other way around.

How to sell an expert advisor on the MQL5 Market

Selling on the MQL5 Market means uploading a compiled .ex5 with source for MetaQuotes' own validation engine, publishing a working free demo alongside the paid version, and setting a price — MetaQuotes takes a cut of every sale from there. The path is straightforward on paper; most first-time sellers still get bounced on validation at least once.

  1. Register or upgrade your MQL5.community account and complete seller verification.
  2. Upload the .mq5 source through the Market's seller panel for automated product validation.
  3. Fix whatever the compiler and behaviour checks flag, and resubmit.
  4. Publish a functional demo version alongside the paid listing.
  5. Set your price and royalty terms, then publish and monitor sales from the seller dashboard.

Seller registration and identity verification

You need an active MQL5 community profile before you can list anything, and MetaQuotes requires seller verification — identity documents, a confirmed payment method — before your first product goes live. This isn't a formality: it's how MetaQuotes pays out royalties and how buyers on the Market can trace a product back to an accountable seller, not an anonymous upload.

Product validation: why most listings get rejected

Every submission goes through automated product validation before it's allowed a public listing, and the rejection list is fairly consistent across sellers:

  • Code that fails validation checks — compiler warnings, unhandled errors, or logic that crashes the tester outright.
  • Trading logic that breaks on non-standard symbols or digits — an EA hard-coded for 5-digit EURUSD pricing that chokes on a 3-digit JPY pair or a broker's non-standard suffix.
  • A missing or non-functional demo — the Market requires a free, working demo build; a demo that can't actually place a trade gets flagged immediately.
  • Misleading descriptions and performance claims — cherry-picked backtest screenshots or promised win rates with no forward-tested evidence behind them.
  • Hard-coded broker or account restrictions — logic tied to one broker's server or account number, which defeats the point of a public listing.

The demo version requirement and pricing

MetaQuotes requires a functioning demo version published next to every paid EA — buyers test it on a demo account before they spend anything. Price it too high with no track record and it sits; price competitively and let the demo do the convincing. Most sellers underprice early listings deliberately, then raise price once reviews and live signal results accumulate.

Royalties, payouts and building a track record

MetaQuotes takes a royalty cut of each sale before you get paid, so your listed price needs headroom above what you actually want to net. But the bigger commercial reality is reputation: buyers on the MQL5 Market judge sellers by their public signal history and review record, not the sales page. A listing with no forward-tested track record — no linked signal, no verified live results — sells almost nothing, no matter how clean the backtest looks. The traders who move volume on the Market are the ones who ran their EA live, in the open, before they ever charged for it.

Expert advisors: what automation genuinely fixes and what it doesn't

Pros

  • Executes the plan identically at 3am and after three losers — no revenge sizing, no skipped setups
  • Reacts within a tick of the condition firing, which manual entry cannot match on breakouts and scalps
  • Forces you to define entry, stop, target and sizing precisely enough to write them as code
  • Lets you monitor multiple symbols and sessions at once without staring at charts
  • Produces a clean, auditable trade log you can actually analyse against the backtest

Cons / risks

  • A losing strategy automated is just a faster way to hit the daily loss limit
  • Optimisation makes it trivially easy to curve-fit an edge that never existed
  • Blind to regime change — an EA has no idea the market stopped trending three weeks ago
  • Depends on uptime: a dropped terminal freezes every EA-managed trailing stop and breakeven
  • Spread widening, slippage and requotes hit automated fills harder than a backtest ever shows
  • Grid and martingale variants can breach max drawdown from a position that still looks recoverable

Ready to trade funded capital?

Choose your path — Instant Accounts, One-Step or Two-Step Challenges — from just $23, with up to $300,000 in funded capital.

Choose your challenge

Frequently Asked Questions

What is an expert advisor and what does EA stand for?+

An expert advisor (EA) is an automated trading program that runs on MT4 or MT5 and executes trades based on coded rules, without you clicking buy or sell manually. EA is simply the MetaTrader term for what other platforms call a bot or algo. It's written in MQL4 or MQL5, attaches to a chart, and reacts to price ticks in real time — opening, managing, and closing positions according to its logic. Some EAs also manage risk (stop loss, lot size) automatically. Not every EA is profitable; the code just automates whatever strategy it was built to run.

What's the difference between an EA and an indicator or script?+

An indicator only displays information on your chart — it can't place trades. A script runs once and stops, usually for a one-off task like closing all positions. An EA runs continuously on every tick and can open, modify, and close trades on its own, which is the key distinction. A signal service copies someone else's trades to your account without running independent logic locally. A 'bot' is just informal language for the same concept as an EA — MetaTrader users say EA, other platforms say bot or algo.

How does an expert advisor actually work behind the scenes?+

An EA runs through three core functions: OnInit sets up variables and inputs when you attach it to a chart, OnTick fires every time price updates and contains the actual trading logic, and OnDeinit cleans up when you remove it or the terminal closes. Inside OnTick, the code checks conditions, then sends an order request (OrderSend in MT4, trade request struct in MT5) to the broker's server. From there it manages open positions — trailing stops, partial closes, adding to a grid — until an exit condition is met. Slippage and requote handling are usually built into that order logic too.

Why doesn't my EA show up in the MT4/MT5 Navigator?+

It's usually a file placement or compilation issue, not a bug in the platform itself. EAs must sit in the MQL4/Experts (or MQL5/Experts) folder — accessible via File > Open Data Folder — and the .mq4/.mq5 file needs to compile without errors in MetaEditor before it appears as an .ex4/.ex5 file in the Navigator. Restarting the terminal after copying files often fixes it. If it still doesn't appear, check you're not looking in the wrong data folder — MT4 and MT5 each have separate installations even on the same computer.

What types of expert advisors exist and which ones blow accounts?+

The main categories are trend-following, mean-reversion, scalping, grid/martingale, and news-based EAs, each suited to different market conditions. Trend and mean-reversion EAs with fixed stop losses tend to be the most survivable long-term. Grid and martingale systems are the ones that blow accounts — they average into losing positions and look flawless on a smooth equity curve until a sustained trend or a flash move wipes the account in one leg. News EAs carry slippage risk around events like NFP or FOMC that backtests rarely price in correctly.

Why do profitable EA backtests fail in live or forward trading?+

Backtests fail live mainly because of curve-fitting — inputs tuned so tightly to historical data that they only work on that exact dataset. Add in unrealistic spread/slippage assumptions, missing broker-specific execution quirks, and survivorship bias from cherry-picked date ranges, and a backtest's equity curve rarely repeats. Forward testing on a demo for several weeks, then in a Challenge on simulated capital, is the only real filter. If an EA's live drawdown looks nothing like its backtest drawdown, the backtest was overfit, not the market being unfair.

Do you need a VPS to run an expert advisor?+

You need a VPS (virtual private server) if you want an EA trading continuously without depending on your own computer and internet staying on. If your terminal disconnects, an EA stops managing trades — open positions stay open with whatever stop loss was already set, but no new logic executes until the connection restores. For scalping or news EAs where milliseconds matter, a VPS near your broker's server also cuts latency. For slower swing-style EAs, a stable home connection can work, but it's a real gap in risk coverage.

How do you sell an expert advisor on the MQL5 Market?+

Selling on the MQL5 Market requires registering as a seller, submitting your compiled EA for MetaQuotes' validation process, and passing their checks for code safety, functioning inputs, and no hidden or malicious behavior. Validation also confirms the EA doesn't crash the terminal and includes proper documentation. Once approved, you set pricing, and MetaQuotes takes a commission on sales. Rejection is common on first submission — usually for input parameters that aren't properly labeled or for logic that behaves unpredictably under different account/leverage settings.

Is 'MyExpertAdvisor' the same as an expert advisor?+

MyExpertAdvisor is just a common placeholder or default file name people give their own EA project — it's not a separate product or term. When you create a new expert advisor file in MetaEditor, many tutorials use 'MyExpertAdvisor' as the example name, which is why it shows up in searches. It works exactly like any other EA: same OnInit/OnTick structure, same Navigator placement rules. If you're searching for it because your file won't run, treat it as a standard EA troubleshooting question — check compilation and folder placement first.

Are expert advisors allowed on prop firm trading challenges?+

Most prop firms, including For Traders, allow EAs on Challenges as long as the automation doesn't exploit prohibited behaviors like latency arbitrage, tick scalping on quote errors, or coordinated multi-account hedging. Read the specific rules on your Challenge before deploying anything, since disqualifying behaviors vary by firm. Grid and martingale EAs that ignore max daily loss limits are a common way traders get disqualified, because the account can breach drawdown before the EA reacts. Always test an EA on demo first and confirm its risk settings respect the Challenge's daily and overall loss limits.

MH

Written by

Marcel Hambálek

Senior Trader, For Traders

Marcel trades Futures and Forex day-trading setups on funded accounts and writes about the executional details most traders skip — order types, slippage, session timing, platform quirks on MT5 and NinjaTrader. Pragmatic, mechanics-first, no fluff.

Follow on LinkedIn

Ready to trade funded capital?

Choose your path — Instant Accounts, One-Step or Two-Step Challenges — from just $49, with up to $300,000 in funded capital.

Choose your challenge

Trade up to $300,000

Choose challenge