ALAMO Exit — Prototype CŨ vs MỚI

feat/alamo-hedge · 2026-05-12 · spec comparison

SS gửi prototype mới lúc 18:58 — không phải patch nhỏ mà là full state-machine rewrite. Trang này so sánh prototype CŨ (chốt 17:00) vs MỚI (18:58) cạnh nhau, highlight 3 điểm khác lớn, và liệt kê 6 câu hỏi ambiguity em cần SS chốt trước khi viết code.

3 điểm khác lớn

State model
3-state → 5-state
STANDBY / S1 / S2
MỚI STANDBY / S1 / S2 / S3.1 / S3.2
Reference object
MG-max → Lệnh X
"MG-max" = lệnh lot lớn nhất
MỚI "Lệnh X" = lệnh gần Ln nhất (theo giá?)
3-order gate
Không có → MỚI thêm
ALAMO tự đóng tất cả Ln
MỚI ≥3 lệnh trên → PosMan đóng, ALAMO chờ

State machines

CŨ — Prototype 17:00
2-case logic, 3-state machine

Ctrl/Cmd + wheel zoom · drag pan · dbl-click fit

Loading...
MỚI — Prototype 18:58
3-stage state machine, Trường hợp 1/2 + Stage 3 escalation

Ctrl/Cmd + wheel zoom · drag pan · dbl-click fit

Loading...

Full diff table

Aspect CŨ (Prototype 17:00) MỚI (Prototype 18:58)
State model 3-state: STANDBY / S1 / S2 5-state: + S3.1 monitor + S3.2 active
S1 entry trigger RANGER active OR DD ≥ 0.5×threshold DD ≥ 50% threshold (≡ 0.5×, cùng số)
S2 fire condition Con1 (all âm) + Con2 (DD ≥ threshold) SubCon1 (all âm) + DD ≥ threshold
Close logic structure Case 1 (Ln biggest) / Case 2 (not biggest) TH1 (no orders above/below) / TH2 (has orders)
Reference object for close MG-max = lệnh lot lớn nhất Main Grid Lệnh X = lệnh gần Ln nhất (theo gì?)
3-order gate Không có — ALAMO luôn tự đóng MỚI: ≥ 3 lệnh trên/dưới Ln → PosMan đóng
Re-fire timing Q1 pending (a immediate vs b wait) Resolved (b): chờ Lệnh X âm trở lại
Escalation L2 DD ≥ 2×thr → fire L2 ngay (1-step) 2-step: S3.1 monitor (DD≥2×thr−2%) → S3.2 fire (DD≥2×thr)
Scaling Ln AlamoEscMultL2=2, AlamoEscMultLnPlus=3 L1=10% DD, L2=20%, L3=30% (clean N× rule)
PosMan integration Implicit (PosMan close loop) Addendum 1 explicit: PosMan close → ALAMO close all redundancy
Safety net Bỏ LnStopLossMult + BlockExitRatio Cũng bỏ hết — "HEDGIN' TIL I DIE"
Order type re-fire Q2 pending — em propose MARKET Vẫn pending → câu 6 dưới

Ambiguity cần resolve trước khi code

Format: Em hiểu: X → SS confirm? — SS chỉ cần reply OK hoặc 1 correction ngắn. Code FBotAlamo.mqh không start cho đến khi 6 câu chốt xong.

1."Trên Ln (MG Sell) / dưới Ln (MG Buy)" — phân loại theo gì?
Em hiểu: phân loại theo SIDE (MG Sell = trên, MG Buy = dưới) by convention, KHÔNG phải theo giá tuyệt đối.
→ SS confirm theo SIDE đúng không?
2."Lệnh X" — gần Ln nhất theo cái gì?
Em hiểu: gần nhất theo GIÁ (price proximity), không theo thời gian mở.
→ SS confirm theo giá đúng không?
3.Trường hợp 1 "không có lệnh trên/dưới Ln" — possible khi nào?
Em hiểu: edge case khi Grid đã đóng phần lớn, chỉ còn Ln + vài lệnh. Vì khi Ln vừa fire luôn có Grid orders trước đó tồn tại.
→ SS confirm interpretation này?
4.S3.1 "đo từ lệnh đầu tiên trên Ln → lệnh lớn nhất" — đo cái gì?
Em hiểu: tính TỔNG LOT trong khoảng đó → đó là volume Ln+1 sắp bắn. Logic giống anchor cũ nhưng explicit hơn.
→ SS confirm "đo" = sum lots đúng không?
5."Loop đóng được / Loop FAIL" — định nghĩa
Em hiểu:
• OK = full close cycle (Grid + Ln đóng hết → ALAMO RESET)
• FAIL = đóng Ln rồi nhưng Grid vẫn lỗ, không close được toàn bộ
→ SS confirm?
6.Re-fire Ln (SubCase 2) — order type
Em hiểu: MARKET order (giá thị trường lúc Lệnh X âm trở lại). Đơn giản hơn pending limit, lệch vài chục cent không vấn đề.
→ SS confirm MARKET đúng không?