Risk note. Automated execution does not reduce market risk. Leveraged currency products can lose money quickly, and software following bad rules loses money faster than a human would. Test on a virtual account before committing capital.
The Short Answer
EA stands for Expert Advisor. In Forex trading, it is a software program that sits inside a compatible platform, watches incoming price data, checks that data against rules somebody wrote in advance, and then opens, manages, or closes positions when those rules are satisfied.
That is the whole concept. Rules in, trading orders out, no human clicking anything at the moment of execution.
What an EA can contain: entry conditions, exit conditions, protective stop levels, profit targets, position sizing, and time filters restricting when it may act. What it cannot contain is judgment. Results depend on the quality of the rules, prevailing Forex market conditions, execution quality at your brokerage, transaction costs, and the risk settings you chose.
I should flag something early. This page previously claimed that using automation requires no prior experience and no coding ability. Both statements were too strong, and both have been corrected below rather than quietly deleted.

The Naming Confusion
Several terms circulate for roughly the same thing, which trips up beginners constantly:
| Term | What it means |
| EA | Standard abbreviation, used across MetaTrader documentation and forums |
| Forex robot | Marketing term, usually for a packaged EA sold commercially |
| Algorithmic system | Broader umbrella covering any rule-based trading |
| MQL program | The actual code file, written in MetaQuotes Language |
They overlap heavily. “Robot” tends to appear where something is being sold, which is worth noticing as a signal in itself.
How One Actually Works
Six stages, cycling continuously while the trading platform stays open:
| Stage | What happens |
| Data monitoring | Reads incoming quotes, indicator values, and any other programmed inputs |
| Signal generation | Checks whether entry or exit conditions are currently satisfied |
| Order placement | Sends trading instructions to the brokerage when permitted and when conditions align |
| Risk application | Applies volume, protective levels, targets, and exposure limits |
| Position management | Watches anything open and reacts as conditions change |
| Nothing at all | Most of the time, honestly, since valid signals are rare |
That last row is not a joke. New users often assume something is broken because no orders appeared overnight. Usually nothing is broken; the conditions simply weren’t met.
What Can and Cannot Be Automated
The old version of this page said any manual approach can be converted into an EA. Not quite true, and the distinction matters.
Automation works when every decision can be expressed as an objective, testable condition. “Buy when the Stochastic crosses above 20” translates cleanly into code. “Buy when the chart looks like it’s building a base” does not, because two people reading the same chart will disagree about whether a base exists.
So the honest formulation is this. A manual approach converts into an EA when its entry logic, exit logic, position sizing, and risk controls can all be written as precise rules that software evaluates the same way every time.
Plenty of discretionary Forex methods fail that test. Some traders discover, while attempting conversion, that their approach was never as systematic as they believed. Uncomfortable, though arguably useful information.
Where It Runs, and Why That Matters
MetaTrader hosts the majority of retail Forex EAs, with the code compiled into a file that lives in the platform’s Experts folder.
Three practical consequences follow:
- The platform must stay open: Close MetaTrader and no trading happens. Your rules stop existing as far as the market is concerned.
- Your machine must stay awake: A sleeping laptop is a closed platform with extra steps.
- Your connection must hold: Dropped internet means missed entries and, worse, unmanaged open positions.
This is why a trading VPS comes up constantly in automation discussions. Hosting the platform on a remote machine that never sleeps removes all three failure modes, and placing that machine near your broker’s servers shaves a little latency off order routing. Free hosting is available from many brokers once account balance passes some threshold.
Is remote hosting mandatory? For anything holding positions overnight or trading short timeframes, I’d say effectively yes. For a system checking daily bars once per session, probably not.
The GBPUSD Example
Here is the trading system this article originally described, stated as precisely as the source material allows.
| Component | Detail |
| Currency pair | GBPUSD |
| Chart period | M15 |
| Entry condition | Stochastic oscillator |
| Exit condition | Bollinger Bands |
| Protective exit | Yes, applied automatically |
| Parameters | Adjustable by the user |
| Historical positions | More than 900 |
| Testing model | Open prices only |
Now the part that was missing, and which I’m not going to invent.
The original article showed a balance curve and a trade count without publishing the conditions behind them. Those conditions determine whether 900 positions represent a genuine edge or an artifact:
| Undisclosed variable | Why it changes the picture |
| Test start and end dates | 2018 conditions differ enormously from recent years |
| Initial deposit | Turns currency figures into meaningful percentages |
| Volume per position | Fixed lot or percentage risk changes everything |
| Spread and commission | On M15, costs compound across 900 entries |
| Slippage assumption | Simulations commonly assume none |
| Data source | Feeds from different brokers vary in quality and completeness |
| Net profit and profit factor | Absent, so consistency cannot be judged |
| Maximum drawdown | The number that determines whether you could hold on |
| Win rate | Absent |
| Out-of-sample segment | Nothing separates a fitted curve from a real edge |
| Forward-test result | No demo or live comparison was published |
My view, with hindsight: a balance graph without those figures is decoration. Anyone showing you one should be asked for the rest.
Why “Open Prices Only” Deserves a Warning
This detail from the original article is worth pulling out, because most beginners skip past it.
MetaTrader’s Strategy Tester offers several modeling modes. Open prices only is the fastest, and it evaluates conditions once per bar, assuming your orders fill at the opening price of each new candle.
Fine for certain slow systems. Misleading for anything else, because it never simulates what happens inside a bar. A protective stop that would have triggered eleven minutes into an M15 candle simply doesn’t trigger in the simulation. Neither does a target. The result tends to look smoother and better than reality.
If a system relies on intrabar exits, and most do, the tick-based mode gives a far more honest picture despite taking considerably longer to complete. Anyone publishing results from open prices only should say so prominently, which at least the original article did.
Automated Against Manual Execution
| Feature | EA | Manual |
| Order placement | Rule-based, automatic when enabled | Trader clicks |
| Emotional interference | Reduced during execution | Frequently significant |
| Monitoring | Continuous while the platform is open | Limited by attention and sleep |
| Adaptability | None beyond programmed rules | Trader interprets novel situations |
| Reproducibility | Testable on historical data | Difficult to reproduce consistently |
| Failure modes | Code bugs, connection drops, misconfiguration | Hesitation, override, fatigue |
| Profit guarantee | None | None |
Notice the final row applies to both columns. Automation changes which mistakes are available to you, not whether mistakes happen.
An EA Is Not an Indicator, and Not a Signal Service
Three different things, often conflated:
- An indicator calculates and displays something on your chart. It draws. It never places an order.
- An EA evaluates conditions and can act on them, placing orders directly through the platform.
- A signal service sends you alerts, or copies somebody else’s positions into your account. Someone else is making the decisions.
An EA might use several indicators as inputs while remaining fundamentally different in kind, because only the EA has permission to touch your account.
Installing One
Briefly, since this deserves its own guide:
- Open the platform, choose File, then Open Data Folder.
- Place the compiled file inside the MQL4 or MQL5 Experts subfolder.
- Restart, or refresh the Navigator panel.
- Drag it onto a chart of the correct pair and period.
- Permit algorithmic trading in Tools, then Options.
- Confirm the smiling face appears in the chart corner.
Wrong pair or wrong period produces results with no relationship to whatever was tested. Sounds obvious. Happens weekly.
Related reading: [internal link: how to install an Expert Advisor in MetaTrader].
Testing: Historical, Then Forward
Two stages, and skipping the second causes most of the disappointment I see.
Historical simulation runs your rules across past data, producing a balance curve, trade count, and summary figures. Useful for eliminating obvious failures. Also easy to fool yourself with, since parameters can be adjusted until the curve looks pleasant, a process that reliably produces something fitted to noise.
Forward testing runs the same rules on a demo account under current conditions, generating fresh positions nobody optimized against. Slower, less satisfying, considerably more informative. Weeks rather than days.
Only after both would I consider small live volume, and even then the first live month teaches you things neither stage predicted. Slippage during news. Spread widening at rollover. The gap between simulated fills and real ones.
What Automation Genuinely Helps With
- Executing rules consistently, without the hesitation that costs manual traders their best entries.
- Reacting within milliseconds rather than whenever you happen to look.
- Watching several pairs simultaneously, which no person does well.
- Removing emotional interference at the exact moment it does most damage.
- Making a set of rules testable, since code produces identical decisions on identical data.
That last benefit is underrated. Writing rules down as code forces a precision that vague mental frameworks never require.
Limits and Risks
Balanced view, because the 2018 version leaned promotional:
- Bad trading rules automate losses efficiently: Software has no instinct that something feels wrong today.
- Simulated results overstate live outcomes: Sometimes badly, particularly with weak modeling modes.
- Costs accumulate: Spread, commission, and overnight financing on hundreds of positions add up in ways a curve rarely shows.
- Conditions change: A system built for trending markets breaks when volatility collapses, and it will keep placing orders while breaking.
- Configuration errors are silent: Wrong volume, wrong chart, wrong parameter set, and nothing warns you.
- Technical failures happen: Platform crashes, updates, connection drops, expired hosting subscriptions.
- Past profitability guarantees nothing: It is evidence of past conditions and nothing more.
Running Several at Once
Common advice suggests attaching multiple EAs to one trading account for diversification. My earlier phrasing here claimed that doing so spreads risk and improves outcomes, which overstated the case considerably.
Several systems trading the same pair, using related indicators, during identical sessions, are not independent. They can all buy the same move and lose together. Counting how many you have running tells you nothing about whether risk is actually spread.
What would tell you something:
| Measurement | What it reveals |
| Return correlation between systems | Values near 1.0 mean you effectively have one position |
| Overlapping entry times | Simultaneous exposure concentrates rather than spreads |
| Shared indicator families | Similar inputs produce simultaneous failures |
| Combined portfolio drawdown | Usually deeper than any individual figure suggests |
| Directional bias | An all-long portfolio is one leveraged bet |
Test the portfolio as a unit. Adding a sixth system to five correlated ones increases exposure without reducing anything.
Assessing One Before You Trust It
A checklist I’d apply to any EAs on offer, mine included:
- Are the entry and exit rules published, or only the results?
- What modeling mode produced the simulation?
- Does the test period cover different market regimes, or one favorable stretch?
- Is there an out-of-sample segment?
- What is the maximum drawdown, and could you sit through it?
- How many positions? Fewer than a few hundred proves little.
- Were spread, commission, and slippage included?
- Does forward-test evidence exist, or only historical figures?
- Who benefits if you buy or download it?
Anything failing question one is not worth reaching question two.
Do You Need Experience or Coding Skills?
Two corrections, since the earlier version of this article got both wrong.
- Experience: Automation removes chart-watching and manual order entry from your trading day. It does not remove the need to understand position sizing, drawdown, protective levels, transaction costs, platform settings, broker conditions, testing limitations, or the gap between demo and live results. Someone who understands none of those is operating machinery they cannot assess.
- Coding: Strategy-builder software genuinely can generate working files without you writing a line, and that workflow suits many people, which is why the original claim wasn’t baseless. Custom modifications, debugging odd behavior, and reviewing somebody else’s code all still require programming knowledge. So: not required to start, occasionally required to continue.
Frequently Asked Questions
Can an EA work with any broker?
Mostly, though not always identically. The file connects through whichever trading platform your brokerage supplies, so the same code can produce different outcomes across firms because of spread, execution speed, symbol naming, and digit conventions. Some restrict certain automated Forex behaviors, particularly rapid scalping approaches, and a few prohibit them in their terms. Check both the contract specification and the account agreement before assuming something tested elsewhere will behave the same way on your account.
Do EAs guarantee profits?
No, and any seller claiming otherwise is worth walking away from immediately. Software executes rules faster and more consistently than a person, which is a genuine advantage, but consistency applied to unprofitable trading logic simply produces losses more reliably. Historical results reflect past conditions under specific cost assumptions. Regulators across multiple jurisdictions have taken action against firms marketing automated systems with guaranteed-return claims, which tells you how common the promise is.
What happens if my internet drops while positions are open?
Existing orders remain with your broker, so protective levels already placed on the server continue working. What stops is management: your system cannot close positions, adjust levels, or open new ones until it reconnects. Anything the code was going to do at a future condition simply never happens. This gap is the main practical argument for remote hosting rather than a personal machine, particularly for systems holding positions across sessions.
Can EAs trade instruments other than currencies?
Yes. The same code structure works on indices, metals, energies, and CFDs on shares, provided the instruments are offered and the platform supports the symbol. Adjustment is usually necessary, since point values, typical volatility, and session hours differ substantially between asset classes. A system tuned for GBPUSD will behave unpredictably on gold without rethinking its parameters. Test each instrument separately rather than assuming settings carry across.
How much money do I need to start?
Enough that the smallest position size available represents a sensible fraction of your balance. If a routine adverse move risks several percent of the account at minimum volume, the account is too small for that instrument regardless of how good the rules are. Calculate backward from worst-case exposure, including the possibility of several systems opening simultaneously, then add a buffer. Starting undercapitalized is among the most common reasons beginners fail early.
Can I modify an EA someone else built?
Only with the source file. Compiled files cannot be edited meaningfully, so a purchase offering no source code locks you out of adjustments permanently. Where source is available, changes invalidate every published test result, and rerunning the full testing sequence afterward is not optional. Small parameter tweaks feel harmless and frequently aren’t, since values interact in ways that only show up across a proper simulation.
How long should I forward-test before going live?
Long enough to generate a meaningful number of positions rather than a fixed calendar period. A system averaging two entries weekly needs months to produce anything statistically interesting, while a short-timeframe approach might reach a similar count in weeks. Watch for whether behavior matches the historical simulation, since divergence early on usually indicates cost assumptions were optimistic. Patience here is cheap compared with the alternative.
What is the difference between MQL4 and MQL5?
They are the programming languages behind MetaTrader 4 and MetaTrader 5 respectively, and files written for one will not run on the other without conversion. MQL5 handles a different order and position model, which affects how hedging and partial closes work. Converting existing code is possible though rarely trivial, and thousands of older systems remain MQL4-only. This matters when choosing a platform, since your available library depends heavily on that decision.
Disclosure: Educational content only, not a recommendation to trade or to use any specific software. Consider your circumstances and, where appropriate, seek guidance from a regulated professional before committing capital to automated systems.

Petko Aleksandrov



