MAE và MFE trong giao dịch: công thức và 3 giao dịch thật
MAE là lỗ tạm thời lớn nhất, MFE là lãi tạm thời lớn nhất của giao dịch. Công thức, bội số R, ba giao dịch Binance thật: stop loss, trượt giá, lãi trả lại.

MAE (Maximum Adverse Excursion, biên độ bất lợi tối đa) là khoản lỗ tạm thời lớn nhất mà giao dịch từng chịu khi còn mở. MFE (Maximum Favorable Excursion, biên độ có lợi tối đa) là khoản lãi tạm thời lớn nhất trong cùng khoảng thời gian đó. Kết quả của giao dịch chỉ cho biết hành trình kết thúc ở đâu; MAE và MFE cho biết chuyện gì đã xảy ra giữa lúc vào và lúc thoát lệnh. Dưới đây là các công thức và ba giao dịch thật trong nhật ký Binance công khai của tôi.
MAE và MFE là gì?
MAE là quãng xa nhất giá đã đi ngược vị thế của bạn trong lúc giao dịch. MFE là quãng xa nhất giá đã đi theo hướng có lợi cho bạn. Cả hai đều được đo từ giá vào, hoặc từ giá vào trung bình nếu bạn đã vào thêm.
John Sweeney trình bày phương pháp này trong cuốn sách Maximum Adverse Excursion xuất bản năm 1997. Ngày nay, bộ kiểm thử chiến lược (Strategy Tester) của MetaTrader 5, các nền tảng giao dịch và nhật ký giao dịch đều tính cả hai chỉ số.
Long: MAE = (Giá vào − Giá thấp nhất) ÷ Giá vào × 100%
MFE = (Giá cao nhất − Giá vào) ÷ Giá vào × 100%
Short: MAE = (Giá cao nhất − Giá vào) ÷ Giá vào × 100%
MFE = (Giá vào − Giá thấp nhất) ÷ Giá vào × 100%
Theo R: MAE = |Giá vào − Giá tệ nhất| ÷ |Giá vào − Giá stop loss|
ETD = MFE − Kết quả (phần trả lại từ đỉnh)
Capture = Kết quả ÷ MFE (phần nhịp giá bạn giữ được)Chỉ lấy giá thấp nhất và cao nhất trong khoảng thời gian vị thế còn mở. Bạn có thể biểu thị MAE và MFE theo ba cách:
- Phần trăm so với giá vào. Thích hợp để so sánh các giao dịch trên cùng một mã.
- Tiền. Khoảng cách nhân với khối lượng vị thế. Cách này cho thấy biến động đó đã khiến bạn tốn bao nhiêu. Nếu bạn đã vào thêm hoặc chốt bớt, hãy dùng khối lượng đang có trên thị trường ở phút đó.
- R. 1R là khoản lỗ nếu dính stop loss. MAE 0,5R nghĩa là giá đã đi được nửa đường tới stop loss của bạn. Cách tính rủi ro tới stop loss được trình bày trong bài hướng dẫn rủi ro mỗi lệnh.
Ví dụ MAE và MFE: một giao dịch thật
Giao dịch #2011 là lệnh long MARSCOINUSDT của tôi trên futures USDT-M của Binance. Tôi vào lệnh lúc 21:34 UTC ngày 4/9/2026 và vào thêm lúc 21:56. Giá vào trung bình là 0,1916575 và vị thế gồm 505.214 coin, khoảng 96.828 USDT. Lúc đóng lệnh, stop loss ở 0,18564 và take profit (chốt lời) ở 0,2668. Stop loss đóng giao dịch lúc 00:36 UTC ngày 5/9, 3 giờ 2 phút sau khi vào lệnh.
- Rủi ro, 1R. 0,1916575 − 0,18564 = 0,0060175 mỗi coin, tức 3,14% giá vào.
- MFE. Đỉnh là 0,20666 lúc 23:16 UTC, khoảng 1 giờ 42 phút sau khi vào lệnh: +7,83%, tức +2,49R. Trên giấy, đó là +7.579 USDT.
- MAE. Giá thị trường tệ nhất khi vị thế còn mở là 0,18500, trong phút thoát lệnh: −3,47%, tức −1,11R. Trên giấy, đó là −3.363 USDT.
- Thoát lệnh. Stop loss đặt ở 0,18564 nhưng khớp ở giá trung bình 0,184977, tệ hơn 0,36%. Kết quả theo giá là −3,49%, tức −1,11R.
- ETD. 2,49R − (−1,11R) = 3,6R đã bị trả lại cho thị trường từ đỉnh đến lúc thoát lệnh.

