Trang chủ > Blog > Chênh lệch 92-98% giữa backtest Python và MT5 thực chiến

kiểm định thực chiếnbacktest Pythonwalk-forwardphiên NYphương pháp kiểm định

Chênh lệch 92-98% giữa backtest Python và MT5 thực chiến

Đăng: 2026-05-29Thời gian đọc: khoảng 5 phút
This article reflects information as of its publish date. EA performance figures (PF, DD, annual return) change with live trading and re-validation — check the latest on the EA pages. See the latest EA results

Chuyện chênh lệch 92-98% giữa kiểm định Python và thực chiến MT5

Đây là đội ngũ vận hành FXEA365.

Bài viết này công khai toàn bộ quá trình so sánh chiến lược NY Session Breakout giữa Walk-Forward Python và backtest thực chiến 14 năm trên MT5 vào ngày 2026-05-29, phát hiện độ chênh lệch PF lên tới 92-98%.

Đây là dữ liệu quan trọng, một lần nữa chứng minh ở tầm mức toàn ngành rằng "dù backtest bằng Python cho ra con số ấn tượng, không có nghĩa là nó sẽ hoạt động tốt trên MT5 thực chiến".

Thông số chiến lược — Breakout phiên NY dựa trên phạm vi giá châu Á

Hạng mụcThiết lập
Khung thời gianH1
Phạm vi giá châu Á0-4h UTC (hình thành range trong phiên châu Á)
Thời gian giao dịch15-20h UTC (trong phiên NY)
Vào lệnhBreakout High/Low của phiên châu Á
Thoát lệnhSL = ATR × 0.5 / TP1 = ATR × 0.5 (chốt 50%) / TP2 = ATR × 7.0
Khối lượngRisk 2% (bán lãi kép CASCADE)

Về mặt lý thuyết đây là chiến lược có edge:

  • Phiên NY (UTC 15-20h = 24h-5h sáng hôm sau giờ Nhật) là khung giờ hoạt động sôi nổi của các tổ chức đầu tư, thanh khoản tập trung cao
  • Phạm vi giá châu Á là mốc tham chiếu tự nhiên, việc phá vỡ trên/dưới mốc này là tín hiệu định hướng mạnh
  • Cơ chế chốt lời 2 giai đoạn (TP1=ATR×0.5/TP2=ATR×7) vừa phòng thủ trước breakout giả vừa bắt được xu hướng

Kết quả Walk-Forward Python — con số ấn tượng

Từ 2026-05-27 đến 28, chạy Walk-Forward (Train 60% / Test 40%) trên 9 cặp tiền bằng scripts/gen_h1_ny_walkforward.py:

Cặp tiềntrain PFtest PFtest DDtest WRTính nhất quánTỷ lệ sống sót OOS
EURUSD7.429.035.47%79.6%0.82500/500
GBPUSD11.7813.0031.85%84.2%0.91500/500
XAUUSD7.7611.9613.18%80.9%0.65(kiểm định trước đó)
EURJPY9.417.937.46%79.2%0.84500/500
GBPJPY9.748.2412.30%79.3%0.85500/500
USDJPY6.1211.6236.24%80.7%0.53(kiểm định trước đó)
CADJPY7.595.7632.81%75.9%0.76499/500
AUDJPY8.496.3227.33%74.4%0.74351/500
NZDJPY9.226.5115.05%70.6%0.71500/500

Cả 9 cặp tiền đều đạt PF≥5 × tỷ lệ thắng≥70% × tỷ lệ sống sót OOS 500/500.

Theo thông lệ ngành, đây là kết quả đáng lẽ phải công bố lên website với những lời như "phát hiện edge phổ quát trong mơ!", "mở rộng lineup cho toàn bộ cặp tiền!".

Nhưng — backtest thực chiến 14 năm trên MT5 (USDJPY_NY_BREAKOUT_EA.mq5 v2.0)

Theo đúng quy tắc "bắt buộc kiểm định thực chiến" trong CLAUDE.md, chúng tôi đã kiểm định lại 4 cặp tiền mạnh nhất theo Walk-Forward Python bằng backtest thực chiến 14 năm trên MT5:

Cặp tiềnWalk-Forward Python (test)Backtest thực chiến MT5 14 nămTỷ lệ chênh lệchKết quả tài khoản
USDJPYPF 11.62 / DD 36%PF 0.77 / DD 99.72%−93%-$9,966 (gần như mất trắng)
EURUSDPF 9.03 / DD 5.47%PF 0.73 / DD 99.84%−92%-$9,984 (gần như mất trắng)
GBPUSDPF 13.00 / DD 31.85%PF 0.21 / DD 101.12%−98%-$10,112 (cháy tài khoản)
EURJPYPF 7.93 / DD 7.46%PF 0.49 / DD 100.01%−94%-$10,001 (cháy tài khoản)

Cả 4 cặp tiền đều thua, độ chênh lệch PF so với Walk-Forward Python là 92-98%.

Vì sao chênh lệch lớn đến vậy — 5 giả thuyết

1. Không tính đến spread/trượt giá

Backtest Python tính toán theo close-to-close. Thực chiến thì mỗi lệnh khớp đều bị hao hụt bởi spread (0.5-2 pips) + trượt giá. Mỗi giao dịch mất thêm 1-3 pips, tích lũy dần theo thời gian.

2. Chất lượng dữ liệu

Python dùng dữ liệu tổng hợp từ M5 của Dukascopy lên H1. Thực chiến MT5 dùng dữ liệu tick từ broker (biến động giá chi tiết hơn nhiều). Cùng là "nến H1" nhưng chuyển động giá bên trong lại khác nhau.

