Learn › Risk management

MAE and MFE: How Far Each Trade Went Against You, and Using It to Set SL and TP

MAE is how far a trade went against you, MFE how far it went your way while open. Read both charts to adjust Stop loss and targets from evidence, and avoid the traps.

Advanced 11 min read 22 October 2026

What you will learn
  • MAE is the deepest move against you while the trade was open, MFE the furthest move in your favour. Measured in R, they compare across trades
  • MAE tells you exactly how a tighter Stop loss would have changed past trades, but nothing about a wider one
  • Winners cluster at small MAE even in a system with no edge at all, so compare with a random baseline before concluding anything
  • Picking the best stop from one data set and keeping it is curve fitting. Test it on data you did not use to choose it

Every trade you open has two numbers that never show up in your trade history: how far price went against you while you held it, and how far it went in your favour. The first is called MAE (Maximum Adverse Excursion), the second MFE (Maximum Favorable Excursion). The idea is best known through John Sweeney, author of a book titled Maximum Adverse Excursion. If you record both for every trade, you can stop guessing whether your stop is too tight or your target too far, and look at the evidence instead. This article covers how to measure them, how to read the charts, and the traps that make this evidence very easy to fool yourself with.

What MAE and MFE are

  • MAE: the distance from entry to the worst price while the trade was open. For a Buy, entry − lowest price. For a Sell, highest price − entry
  • MFE: the distance from entry to the best price while the trade was open. For a Buy, highest price − entry. For a Sell, entry − lowest price
  • Count only the time the position was open, from entry to exit

Measure them in R, meaning divided by that trade’s original Stop loss distance (1R = the stop distance). Then a trade with a 20-pip stop and one with a 50-pip stop compare directly. An MAE of 0.5R means price came halfway to the stop. How to express results in R is covered in Trading journal.

One trade, step by step

Buy EURUSD at 1.08500 with SL 1.08200 and TP 1.09100. While open, price drops to a low of 1.08380, rises to a high of 1.08950, and you close by hand at 1.08780.

  1. Stop distance (1R) = 1.08500 − 1.08200 = 30 pips
  2. MAE = 1.08500 − 1.08380 = 12 pips = 12 ÷ 30 = 0.4R
  3. MFE = 1.08950 − 1.08500 = 45 pips = 45 ÷ 30 = 1.5R
  4. Result = 1.08780 − 1.08500 = +28 pips = 28 ÷ 30 = +0.93R
  5. Share of the move you kept = 28 ÷ 45 = 62%. You gave back 45 − 28 = 17 pips

Check: 0.93R ÷ 1.5R = 0.62, matching step 5.

TP 1.09100 SL 1.08200 (1R = 30 pips) Entry 1.08500 MAE 12 pips (0.4R) MFE 45 pips (1.5R) Closed +28 pips (0.93R)
Diagram drawn from the example's numbers. Red is the MAE, green the MFE, blue the actual result. This trade kept 62% of the distance price travelled in its favour.

One trade tells you nothing yet. The value comes from plotting hundreds of them.

The simulated trade set used here

The figures from here on come from a simulation built to illustrate the ideas, not real market data. We generated 400 trades in node. Each trade’s price follows a random walk with SL 1R and TP 2R, and if neither is hit within a set time, the trade closes at market (a time stop). No spread is charged.

  • Set with an edge: in 20% of trades price has a push in our direction from the start, the other 80% are pure random. Win rate 50.5%, average +0.349R per trade
  • Set with no edge: every trade is pure random, used for comparison. Win rate 39.0%, average −0.017R per trade (the true value is 0, the rest is sampling luck)

MAE against result: winners cluster on the left

The horizontal axis is MAE, the vertical axis the trade result. Almost every system shows the same picture: most winners sit on the left, meaning they never went far against you, and losers pile up at an MAE of 1R because they hit the full stop.

90% of winners are left of this line (0.71R) Win Loss Median MAE of winners = 0.37R 180 trades hit the full stop, bottom right Result (R) +2+1 0−1 00.250.5 0.751 MAE: deepest move against you while open (R)
The simulated set with an edge, 400 trades (illustrative data, not a real market). The top row is trades that reached TP at 2R. Points in the middle closed on the time stop.

Before deciding your system is good, compare it with the set that has no edge at all.

MeasureSet with edgeSet with no edge
Win rate50.5%39.0%
Median MAE of winners0.37R0.41R
90% of winners have MAE at most0.71R0.82R
Winners with MAE below 0.5R66.8%59.0%
Trades that went 0.75R against and still won9.2%9.0%

