Trading Glass
FeaturesPricingAcademyBlogChartJournal
Loading
All Courses
Stop Placement & Risk AnchoringATR-Based vs Structural StopsMAE, MFE & Stop OptimizationKillzonesMoving to Break-EvenReal-Time Trade ManagementSmart StopsExecution Risk Profile
Academy/Execution Precision/Stop Placement

MAE, MFE & Stop Optimization

Execution Precision

8 min read

avgMaeavgMfe

Use Maximum Adverse Excursion and Maximum Favorable Excursion data for data-driven risk control and stop optimization.

Loading

Related Topics

Measuring Slippage with MAE/MFE

8 min

Stop Placement & Risk Anchoring

9 min

Moving to Break-Even

8 min

Real-Time Trade Management

8 min

Previous Topic

ATR-Based vs Structural Stops

Next Topic

Killzones

Trading Glass

Next-generation charting order flow platform with rotation view, cluster visualization, and real-time analytics for professional traders and quantitative analysts.

Product

  • Features
  • Pricing
  • Chart
  • Journal

Resources

  • Academy
  • Blog
  • Documentation
  • API Reference
  • Support

Company

  • About
  • Contact

Legal

  • Privacy Policy
  • Terms of Service
  • Cookie Policy

© 2026 Trading Glass. All rights reserved.

PrivacyTerms

You don't need to guess how tight your stop should be. Your trades are already telling you.

TL;DR: MAE (Maximum Adverse Excursion) is the worst paper loss a trade reached before close; MFE (Maximum Favorable Excursion) is the best unrealized gain. By computing the MAE distribution across your winning trades and reading the 85th–90th percentile, you find the smallest stop that keeps your edge intact — provided you validate it on out-of-sample data before risking live capital.

Prerequisites: Stop Placement & Risk Anchoring and ATR-Based vs Structural Stops. Next: Smart Stops operationalizes the dynamic stop logic this lesson describes statistically.

Introduction

You've placed your stop. You've executed your trade. The post-mortem question is unavoidable:

"Was my stop too tight, too loose, or just right?"

Two execution metrics answer that question with measurement instead of feel:

  • MAE (Maximum Adverse Excursion, Sweeney 1997) — the worst unrealized drawdown a trade reached before it was closed. For a long: the lowest price between entry and exit, expressed in R or %. For a short: the highest price.
  • MFE (Maximum Favorable Excursion) — the best unrealized gain reached before close. For a long: the highest price between entry and exit; for a short: the lowest.

The metric was named and popularized by John Sweeney in Maximum Adverse Excursion: Analyzing Price Fluctuations for Trading Management (Wiley, 1997). Every Tradervue, Edgewonk, or custom-Python journal you'll touch traces back to that book.

These two numbers turn closed trades into stop and target diagnostics — they tell you how much heat your edge actually takes before it pays out, and how much profit you systematically leave behind.


Definitions

MetricFormal definition (long)Operational use
MAELowest price between entry and exit, expressed in R or % of riskStop sizing efficiency
MFEHighest price between entry and exit, expressed in R or % of riskExit timing optimization

For a short, flip "lowest" and "highest." Both metrics ignore the direction of the trade outcome — a winner can have a large MAE, and a loser can have a large MFE before reversing into the stop.


Why This Matters (And Why MAE Beats Reflex)

Most traders anchor stops on round numbers, widen them after a recent stopout (recency bias), and exit on the first 1R because variance feels like proof. MAE and MFE replace those reflexes with measured distributions of how price actually behaved across your closed trades — not how it felt.

That gives you tractable answers to three concrete questions:

  • Could my stop be tighter without increasing my real stop-out rate on winning setups?
  • Am I exiting before the average winner finishes paying out?
  • Am I sizing risk based on the trades' tail behavior, or on the most recent emotional moment?

Compared to alternatives covered in ATR-Based vs Structural Stops, MAE/MFE are empirical — they describe what your strategy already did, not what a generic volatility model assumes will happen.


How to Use MAE

Goal: set a stop just outside the MAE distribution of your winners