3. Chênh lệch mô hình khớp lệnh

Python giả định khớp lệnh lý tưởng (luôn khớp đúng giá mong muốn). Thực chiến MT5 bị giới hạn bởi khối lượng/spread, khiến giá khớp thực tế lệch khỏi giá mong muốn. Đặc biệt rõ rệt vào những khung giờ biến động cao (ngay sau khi mở phiên NY chẳng hạn).

4. Điểm yếu thực chiến của TP 2 giai đoạn theo ATR

Thiết kế đẹp trên lý thuyết, nhưng TP2=ATR×7 gần như không đạt được trong thực chiến.

  • Backtest Python: tính SL/TP tối ưu dựa trên dữ liệu quá khứ theo kiểu "biết trước kết quả"
  • Thực chiến: SL=ATR×0.5 bị chạm liên tục, còn xu hướng không kéo dài đến TP2=ATR×7, dẫn đến cắt lỗ liên tiếp

5. Tác động tiêu cực của bán lãi kép CASCADE trong thực chiến

Cơ chế điều chỉnh khối lượng lệnh động theo số dư, lại đẩy nhanh thiệt hại trong giai đoạn thua lỗ:

  • Số dư $10K → Risk 2% → Lot 0.2
  • Thua liên tiếp, số dư còn $8K → Risk 2% → Lot 0.16 (giảm nhẹ)
  • Thua liên tiếp, số dư còn $5K → Risk 2% → Lot 0.10 (không đủ để hãm thiệt hại)

"Phép màu lãi kép" trên lý thuyết lại phản tác dụng trong thực chiến.

Bài học ở tầm mức toàn ngành

1. Backtest/Walk-Forward bằng Python không thể dùng làm căn cứ tham khảo cho thực chiến MT5

  • Ngay cả "PF≥5 × tỷ lệ thắng≥70% × tỷ lệ sống sót OOS 500/500" cũng vô nghĩa trong thực chiến
  • Đánh giá "robust", "OOS bền vững" của Walk-Forward chỉ là độ bền vững trong phạm vi dữ liệu Python, không thể thay thế cho thực chiến

2. Ngay cả "giả thuyết có cơ sở kinh tế hợp lý" cũng cần kiểm định thực chiến

  • "Tổ chức đầu tư hoạt động mạnh trong giờ NY", "phá vỡ trên/dưới phạm vi giá châu Á là tín hiệu định hướng" — về lý thuyết đều đúng
  • Nhưng thực chiến MT5 14 năm lại toàn thua = độ chênh lệch giữa lý thuyết và thực chiến là rất lớn

3. Củng cố thêm căn cứ cho quy tắc "bắt buộc kiểm định thực chiến" trong CLAUDE.md

  • 25 EA + 4 chiến lược NY Session = tổng cộng 29 lần kiểm định đã khẳng định chắc chắn rằng backtest Python không đáng tin cậy
  • Đây là dữ liệu căn cứ ở tầm mức toàn ngành, củng cố cho định hướng thương hiệu của FXEA365 ("không chạy theo con số hào nhoáng mà chỉ công bố những gì đã được chứng thực thực chiến")

Quyết định của FXEA365

Do 9 cặp tiền của chiến lược NY Session đều thua khi kiểm định thực chiến MT5, chúng tôi không công bố chiến lược này lên website.

Duy trì lineup công bố hiện tại: chỉ 4 trụ cột chủ lực EURJPY ASIA / GBPJPY ASIA / BLAZE GOLD / AUDCAD PEACE-CLONE.

Tổng lợi nhuận năm hóa +35.5% (Risk5%) tuy không hào nhoáng, nhưng đây là con số chắc chắn đã vận hành thật qua 14 năm backtest thực chiến.

Khuyến nghị cho những người dùng backtest Python

Chúng tôi không phủ nhận giá trị của backtest Python. Tuy nhiên, khuyến nghị nên phân biệt rõ mục đích sử dụng như sau:

Mục đích sử dụng đúng của backtest PythonMức độ khuyến nghị
Kiểm định ban đầu cho ý tưởng chiến lược (hướng đi này có tiềm năng hay không)✅ Khuyến nghị
Sàng lọc phạm vi tham số (nên kiểm định chuyên sâu ở đâu)✅ Khuyến nghị
Xác nhận độ bền vững qua Walk-Forward (kiểm tra overfit bằng tách Train/Test)✅ Khuyến nghị
Làm căn cứ cho con số công bố trên websiteKhông được phép (chênh lệch với thực chiến)
Dùng "tỷ lệ sống sót OOS" làm điểm bán hàngKhông được phép (không thể thay thế thực chiến)
Ra quyết định công bố EAKhông được phép (bắt buộc phải kiểm định thực chiến MT5)

Con số từ backtest Python chỉ nên xem là "chỉ số sàng lọc ban đầu". Việc công bố chính thức bắt buộc phải trải qua kiểm định thực chiến MT5.

Liên kết liên quan


FXEA365 — Chúng tôi chỉ công bố miễn phí những chiến lược đã thực sự vận hành hiệu quả qua backtest thực chiến 14 năm trên MT5, không chạy theo những con số công bố hào nhoáng.

📧 Cảnh báo trước khi tăng giá + khóa học email miễn phí 5 ngày

Tất cả EA đang ở giá ra mắt và tăng dần theo doanh số. Nhận thông báo trước mỗi lần tăng giá, cùng email hằng ngày về giao dịch thuật toán, cách đọc backtest và chọn sàn.

* Quyền riêng tư được bảo vệ nghiêm ngặt. Bạn có thể hủy đăng ký bất cứ lúc nào.

Bình luận & câu hỏi