Mục lục bài viết

Bằng chứng và phạm vi

SMC có nhiều implementation; nguồn tham khảo mô tả công cụ, không có định nghĩa BOS duy nhất hay track record cho bộ tham số đề xuất.

Dữ liệu và thị trườngDữ liệu OHLC có thứ tự và tick; áp dụng riêng từng instrument và scale, không trộn chart giá tổng hợp với giá thực thi.
Khung thời gian nghiên cứuMột detector cho mỗi khung; ví dụ H1 major và M5 minor là hai luồng trạng thái độc lập.
Các đỉnh và đáy tăng dần trước close vượt high 104, sau đó có retest và nhịp tiếp diễn minh họa.Mở hình kích thước đầy đủ
Chuỗi giá giả lập cho HH/HL rồi BOS; không biểu diễn đầy đủ nến và không phải backtest. Các điểm là mốc sự kiện đã rút gọn; không đại diện các bar liên tiếp hay khoảng thời gian đều nhau.

Quy trình thực hành

Sơ đồ quy trình BOS: định nghĩa phá cấu trúc theo xu hướng bằng thuật toán
Các bước được mô tả đầy đủ bên dưới. Tại mỗi bước, dữ liệu thiếu hoặc điều kiện sai phải có lý do loại bỏ.
  1. Xác nhận cấu trúcHai highs/lows đủ biết trend.
  2. Chọn mức chưa pháSnapshot trước nến hiện tại.
  3. Close vượt bufferGhi event một lần theo level_id.
  4. Đánh giá filterDisplacement/RVOL là biến thể riêng.
  5. Entry hoặc retestGiữ timing, stop và timeout cụ thể.

BOS cần xu hướng đã biết trước

Nếu hai đỉnh xác nhận lần lượt 100 và 104, hai đáy tương ứng 95 và 99, ta có thể định nghĩa uptrend bằng HH/HL. Một close sau vượt high 104 là bullish BOS theo quy ước này. Trong range không có thứ tự highs/lows rõ, cùng một close chỉ được gọi range breakout.

LuxAlgo phân biệt internal và swing structure [1]. Bài này giữ sự phân biệt đó ở cấp dữ liệu: scale_id gắn với bộ pivot cố định. Một BOS nhỏ ngược hướng khung lớn không tự biến khung lớn thành đảo chiều.

Điểm quan trọng là “chưa bị phá”. Nếu một high đã được close vượt từ hôm qua, mọi close cao hơn hôm nay không được phát lại BOS cùng high. Event lưu broken_level_id để đo đúng số sự kiện, tránh biến một trend thành hàng chục tín hiệu độc lập.

Snapshot cấu trúc trước nến kiểm tra

Đề xuất pivot 3/3, eps=max(2tick,0,15ATR) và b=max(2tick,0,1ATR). Uptrend đòi cả hai highs và hai lows tăng quá eps; downtrend đối xứng; phần còn lại là mixed. Các ngưỡng và pivot length là cấu hình nghiên cứu.

Tại đầu nến t, snapshot trend và high chưa bị phá gần nhất có hiệu lực. Bullish BOS cần prior_state=UPTREND và close[t]>high+b, đồng thời close trước chưa vượt ngưỡng này. ATR dùng t−1. Pivot mới được xác nhận tại close t chỉ cập nhật cho quyết định từ t+1, không thay ngưỡng trong cùng vòng xử lý.

Nếu nhiều mức cùng bị phá, lưu một event gốc và danh sách levels bị vượt. Có thể chọn high lớn nhất trong scope làm reference chính, nhưng quy tắc phải thống nhất. Mức hết TTL không được dùng lại chỉ vì nhìn chart thấy đẹp.

old = structure_snapshot_at_end(t-1)
A = ATR14[t-1]
if finite_positive(A) and old.trend == UPTREND:
  b = max(2*tick,0.10*A)
  h = old.last_eligible_unbroken_high
  if h is not None and C[t-1] <= h.price+b and C[t] > h.price+b:
    emit(BOS_UP,known_at=received_close_time(t),level_id=h.id)
    mark_broken(h.id)
append_pivots_confirmed_at(t,eligible_from=t+1)
# New pivots cannot replace the threshold inside this bar's decision.

Displacement và volume là hai nhóm feature

Đề xuất displacement tăng gồm body/ATR≥0,8, body/range≥0,6 và CLV≥0,75. Đây là mức thử, không định nghĩa bắt buộc của BOS. Một gap mở cửa có thể close vượt swing mà thân nến nhỏ; hãy ghi gap_break riêng thay vì tự ép thân lớn.

RVOL tại breakout giúp hỏi hoạt động có bất thường so cùng giờ không. Sau đó so kết quả BOS với/không filter trên cùng danh sách break gốc. Body mạnh và volume cao thường xảy ra cùng một event; không diễn giải chúng thành hai nhân chứng độc lập.

Nếu volume không tin cậy, detector cấu trúc vẫn chạy với cờ volume_unavailable. Không tự gán RVOL=1 cho dữ liệu thiếu; việc đó trộn “bình thường” với “không biết” và làm sai phân tích.

Ví dụ tiếp diễn đạt trigger và whipsaw