Winners cluster on the left in both sets. That picture comes mostly from geometry, not skill. A trade already 0.75R under water is only 0.25R from the stop but needs another 2.75R to reach TP. If price moves randomly, the chance of reaching TP first = 0.25 ÷ (0.25 + 2.75) = 8.3%, close to the 9.0% and 9.2% in the table (the small gap comes from the time stop and sampling luck). What the edge really changes is that the outer edge of the winners moves a little to the left, and the difference is small. How to build this kind of baseline for your own system is in Random entry benchmark.

Using MAE to adjust the stop: what you can know and what you can’t

MAE lets you work out exactly how a tighter stop would have changed past results. There is one rule: any trade whose MAE reached the new stop distance would have been stopped at the new stop, and every other trade keeps its result (assuming a fill exactly at the stop, with no slippage).

Tightening the stop from 1R on the set with an edge, same lot size:

New SLWin rateWinners turned into losersAverage per trade (R of the old stop)
1.0R (original)50.5%0+0.349
0.9R49.0%6+0.358
0.8R47.3%13+0.370
0.7R44.3%25+0.363
0.5R33.8%67+0.278
0.3R22.0%114+0.172

Step by step at an SL of 0.8R: 13 winners become losers, costing 26.27R. 183 losers that had lost more than 0.8R (180 of them the full 1R) now lose 0.8R, saving 36.30R. Five small losers that closed on the time stop, but had been more than 0.8R down along the way, get cut deeper, costing another 1.48R. Net 36.30 − 26.27 − 1.48 = +8.55R over 400 trades = +0.021R per trade, matching 0.370 − 0.349 in the table.

MAE answers one question for certain: “what would a tighter stop have done to my past trades?” For a wider stop, the data has nothing, because once a trade is stopped out you never see where price would have gone next.

The table also leaves something out. If you tighten the stop and raise the lot to keep the same money at risk, spread and slippage, which are fixed price amounts, immediately become a bigger share of your risk. Real tests where tight stops broke a system are in Wide or tight Stop loss.

From our backtests

In our backtests we recorded the MAE of every trade from a system that trades pullbacks on gold M1. It places its stop according to the width of the price swing, so MAE is measured as a percentage of the swing width. Most losers were 18–19% down before being cut, which is where the stop sits.

PeriodTradesWinnersMedian MAE of winners90% of winners at mostWinners that went 9% or more against
Jan–Jul 2026 (real ticks)204488.4%17.5%21 (44%)
Jan–Dec 2022 (ticks generated from 1-minute bars)3986210.1%16.7%32 (52%)

The median says about half the winners never went halfway to the stop. That makes halving the stop sound tempting, but the last column tells the other side. Nearly half the winners went more than 9% against, roughly halfway to the stop. Put the stop there and every one of them becomes a loser. One in ten winners came close to touching the stop before turning. Winners in a pullback system tend to “breathe” deeply. Each year has only 48–62 winners, so the edge of the cluster can still move. These are backtest results. Past results do not predict future results, and they are not returns you should expect.

MFE and exit efficiency

MFE answers the profit-side question: how far did price get, and how much of it did you keep?

Dashed line = kept every bit of the move Win Loss Further below the line = more given back Bottom right: losers once up over +1R Result (R) +2+1 0−1 00.51 1.52 MFE: furthest move in your favour while open (R)
The same simulated set as the previous chart (illustrative data, not a real market). Trades that reached TP at 2R are stacked on a single point in the top right.

Figures from the set with an edge:

  • 66 winners closed on the time stop. The median one kept 55.6% of its MFE, and gave the rest back along the way
  • Of 198 losers, 35 (17.7%) had been up +1R and 76 (38.4%) had been up +0.5R before turning into losses

MFE lets you test a nearer target exactly, the same way MAE tests a tighter stop. Any trade whose MFE reached the new target counts as hitting it, and every other trade keeps its result. Because MFE is measured before the trade closed, price is certain to have reached the new target before the stop.

TPWin rateAverage per trade
0.5R69.5%+0.043R
1.0R59.3%+0.184R
1.5R52.3%+0.251R
2.0R (original)50.5%+0.349R

A nearer target wins more often but the total profit disappears, as in Near or far Take profit. A target beyond 2R can’t be tested from this data, because the MFE of every trade that hit TP is cut off at exactly 2R. We don’t know how much further price would have gone.

On moving the stop to break-even, MAE and MFE can’t give an answer, because they don’t tell you whether the worst point came before or after the best one. A trade with an MAE of 0.4R and an MFE of 1.5R may have dipped first and then risen (break-even changes nothing), or risen first and then come back to the entry (break-even cuts it). You need the whole price path, or a separate column such as “MAE after reaching +1R”. The same goes for a Trailing stop, which also depends on the order of prices.

The trap: reading MAE and fitting to it is curve fitting

