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

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

Nguồn chính chủ cho thấy nhiều cách dựng block và chọn body/full range. Đây là một định nghĩa nghiên cứu có version, chưa kiểm định lợi nhuận.

Dữ liệu và thị trườngOHLCV theo cùng feed; order block từ chart không thay thế dữ liệu resting orders của sàn.
Khung thời gian nghiên cứuVí dụ H1 chọn vùng và M5 entry chỉ hợp lệ sau khi tín hiệu H1 đã xác nhận.
Vùng 100–101 trước impulse được công bố khi giá vượt 103; retest xuất hiện sau thời điểm công bố.Mở hình kích thước đầy đủ
Đường sự kiện giả lập; zone nến gốc được biết là OB chỉ sau BOS. Không phải lệnh tổ chức hoặc backtest thật.

Quy trình thực hành

Sơ đồ quy trình Order block: đặc tả vùng nến trước impulse phá cấu trúc
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. Có BOS/MSSSự kiện cấu trúc phải xác nhận.
  2. Chọn impulseRun và ngưỡng displacement cố định.
  3. Tìm nến gốcCửa sổ W, body/wick đã chọn.
  4. Công bố và auditLưu freshness cùng timestamp.
  5. Retest hoặc hỏngEntry riêng, không đổi nến gốc.

Cần định nghĩa impulse trước khi tìm nến gốc

Cách nói “nến giảm cuối trước một đợt tăng mạnh” còn thiếu hai thứ: mạnh bao nhiêu và đợt tăng kết thúc khi nào. Nếu xem toàn bộ nhịp tăng rồi chọn nến đẹp nhất phía trái, vùng có thể trông chính xác nhưng không có thời điểm công bố khả thi.

Công cụ Order Blocks & Breaker Blocks có lựa chọn thân nến hoặc toàn range [1]. SMC cũng có nhiều loại cấu trúc và block [2]. Bài này dùng full wick của một nến gốc và chỉ tạo vùng khi BOS/MSS đã biết; không nhận các khẳng định về danh tính tổ chức từ vị trí nến.

Một zone rộng giúp nhiều retest “đúng vùng” nhưng stop cũng xa; zone hẹp dễ đẹp về RR nhưng nhạy spread. Vì vậy tỷ lệ chạm hay tỷ lệ bật không đủ để chọn body hay wick.

Thuật toán chọn anchor có thể tái lập

Đề xuất tại close t có bullish BOS/MSS, tìm run nến tăng liên tiếp kết thúc ở t, tối đa M=3. Doji chấm dứt run. Gọi s là đầu run; yêu cầu (C[t]−O[s])/A_ref≥1, với A_ref=ATR14[s−1]. Sau đó tìm nến giảm cuối trong W=4 nến ngay trước s. Không tìm thấy thì không có block.

Nến gốc j cho zone=[L[j],H[j]]. published_at=t, eligible_from=t+1; occurred_at=j chỉ ghi lịch sử. Giữ nguyên zone và A_ref cho candidate. Bearish block đảo dấu, tìm nến tăng trước run giảm. Các lựa chọn M, W và 1ATR là tham số nghiên cứu, không được gán cho tác giả nguồn.

Freshness cần tính từ khi giá rời vùng, kể cả khoảng trước BOS. Nếu đã có retest giữa departure và publication, gắn prepublication_retest=true; bản first-touch có thể loại. Không gọi zone untouched chỉ vì indicator mới vẽ nó.

on_confirmed_bullish_structure_break(t):
  s = start_of_final_bullish_run(t,max_bars=3)
  if s is None or not valid_history_before(s,lookback=4): return
  A = ATR14[s-1]
  if not finite_positive(A): return
  if (C[t]-O[s])/A < 1: return
  j = last_bearish_bar(s-4,s-1)
  if j is None: return
  zone = [L[j],H[j]]
  publish(zone,original_bar=j,known_at=received_close_time(t),
          eligible=t+1,A_ref=A,
          prior_retests=count_since_departure(zone,j,t))

Volume bổ sung ở đâu mới có ý nghĩa

Có thể đo volume nến gốc, tổng impulse và retest bằng những feature tách biệt. Volume lớn ở nến gốc không tự là block tốt: đó có thể là nến phân phối hoặc hoạt động hai chiều. So block có BOS nhưng không volume filter với block thêm RVOL để biết phần giá trị tăng thêm.

Nếu volume retest thấp hơn impulse, chuẩn hóa số nến và giờ giao dịch. Một impulse ba nến so với một retest một nến không nên so tổng thô. Cũng nên kiểm spread tại retest vì vùng hẹp có thể không đủ trả chi phí.