Why winners only? Losers' MAE is censored by your current stop — every loser, by definition, has MAE equal to your stop distance. Including losers in the MAE calculation tells you about your stop, not about your edge. Winners' MAE tells you the heat a real edge takes before paying out.

If the median MAE of your winners is 0.6R (and the 90th percentile is 0.9R), but your stop sits at 1.5R…

Winners' median MAE

Half of winners never went past 0.6R against you before paying out.

0.6R

Winners' 90th-percentile MAE

Even the worst-heat winners stayed inside roughly 1R of adverse excursion.

0.9R

Current stop distance

0.6R of dead capital that damages your R:R without protecting any real edge.

1.5R

You're paying for a 1.5R risk envelope and only using ~0.9R of it on the trades that actually work. The rest is dead capital that hurts your R:R ratio without protecting anything.

Procedure

  1. Export every closed trade with timestamps and per-trade extreme prices (low and high during the holding period).
  2. Compute MAE in R units for each trade: MAE_R = (entry - lowest_price) / risk_per_R for longs.
  3. Filter to winners only.
  4. Take the 85th-percentile MAE — not the mean, because MAE is right-skewed and the mean understates worst-case heat.
  5. Set the new stop at roughly 1.1× that percentile, and validate on a holdout set or walk-forward window before going live.

Tighter stops with the same stop-out rate = higher R:R = more compounding capacity over a 100-trade sample.


How to Use MFE

Goal: use MFE to identify when you are exiting too early

If the median MFE of your winners is +2.7R, but you usually exit at 1.0–1.5R…

You are leaving money on the table — consistently — and the journal will prove it across hundreds of trades.

Practically:

  • Let price push into 2.0R+ zones before active management.
  • Build partial exit ladders at MFE deciles instead of fixed R targets.
  • Calibrate break-even moves with the lessons in Moving to Break-Even — premature BE almost always shows up as MFE far above realized R.

MFE distributions also depend on session — a London-session MFE distribution looks different from an Asian-session one, which is why session selection (Killzones) and MFE analysis are paired disciplines.


MAE-based vs ATR-based vs Structural Stops

MethodData requiredAdapts to regime?Overfitting riskBest for
MAE percentile (winners)≥30 closed trades per setupOnly if recomputed per regimeHigh — direct in-sample fitMature setups with stable trade logs
ATR multipleRecent ATR(14)Yes — ATR moves with volLow — generic volatility modelNew setups, regime transitions
Structural (swing)Recent swing highs/lowsImplicit (structure shifts)Low–mediumDiscretionary trend trades

A practical workflow uses ATR or structural stops in the first 30–50 trades of a new setup, then transitions to MAE-derived stops once a real distribution exists.


Example: BTC Journal Snippet

You need per trade: entry price, exit price, max-against price (the MAE bar), max-favorable price (the MFE bar), and risk-per-R. If your broker doesn't expose intra-trade extremes, reconstruct them from 1m bars between fills.

Trade #MAEMFEExitStop Hit?Notes
#1830.4R3.1R+1.0RNoCut early, feared reversal
#1840.7R1.8R+1.7RNoFull hold, high precision
#1851.3R0.4R-1.0RYesMAE exceeded avg, poor entry