MAE vượt quá 1R: giá đã đi qua stop loss trước khi vị thế được đóng, và stop loss khớp tệ hơn giá đặt. Đó là trượt giá. Hiện tượng này xảy ra với loại stop loss trở thành lệnh thị trường khi được kích hoạt: theo trang trợ giúp của Binance, lệnh như vậy khớp ở giá tốt nhất hiện có trong sổ lệnh, và giá đó có thể tệ hơn dự kiến.
Kết quả theo giá, −3,49%, thậm chí còn sâu hơn MAE −3,47% một chút. Điều này không mâu thuẫn. MAE được đo trên giá thị trường khi vị thế còn mở, tức là trước khi stop loss khớp. Mức giá thị trường tệ nhất trong khoảng đó là 0,18500. Bản thân stop loss khớp như một lệnh thị trường và ăn qua nhiều mức giá trong sổ lệnh. Một phần vị thế đóng dưới 0,18500, và giá khớp trung bình là 0,184977.
Một giao dịch không chứng minh được gì. Nhưng nếu nhật ký của bạn có nhiều dòng kiểu “MFE từ 2R trở lên, kết quả −1R”, hãy xem lại cách bạn quản lý lệnh đang mở: khi nào dời stop loss và khi nào chốt một phần vị thế. Trong bài phân tích này, tôi chỉ dùng những gì trang giao dịch công khai hiển thị khi chưa đăng nhập. Trang đó cho thấy stop loss lúc đóng lệnh, nhưng không cho thấy lịch sử dời stop. Vì vậy ở đây R được tính từ stop loss lúc đóng lệnh.
MAE và MFE sau phí và funding
Với hợp đồng vĩnh cửu, mỗi chỉ số MAE và MFE đều có hai giá trị. Một giá trị chỉ tính theo giá. Giá trị còn lại cộng thêm phí và funding đã phát sinh tính đến phút đó. Funding là khoản thanh toán định kỳ giữa bên long và bên short. Trên Binance, funding mặc định được trả 8 giờ một lần, và vị thế đóng trước giờ funding thì không trả cũng không nhận.
| Giao dịch #2011 | Chỉ theo giá | Sau phí và funding |
|---|---|---|
| MFE | +7.579,47 USDT | +7.531,06 USDT |
| MAE | −3.363,46 USDT | −3.517,85 USDT |
- Ở đỉnh, chênh lệch là 48,41 USDT. Đó đúng bằng phí của hai lần vào lệnh, 37,60 và 10,81 USDT. Lúc đó chưa có khoản funding nào bị tính.
- Sau chi phí, điểm tệ nhất chính là lúc thoát lệnh. −3.517,85 USDT là kết quả của giao dịch: −3.375,07 từ giá, −95,14 tiền phí và −47,64 tiền funding.
Hãy tính R và phần trăm theo giá, để các giao dịch vẫn so sánh được với nhau. Con số thứ hai trả lời một câu hỏi khác: biến động đó đã khiến tài khoản của bạn tốn bao nhiêu. Chênh lệch tăng theo khối lượng vị thế và thời gian giữ lệnh, vì phí được tính trên giá trị vị thế và funding được tính ở mỗi kỳ thanh toán. Trên các trang giao dịch là nguồn của những ví dụ này, hai ô “Max adverse” (lỗ tạm tối đa) và “Max favorable” (lãi tạm tối đa) hiển thị con số thứ hai.
MAE sâu không phải lúc nào cũng là điểm vào tệ
Giao dịch #897 là lệnh short AKEUSDT của tôi. Tôi vào lệnh lúc 23:22 UTC ngày 2/9/2026 ở giá 0,0161241. Lúc đóng lệnh, stop loss ở 0,017176, cách giá vào 6,52%. Mười bốn phút sau khi vào, giá lên tới 0,017131: MAE −6,24%, tức −0,96R. Stop loss chỉ còn cách 0,04R và không bị kích hoạt. Tôi đóng vị thế 1 giờ 12 phút sau khi vào lệnh, ở giá 0,0148573, được +1,20R và +2.976,05 USDT. MFE là +1,54R, nên 0,34R đã bị trả lại từ đỉnh.
Giao dịch #1138 là lệnh long MARSCOINUSDT của tôi. Tôi vào lệnh lúc 17:22 UTC ngày 3/9/2026 ở giá 0,1063839. Lúc đóng lệnh không có stop loss, chỉ có take profit ở 0,125. Gần hai giờ sau khi vào, lúc 19:19 UTC, giá xuống tới 0,09564: MAE −10,10%, tức −5.467 USDT trên giấy. Sau đó giá đảo chiều. Tôi đóng vị thế lúc 21:25 UTC ở giá 0,1146575, gần đỉnh: +7,78% và +4.148,97 USDT. MFE là +8,33%.


