Bản tiếng Việt · 2026-06-04

ALAMO Hotfix15 - bản đồ giữ hedge sống sót

Trang này chuyển plan Hotfix15 thành bản dễ đọc: khi tổng basket còn âm thì giữ toàn bộ hedge ALAMO, không bank lời nhỏ làm mất lớp bảo vệ, đóng băng grid bằng tổng hedge đang sống, thêm sàn margin-level cuối cùng, và hoãn dynamic neutralization cho tới khi backtest chứng minh thật sự cần.

TL;DR - đọc nhanh trong 60 giây

Nếu chỉ cần biết phải build gì và vì sao, đọc phần này trước. Các phần dưới là biểu đồ, bằng chứng, và ma trận triển khai chi tiết.

1. Không được tự đóng hedge khi basket còn âm Cả cửa checkpoint và cửa re-entry profit phải bị khóa bằng basketRed. Nếu tổng basket vẫn đỏ, không bank lời nhỏ.
2. Freeze phải nhìn tổng hedge đang sống Không chỉ đếm g_alamoTickets. Phải cộng cả re-entry hedge để Skill6, grid, escalation và breaker không bật lại sai.
3. Direct close là rủi ro lớn nhất cần audit Mọi đường gọi AlamoCloseAll() khi basket đỏ phải bị gate hoặc route sang flatten toàn bộ magic để không bỏ sót hedge.
4. Thêm sàn margin-level, nhưng mặc định tắt AlamoMarginFloorPct chỉ là phanh cuối theo broker margin-level, vì account-DD breaker chết quá muộn trong case 45.59% ML.
5. Chưa build dynamic neutralization Phase 5 để sau. Chỉ mở nếu Phase 1-4 đã kín mà backtest @22 vẫn stop-out trước 26/2.
6. Pass test nghĩa là sống, chưa phải lời đẹp @22 pass khi đi tới 26/2, không stop-out, không tự chốt lỗ khi basket đỏ, Q không phình tiếp, floor không bắn trong run khỏe.

Đường chết -> đường sửa

Bóc tách từ plan, docs, và bằng chứng trong code. Màu đỏ là đường chết cũ; màu xanh là đường giữ hedge cần build; màu tím là phần hoãn.

Bản đồ sống sót ALAMO Hotfix15 Đường chết từ bank lời hedge nhỏ tới margin stop-out, kèm các fix đã nhận trong plan. ALAMO Hotfix15: bản đồ cơ chế sống sót Luật bất biến: nếu basket tổng còn âm, không thả hedge nào và mọi gate freeze/breaker đều thấy tổng hedge live. Trend một chiều @22 Grid âm; ALAMO bắn chết: 23/2 04:40 Bank lời hedge nhỏ Cửa #1 checkpoint Cửa #2 re-entry pnl>0 Tracker bị rỗng g_alamoTickets = 0 gate bỏ qua re-entry Freeze tắt Skill6/grid/escalation bắt đầu feed Q Stop-out margin từng leg ML 45.59% Chốt basketRed một lần Sau AlamoSyncLevels cnet < exit buffer Khóa cả hai cửa Không checkpoint close Không re-entry close khi đỏ Tổng hedge live g_alamoTickets + re-entry trước Skill6 gate :429 Freeze luôn bật Skill6, f5q8t, r1v6s breaker thấy tổng hedge vòng giữ khi basket còn âm Audit đóng trực tiếp Skill6, GridManager EmergencyDD, schedule Sàn margin khẩn cấp broker margin-level AlamoMarginFloorPct Cổng backtest @22 sống 16/2-26/2 @50 A/B không regression Neutralization hoãn trừ khi hold kín vẫn chết backtest chứng minh sống

Phạm vi build theo spec

Không phải phase nào cũng code ngay. Phase 5 cố tình hoãn theo YAGNI, chỉ bật nếu Phase 4 chứng minh giữ hedge kín vẫn stop-out.

Phase 1

Xác minh hợp đồng giữ hedge

Audit re-entry, các caller đóng trực tiếp, và khôi phục sau khi basket flatten.

gate trước code
Phase 2 · lõi

Giữ hedge kín lỗ hổng

Khóa cả hai cửa close, thêm invariant liveHedge, vá leak đóng trực tiếp.

build đầu tiên
Phase 3

Sàn margin-level

Thêm floor theo broker margin-level, mặc định tắt, chỉ là phanh cuối.

khẩn cấp
Phase 4

Chứng minh bằng backtest

@22 sống sót, @50 A/B, không tự realized loss khi basket đỏ.

gate merge
Phase 5

Dynamic neutralization

Không build trừ khi giữ hedge kín vẫn chết trước 26/2.

hoãn
Phase 6

Red-team trước phát hành

Review diff cuối, update docs, không còn mức cao/nghiêm trọng chưa xử lý.

gate cuối

Vấn đề tồn đọng và giải pháp

Danh sách này là phần người cook không được bỏ qua. Mỗi item có đường dẫn bằng chứng, cách lỗi xảy ra, và cách sửa cụ thể.

Cửa #2 vẫn bank re-entry khi basket đỏ

nghiêm trọng

AlamoCheckReentryClose() đóng re-entry hedge khi raw pnl > 0, độc lập với combined basket.

Tính basketRed một lần trong AlamoCheck(); chỉ gọi re-entry close khi !basketRed.

Re-entry hedge không được freeze/breaker count