From this snippet (illustrative — three trades is not a sample, it's an anecdote):

  • On a real 100-trade sample, you would compute the 85th-percentile MAE of winners and set the stop ~10% beyond it.
  • You would also slice the MFE distribution by session and setup before retargeting.
  • You would not retighten your stop after one cluster of trades — variance dominates small samples.

For the journaling infrastructure that produces these columns automatically, see Trader Journaling OS.


Tools that compute MAE/MFE for you

  • Tradervue and Edgewonk auto-compute MAE/MFE from imported broker fills.
  • Python: df.groupby('trade_id').apply(lambda t: (t.entry - t.low).max() / risk_per_R) on tick or 1m bars gives per-trade MAE in R units.
  • Sample size discipline: don't tighten stops with fewer than ~30 closed trades per setup. The tail of the MAE distribution dominates the decision, and tails take samples to fill in.

Visualization Tip

Plot MAE and MFE on a scatterplot in R units:

  • X-axis = MAE (R)
  • Y-axis = MFE (R)
  • Color code wins vs losses

This produces a trade footprint — a visual map of where your edge actually lives. Trades hugging the y-axis (low MAE, high MFE) are your cleanest expressions of edge; trades pressed against a vertical line (large MAE, small MFE) are the ones whose entries need work.


Interactive: MAE vs MFE Scatter

Visualize the relationship between worst drawdown (MAE) and peak profit (MFE) for a synthetic set of trades. Slide stop efficiency from 0.5× to 2.0× of MAE: notice how win-rate plateaus past ~1.2× — that plateau is where you have stopped buying protection and started buying air. Stops larger than the 90th-percentile MAE of winners almost never save trades; they just inflate the loss when the rare invalidation comes.

MAE vs MFE Scatter
3.1R0R-0.9R0RMAE (worst drawdown in trade)MFE (peak unrealized profit)
Winners Losers

Risks & Caveats

  • Overfitting is the dominant hazard. Stops tightened to historical MAE on the same trades that produced the MAE distribution are by definition curve-fit. Always reserve a holdout set or run a walk-forward validation before deploying a tightened stop in live capital.
  • Regime conditioning. MAE measured during a 2022-style low-volatility regime will be a poor stop in a 2024-style high-volatility regime. Recompute MAE distributions per volatility regime, not once.
  • Sample size. Below ~30 closed trades per setup, MAE percentiles are dominated by noise. Below 100, treat any tightened stop as provisional.
  • Survivorship inside winners. Filtering to winners removes the censoring bias — but if your sample contains only the good months of a setup, the winners-MAE will still understate live-trading heat. Use a stratified sample across sessions and regimes.
  • Strategy drift. If your entry rules changed mid-sample, your MAE distribution mixes two distributions. Recompute after every meaningful rule change.

FAQ

What is MAE in trading?

MAE (Maximum Adverse Excursion) is the worst unrealized drawdown a trade reached between entry and exit. For a long, it is the lowest price during the holding period; for a short, the highest. It is typically expressed in R units or percent of risk.

What is MFE in trading?

MFE (Maximum Favorable Excursion) is the best unrealized gain a trade reached between entry and exit — the highest price during the holding period for a long, the lowest for a short. It tells you how much profit was theoretically available before you closed the trade.

Who invented MAE?

John Sweeney introduced and popularized MAE in his 1997 book Maximum Adverse Excursion: Analyzing Price Fluctuations for Trading Management (Wiley). The concept predates the book in informal use, but Sweeney's framework is the canonical reference.

Should I use mean or median MAE to size my stop?

Neither. MAE distributions are right-skewed, so the mean understates worst-case heat. Use the 85th–90th percentile of MAE among winning trades — that captures the typical heat real edges absorb without being dominated by a single outlier.

How many trades do I need before tightening stops based on MAE?

At least 30 closed trades per setup to get a usable percentile estimate, and 100 or more before adjusting stops on live capital. Below those thresholds, the tail of the distribution is unreliable.

Should I tighten my stop based on backtest MAE?

Only after out-of-sample validation. Fitting a stop to the same trades that produced the MAE distribution is in-sample optimization and can curve-fit. Reserve a holdout window or run walk-forward validation before deploying any MAE-derived stop in live capital.

Does MAE work for scaled-out trades?

Use the MAE measured up to the first partial exit, not over the full holding period. After the first scale-out the trade's risk profile changes, so post-management MAE mixes pre- and post-management regimes.


Final Thought

You can't improve what you don't measure. MAE and MFE are your execution diagnostics.

Don't set your stop based on fear, and don't tighten it based on a 12-trade backtest either. Compute the MAE distribution of your winners, validate it on data you haven't seen, and let the percentiles tell you the smallest envelope your edge needs. The data already knows what your stop should be — your job is to read it without flinching and without overfitting.