October last year I paid $49 for a "lifetime scalping script" off a Telegram channel. The seller promised it would trade gold for me around the clock. I dragged it onto my XAUUSD chart, watched the journal tab print "Script executed successfully," and waited. Nothing happened. No trades. No lines. Just a one-line goodbye in the journal. I messaged the seller, angry, and he replied: "Bro, it's a script. It runs once." That was the day I learned the hard way what the mt5 script vs ea vs indicator differences actually are — and it cost me $49 plus a full evening of confusion. This guide exists so you don't pay your own tuition fee. By the end, you'll know exactly which of the three to use, when, and why I now run all three side by side on the same terminal.
The DarkWolf MT5 Signal Calculator on our homepage is where I sanity-check position sizes before I hand control to any automated program. Knowing the tool differences tells you what runs; the calculator tells you how big each trade should be.
What Each One Actually Does When You Click Run
Think of it like kitchen tools. A script is a match — strike it once, it burns, it's done. An indicator is a thermometer — it sits there and reads the temperature continuously. An EA is a sous chef — it watches, decides, and acts without you.
A script runs exactly once and terminates. You drop it on a chart (or run it from Navigator), it executes its code top to bottom, and then MT5 unloads it. Scripts are perfect for one-shot jobs: closing all open positions, placing a batch of pending orders, exporting trade history. They don't need "AutoTrading" enabled and they don't care about new ticks.
An indicator calculates and draws. It recalculates on every tick, paints lines, arrows, or histograms on your chart, and never places a trade by itself. The ADX indicator trend strength analysis I run on my H4 charts is a classic example — it tells me trend strength, it never opens a position.
An expert advisor trades. It runs on every tick, evaluates conditions, opens, modifies, and closes orders. It needs AutoTrading enabled and a smiley-face icon in the chart corner. EAs live until you remove them or the terminal closes.
| Feature | Script | Indicator | Expert Advisor |
|---|---|---|---|
| Runs | Once, then unloads | Continuously on every tick | Continuously on every tick |
| Can open trades | Yes, one-off orders | No | Yes, fully automated |
| Needs AutoTrading on | No | No | Yes |
| Max per chart | One at a time (it exits) | Unlimited | One |
| Typical use | Close-all, bulk orders, exports | Signals, levels, dashboards | 24/7 automated strategies |
The Three Ways I Burned Money Confusing Them
$49 for the fake scalping "script" — mistake number one. The seller wasn't exactly lying; the file did what scripts do. I just didn't know what scripts do.
Mistake number two cost more. I bought a well-known EA, attached it to EURUSD, and watched it do nothing for three days. I blamed the vendor. Then I noticed the tiny red circle in my chart corner — AutoTrading was off. The EA was installed, loaded, and patiently waiting for permission. Three days of a ranging market I would have wanted to trade, gone. The vendor's support guy was polite about it. I wasn't.
Mistake number three was the sneaky one. I wanted two EAs on one GBPUSD chart — a trend EA and a news-filter EA. MT5 allows exactly one EA per chart. I attached the second one and it silently replaced the first. For two weeks I thought my trend strategy had gone quiet in a trending market. It hadn't gone quiet. It was gone, deleted by my own drag-and-drop. Now I open a second chart of the same symbol for the second EA. Charts are free. Confusion isn't.
How I Use All Three in One Evening Session
Here's my actual Tuesday routine. London session, 7 PM my time. First I run a script — my "session prep" script that closes any leftover orders from the Asian session and takes a screenshot of every open chart. Thirty seconds, done, unloaded.
My charts carry indicators the whole evening: a volume profile, an ATR band, and a custom session-timer indicator I coded myself. They draw, they update, they never touch my money.
One EA runs on a separate EURUSD M15 chart with AutoTrading on, managing a grid strategy with a 1% risk cap per basket. It places and closes trades while I eat dinner. Three different program types, three different jobs, one terminal. That's the practical answer to the mt5 script vs ea vs indicator differences question: scripts do chores, indicators show, EAs trade.
If you come from TradingView, the TradingView Pine Script to MT5 bridge article explains how Pine logic maps onto these three — Pine indicators map to MT5 indicators, but Pine "strategies" usually need to become EAs, not scripts.
Running a Signal Through the DarkWolf Calculator: What Each Field Means
Before any EA or script places a trade for me, the numbers go through the DarkWolf MT5 Signal Calculator. Here's my field-by-field routine.
| Input Field | What it means | Sample value |
|---|---|---|
| Account balance | Your current equity before the trade | $2,340 |
| Risk percent | How much of the account one trade may lose | 1% |
| Entry price | Where the EA or script would open | 1.0850 EURUSD |
| Stop loss (pips) | Distance to the invalidation level | 25 pips |
| Take profit (pips) | Target distance for the trade | 50 pips |
The output — position size in lots — is what I hard-code into the EA's inputs. That way the "sous chef" can't decide on its own to risk 5% because it feels lucky. Automation without a position-size leash is just faster gambling.
The Math of How Long Each One Runs
There is a simple way to think about execution lifespan. It matters because it decides whether your code survives the weekend.
A script's work is measured in seconds. My close-all script finishes in under 2 seconds on 40 positions. An EA's work is measured in terminal uptime — mine ran 96 hours straight last month on a VPS. An indicator's work is measured in chart lifetime.
| Variable | Meaning | Example value |
|---|---|---|
| Execution time | How long the script's single run takes | 1.8 seconds (close 40 trades) |
| Terminal uptime | Hours MT5 stays open (VPS helps) | 96 hours |
| Removal | Manual removal or terminal close | Weekend shutdown |
Why does this matter? Because a script can never "miss" a signal the way people fear — it doesn't watch for signals at all. And an EA you close on Friday night can't protect you over the weekend. Match the lifespan to the job.
Three Setups I Ran Through the Tool Last Month
I keep a log of calculator runs. Here are three real ones from last month, each paired with the program type I used for the actual execution.
| Scenario | Calculator input | Output | Executed with |
|---|---|---|---|
| EURUSD breakout | $2,340, 1%, 25-pip SL | 0.09 lots | EA (auto entry) |
| XAUUSD news hedge | $2,340, 0.5%, 40-pip SL | 0.03 lots | Script (one-shot hedge) |
| GBPUSD swing | $2,340, 1.5%, 60-pip SL | 0.06 lots | Manual (indicator-guided) |
Notice the pattern: the EA handled the repetitive breakout, the script handled the one-off hedge I didn't want running forever, and the indicator setup stayed manual because I wanted discretion on the swing. The calculator doesn't care which program executes — the risk math is identical.
One quirk worth knowing: MT5 scripts run in their own thread and can't be "paused" — if your close-all script has a bug and you have 40 positions, there's no stop button except killing the terminal. I test every script on a demo account first. Every single one. The official MQL5 documentation confirms the one-shot execution model, and Investopedia's algorithmic trading overview is a good primer on what full automation actually entails.
Scripts, EAs and Indicators: Questions I'm Asked Most
Can an MT5 script trade automatically while I'm away?
No. A script executes once and unloads — it cannot watch the market or react to new ticks. If you need something that trades while you're away, you need an expert advisor with AutoTrading enabled, ideally running on a VPS so it survives your PC being switched off.
Do indicators need AutoTrading enabled to work?
No. Indicators only calculate and draw; they never send trade requests, so the AutoTrading button is irrelevant to them. If your indicator isn't showing, the problem is usually the wrong timeframe, missing history data, or an input error — not the AutoTrading toggle.
Can I attach two EAs to the same chart?
No — MT5 allows exactly one EA per chart, and attaching a second one silently removes the first. Open a second chart window of the same symbol and timeframe, then attach the other EA there. Both will trade the same account independently.
Why did my EA stop working after I closed MT5?
EAs live inside your terminal. Close the terminal, and the EA dies with it. For 24/7 operation, run MT5 on a VPS (a virtual private server) that stays online. This is the single most common reason "my EA works on demo but not live" complaints exist.
Can a script close all my open positions at once?
Yes — that's one of the best uses of scripts. A close-all script loops through your open positions and sends a close request for each, finishing in seconds. Test it on demo first, because once it starts, you can't pause it mid-loop.
Is it safe to run an indicator and an EA on the same chart?
Yes, and it's common. You can attach unlimited indicators to a chart that already has an EA. The EA trades, the indicators draw. They don't interfere with each other, though a very heavy indicator can slow tick processing on weak machines.
How do I know whether a file I downloaded is a script, EA, or indicator?
Check the Navigator folder it belongs in: Scripts, Indicators, or Expert Advisors. You can also open the .mq5 source — scripts use void OnStart(), indicators use int OnCalculate(), and EAs use void OnTick(). No source file? The folder placement is your answer.