nghiêm trọng

Re-entry tickets ở g_alamoReentryTickets, còn gate cũ nhìn mỗi g_alamoTickets.

Hoist liveHedge trước Skill6 gate :429; dùng ở Skill6, grid cooldown, grid freeze, escalation freeze, breaker.

Direct AlamoCloseAll() có thể bỏ sót hedge

nghiêm trọng

Các direct caller trong EA, Skill6, GridManager, Schedule đóng tracked Ln nhưng không sweep toàn bộ ALAMO magic.

Phase 1 phân loại từng caller. Đường nào reachable khi basket đỏ phải gate trước khi close grid hoặc route sang AlamoFlattenAllHedge().

Account-DD breaker không bắt được per-leg margin death

cao

Bot chết tại margin-level 45.59% khi account-DD chỉ 34%; DD floor bị trễ về mặt cấu trúc.

Thêm AlamoMarginFloorPct theo equity / margin * 100, mặc định tắt, khi live thì đặt cao hơn broker stop-out vài điểm.

Dynamic neutralization dễ inert khi grid frozen

trung bình

Tăng hedge fraction không tự đặt thêm lot nếu mọi đường fire đã bị frozen; thêm constants sớm sẽ làm phình scope.

Hoãn Phase 5. Nếu cần build, phải có top-up fire rõ ràng khi basketRed, margin OK, và desired hedge > live hedge.

Validation dễ chứng minh sai thứ

cao

Window 16/2-26/2 là trend một chiều nên không chứng minh được basket break-even exit; chỉ chứng minh sống sót.

@22 pass khi đi tới 26/2, không stop-out, không tự realized loss khi basket đỏ, Q bị chặn, floor bắn 0 lần. Demo break-even dùng window có hồi giá riêng.

Ma trận triển khai

Mapping từ spec tới file/line hiện tại, để cook theo bằng chứng thay vì nhớ narrative.

Mảng spec Bằng chứng hiện tại Hành động build Điều kiện pass
Ranh giới basketRed AlamoCombinedNetPnL(), AlamoBasketExitBuffer, breakeven branch :700 Tính sau AlamoSyncLevels(), trước mọi close trigger. Một biến local điều khiển cả hai cửa, breaker, floor.
Cửa #1 shouldClose = checkpointProfit || lenhYProfit Đổi thành !basketRed && (...). Không có ALAMO_CLOSE khi basket tổng còn đỏ.
Cửa #2 AlamoCheckReentryClose() được gọi mỗi tick khi count > 0. Chỉ gọi khi !basketRed. Không có ALAMO_REENTRY: CLOSED khi basket đỏ.
Invariant freeze EA gate ở Skill6 :429, grid :473/:480, escalation :506. Hoist liveHedge = ArraySize(g_alamoTickets)+g_alamoReentryCount trước :429. Grid Q ngừng phình sau lần hedge đầu tiên.
Caller đóng trực tiếp EA EmergencyDD, Skill6 TP/reset, GridManager emergency-compression, Schedule. Phân loại, gate, hoặc route sang flatten toàn bộ magic. Không bỏ sót hedge 123458; không tự close khi basket đỏ.
Sàn khẩn cấp DD breaker bỏ lỡ case chết tại margin-level 45.59%. Thêm AlamoMarginFloorPct, mặc định tắt, khai báo đồng bộ ở hai nơi. Floor bắn 0 lần ở @22 khỏe; case synthetic sâu flatten cả hai magic.

Luồng phase Mermaid v11

Mermaid dùng cho diagram docs dễ bảo trì; SVG phía trên là visual fallback không phụ thuộc runtime.

---
config:
  theme: base
  flowchart:
    curve: basis
---
flowchart LR
  P1["Phase 1
audit hợp đồng hold"] --> P2["Phase 2
giữ hedge kín"] P2 --> P3["Phase 3
sàn margin-level"] P3 --> P4["Phase 4
@22 sống + @50 A/B"] P4 -->|"sống"| P6["Phase 6
red-team trước phát hành"] P4 -->|"vẫn stop-out"| P5["Phase 5
dynamic neutralization"] P5 --> P4 P2 -. khóa .-> R1["Không direct AlamoCloseAll
khi basket đỏ"] P2 -. chặn .-> R2["liveHedge = Ln + re-entry"] P3 -. bảo vệ .-> R3["broker margin-level
phanh cuối"]

Nguồn bằng chứng

Các anchor local dùng để dựng page này. Cố tình để cụ thể để pass implementation tiếp theo kiểm nhanh.

Plan gốc plans/260604-1704-GH-15.../plan.md: quyết định SS, red-team review, không còn mâu thuẫn chưa xử lý.
File triển khai lõi Include/FBot/FBotAlamo.mqh: cửa close, re-entry tickets, combined net PnL, breaker.
Live gate trong EA Experts/Advisors/FBot_v4.1_Alamo_Jul2026_(v2-LenhY-hotfix15).mq5: các gate freeze của Skill6, grid, escalation.
Nơi gọi flatten Include/FBot/FBotPositionManager.mqh: basket flatten calls AlamoFlattenAllHedge().
Tài liệu lý thuyết docs/alamo-hedge-design-theory.md: mục đích ALAMO, giới hạn đã biết, hành vi Hotfix15.
Hướng dẫn validation docs/backtest-cheat-sheet.md: luồng compile/backtest và cấu hình MT5 tester.