Mục lục
Trả lời ngắn: Hedging System trong EA là bộ điều phối tạo và quản lý một lớp phơi nhiễm bù trừ cho nguồn rủi ro đã xác định. Hệ thống đo tỷ lệ phủ, giới hạn tổng phơi nhiễm, xác nhận từng chân và sở hữu việc tháo cặp (unwind). Lệnh ngược không tự xóa lỗ, phí hay rủi ro.
Đọc xong, bạn sẽ hiểu: chiến lược phòng hộ khác chế độ tài khoản hedging thế nào; vì sao tổng tuyệt đối có thể tăng khi phần ròng giảm; cách gắn nguồn với chân bù trừ; và lúc phải dừng hoặc tháo cặp.
Lưu ý giáo dục: Mọi hướng A/B, giá trị và tỷ lệ là dữ liệu giả để học kiến trúc. Đây không phải hướng dẫn mở lệnh đối ứng hoặc lời khuyên giao dịch.
1. Hedging là bù phơi nhiễm, không xóa lỗ
a. Hai thứ cùng tên nhưng khác nhiệm vụ
Phòng hộ (hedging) là tạo một phơi nhiễm có quan hệ bù trừ để giảm một phần hoặc toàn bộ rủi ro giá đang nhắm tới. CME mô tả người phòng hộ dùng thị trường để quản lý và bù rủi ro, khác với người đầu cơ nhận rủi ro để tìm lợi nhuận. CME: Understanding the Role of Hedgers
Trong EA cần tách:
- chiến lược phòng hộ: quan hệ rủi ro giữa chân nguồn và chân bù trừ;
- chế độ tài khoản hedging: cách MT5 cho phép nhiều vị thế cùng mã, kể cả đối hướng;
- chế độ bù trừ (netting): mỗi mã chỉ có một vị thế tổng hợp.
MQL5 xác nhận tài khoản netting chỉ có một vị thế mỗi mã, còn hedging có thể giữ nhiều vị thế đa hướng. EA phải đọc ACCOUNT_MARGIN_MODE, không đoán từ tên nhà môi giới. MQL5 account type
Trên netting, lần khớp đối hướng sẽ giảm, đóng hoặc đảo vị thế tổng. Nó không tạo hai “chân” cùng mã như tài khoản hedging. Chế độ tài khoản là khả năng ghi nhận, không chứng minh chiến lược phòng hộ đúng.
b. Tổng tuyệt đối và phần ròng không phải một
Tổng phơi nhiễm tuyệt đối (gross) là tổng trị tuyệt đối của các chân. Phơi nhiễm ròng (net) là tổng có dấu sau bù trừ. Nguồn +10 U và chân bù -6 U có tổng 16 U, ròng +4 U. Phần ròng giảm từ 10 xuống 4, nhưng tổng tăng từ 10 lên 16.
Chiếc ô giảm mưa chạm người, nhưng không làm quần áo đã ướt khô lại. Phòng hộ cũng vậy: có thể giảm độ nhạy với biến động tiếp theo, không đảo ngược khoản lỗ hay phí đã phát sinh.
2. Bộ điều phối cặp và demo H15
a. Từ nguồn đến sổ cặp
Pipeline tối giản:
SOURCE SNAPSHOT → TARGET RATIO → RISK/COST GATES → UNIQUE HEDGE INTENT → REQUESTED → CONFIRMED LEG → PAIRED LEDGER
Cặp phòng hộ là quan hệ có chủ sở hữu giữa chân nguồn và bằng chứng chân bù trừ. Nó cần pairId, ID vòng đời nguồn, phiên bản và danh sách yêu cầu/lệnh/lần khớp/vị thế liên quan.
Tỷ lệ phủ mục tiêu là phần nguồn muốn bù theo kế hoạch. Tỷ lệ phủ xác nhận chỉ dùng lượng bù đã khớp:
coverage = |confirmed hedge quantity| / |confirmed source quantity|
Vòng đời:
UNHEDGED → HEDGE_REQUESTED → PARTIAL_COVER → TARGET_COVER → UNWIND_PENDING → CLOSED | RESIDUAL | ORPHAN_HALT
Ý định phòng hộ là đề nghị nội bộ, chưa phải lần khớp. Khóa pairId:hedgeStep:version ngăn nhịp giá (tick), hàm gọi lại (callback) hoặc lần thử lại (retry) tạo chân trùng. PARTIAL_COVER giữ đúng phần đã khớp; phần thiếu không được giả thành đã phủ.
Hình 1 — Hedge chỉ được ghi nhận khi chân bù trừ có bằng chứng và còn gắn đúng nguồn.
b. H15: phần ròng giảm, tổng tuyệt đối tăng
H15 có nguồn +10 U hướng A, mục tiêu bù 60%, tức chân đối hướng tối đa -6 U.
- S0: lượng bù
0, tỷ lệ phủ0%, tổng10, ròng+10. - H1: lần khớp đầu
-4, tỷ lệ phủ40%, tổng14, ròng+6. - H2: khớp thêm
-2, tổng bù-6, tỷ lệ phủ60%, tổng16, ròng+4.
Hàm gọi lại H2 dùng lại khóa H15:H2:v1, nên không tạo ý định mới. Nếu nguồn còn +5 U mà chân bù vẫn -6 U, tỷ lệ phủ thành 120%, phần ròng thành -1 U. Cặp đã phủ quá mức (overhedge) và phải chuyển UNWIND_PENDING; đây không phải tín hiệu hướng mới.
Hình 2 — Bù thêm sáu đơn vị làm phần ròng giảm nhưng tổng tuyệt đối tăng, nên chi phí và ký quỹ vẫn cần kiểm soát.
3. Chín lỗi và giới hạn
a. Những lỗi làm chân bù thành vị thế mồ côi
- Yêu cầu đối hướng = đã phòng hộ: chưa có bằng chứng khớp.
- Chế độ tài khoản = chiến lược: có nhiều vị thế không chứng minh chúng bù đúng rủi ro.
- Phần ròng giảm = hết rủi ro: bỏ tổng tuyệt đối, phí, phí qua đêm và ký quỹ.
- Không lọc quyền sở hữu: gom cả vị thế tay hoặc EA khác vào cặp.
- Nguồn cũ: tính tỷ lệ trên ảnh chụp trước khi nguồn đổi.
- Thử lại mù: hàm gọi lại lặp gây phủ quá mức.
- Bỏ khớp một phần: kế toán phủ vượt bằng chứng.
- Đoán quyền đóng đối ứng/ký quỹ: không đọc tài khoản và mã giao dịch.
- Tháo một chân: để chân còn lại thành phơi nhiễm trần.
MQL5 có POSITION_IDENTIFIER ổn định trong vòng đời và liên kết tới lệnh/lần khớp; mã vị thế (ticket) có thể đổi sau thao tác dịch vụ. POSITION_MAGIC hỗ trợ nhận diện nguồn do EA tạo. Chỉ dựa vào mã giao dịch hoặc mã vị thế chụp một lần là chưa đủ cho sổ cặp bền. MQL5 Position properties
b. Đóng đối ứng và rủi ro không khớp
Đóng bằng vị thế đối ứng (Close By) là khả năng tùy chọn trên tài khoản hedging để đóng hai vị thế cùng mã, đối hướng. EA phải kiểm SYMBOL_ORDER_CLOSEBY; không phải mã nào cũng bật. MQL5 Symbol properties
CTrade::PositionCloseBy() trả true chỉ cho biết kiểm tra cấu trúc cơ bản thành công; tài liệu yêu cầu đọc ResultRetcode() để biết kết quả máy chủ. MQL5 PositionCloseBy
Nếu chân bù dùng mã khác nguồn, còn có rủi ro cơ sở/tương quan: hai giá không di chuyển khít như giả định. Bài này không thiết kế phòng hộ chéo mã. Ngay cả cùng mã vẫn có chênh lệch giá, hoa hồng, phí qua đêm, quy tắc ký quỹ và rủi ro thao tác.
4. Hợp đồng cặp phòng hộ trước khi viết code
a. Mười tám câu phải trả lời
- ID/phiên bản cặp?
- Nguồn được chọn bằng ID nào?
- Nhãn sở hữu nào được phép?
- Đơn vị chuẩn hóa?
- Tỷ lệ mục tiêu?
- Tỷ lệ tối đa?
- Trần tổng phơi nhiễm?
- Trần ký quỹ/chi phí?
- Chế độ tài khoản?
- Mã giao dịch cho phép gì?
- Ảnh chụp nguồn mới bao lâu?
- Khóa chống lặp gồm gì?
- Khớp một phần xử lý sao?
- Nguồn tăng/giảm thì tính lại thế nào?
- Khi nào tháo cặp?
- Thứ tự tháo do ai sở hữu?
- Chân mồ côi/phần dư phục hồi ra sao?
- Công tắc dừng thuộc bộ máy nào?
b. Trình tự đóng khi thiếu bằng chứng
Đọc ảnh chụp nguồn và khả năng tài khoản; xác minh chủ sở hữu; tính phần bù thiếu từ dữ liệu đã xác nhận; kiểm tổng phơi nhiễm, chi phí, ký quỹ và tỷ lệ tối đa; chống khóa trùng; gửi yêu cầu; rồi chờ sự kiện giao dịch cập nhật sổ.
Tài khoản sai chế độ, nguồn mất/không rõ chủ, dữ liệu cũ, lịch sử thiếu hoặc có chân mồ côi thì trả UNKNOWN/HALT. Trên tài khoản hedging, thao tác đóng phải chỉ rõ mã vị thế; khối lượng nhỏ hơn vị thế là đóng một phần, nên phải hậu kiểm phần dư. MQL5 closing positions
5. Bảng cặp phòng hộ 15 phút
a. Cách làm
Dùng giấy hoặc Google Sheets; chưa mở MT5, kết nối tài khoản hay dùng tiền thật. Điền H15, tính tỷ lệ phủ, tổng và ròng sau H1, H2. Lặp khóa H15:H2:v1: kết quả đúng là không có ý định thừa.
b. Mẫu đối chiếu
| Bước | Nguồn | Hedge đã khớp | Coverage | Gross | Net | Trạng thái |
|---|---|---|---|---|---|---|
| S0 | +10 U |
0 U |
0% |
10 U |
+10 U |
UNHEDGED |
| H1 | +10 U |
-4 U |
40% |
14 U |
+6 U |
PARTIAL_COVER |
| H2 | +10 U |
-6 U |
60% |
16 U |
+4 U |
TARGET_COVER |
| U1 | +5 U |
-6 U |
120% |
11 U |
-1 U |
UNWIND_PENDING |
U1 không phải “phòng hộ tốt hơn”. Nguồn co lại làm cặp phủ quá mức; bộ điều phối phải dừng ý định mới và giao quyền cho người sở hữu quy trình tháo.
Hình 3 — Khi nguồn co lại mà chân bù chưa đổi, cặp phủ quá mức và phải chuyển sang quy trình tháo.
6. Tổng kết: giảm phần ròng, vẫn quản tổng
a. Năm ý chính
- Chiến lược phòng hộ là quan hệ bù rủi ro; tài khoản hedging chỉ là chế độ ghi nhận.
- Phần ròng có thể giảm trong khi tổng, chi phí và ký quỹ tăng.
- Tỷ lệ phủ chỉ dùng nguồn và chân bù đã xác nhận.
- Mỗi cặp cần ID, chủ nguồn, các trần, xử lý chân mồ côi và người sở hữu tháo cặp.
- Dữ liệu thiếu hoặc khả năng tài khoản không phù hợp phải
UNKNOWN/HALT.
Bài trước là DCA System trong EA. Bài tiếp theo là Basket Trading trong EA #16.
b. Câu hỏi tự kiểm tra
- Chế độ tài khoản hedging khác chiến lược phòng hộ ở đâu?
- H15 đạt tỷ lệ phủ 60% có tổng và ròng bao nhiêu?
- Vì sao nguồn co từ 10 xuống 5 gây phủ quá mức?
PositionCloseBy()trả true đã đủ xác nhận chưa?
c. Gợi ý đáp án
Xem gợi ý câu 1
Chế độ tài khoản quy định cách MT5 ghi vị thế; chiến lược quy định quan hệ bù rủi ro. → xem mục 1.
Xem gợi ý câu 2
Nguồn +10 và chân bù -6 tạo tổng 16, ròng +4. → xem mục 2.
Xem gợi ý câu 3
Chân bù -6 lớn hơn nguồn +5, tỷ lệ phủ thành 120% và phần ròng đổi dấu. → xem mục 2 và 5.
Xem gợi ý câu 4
Chưa; phải đọc retcode và bằng chứng giao dịch máy chủ. → xem mục 3.
d. Thuật ngữ cần nhớ
| Thuật ngữ | Giải thích ngắn |
|---|---|
| Chân nguồn | Phơi nhiễm gốc cần quản lý. |
| Chân bù trừ | Phơi nhiễm được tạo để giảm phần rủi ro mục tiêu. |
| Tổng phơi nhiễm (gross) | Tổng trị tuyệt đối của các chân. |
| Phơi nhiễm ròng (net) | Tổng có dấu sau bù trừ. |
| Tỷ lệ phủ (coverage) | Lượng bù đã khớp so với nguồn đã khớp. |
| Cặp phòng hộ | Quan hệ có ID giữa nguồn và chân bù trừ. |
| Phủ quá mức (overhedge) | Chân bù trừ lớn hơn nguồn mục tiêu. |
| Chân mồ côi (orphan) | Chân tồn tại nhưng mất quan hệ sở hữu hợp lệ. |
| Tháo cặp (unwind) | Gỡ quan hệ phòng hộ có kiểm soát. |
e. Nguồn tham khảo
- CME — Understanding the Role of Hedgers
- MQL5 — Account type: netting or hedging
- MQL5 — Position properties
- MQL5 — Symbol properties
- MQL5 — PositionCloseBy
- MQL5 — Closing a position
- MQL5 — OnTradeTransaction
Nội dung này phục vụ mục đích giáo dục, không phải lời khuyên đầu tư hoặc tín hiệu giao dịch. Hedging System không thể loại bỏ rủi ro thị trường, chi phí, ký quỹ hoặc lỗi thực thi.
Bài tiếp theo