- Chỉ độ sâu thôi chưa đủ để kết luận một điểm vào là tệ. Ở #897, giá gần như chạm stop loss, vậy mà giao dịch vẫn đóng với lãi 1,2R. Nếu các lệnh thắng của bạn thường có MAE 0,8–1R, stop loss của bạn đang nằm trong vùng nhiễu bình thường của giá.
- Một khoản lãi có thể che giấu rủi ro còn lớn hơn chính nó. Ở #1138, khoản lỗ tạm thời trên giấy, 5.467 USDT, lớn hơn khoản lãi cuối cùng, 4.149 USDT. Kết quả che đi điều đó; MAE thì cho thấy.
- Không có stop loss thì không có R. #1138 không có stop loss lúc đóng lệnh, nên không tính được R và giao dịch này bị loại khỏi mọi phép so sánh theo R.
Cách đọc MAE và MFE trên nhiều giao dịch
Hãy vẽ các giao dịch của cùng một setup lên hai biểu đồ phân tán. Ở biểu đồ thứ nhất, MAE nằm trên trục ngang và kết quả nằm trên trục dọc. Ở biểu đồ thứ hai, MFE nằm trên trục ngang, trục dọc vẫn là kết quả. Đánh dấu lệnh thắng và lệnh thua bằng hai màu khác nhau. Bộ kiểm thử của MetaTrader 5 gọi hai biểu đồ này là “MAE-Profits Distribution” và “MFE-Profits Distribution”.
| Bạn thấy gì | Điều đó có thể có nghĩa là |
|---|---|
| Ở lệnh thắng, giá hiếm khi đi ngược vị thế quá một ngưỡng nào đó, chẳng hạn 0,4R, còn lệnh thua thì chạy tới stop loss | Giao dịch nào vượt qua ngưỡng đó hiếm khi trở thành lệnh thắng |
| Nhiều lệnh thắng có MAE 0,8–1R, như #897 | Stop loss nằm trong vùng nhiễu bình thường và loại bỏ những giao dịch tốt như vậy |
| MFE của lệnh thắng gấp 2–3 lần kết quả của chúng | Bạn thoát lệnh sớm và chỉ giữ được một phần nhỏ của nhịp giá |
| Lệnh thua thường từng lãi từ 1R trở lên, như #2011 | Lãi tạm thời bị trả lại toàn bộ; hãy xem lại cách quản lý lệnh |
| Phần lớn giao dịch có MAE nhỏ và MFE lớn | Điểm vào chính xác: giá đi theo hướng có lợi cho bạn ngay sau khi vào lệnh |
Một cách biến bức tranh này thành quy tắc là phương pháp phân vị. Stop loss được đặt ngay ngoài phân vị thứ 90 của MAE ở các lệnh thắng, tức độ sâu mà chỉ 10% lệnh thắng vượt qua. Mục tiêu được đặt gần trung vị MFE của các lệnh thắng. Silvina Duarte mô tả phương pháp này trong một bài viết trên MQL5 năm 2026, và cảnh báo rằng cần vài trăm giao dịch thì phân vị mới đáng tin; trước đó, con số chỉ cho thấy xu hướng.
Hãy kiểm tra mọi quy tắc trên những giao dịch bạn không dùng để tìm ra nó. Một đường kẻ qua các giao dịch cũ có thể chỉ là ngẫu nhiên. Và hãy chia giao dịch theo setup: breakout và pullback vẽ nên những bức tranh khác nhau, gộp chung một đống thì chúng lẫn vào nhau.
Lấy MAE và MFE cho giao dịch của bạn ở đâu
- Bộ kiểm thử của MetaTrader 5. Công cụ này tính MAE và MFE cho các giao dịch backtest và vẽ cả hai biểu đồ.
- Báo cáo của các nền tảng. TradeStation vẽ biểu đồ phân tán MAE trong báo cáo chiến lược; NinjaTrader đưa MAE, MFE và ETD vào thống kê giao dịch.
- Bảng tính. Với mỗi giao dịch, ghi lại giá tệ nhất và tốt nhất khi lệnh còn mở rồi áp dụng các công thức ở trên. Mẫu nhật ký giao dịch đã tính sẵn R; bạn chỉ cần tự thêm hai cột cho giá thấp nhất và cao nhất.
- Nhật ký kết nối với sàn. Nhật ký tự ghi MAE và MFE cho mọi giao dịch, thông qua API key chỉ đọc. Với MetaTrader 5, mật khẩu investor thay cho API key; nó cũng chỉ cho quyền đọc. Các con số trong bài này đến từ đó. Có hướng dẫn kết nối cho Binance, Bybit, OKX và MetaTrader 5.
Bài cách ghi nhật ký giao dịch cho biết nên ghi thêm gì cho mỗi giao dịch.
Câu hỏi thường gặp
MAE khác gì drawdown của tài khoản?
MAE là điểm tệ nhất của một giao dịch, đo từ giá vào của nó. Drawdown của tài khoản là mức sụt giảm của toàn bộ tài khoản tính từ đỉnh, thường qua nhiều giao dịch.
MAE có thể lớn hơn stop loss không?
Có. Stop loss khớp như lệnh thị trường có thể khớp tệ hơn giá đặt. Ở #2011, stop loss nằm ở −1R, còn MAE và kết quả là −1,11R. Trong thị trường biến động nhanh, chênh lệch có thể lớn hơn.
ETD là gì?
End Trade Drawdown: giao dịch đã trả lại bao nhiêu từ đỉnh đến lúc thoát lệnh, tức MFE trừ kết quả. Ở #2011 là 3,6R, ở #897 là 0,34R.
Cần bao nhiêu giao dịch?
Càng nhiều càng đáng tin. Với mười giao dịch, ngưỡng MAE sẽ dịch chuyển sau mỗi giao dịch mới. Để dùng phân vị, Silvina Duarte cho rằng cần vài trăm giao dịch. Và hãy đếm riêng cho từng setup.
Kiểm tra gì trong nhật ký của bạn
- Phần trả lại từ đỉnh. ETD trung bình của các lệnh thắng tính theo R: bạn để lại cho thị trường bao nhiêu phần của nhịp giá.
- Lệnh thua có MFE từ 1R trở lên. Có bao nhiêu lệnh như vậy, và vì sao chúng đóng lỗ.
- Lệnh thắng có MAE từ 0,8R trở lên. Nếu có nhiều, stop loss của bạn đang đặt quá gần.
- Giao dịch không có stop loss. So sánh MAE của chúng với khoản lãi cuối cùng.
Nguồn tham khảo
- MetaTrader 5 Help: Testing Report: định nghĩa MFE và MAE, các biểu đồ MFE-Profits và MAE-Profits Distribution và cách đọc chúng.
- John Sweeney, Maximum Adverse Excursion: Analyzing Price Fluctuations for Trading Management (Wiley, 1997): cuốn sách trình bày phương pháp này.
- TradeStation Help: Maximum Adverse Excursion: biểu đồ phân tán MAE và cách dùng nó để đặt stop loss.
- NinjaTrader 8 Help: Statistics Definitions (bản lưu trên Web Archive): MAE, MFE và ETD, với ETD trung bình = MFE trung bình − kết quả giao dịch trung bình.
- Silvina Duarte, Where should your stop-loss really sit? An MAE/MFE excursion analyzer in MQL5 (2026): stop loss đặt ngoài phân vị thứ 90 của MAE ở lệnh thắng, mục tiêu gần trung vị MFE của chúng, và cần vài trăm giao dịch để phân vị đáng tin.
- Binance: Introduction to Binance Futures Funding Rates: ai trả funding cho ai, các kỳ thanh toán mặc định lúc 00:00, 08:00 và 16:00 UTC, và việc đóng lệnh trước giờ funding.
- Binance: Types of Order on Binance Futures: lệnh stop-market khớp ở giá tốt nhất trong sổ lệnh; trượt giá.
- Các giao dịch #2011, #897 và #1138 từ nhật ký công khai của tôi tính đến ngày 8/10/2026: các lần khớp, stop loss và take profit lúc đóng lệnh, phí, funding, MAE và MFE.
Số liệu của các giao dịch được lấy từ trang công khai của chúng ngày 8/10/2026. Phần trăm, R và cả hai biểu đồ được tính lại từ dữ liệu đó bằng một đoạn script. Khi chưa đăng nhập, trang giao dịch không hiển thị lịch sử stop loss, nên R được tính từ stop loss lúc đóng lệnh. Trang đó cũng không hiển thị từng khoản funding riêng lẻ hay các ghi chú của tôi về giao dịch.