In the stop table above, 0.8R comes out best. But this simulation is built from a model where we know the answer. Trades with a push in our direction gain nothing from a tighter stop, and random trades average zero wherever the stop is. So 0.8R looking better is just luck in this particular set of 400 trades.

To measure how much that luck can fool you, we repeated the simulation 300 times, 400 trades each. We used the first 200 trades to pick the best stop out of 8 values (0.3R to 1.0R), then applied that choice to the other 200 trades that played no part in choosing it.

  • No-edge sets: the chosen stop averaged +0.061R per trade on the data used to choose it. On new data it dropped to +0.012R, close to the original stop’s +0.003R. Almost the whole advantage vanished
  • Sets with an edge: on the choosing data, the chosen stop beat the original (+0.345R against +0.335R). On new data it did worse (+0.307R against +0.317R), and it beat the original stop in only 47 of 300 sets

The best value from the data you chose it on always looks better than it really is. It has to prove itself on data you didn’t use to choose it, and if the improvement is tiny, treat it as no difference.

A systematic way to split data is in Walk-forward testing, and picking values on a sharp peak is covered in Overfitting: peak vs plateau. How many trades are enough to decide is in How many trades.

How to record and calculate it yourself

Add four columns to your trading journal: lowest price while open, highest price while open, MAE (R) and MFE (R).

  • Buy: MAE (R) = (entry − lowest) ÷ (entry − SL), MFE (R) = (highest − entry) ÷ (entry − SL)
  • Sell: MAE (R) = (highest − entry) ÷ (SL − entry), MFE (R) = (entry − lowest) ÷ (SL − entry)
  • Share kept = result ÷ MFE, only for trades with an MFE above zero

Find the high and low on the M1 chart over the time you held the trade. The entry and exit candles include prices from before you entered and after you left, so the numbers can be slightly off. MT5 charts for most currency pairs are drawn from the Bid price. A Buy closes at the Bid, so it reads correctly, but a Sell closes at the Ask, so add the spread to the highest price you see. Otherwise a Sell’s MAE looks smaller than it really was.

The MT5 Strategy Tester report has MFE and MAE distribution charts that show the overall picture of a backtest, but the deals list shows only entry price, exit price and profit, with no MAE or MFE column per trade that you can work with. If you use an EA, have it track the lowest and highest price on every tick from the moment the position opens, and write them to a file when it closes. That is more accurate than reading the chart afterwards.

Rules of thumb

  1. Record every trade, not only the ones you remember, and measure in R
  2. Look at the outer edge of the winners, not the average. Ask “how many winners, and how much profit, disappear if the stop sits here?”
  3. Compare with random entries using the same SL and TP first. If the picture looks the same, you haven’t seen anything about an edge yet
  4. Use MAE only for “tighter stop” questions and MFE only for “nearer target” questions. Wider or further needs a new test
  5. Change one thing at a time. Tightening the stop and moving the target together can’t be worked out from MAE and MFE, because you don’t know which happened first
  6. Any value you choose from data must hold up on data you didn’t use to choose it, and must be clearly better, not slightly better

Common mistakes

  • Seeing winners cluster on the left and tightening the stop straight away. That picture appears even with no edge, and the winners at the outer edge are often the ones that made big profits
  • Using MAE to decide whether a wider stop is better. The data has no answer. A trade that was stopped out has no future to look at
  • Forgetting costs when you raise the lot for a tighter stop. Spread and slippage grow in R in proportion
  • Measuring a Sell’s MAE from the Bid on the chart. A Sell closes at the Ask, so add the spread
  • Trusting the edge of the cluster with few trades. An edge drawn from 30–60 winners can move a lot as data is added
  • Picking the best stop in hindsight and reporting results from the same data. That number always looks better than it really is
Try it with your own numbers

Frequently asked questions

Does MT5 show MAE and MFE?

The MT5 Strategy Tester report includes MFE and MAE distribution charts that plot each trade's profit against them, which gives you the overall picture of a backtest. But the deals list and your live account history have no column for the worst and best price while each trade was open. For per-trade numbers, find them on the chart, or have the EA record the lowest and highest price while the position is open.

How many trades do I need to read an MAE chart?

The more the better, because what you decide on is the edge of the cluster of winners, and only a few trades sit there. With only 30–40 winners, that edge can move a lot as data is added. Aim for several hundred trades, and keep part of the data aside for testing.

Most of my winners never went halfway to the stop. Should I halve my Stop loss?

Not yet. First count how many winners went past halfway and how much they made in total. Those trades become losers the moment you tighten the stop. Then test the change on a separate data set.

This is general education, not investment advice. Trading is risky and you may lose all of your capital.

Tools Chat on LINE