FVG trong impulse là một biến thể khác. FVG, displacement và BOS có thể cùng xuất phát từ một nến mạnh; không nhân ba độ tin cậy bằng hệ thống chấm điểm tùy ý.

Ví dụ tạo block sau BOS và lần retest thua

Dữ liệu giả lập: nến giảm j có O=100,8, H=101, L=100, C=100,2. Run tăng sau đó đi tới close 103,5 và phá swing đã biết 103; ATR trước run=1. Vùng bullish OB là [100,101], chỉ công bố tại close BOS. Midpoint=100,5.

Retest về sau low=100,4, close=101,2 đạt phiên bản từ chối trên biên cao+b với b=0,1. Khớp mua 101,25, stop 99,9, target 103,95 cho risk 1,35 và reward 2,70. Nếu chọn limit midpoint, entry 100,5 chỉ hợp lệ khi lệnh đã tồn tại trước retest và mô hình fill cho phép.

Thất bại: retest đi tới 99,7, close 99,8. Bản confirmation không vào; bản limit đã khớp có thể stop ở 99,88, lỗ 0,62 từ 100,5. Không thay nến OB sang một nến trước có low 99,5 để biến trade thua thành vẫn giữ vùng. Nếu nến giảm j nằm ngoài W=4 thì detector không tạo block, dù chart nhìn hợp lý.

First retest, vô hiệu và vòng đời vùng

Đề xuất TTL 30 nến sau publication, first eligible retest, close xác nhận trên zone_high+b. Hủy trước entry nếu close dưới zone_low−b, cấu trúc lớn bị phá ngược theo luật riêng hoặc hết hạn. Nếu đã có limit mở, mọi fill trong thời gian lệnh tồn tại phải được ghi trước khi xử lý hủy cuối nến.

Stop ngoài zone và stop ngoài swing lớn không cùng rủi ro. Tính sizing theo actual entry, tick value và khoảng stop; nếu spread chiếm phần lớn stop dự kiến, bỏ trade theo ngưỡng đã đăng ký trước, không chọn sau kết quả. Cơ chế lệnh được đối chiếu với tài liệu sàn [3].

Khi vùng hỏng, giữ bản ghi FAILED. Một breaker nếu có là candidate mới với parent_ob_id, không sửa vùng thua thành vùng thắng. Lưu mọi retest để đo first-touch có khác second-touch không.

OB có tốt hơn một vùng pullback đơn giản

Nhóm đối chứng hữu ích là vùng nến bất kỳ trước cùng impulse hoặc vùng retracement theo tỷ lệ cố định. Ghép width, khoảng cách tới giá, tuổi và trend. Nếu OB chỉ tốt vì gần điểm vào hơn, đó là cơ chế khác với câu chuyện tồn kho tổ chức.

Kiểm prefix replay để đảm bảo zone chỉ xuất hiện tại publication. Backtest cần giữ vùng đã thất bại thay vì chỉ đọc chart cuối cùng còn các vùng chưa bị phá. Báo số block, tỷ lệ retest, no-fill, expectancy, drawdown và chi phí theo R.

Sensitivity với M/W, body/wick và TTL phải báo trên dữ liệu mới. Không thử hàng trăm cách chọn nến rồi gọi một hình minh họa là bằng chứng cho cả phương pháp.

Sai lầm thường gặp

Nến nào cũng thành OB

Thiếu impulse và break context thì detector không đủ cụ thể.

Chọn lại sau stop

Đổi anchor làm mất mẫu thua, gây survivorship bias ở vùng.

Untouched do mới được vẽ

Cần kiểm cả các lần chạm trước publication.

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

Order block có phải lệnh limit của ngân hàng?

Không thể xác nhận điều đó từ nến. Trong bài, nó chỉ là vùng giá được nhận diện theo quy tắc.

Dùng thân hay cả râu tốt hơn?

Hai version đổi width, fill và stop. Cần so ngoài mẫu theo cùng cơ hội, không chỉ tỷ lệ bật.

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. Order Blocks and Breaker BlocksLuxAlgo trên TradingView. Đọc mô tả công cụ, lựa chọn body/full range và polarity. Đối chiếu: .
  2. Smart Money ConceptsLuxAlgo trên TradingView. Mô tả một implementation, không phải tiêu chuẩn thị trường. Đối chiếu: .
  3. Futures Order TypesCME Group. Đọc để đối chiếu thực thi lệnh. Đố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