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

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

Tài liệu TradingView và Sierra Chart xác nhận cách biểu diễn volume theo giá và các cấu hình profile; TPO dùng thời gian thăm mức giá là công cụ khác. Quy tắc acceptance/rejection dưới đây là giả thuyết nghiên cứu, chưa có backtest mới. [1] [2] [3]

Dữ liệu và thị trườngTrades tại giá là đầu vào trực tiếp. Nếu chỉ có lower-timeframe OHLCV phải công bố phép phân bổ xấp xỉ; nến tổng không cho biết chính xác volume ở từng mức giá.
Khung thời gian nghiên cứuKhung ngày hoặc intraday phải được thử riêng; các cửa sổ trong bài là cấu hình nghiên cứu, không phải tham số tối ưu.
Histogram tổng hợp theo sáu bin giá từ 99 đến 105. POC là bin [101,102), vùng theo convention bài là [100,103) chứa 105/135 volume.Mở hình kích thước đầy đủ
Dữ liệu minh họa tự tạo. Histogram tổng hợp theo sáu bin giá từ 99 đến 105. POC là bin [101,102), vùng theo convention bài là [100,103) chứa 105/135 volume.

Quy trình thực hành

Sơ đồ quy trình Volume Profile: POC, value area và vùng giá có thể kiểm thử
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. Khóa cửa sổChọn cutoff đã biết và phiên giao dịch.
  2. Gom theo giáGiữ bin width, origin và đơn vị volume.
  3. Tính vùngPOC và VA theo tie-break/coverage convention cố định.
  4. Quan sát phản ứngAcceptance hoặc rejection theo hai rule riêng.
  5. Kiểm tra fillLệnh chỉ sau xác nhận; báo spread và no-fill.

Profile trả lời câu hỏi về giá, TPO về thời gian

POC là hàng có volume lớn nhất. Value area là vùng quanh POC theo tỷ lệ mục tiêu và thuật toán mở rộng; VAH/VAL là biên trên/dưới. HVN và LVN là vùng có volume tương đối cao/thấp; chúng không nhất thiết trùng POC và VA. TradingView mô tả cách dùng dữ liệu lower timeframe và up/down volume. [1]

TPO đánh dấu mức giá được thăm trong từng ô thời gian, không đếm volume giao dịch. [3] Một mức giá được thăm lâu với volume nhỏ có TPO cao nhưng volume thấp. Vì vậy không dùng TPO POC thay volume POC rồi giữ nguyên nhãn chiến lược.

Cố định cửa sổ và kích thước hàng

Chọn phiên trước đã đóng, một range có hai mốc đã biết hoặc một cửa sổ rolling cố định. Visible-range profile thay đổi khi zoom chart nên chỉ phù hợp khám phá nếu chưa có quy tắc cho cửa sổ. Developing profile được cập nhật từng thời điểm; profile hoàn tất cuối phiên không được dùng để ra quyết định đầu phiên. [2]

Bin width phải là bội của tick size và được khóa trước thử nghiệm. Giá trade p được đưa vào floor((p−origin)/bin_width). Origin cố định tránh việc một high mới làm đổi toàn bộ biên bin quá khứ. Dùng trade size cùng đơn vị; không cộng lượng coin với dollar volume giữa các sàn.

Thuật toán value area phải có quy ước rõ

Bài này chọn thuật toán: bắt đầu từ POC, so hai hàng kế cận, thêm hàng có volume lớn hơn, tie chọn phía trên; tiếp tục tới khi volume tích lũy đạt hoặc vượt 70%. Đây là quy ước nghiên cứu riêng. Tài liệu TradingView hiện mô tả dừng trước hàng làm vượt mục tiêu; hai kết quả có thể khác. [1] Khi tái lập nền tảng phải dùng đúng convention của nền tảng đó.

histogram = aggregate_trade_size_by_fixed_price_bin(trades_before_cutoff)
if len(histogram) == 0: return INSUFFICIENT_DATA
if any(not finite(v) or v < 0 for v in histogram): return INVALID_DATA
if sum(histogram) <= 0: return INSUFFICIENT_DATA
poc = first_lowest_price_argmax(histogram)
lo = hi = poc
covered = histogram[poc]
target = 0.70 * sum(histogram)
while covered < target:
    left = histogram[lo-1] if lo > 0 else -1
    right = histogram[hi+1] if hi+1 < len(histogram) else -1
    if right >= left:
        hi += 1; covered += histogram[hi]
    else:
        lo -= 1; covered += histogram[lo]
