Mục 01-10 chốt ở mốc 276 lệnh (→04/09). Trang mô phỏng đã nhận thêm tick + tin kênh tới 08/09 → 280 lệnh: cấu hình chốt 17/08 TP69/SL66 từ ×5,53 thành ×5,29 (4 lệnh mới, 2 thua), maxDD giữ nguyên 43,4% — không đổi kết luận nào. Research sẽ chốt lại số khi đủ thêm một tháng dữ liệu.
Số trên trang này đo ở SL 66, còn bot đang chạy SL 67 (chốt 17/09). Đáy lưới phẳng trong dải 60-75p nên 1 pip đó không phân biệt được — 67 chỉ là con số đã dò trúng, không phải nó hơn. Mọi kết luận của trang giữ nguyên.
Mục 11 (18/09) chạy trên mẫu đã nạp tiếp tới 16/09 → 295 lệnh (71,8 triệu tick) và trả lời một câu khác: nên vào market hay đặt lệnh chờ trong vùng entry. Nhân tiện nó dò lại toàn lưới 486 cấu hình TP×SL×BE trên mẫu mới và không cấu hình nào thắng chắc bộ đang chạy — tức các mục 01-10 dưới đây vẫn đứng.
Mục 12 (19/09) cắt mẫu còn 187 lệnh từ 02/04 theo yêu cầu ("trước đó kênh không ổn định"), dò lại 2.808 cấu hình và soi riêng SL 85. Kết quả: vẫn không cấu hình nào thắng được — và mục này chỉ ra luôn vì sao cắt mẫu theo kết quả lại làm đúng cái họ cấu hình mục 07 đã loại trông đẹp trở lại.
Mục 13 (19/09) trả lời câu "lệnh vào xấu 10-20 pip thì tỉ lệ cắn TP3 bao nhiêu, có nới TP được không" bằng cách đi thẳng vào 71,8 triệu tick (thang dữ liệu của trang mô phỏng trả lời KHÔNG được). Cả hai câu đều ra không — và mục này ghi luôn cần bao nhiêu lệnh nữa mới trả lời được, kèm một đính chính cho mục 11.
Quét 63 cấu hình TP × SL trên trọn 276 lệnh (8 tháng, replay từng tick): TP 69 · SL 66 · SL cứng — đúng cấu hình chốt 17/08 — cho ×5,53, cao nhất lưới. Mẫu lần này dài gấp 2,6 lần mẫu từng dùng để chọn nó, nên đây là hậu kiểm thật chứ không phải chọn lại trên cùng dữ liệu.
Nhưng đỉnh này nhọn theo TP: lệch lên 80 pip là rơi còn ×3,07, lệch xuống 60 pip còn ×3,48. Thứ thật sự quyết định số phận tài khoản là risk: cùng cấu hình đó, risk 4% cho maxDD 43%, risk 11,1% đẩy lên 82% — gần cháy. Risk 4% hiện tại = 24% Kelly, đúng vùng ≤¼ Kelly mà thực chiến nên ở.
| Cấu hình mặc định (chốt 17/08) | ×vốn | Winrate | maxDD | PF |
|---|---|---|---|---|
| TP69 · SL66 · SL cứng · risk 4% — không phí | ×5,53 | 57,5% | −43,4% | 1,59 |
| …trừ spread thật 1,8p/lệnh | ×4,09 | 57,5% | −45,1% | 1,42 |
| …trừ 4p/lệnh (bảo thủ) | ×2,82 | 57,5% | −49,2% | 1,26 |
158 lệnh thắng / 117 thua / 1 chưa chốt · chuỗi thua dài nhất 8 lệnh.
×vốn (maxDD) — SL cứng, risk 4%, lot cuộn. Hàng TP 69 tốt đều ở mọi mức SL từ 40 đến 150 (×3,2–5,5); ngược lại cột SL 66 rơi rất nhanh khi TP lệch khỏi 69.
| TP \ SL | 40 | 50 | 60 | 66 | 80 | 100 | 150 |
|---|---|---|---|---|---|---|---|
| 40 | ×2,37 | ×2,04 | ×1,93 | ×2,58 | ×2,30 | ×2,12 | ×2,26 |
| 60 | ×2,89 | ×2,37 | ×2,59 | ×3,48 | ×2,96 | ×2,34 | ×2,62 |
| 69 | ×3,51 | ×3,54 | ×4,35 | ×5,53 | ×4,09 | ×3,21 | ×3,23 |
| 80 | ×1,23 | ×1,48 | ×2,34 | ×3,07 | ×2,14 | ×2,03 | ×2,65 |
| 100 | ×2,83 | ×2,76 | ×4,64 | ×4,22 | ×3,07 | ×2,56 | ×2,37 |
| 150 | ×1,36 | ×1,65 | ×2,73 | ×2,81 | ×2,53 | ×2,86 | ×2,45 |
| 200 | ×0,96 | ×1,13 | ×2,53 | ×1,72 | ×1,83 | ×2,06 | ×2,34 |
Đây là chỗ dễ chọn nhầm nhất, vì cùng một câu hỏi cho hai câu trả lời ngược nhau:
| Cách quản SL | TP69 · SL66 | TP100 · SL70 | ||
|---|---|---|---|---|
| SL cứng (không kéo) | ×5,53 | −43,4% | ×3,03 | −57,3% |
| BE@40 | ×3,51 | −38,6% | ×2,40 | −41,5% |
| BE@50 | ×2,89 | −41,0% | ×2,35 | −40,4% |
| BE@69 | ×4,13 (BE@60) | −43,5% | ×4,15 | −40,8% |
Cùng TP69/SL66/SL cứng, chỉ đổi mỗi InpRiskPercent:
| Risk mỗi lệnh | ×vốn | maxDD | % của Kelly | |
|---|---|---|---|---|
| 2% | ×2,47 | −24,6% | 12% | An toàn |
| 4% — đang chạy | ×5,53 | −43,4% | 24% | An toàn |
| 6% | ×10,80 | −58,4% | 36% | Máu |
| 8% | ×18,93 | −69,5% | 48% | Máu |
| 11,1% | ×36,01 | −81,9% | 66% | Rất máu |
| 15% | ×54,37 | −92,3% | 89% | Gần cháy |
Kelly thực nghiệm = 16,8% (tính trên chính phân phối R của mẫu). Chuẩn thực chiến là ≤¼–½ Kelly ⇒ vùng an toàn 4–8%; risk 4% đang ở 24% Kelly, thận trọng.
DD của mẫu là một lần rút thăm, không phải hằng số. Xáo lại thứ tự 276 lệnh 4.000 lần (giữ nguyên winrate): maxDD median 31%, p90 41%, xác suất mất quá nửa tài khoản 1%. So với bản 106 lệnh ở risk 11,1%: median 48%, p90 60%, 39% xác suất mất quá nửa. Khác biệt đó đến từ risk, không phải từ dữ liệu.
| Đoạn (mỗi đoạn 92 lệnh) | ×vốn | Winrate | maxDD |
|---|---|---|---|
| 05/01 → 18/03 | ×0,73 | 45,7% | −43,4% |
| 18/03 → 25/06 | ×2,91 | 64,1% | −11,4% |
| 26/06 → 04/09 | ×2,59 | 62,6% | −14,9% |
Một phần ba đầu năm là LỖ — tài khoản còn 73% vốn sau 92 lệnh, và toàn bộ drawdown 43,4% của cả mẫu nằm gọn trong đoạn đó. Hai đoạn sau đều tốt và rất giống nhau. Hai cách đọc, chưa phân định được bằng dữ liệu hiện có:
Cách duy nhất tách được hai giả thuyết là thêm thời gian. Trong lúc chờ, cấu hình phải chịu được kịch bản xấu: ở risk 4%, lặp lại đúng đoạn 1 nghĩa là −43% vốn rồi mới gây lại.
Số cập nhật theo tham số ở trang mô phỏng — cùng bộ 276 lệnh, cùng engine.
Câu hỏi đặt ra 04/09: tìm TP/SL/BE cho lợi nhuận cao nhất. Quét 15.416 cấu hình (TP 30→200 × SL 30→150 × 8 mốc BE) trên 276 lệnh, rồi làm điều mà mọi bảng "top 10" hay bỏ qua: kiểm chéo theo thời gian — tối ưu trên nửa đầu (05/01→11/05, 138 lệnh), đem nguyên cấu hình sang nửa sau (13/05→04/09, 138 lệnh), và ngược lại.
| Cấu hình | Toàn mẫu | Nửa đầu | Nửa sau | Đoạn tệ nhất (có phí 1,8p) |
|---|---|---|---|---|
| "Cao nhất": TP171 · SL66 · BE70 | ×8,82 | ×1,14 | ×7,74 | ×0,60 |
| "Bền nhất": TP66 · SL36 · BE30 | ×5,14 | ×2,12 | ×2,43 | ×1,23 |
| Chốt 17/08: TP69 · SL66 · cứng | ×5,53 | ×1,10 | ×4,98 | ×0,66 |
Bài học phương pháp: một cấu hình chọn từ 15.416 ứng viên theo tiêu chí "cao nhất toàn mẫu" gần như chắc chắn là khớp quá khứ. Tiêu chí đúng cho câu hỏi "cao nhất mà tin được" là giá trị tệ nhất giữa các đoạn thời gian — và theo tiêu chí đó, không cấu hình nào thắng cấu hình đang chạy đủ rõ để trả chi phí đổi input trên 4 chart thật.
⚠️ Số ×vốn trong mục này lạc quan khoảng 18% — mô hình giả định vào lệnh đúng giá entry kênh và làm tròn lot lên. Xem mục 09 cho con số thực tế. Việc SO SÁNH giữa các dòng vẫn đúng vì cả sáu dòng cùng chung một mô hình.
Mục này chạy trên 280 lệnh (05/01→08/09), mẫu mới hơn phần trên của trang.
Anh hỏi 09/09: TP150-SL140-BE63, TP150-SL140 dời SL 140→70 khi chạm TP1, và
ghép cả hai. Trang mô phỏng không trả lời được hai câu sau — thang dữ liệu của nó chỉ biết
"giá có quay về entry không", không biết những mức trung gian như −70 — nên phải replay lại tick
(analysis/sim_sl_modes.py).
| Cách quản SL (TP150/SL140, risk 4%) | ×vốn | trừ 1,8p | Winrate | maxDD | PF | Bền* |
|---|---|---|---|---|---|---|
| SL cứng, không kéo | ×2,29 | ×1,94 | 52,9% | −45,2% | 1,20 | ×0,84 |
| TP1→SL −70, dừng đó | ×2,46 | ×2,18 | 68,3% | −53,1% | 1,32 | ×0,71 |
| TP1→−70, rồi 63p→BE | ×4,09 | ×3,50 | 63,1% | −25,1% | 1,73 | ×1,17 |
| 63p→BE thẳng | ×4,76 | ×4,13 | 60,2% | −26,6% | 1,76 | ×1,37 |
| 70p→BE thẳng | ×4,85 | ×4,28 | 60,1% | −29,9% | 1,73 | ×1,45 |
| — tham chiếu: TP69/SL66 cứng (chốt 17/08) | ×5,29 | ×3,90 | 57,1% | −43,4% | 1,52 | ×1,20 |
*Bền = ×vốn của nửa thời gian TỆ HƠN (tiêu chí mục 07), không phải ×vốn toàn mẫu.
Trực giác nói "hạ rủi ro sớm rồi mới về hoà vốn" phải an toàn hơn. Đo ra thì ngược: ghép hai nấc cho ×4,09 so với ×4,76 của BE thẳng, và bền hơn hẳn về phía BE thẳng (×1,37 so với ×1,17).
Bản đầu của mục này tiến cử BE 70, dựa vào ×4,85 so với ×4,76 và độ bền ×1,45 so với ×1,37, kèm câu "70 nằm giữa cao nguyên hơn". Câu đó sai, và hai khoảng cách kia nhỏ hơn nhiễu của chính cái lưới tham số — đúng cái bẫy mục 07 dựng ra để tránh. Quét lưới BE mịn từng pip (trước đó chỉ quét thô 63·66·70·80) mới lộ ra.
| Mốc BE (TP150/SL140, risk 4%) | 61 | 62 | 63 | 64 | 65 | 66 | 68 | 69 | 70 | 72 | 74 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| ×vốn | 4,58 | 4,78 | 4,76 | 4,81 | 4,60 | 4,57 | 4,77 | 4,58 | 4,85 | 4,52 | 4,61 |
| maxDD | 26,6 | 26,6 | 26,6 | 28,0 | 28,0 | 29,9 | 29,9 | 29,9 | 29,9 | 29,9 | 29,9 |
BE 70 là một đỉnh NHỌN: hai mốc kề nó cho 4,58 và 4,52. BE 63 nằm giữa một dải mượt (4,78 · 4,76 · 4,81) — hàng xóm đồng thuận với nó. Khoảng cách 4,85 − 4,76 mà bản đầu dùng để chọn 70 chỉ là 2%, trong khi hai mốc BE cạnh nhau chênh nhau tới 7%. Cột "bền" cũng vậy: BE 68 ra ×1,42 và BE 74 ra ×1,43, nên ×1,45 của BE 70 không phải một đỉnh thật. Luật của mục 07: chọn cao nguyên, không chọn đỉnh.
Trên đúng chuỗi lịch sử này, BE 63 có drawdown thấp hơn BE 70 3,3 điểm, và khoảng cách đó lặp lại y hệt ở mọi mức risk 4→9% và ở cả 21 mức SL 130→150. Nhìn qua thì đó là bằng chứng dày. Nhưng cả 27 phép chạy ấy dùng CHUNG một thứ tự lệnh — chúng là một quan sát được nhân bản, không phải 27 quan sát độc lập. Phép thử đúng là xáo CÓ CẶP: cùng một hoán vị áp cho cả hai cấu hình, 4.000 lần.
| Xáo có cặp 4.000 lần | Kết quả |
|---|---|
| Hiệu maxDD (BE63 − BE70) | median −0,0 điểm · p10 −3,1 · p90 +2,9 |
| BE 63 có DD thấp hơn ở | 51,9% số hoán vị — đồng xu |
| Chuỗi thua tối đa | cả hai median 4, p90 5 |
| ×vốn: BE 70 cao hơn ở | ≈100% số hoán vị (và 21/21 mức SL) |
Nói cách khác: 3 lệnh thua thêm của BE 70 tình cờ rơi trúng cái hố sâu nhất của lịch sử này. Đổi thứ tự là khoảng cách biến mất. Chuỗi thua "3 so với 4 lệnh" cũng vậy — xáo lại thì cả hai đều là 4.
⚠️ Hệ quả cho mọi so sánh về sau: quy hai cấu hình về "cùng drawdown" rồi nâng risk bên có DD thấp hơn là nguy hiểm nếu khoảng cách DD đó chưa qua phép xáo có cặp — làm vậy là tăng rủi ro THẬT để bù cho một khoảng cách có thể không lặp lại. Ở đây, quy về cùng DD sẽ cho phép nâng BE 63 lên risk 4,53% (×5,72, hơn 17,8%) — con số đúng về số học, nhưng dựa trên một hố vốn n = 1.
⚠️ Ngược lại, tỷ số lãi/DD thừa hưởng cùng điểm yếu: theo lãi/DD thì BE 63 thắng 17/21 mức SL, còn theo ×vốn thì BE 70 thắng 21/21. Cùng một bộ dữ liệu, hai thước đo cho hai kết luận ngược nhau — vì một cái có mẫu số là maxDD của một thứ tự.
TP 150 · SL 140 · BE 63 · risk 4%. EA cài được ngay, không phải sửa code: InpUserTpPips=150 · InpUserSlPips=140 · InpSlMode=SL_BREAKEVEN_TP · InpSlBreakevenPips=63. (Chế độ "dời SL lên mức trung gian" thì EA không có — muốn dùng phải viết mới, mà nó lại là phương án kém nhất.)
Chọn 63 vì hình dạng của cao nguyên, không phải vì con số lãi: hai mốc này không phân biệt được bằng 280 lệnh (chênh 2% lãi, DD chênh nhau ở mức đồng xu). Bất kỳ mốc nào trong 62–64 đều tương đương; 63 nằm giữa. Đừng đọc mục này thành "63 lãi hơn 70" — nó nói "63 an toàn hơn khi chọn, vì hàng xóm của nó đồng thuận".
Ngày 09/09 một lệnh thật (#4728) vào chậm 18,4 pip so với giá kênh
công bố: SL thật thành 158p thay vì 140p, TP thật còn 132p thay vì 150p. Câu hỏi anh đặt ra:
mô phỏng có tính chuyện đó không? Không. Mục này đo xem nó lạc quan bao nhiêu, và
thử một bộ lọc.
Suy đoán ban đầu là "kênh hay bắn tin sau khi giá đã chạy thuận, nên lệch sẽ nghiêng về phía bất lợi". Đo trên 280 lệnh thì ngược lại — nó gần như đối xứng hoàn hảo:
| Khoảng lệch (dương = vào ĐẸP hơn giá kênh) | Giá trị |
|---|---|
| Trung vị | +0,0 pip |
| Trung bình | −0,2 pip |
| Vào đẹp hơn / vào tệ hơn | 137 (49%) / 143 (51%) |
| p10 · p90 | −7,3p · +6,2p |
| — lệch bất lợi ≥ 10p | 18 lệnh (6,4%) |
| — lệch bất lợi ≥ 20p | 7 lệnh (2,5%) |
| — lệch bất lợi ≥ 30p | 3 lệnh (1,1%) |
Kênh này bắn tin rất đúng lúc — trung vị lệch bằng 0. Nhưng cái đuôi dày: 2,5% số lệnh
vào muộn quá 20 pip, và #4728 nằm trong nhóm đó.
| TP150 · SL140 · BE63 · risk 4% | ×vốn | trừ 1,8p | Winrate | maxDD | PF |
|---|---|---|---|---|---|
| Mục 08 đang ghi | ×4,76 | ×4,13 | 60,2% | −26,6% | 1,76 |
| A · sửa cách làm tròn lot | ×4,44 | ×3,91 | 60,2% | −27,1% | 1,76 |
| B · vào giá thị trường THẬT | ×4,03 | ×3,49 | 59,5% | −20,8% | 1,68 |
round, EA dùng MathFloor —
luôn làm tròn xuống bội số 0,01 lot. Sai lệch nhỏ mỗi lệnh, cộng dồn qua 280 lệnh thành 7%.| Ngưỡng bỏ | Bỏ | ×vốn | trừ 1,8p | Winrate | maxDD | PF | Bền* |
|---|---|---|---|---|---|---|---|
| không chặn | 0 | ×4,03 | ×3,49 | 59,5% | −20,8% | 1,68 | ×1,27 |
| ≥ 30p | 3 | ×4,17 | ×3,62 | 59,9% | −20,4% | 1,69 | ×1,32 |
| ≥ 20p — anh chốt | 7 | ×4,43 | ×3,85 | 60,4% | −17,5% | 1,73 | ×1,39 |
| ≥ 15p | 12 | ×4,47 | ×3,86 | 60,6% | −17,3% | 1,74 | ×1,45 |
| ≥ 10p | 18 | ×4,31 | ×3,73 | 60,5% | −17,5% | 1,73 | ×1,45 |
| ≥ 5p (quá chặt) | 44 | ×3,39 | ×2,91 | 59,4% | −13,9% | 1,66 | — |
*Bền = ×vốn của nửa thời gian tệ hơn.
Qua cả ba lớp kiểm của mục 07: cao nguyên rộng (mọi ngưỡng 10→30p đều hơn không chặn) · walk-forward dương hẳn (×1,27 → ×1,39) · xáo có cặp 4.000 lần: chặn lãi hơn ở 100% hoán vị, drawdown thấp hơn ở 60,9%. Đây là bộ lọc đầu tiên trong dự án qua được cả ba.
Đúng 7 lệnh bị chặn ở ngưỡng 20p, kết cục thật của chúng: 3 dính SL (−163p, −196p, −162p) · 3 về hoà · 1 chạm TP (+122p). Tổng cộng −400 pip — bỏ chúng là đúng. Con số này cũng nói vì sao chặn ăn được cả drawdown: những lệnh vào muộn có SL dài bất thường (163–196p thay vì 140p), nên khi thua là thua nặng.
Vì sao chốt 20 chứ không phải 15 (15p nhỉnh hơn: ×4,47 và bền ×1,45): chênh lệch giữa hai ngưỡng nhỏ hơn nhiễu, mà 20p chỉ đụng 7 lệnh thay vì 12 — can thiệp ít nhất trong vùng có hiệu quả. Bằng chứng ở đây mỏng theo nghĩa số lệnh (7/280), nên chọn phía thận trọng.
InpMaxEntrySlipPips = 20. Chỉ áp cho mode MARKET (lệnh chờ không bao giờ "vào
muộn" — nó đợi giá quay về vùng). Tin bị bỏ không vào hàng đợi thử lại: thử lại sau 3
giây chỉ càng muộn hơn. EA báo Telegram một dòng để biết vì sao không có lệnh.
⚠️ Trước v1.980, InpEntryChasePips bị bỏ qua hoàn toàn khi mode = MARKET
— không có gì chặn việc vào muộn, bao xa cũng vào.
slF = SL + slip thay vì
SL − slip, tức vào tệ thì SL ngắn lại — vô lý về vật lý nhưng chương
trình vẫn chạy trơn tru và ra bảng số đẹp. Chỉ lộ ra khi in kết cục từng lệnh và thấy
"lệch −23p → SL 117p". Từ nay mọi script đo phải tự kiểm bằng một ca THẬT đã biết đáp
số trước khi in bất kỳ kết quả nào — ở đây là #4728: slip −18,4p, SL 158,4p,
TP 131,6p, khớp đúng tin Telegram.Ngày 10/09 anh mất một lệnh đã chạm TP3 vì BE quét: lệnh vào lệch 16 pip, "kênh không bị BE mà anh bị". Soi code thì đây là một bất nhất trong thiết kế chưa ai để ý.
| Mốc | Neo vào (trước v1.981) |
|---|---|
| SL gốc | entry kênh (v1.922) |
| TP | entry kênh |
| BE — cả mốc kích hoạt lẫn mức SL mới | giá khớp thật |
— SL ảo (m_vStops) | entry kênh (đã đúng từ trước) |
Lệnh bán vào tệ hơn kênh 16 pip thì BE của mình nằm thấp hơn BE-theo-kênh đúng 16 pip — giá hồi lên chạm mình trước. Đáng chú ý: SL ảo vốn đã neo entry kênh, nên hai hệ đang dùng hai mốc khác nhau cho cùng một cơ chế BE.
| Phương án | ×vốn | trừ 1,8p | Winrate | maxDD | PF | Bền |
|---|---|---|---|---|---|---|
| A · neo giá vào (cũ) | ×4,03 | ×3,49 | 59,5% | −20,8% | 1,68 | ×1,27 |
| B · neo ENTRY KÊNH | ×4,49 | ×3,84 | 60,2% | −23,7% | 1,74 | ×1,34 |
| C · kích theo kênh, stop giá vào | ×4,03 | ×3,43 | 59,3% | −20,6% | 1,68 | ×1,31 |
| D · kích theo giá vào, stop kênh | ×4,13 | ×3,54 | 59,8% | −27,9% | 1,70 | ×1,24 |
Xáo có cặp 4.000 lần: B lãi hơn A ở 100% hoán vị. Còn khoảng cách drawdown 2,9 điểm thì median hiệu là −0,0 (52,4% — đồng xu), tức đúng loại nhiễu thứ tự đã lật tẩy ở mục 08. B cứu 6 lệnh (A bị quét → B chạm TP), làm hỏng 3, đổi 1 lệnh từ hoà sang thua.
| Vào | A · neo giá vào | B · neo entry kênh |
|---|---|---|
| tệ hơn kênh | stop đặt ngay tại giá vào → hồi nhẹ là quét | kích sớm hơn nhưng stop lùi ra xa |
| đẹp hơn kênh | kích ở 63p — quá sớm so với hành trình thật | mốc kích hoạt đến muộn hơn, thoát khỏi vùng giật |
Ngoài con số, lý lẽ thiết kế mạnh hơn: B khôi phục tính nhất quán. Luật v1.922 — "SL là mức cấu trúc của kênh, không xê dịch theo chỗ mình vào" — giờ áp cho cả ba mốc, và SL thật khớp lại với SL ảo.
| Cấu hình | ×vốn | trừ 1,8p | maxDD | Bền |
|---|---|---|---|---|
| gốc v1.978 — BE giá vào, không lọc | ×4,03 | ×3,49 | −20,8% | ×1,27 |
| + lọc 20p (v1.980) | ×4,43 | ×3,85 | −17,5% | ×1,39 |
| + BE neo kênh (v1.981) | ×4,49 | ×3,84 | −23,7% | ×1,34 |
| CẢ HAI — cấu hình chạy thật | ×4,77 | ×4,09 | −20,5% | ×1,47 |
Xáo có cặp 4.000 lần so với bản gốc: lãi hơn ở 100% hoán vị, drawdown thấp hơn ở 64,5%. Hai thay đổi bọc lẫn nhau: bộ lọc chặn mọi lệnh lệch quá 20 pip, nên khoản lỗ mà BE-neo-kênh có thể để lại bị kê trần đúng 20 pip.
Sau khi kênh Swing (đo 17/09) cho kết quả lệnh chờ thắng market, câu hỏi tự nhiên là kênh này có nên làm theo không. Câu trả lời ngược hẳn — và lý do nằm ở chỗ "vùng entry" của hai kênh là hai thứ khác nhau.
Kênh chỉ đăng đúng một giá E (Entry: 4439.57 · TP 50/100/150p · SL 150p). Khối SignalInbox.mqh:917-926 nở nó thành vùng 5 USD = 50 pip, toàn bộ về phía giá tốt hơn:
| Chiều | Kênh đăng | EA dựng vùng | Mép xấu | Mép tốt |
|---|---|---|---|---|
| SELL | E | [E, E+5] | E | E+5 |
| BUY | E | [E−5, E] | E | E−5 |
Hai hệ quả, cả hai đều quan trọng:
295 tín hiệu (05/01→16/09) × 71,8 triệu tick · TP69 · SL67 · BE tắt · trừ spread (median 1,82p) · lệnh chờ không khớp tính 0R · có đủ ba hàng rào của EA.
| Cách vào | R/lệnh | t | vào / lỡ | ×vốn @DD30% | market thắng |
|---|---|---|---|---|---|
| MARKET — đang chạy | +0,180 | 3,2 | 284 / 0 | ×4,7 | — |
| limit ngay tại E | +0,148 | 2,5 | 290 / 3 | ×3,0 | 100% |
| limit +5p | +0,165 | 2,7 | 284 / 9 | ×3,6 | 97% |
| limit +15p | +0,160 | 2,3 | 258 / 35 | ×1,9 | 99% |
| limit +25p — giữa vùng | +0,109 | 1,4 | 230 / 63 | ×1,3 | 100% |
| limit +50p — cuối vùng | +0,087 | 0,7 | 169 / 124 | ×1,2 | 100% |
Cột cuối là xáo CÓ CẶP 1.000 hoán vị, quy cả hai chuỗi về cùng drawdown 30% rồi so ×vốn. TTL 15′ · 30′ · 60′ · 120′ · 240′ và cả ∞ đều cho cùng một hình: không mức nào thắng market.
1 · Không có hình phạt vào trễ để mà sửa. Giá market lúc tin tới lệch giá kênh trung vị −0,1 pip; 49% số tin vào đẹp hơn kênh (p10 −7,3p / p90 +5,8p) — tức lệch đối xứng, không phải "kênh bắn tin muộn". Kênh Swing thì EA vào market tệ hơn giữa vùng 25 pip: ở đó lệnh chờ có thứ thật để sửa, ở đây không có gì để sửa mà chỉ có lệnh để mất.
2 · Chờ giá không lọc lệnh xấu — nó lọc lệnh TỐT. Đây là phần quan trọng nhất của mục này:
| Mức chờ (TTL 30′) | Khớp / lỡ | Lợi thế giá vào | R nhóm KHỚP | R nhóm LỠ nếu vào market |
|---|---|---|---|---|
| +5p | 286 / 9 | +3,2p | +0,170 | +0,731 |
| +15p | 260 / 35 | +13,2p | +0,182 | +0,696 |
| +25p giữa vùng | 232 / 63 | +23,2p | +0,138 | +0,768 |
| +50p cuối vùng | 170 / 125 | +48,2p | +0,150 | +0,753 |
Nhóm bỏ lỡ đáng gấp ~5 lần nhóm khớp được, và con số đó phẳng ở mọi mức chờ — lợi thế giá vào có tăng từ 3p lên 48p cũng không kéo nổi chất lượng nhóm khớp lên. Lệnh chạy thẳng tới TP không ngoái lại chính là lệnh bị loại. Ngay cả ở mức 50p vẫn khớp 58% số tin, nhưng trong nhóm khớp số lệnh chạm TP tụt 163 → 27 còn số dính SL vẫn nhích 127 → 142.
Anh chốt 19/09: "chỉ lấy dữ liệu kênh từ tháng 4, trước đó kênh không ổn định; kiểm tra lại và đề xuất bộ input mới, kiểm thêm SL 85". Mục này trả lời cả hai — và trả lời luôn câu tại sao cắt mẫu theo kết quả lại là con dao hai lưỡi.
| Tháng | n | R TB | Winrate | ×vốn@4% |
|---|---|---|---|---|
| 2026-01 | 49 | −0,171 | 40,8% | ×0,69 |
| 2026-02 | 25 | +0,056 | 52,0% | ×1,04 |
| 2026-03 | 34 | +0,075 | 52,9% | ×1,08 |
| 2026-04 | 26 | +0,405 | 69,2% | ×1,49 |
| 2026-05 | 19 | +0,496 | 73,7% | ×1,43 |
| 2026-06 | 37 | +0,207 | 59,5% | ×1,32 |
| 2026-07 | 37 | +0,207 | 59,5% | ×1,32 |
| 2026-08 | 44 | +0,384 | 68,2% | ×1,90 |
| 2026-09 | 24 | +0,438 | 70,8% | ×1,49 |
Bộ đang chạy 69/67/SL cứng, tính riêng từng tháng: tháng 1 −0,171R (winrate 40,8%), tháng 2-3 gần như đứng yên, rồi sáu tháng liền dương không sót tháng nào. Mẫu cắt còn 187 lệnh (02/04→16/09): R +0,335 (t 4,7) · winrate 65,8% · PF 1,98 · ×10,51@4% · maxDD chỉ 15,1% — so với +0,197 / ×8,04 / DD 43,7% trên đủ 295 lệnh.
Ta bỏ đúng cái đoạn lỗ. Con số +0,335R và DD 15,1% không phải "kênh thật sự tốt thế" — chúng là "kênh tốt thế nếu bỏ qua ba tháng tệ nhất". Mẫu này dùng để SO các cấu hình với nhau thì được (mọi cấu hình cùng chịu một kiểu thiên lệch), nhưng không được dùng làm kỳ vọng, và tuyệt đối không dùng để nâng risk — DD 15% là con số của một mẫu đã lọc, không phải của tương lai.
Đây chính là câu hỏi bỏ ngỏ của mục 05: kênh đã tốt lên thật, hay tháng 1-3 chỉ là chu kỳ sẽ quay lại? Cắt mẫu không trả lời được câu đó — nó chỉ giả định sẵn một đáp án.
Lưới TP 50-200 × SL 40-125 × BE (tắt / 20-120), so CÓ CẶP với bộ đang chạy trên cùng 187 lệnh:
| Cấu hình | R TB | t | ΔR vs base | t của Δ | WR | PF | ×@4% | maxDD |
|---|---|---|---|---|---|---|---|---|
| 69 / 67 / cứng | +0,335 | 4,7 | — | — | 65,8% | 1,98 | ×10,51 | 15,1% |
| 170 / 65 / BE80 | +0,475 | 4,1 | +0,140 | 1,6 | 45,3% | 2,17 | ×23,71 | 29,9% |
| 180 / 85 / BE100 | +0,470 | 4,5 | +0,135 | 1,5 | 51,0% | 2,20 | ×24,52 | 24,9% |
| 170 / 85 / BE100 | +0,465 | 4,6 | +0,130 | 1,5 | 52,3% | 2,19 | ×23,97 | 25,2% |
| 150 / 65 / BE80 | +0,457 | 4,2 | +0,122 | 1,6 | 47,9% | 2,13 | ×21,72 | 32,2% |
0 / 2.808 cấu hình có t > 2 — trong khi ngẫu nhiên thôi cũng phải ra ~65. Bảng trên là đỉnh của lưới, và đỉnh đó chỉ đạt t ≈ 1,5-1,6; xáo CÓ CẶP quy về cùng DD 30% cho 47-67%, tức tung đồng xu.
Đỉnh lưới là họ TP 150-180 / SL 65-85 / BE 80-100 — đúng họ mà mục 07 đã loại một lần ("cao nhất là overfit thời tiết"). Cho chính chúng chạy trên 108 lệnh tháng 1-3 vừa bị cắt:
| Cấu hình | R TB (T1-3) | t | WR | ×vốn@4% | maxDD | Đoạn tệ nhất 40 lệnh mẫu T4+ / đủ 295 |
|---|---|---|---|---|---|---|
| 69 / 67 / cứng | −0,041 | −0,4 | 47,2% | ×0,76 | 43,7% | ×1,07 / ×0,78 |
| 170 / 65 / BE80 | −0,184 | −1,5 | 21,2% | ×0,39 | 68,0% | ×1,15 / ×0,60 |
| 180 / 85 / BE100 | −0,248 | −2,2 | 22,1% | ×0,30 | 71,9% | ×1,22 / ×0,54 |
| 170 / 85 / BE100 | −0,269 | −2,5 | 22,1% | ×0,28 | 73,9% | ×1,25 / ×0,53 |
Đây là chỗ cần đọc kỹ: trên mẫu đã cắt, họ TP xa trông tốt hơn ở MỌI cột — R cao hơn, DD thấp hơn, đoạn tệ nhất còn đỡ hơn bộ đang chạy (×1,22-1,25 so với ×1,07). Nhưng đúng cái chế độ vừa bị cắt bỏ lại là chế độ giết chúng: winrate tụt còn 21-22%, mất 60-72% vốn, drawdown 68-74%. Bộ đang chạy qua cùng đoạn đó chỉ mất 24% vốn.
Nói cách khác: cắt tháng 1-3 không phải là lọc nhiễu, nó là bỏ phiếu cho một giả thuyết. Chọn họ TP xa dựa trên mẫu đã cắt = đặt cược rằng chế độ tháng 1-3 không bao giờ quay lại — mà mục 05 đã nói dữ liệu hiện có không phân định được. Bộ đang chạy không cần cược đó: nó chỉ lỗ nhẹ trong chế độ xấu (−0,041R) thay vì bị xoá sổ.
Trên mẫu T4+, BE tắt, so SL 85 với SL 67 ở từng mức TP (ΔR là hiệu có cặp):
| TP | SL 67: R | WR | SL 85: R | WR | ΔR (85−67) | t |
|---|---|---|---|---|---|---|
| 50 | +0,233 | 70,6% | +0,223 | 77,0% | −0,010 | −0,3 |
| 69 | +0,335 | 65,8% | +0,308 | 72,2% | −0,027 | −0,75 |
| 90 | +0,303 | 55,6% | +0,288 | 62,6% | −0,015 | −0,4 |
| 110 | +0,314 | 49,7% | +0,313 | 57,2% | −0,001 | −0,0 |
| 150 | +0,403 | 43,3% | +0,405 | 50,8% | +0,002 | 0,0 |
| 180 | +0,400 | 38,0% | +0,434 | 46,0% | +0,034 | 0,5 |
| 200 | +0,321 | 33,2% | +0,381 | 41,2% | +0,059 | 0,8 |
Winrate tăng +6,4 điểm mà R lại giảm — đây là chỗ dễ đọc sai nhất, nên tách hẳn ra số học. Ở TP69, nới SL 67→85 làm lot nhỏ đi 21,2%, nên mỗi lệnh thắng chỉ còn 69/85 = 0,812R thay vì 69/67 = 1,030R:
Tức phần winrate mua được không trả nổi phần lot bị cắt. Đây cùng một bài học với mục 07 ("winrate cao hơn không có nghĩa là lãi hơn") nhưng qua một cơ chế khác: ở đó mức thoát không phải hoà vốn, ở đây là sizing.
Hiệu số đó không phân biệt được với 0 (t −0,75). Xáo CÓ CẶP @DD30: SL85 thắng ở 65% hoán vị trên mẫu T4+ nhưng chỉ 18% trên đủ 295 lệnh (ΔR −0,037, t −1,4) — tức ngay cả cái "hơn" mong manh kia cũng là hiện tượng của riêng mẫu đã cắt. Theo tháng, SL85 hơn ở 4 tháng và kém ở 5 (tháng 6 −0,130, tháng 3 −0,115).
Đáy SL vẫn phẳng. Quét từng pip ở TP69: R nằm trong dải +0,275…+0,336 suốt 62→90 pip. SL 85 nằm trong cao nguyên đó — nó không rơi, nhưng cũng không có gì để lấy. Kết luận "đáy phẳng" của mục 02 vẫn đứng, chỉ là cao nguyên rộng hơn mình tưởng.
Trên mẫu đã cắt có lợi cho mọi ứng viên, không cấu hình nào trong 2.808 thắng bộ đang chạy một cách phân biệt được. SL 85 là thay đổi trung tính: mất ~0,03R mỗi lệnh để đổi lấy +6 điểm winrate và cảm giác êm hơn — mà ở đoạn xấu nó không êm hơn thật (đoạn tệ nhất ×1,04 so với ×1,07).
Thứ duy nhất mẫu tháng 4+ đổi là KỲ VỌNG (+0,335 thay vì +0,197) — và đó đúng là con số chưa được phép tin, vì nó có được bằng cách bỏ đi đoạn phản chứng. Muốn tin nó thì cần thêm thời gian, không phải cắt bớt dữ liệu.
Anh hỏi 19/09: "với những lệnh vào vị thế không đẹp mất 10-20 pip thì tỉ lệ đi xa cắn được TP3 là bao nhiêu, hay có thể nới TP thêm bao nhiêu pip?" — hai câu, và cả hai đều ra không. Mục này giữ lại vì một kết quả âm có kèm số lệnh cần để trả lời đáng giá hơn một kết quả dương mỏng.
Từ v1.922, cả TP lẫn SL đều neo vào GIÁ KÊNH, không neo vào chỗ mình khớp (mục 11 đã dựng lại cơ chế này). Nên với MỘT tin, việc "giá có chạm TP3 trước khi chạm SL không" là chuyện của đường giá, hoàn toàn không phụ thuộc mình vào ở đâu. Vào xấu không đổi xác suất thắng của tin đó — nó đổi mình ăn/mất bao nhiêu.
Nên câu hỏi thật sự đo được là câu KHÁC: những tin mà ta vào xấu có phải là loại tin khác (đường giá khác) hay không — tức có tương quan giữa độ lệch và kết cục không.
Thang bps/recs nhúng trong trang mô phỏng chỉ biết "giá đi được bao xa TỪ GIÁ KÊNH". Nó mù với "lúc tin tới, giá thị trường đang ở đâu so với giá kênh" — mà đó chính là độ lệch vào lệnh. Trả lời bằng thang đó thì buộc phải giả định đúng cái đang cần kiểm. analysis/slip_vs_tp.py replay thẳng 71,8 triệu tick × 295 tin, lấy giá market tại đúng mốc tin tới (EA chạy ENTRY_MARKET, log ghi age=1-3s).
Kiểm chéo: R toàn mẫu ra +0,182 so với +0,180 của mục 11 — hai đường code độc lập, cùng đáp số; và winrate TP69/SL67 ra đúng 59,0% đã công bố.
| p10 | p25 | Trung vị | p75 | p90 | max |
|---|---|---|---|---|---|
| −4,9p | −1,7p | +1,0p | +4,0p | +8,1p | +56,3p |
37% số lệnh vào ĐẸP hơn giá kênh (110/295). Lệch ≥10p chỉ 22/295 (7,5%), lệch ≥20p — mức InpMaxEntrySlipPips chặn — chỉ 8/295 (2,7%).
| Nhóm | n | TP50 | TP69 | TP100 | TP150 = TP3 | TP200 |
|---|---|---|---|---|---|---|
| vào ĐẸP hơn kênh | 110 | 62,7% | 59,1% | 48,2% | 36,4% | 30,0% |
| xấu 0-5p | 130 | 63,1% | 58,5% | 44,6% | 33,1% | 26,9% |
| xấu 5-10p | 33 | 66,7% | 57,6% | 51,5% | 48,5% | 30,3% |
| xấu 10-20p | 14 | 64,3% | 64,3% | 50,0% | 28,6% | 21,4% |
| xấu ≥20p (EA chặn) | 8 | 75,0% | 62,5% | 50,0% | 25,0% | 25,0% |
| TẤT CẢ | 295 | 63,7% | 59,0% | 47,1% | 35,6% | 28,1% |
Không có tương quan nào đo được. Fisher exact (nhóm ≥10p so với phần còn lại, mốc TP3): p = 0,49. Và chiều còn đảo ngược giữa hai mẫu — trên đủ 295 lệnh nhóm xấu ra 27,3% so với 36,3%, nhưng trên mẫu T4+ (mục 12) nhóm xấu ra 60,0% so với 42,9% (p = 0,65). Nhóm 5-10p thậm chí cao hơn trung bình. Tất cả là nhiễu của n = 14-33.
Để phân biệt chắc chắn khoảng cách 7 điểm % (35,6% so với 28,6%) ở power 80% cần ~696 lệnh MỖI NHÓM. Nhóm lệch ≥10p hiện có 22 — với nhịp ra tin hiện tại là ~149 tháng nữa.
Ghi con số này ra đây là mục đích chính của mục 13: lần sau ai (kể cả chính tôi) định mở lại vòng đo này thì đọc dòng trên rồi thôi.
| TP | Nhóm ≥10p: R TB | chạm TP | Nhóm còn lại: R TB | chạm TP |
|---|---|---|---|---|
| 69p | +0,011 | 63,6% | +0,196 | 58,6% |
| 100p | −0,031 | 50,0% | +0,178 | 46,9% |
| 150p | −0,295 | 27,3% | +0,183 | 36,3% |
| 200p | −0,284 | 22,7% | +0,159 | 28,6% |
| 250p | −0,487 | 13,6% | +0,164 | 24,2% |
Cơ chế đáng nhớ vì nó phản trực giác: vào xấu 15p rồi nới TP lên 150p thì R:R tốt lên thật — 135p ăn / 82p mất = 1,65, so với 0,66 ở TP69. Nhưng tỉ lệ chạm sụt 63,6% → 27,3%, và phần sụt đó nuốt sạch phần R:R được cải thiện, còn dư. Nới TP không phải thuốc chữa cho lệnh vào xấu — nó làm tệ thêm.
| Nhóm | n | R TB @TP69 | t | Winrate | R:R TB | WR cần để hoà |
|---|---|---|---|---|---|---|
| vào ĐẸP hơn kênh | 110 | +0,292 | 2,8 | 59,1% | 1,172 | 46,0% |
| xấu 0-5p | 130 | +0,151 | 1,8 | 58,5% | 0,969 | 50,8% |
| xấu 5-10p | 33 | +0,058 | 0,4 | 57,6% | 0,834 | 54,5% |
| xấu 10-20p | 14 | +0,091 | 0,4 | 64,3% | 0,686 | 59,3% |
| xấu ≥20p (EA chặn) | 8 | −0,131 | −0,5 | 62,5% | 0,403 | 71,3% |
Winrate gần như đứng yên qua mọi nhóm (57,6-64,3%) — đúng như hệ quả của việc neo TP/SL vào giá kênh. Thứ tụt là R:R: từ 1,172 xuống 0,403, kéo ngưỡng hoà vốn từ 46,0% lên 71,3%. Nhóm ≥20p là nhóm duy nhất âm kỳ vọng — cần 71,3% mà chỉ có 62,5%. Hàng rào InpMaxEntrySlipPips = 20 (mục 09) đang chặn đúng cái nhóm duy nhất đáng chặn — giữ nguyên.