Chuỗi giả lập có highs 100 rồi 104, lows 95 rồi 99; tất cả đã xác nhận. ATR=2, tick=0,05 nên b=0,2. Nến mới O=103,8, H=105,8, L=103,6, C=105,5 vượt 104,2. Body=1,7=0,85ATR, body/range≈0,773, CLV≈0,864: đạt cả filter displacement đề xuất.

Nếu entry sau close ở 105,6, stop theo một đáy hồi nhỏ giả định đã xác nhận trước BOS ở 103,4 và target 110 thì reward 4,4/risk 2,2=2R. Nhưng high/low trong tương lai chưa được phép chọn để làm stop. Phiên bản chờ retest phải đợi thêm rồi tính lại entry thực.

Whipsaw giả lập: sau close 105,5, giá quay xuống 103,3 và stop khớp 103,35; lỗ 2,25. BOS vẫn là sự kiện đúng, chỉ giả thuyết tiếp diễn thất bại. Nếu nến chỉ wick lên 104,5 nhưng close 103,9 thì bản close-break không phát BOS.

Không có retest thì không có entry retest

Hai chiến lược riêng: theo breakout sau close và theo retest sau event. Đề xuất retest trong K=6 nến, low chạm vùng quanh 104 và close trở lại trên 104+b. Chỉ gửi lệnh khi điều kiện đủ; trường hợp giá chạy thẳng là no-fill của phiên bản retest.

Stop theo đáy retest gần hơn protected swing; phá stop không nhất thiết phá toàn bộ uptrend. Ngược lại, stop tận protected low có thể quá rộng so target. Cần chọn rủi ro của trade thay vì cho chữ BOS quyết định mọi phần của vị thế.

Trước entry, expiry hoặc close trở lại vùng quá sâu có thể hủy candidate theo luật đã chọn. Sau entry, lệnh bảo vệ thực thi theo giá thị trường và order type [3]. Không sửa lịch sử trade khi giá hồi sau stop.

BOS có thêm thông tin ngoài trend không

So những thời điểm uptrend có BOS với những thời điểm cùng uptrend, volatility và khoảng cách tới đỉnh nhưng chưa phá. Nếu chỉ so BOS tăng với toàn bộ thị trường, hiệu quả có thể đơn giản do đã chọn một uptrend.

Đo return sau signal, rồi hiệu quả có execution; hai bài toán khác nhau. Báo tỷ lệ retest, tỷ lệ giữ retest, thời gian entry, MAE/MFE, expectancy và mất mát do latency. Chặn bias pivot bằng replay prefix theo hướng dẫn thời gian dữ liệu [2].

Thử lân cận pivot length và b để tìm vùng kết quả ổn định; đừng tìm chính xác một buffer thắng. Event ở nhiều scale cùng lúc cần gom cụm khi tính độ độc lập và tổng rủi ro.

Sai lầm thường gặp

Mọi phá swing đều là BOS

Cần prior trend; range breakout không cùng bối cảnh.

Pivot tương lai xác nhận quá khứ

Cập nhật pivots chỉ cho quyết định về sau.

BOS là lệnh mua

Detector chỉ ghi sự kiện; vị trí entry và chi phí có thể khiến trade không phù hợp.

Checklist trước khi dùng phương pháp

Tự đánh dấu khi đã kiểm tra trên dữ liệu của bạn. Trạng thái lưu trong trình duyệt này; đây không phải chứng nhận chiến lược có lãi.

0/7 mục

Câu hỏi thường gặp

Dùng wick thay close được không?

Được như version riêng với execution intrabar phù hợp; không đổi tiêu chuẩn tùy nến.

BOS khung nhỏ trái khung lớn nghĩa gì?

Đó có thể là hồi hoặc đảo nhỏ. Hãy giữ cả hai trạng thái, không ghi đè trend lớn bằng một event nhỏ.

Nguồn nghiên cứu

Các nguồn dưới đây hỗ trợ phần định nghĩa hoặc bằng chứng được ghi bên cạnh. Mã giả, ví dụ minh họa và tham số đề xuất trong bài cần được kiểm định riêng.

  1. Smart Money ConceptsLuxAlgo trên TradingView. Mô tả chính chủ của một implementation. Đối chiếu: .
  2. RepaintingTradingView. Nguồn kỹ thuật về thời điểm dữ liệu. Đối chiếu: .
  3. Futures Order TypesCME Group. Cơ chế lệnh, không xác nhận chiến lược. Đối chiếu: .

Đọc tiếp theo phương pháp

Lưu ý rủi ro

Nội dung phục vụ giáo dục và thiết kế nghiên cứu, không phải lời khuyên tài chính. Backtest là mô phỏng lịch sử, không bảo đảm hiệu quả tương lai và không đặt lệnh giao dịch thật. Các phương pháp trong thư viện không mặc nhiên là tính năng đã có trong ứng dụng. Xem phương pháp tính và trung tâm học.

Kiểm tra quy tắc trước khi dùng vốn thật

Đối chiếu khả năng hỗ trợ của ứng dụng, dữ liệu và từng giao dịch mô phỏng; các detector nâng cao có thể cần triển khai riêng.

Tải Backtest trên App Store