VAL, VAH = lower_edge(lo), upper_edge(hi)
freeze_profile(cutoff, bin_width, poc, VAL, VAH)

Ví dụ sáu hàng giá

Các bin [99,100), [100,101), [101,102), [102,103), [103,104), [104,105) có volume lần lượt 10,30,50,25,15,5; tổng 135. POC là bin [101,102), tâm 101,5. Mục tiêu 70% là 94,5. Theo quy ước bài: lấy 50, thêm 30 thành 80, rồi thêm 25 thành 105. VAL=100 và VAH=103; độ phủ thực tế 77,78%.

Với convention dừng trước khi vượt, bước cộng 25 bị từ chối, vùng chỉ phủ 80/135=59,26%. Hai label cùng ghi 70% nhưng thuật toán làm vùng khác nhau. Trường hợp thất bại: giá phá VAH=103 rồi quay xuống 102,5; dùng developing VAH đã hạ về 102 sau đó để tuyên bố breakout vẫn giữ là sửa mốc theo tương lai.

Acceptance và rejection là hai setup tách biệt

Acceptance-long đề xuất: profile phiên trước đã khóa; hai nến đóng liên tiếp trên VAH cộng 0,1 ATR, sau đó retest đầu tiên trong năm nến giữ trên VAH−0,15 ATR và close phục hồi qua high nến test. Đợi nến sau để vào; stop dưới đáy retest. Nếu không có retest thì bỏ theo phiên bản này.

Rejection-short đề xuất: high vượt VAH nhưng close trở lại dưới; sau đó phá đáy nến rejection. Stop trên high sự kiện, target có thể là POC đã khóa nếu còn đủ khoảng thưởng/rủi ro sau fill. Không coi vùng 70% là xác suất giá quay về 70%. Hai setup có logic đối nghịch; regime filter phải được xác định trước sự kiện, không nhìn kết quả rồi chọn tên.

Độ nhạy với cách tạo profile

So profile theo trades với xấp xỉ bar trên đoạn có cả hai dữ liệu. Đo tỷ lệ POC/VA đổi bin và số tín hiệu đổi trạng thái; không chỉ nhìn hai hình gần giống. Thử vài bin width được đăng ký trước, cùng nguồn/session/cutoff. Chọn width dựa giá trị tick thực tế thay vì điều chỉnh cho khớp mức hỗ trợ đã thấy.

Giữ cùng price-only baseline và thêm khoảng cách tới VA/POC như feature. Báo no-fill, spread và trượt giá khi xuyên vùng LVN; giao dịch thưa trong quá khứ không đảm bảo thanh khoản tương lai thấp hoặc cao. Với profile thiếu dữ liệu, hủy tín hiệu theo quy tắc chất lượng thay vì tự dựng volume còn thiếu.

Sai lầm thường gặp

Nhìn POC như nam châm chắc chắn

Mức giao dịch nhiều quá khứ không bảo đảm quay lại; cần đo xác suất có điều kiện.

Zoom chart đổi tín hiệu

Visible range không ổn định nếu không có quy tắc cửa sổ.

Delta profile giả lập thành aggressor

Phân loại up/down bar không tương đương mua/bán chủ động.

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/8 mục

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

70% value area có nghĩa gì?

Đó là tỷ lệ volume mục tiêu của một thuật toán gom vùng, không phải xác suất giá nằm trong vùng hay đảo chiều.

Có cần tick data không?

Để biết chính xác volume tại giá cần trades đủ chi tiết. Dữ liệu nến có thể xấp xỉ nhưng phải ghi rõ phương pháp và sai số.

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. Volume profile indicators: basic conceptsTradingView. POC, VA, lower-timeframe volume và convention mở rộng vùng. Đối chiếu: .
  2. Volume By PriceSierra Chart. Cấu hình profile, volume-at-price và developing levels. Đối chiếu: .
  3. Time price opportunity charts explainedTradingView. TPO đánh dấu ô thời gian tại mức giá, khác histogram volume. Đố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