Mục lục bài viết
- Bằng chứng và phạm vi
- Hình minh họa
- Quy trình
- Trước màu ô là ngữ nghĩa dữ liệu
- So cùng hàng hay so chéo phải tách
- Ví dụ so chéo và tín hiệu bị từ chối
- Hai cách dùng cụm phải định trước
- Replay và lịch sử phải đồng nhất
- Đo xem stack thêm gì ngoài volume lớn
- Sai lầm thường gặp
- Checklist thực hành
- Câu hỏi thường gặp
- Nguồn nghiên cứu
Bằng chứng và phạm vi
Sierra Chart giải thích Numbers Bars và so chéo bid/ask. TradingView công bố cách phân loại footprint bằng chuyển động giá intrabar; đây không mặc nhiên là aggressor flag từ sàn. Tài liệu Bybit cho ví dụ feed có taker side. Chưa có lợi nhuận xác minh cho ngưỡng 3× trong bài. [1] [2] [3]
Quy trình thực hành
- Xác minh feedTaker side, quote inference hay intrabar proxy được ghi đúng.
- Gom volumeTheo nến và hàng giá cố định, loại trade trùng.
- So chéoGiữ ratio, min volume và quy tắc denominator 0.
- Xác nhận giáTiếp diễn hoặc thất bại theo state machine riêng.
- Replay executionMô phỏng thời điểm nhận dữ liệu và giá khớp khả thi.
Trước màu ô là ngữ nghĩa dữ liệu
Ask volume thường chỉ các giao dịch do phía mua chủ động khớp tại ask; bid volume tương ứng phía bán chủ động. Nếu feed trực tiếp ghi taker side, dùng đúng schema đó; nếu suy từ quotes hoặc tick rule, ghi thuật toán phân loại và trạng thái unknown. Bybit publicTrade.S là taker side theo tài liệu đang đọc. [3]
Footprint của TradingView phân loại theo hướng giá intrabar và độ chi tiết lịch sử thay đổi theo dữ liệu có sẵn. [2] Vì vậy không thể xem nhãn buy/sell trên mọi nền tảng là cùng đại lượng. Một nến xanh với delta âm không nhất thiết lỗi: giá mở/đóng và tổng giao dịch có dấu là hai phép đo khác.
So cùng hàng hay so chéo phải tách
Trong so chéo kiểu Sierra Chart, ask ở giá p được đối chiếu bid tại mức thấp hơn, còn bid ở p đối chiếu ask tại mức cao hơn. [1] Bài dùng bin một tick và bullish imbalance khi ask[p] ≥3×bid[p−tick], đồng thời ask[p]≥30 và mẫu bid dương. Ba hàng liên tiếp thỏa tạo stacked imbalance. Các ngưỡng này là ví dụ nghiên cứu.
Nếu denominator bằng 0, bài đánh dấu zero-counterpart riêng và không tự coi là ratio vô hạn. Các hệ thống khác có thể cho phép zero; phải thử thành biến thể riêng cùng min-volume floor để tránh một giao dịch nhỏ tạo tín hiệu khổng lồ.
for p in ordered_price_rows(closed_bar):
a = ask_volume.get(p, 0)
b = bid_volume.get(p-tick, 0)
eligible[p] = b > 0 and a >= 30
buy_imbalance[p] = eligible[p] and a >= 3*b
runs = consecutive_true_rows(buy_imbalance)
stack = first((run for run in runs if len(run) >= 3), default=None)
if stack is not None:
zone_low, zone_high = row_bounds(stack)
signal_available_at = closed_bar.received_at
Ví dụ so chéo và tín hiệu bị từ chối
Các hàng có bid/ask: 100,00 là 40/10; 100,25 là 20/120; 100,50 là 10/80; 100,75 là 12/40; 101,00 là 9/15; 101,25 là 8/10. Ask 120 ở 100,25 so bid 40 ở 100,00 cho 3×; 80 so 20 cho 4×; 40 so 10 cho 4×. Có ba hàng liên tiếp đạt điều kiện.
Ask 15 ở 101,00 không đủ floor 30 dù một mẫu số rất nhỏ có thể cho tỷ lệ cao. Trường hợp thất bại: cụm mua chủ động xuất hiện ngay dưới kháng cự nhưng close không vượt; nến sau xuyên đáy cụm. Điều này có thể phù hợp giả thuyết hấp thụ, nhưng footprint đơn lẻ không xác minh danh tính người hấp thụ hoặc bảo đảm đảo chiều.
Hai cách dùng cụm phải định trước
Continuation-long đề xuất: breakout mức giá đã khóa, nến đóng trên vùng và có stacked-buy; đợi retest đầu tiên trong năm nến giữ zone_low, sau đó close vượt high nến retest. Entry nến sau, stop dưới zone_low trừ buffer. Nếu đóng dưới zone_low trước xác nhận thì hủy.
Failure-short là chiến lược khác: stacked-buy tại kháng cự nhưng giá đóng trở lại dưới vùng rồi phá đáy sự kiện; stop trên high sự kiện. Không tự chuyển long thua thành short trong cùng thống kê nếu chưa định quy tắc. Cả hai cần borrow/funding phù hợp và fill có độ trễ; ở thị trường nhanh, chờ close có thể mất phần lớn chuyển động.
Replay và lịch sử phải đồng nhất
Lưu sequence, exchange_time, received_time, trade_id và số trade chưa phân loại. Loại duplicate; xử lý corrections theo chính sách point-in-time. Nếu lịch sử dùng nến một phút còn live dùng trades, hai signal không còn cùng độ chi tiết. Replay từ cùng feed và cùng aggregation trước khi so hiệu quả.
Thay ticks-per-row làm thay ratio và độ dài stack. Cố định tham số tại tạo candidate; không dùng auto row size tính từ toàn bộ dữ liệu tương lai. Footprint chỉ chứa lệnh đã thực hiện, không cho biết đầy đủ queue resting hay iceberg chưa khớp. Market depth snapshot không tái dựng chính xác trades đã xảy ra giữa hai lần chụp.
Đo xem stack thêm gì ngoài volume lớn
Trên cùng breakout giá, so không footprint, chỉ total volume, chỉ delta và thêm stacked imbalance. Dùng cùng vị trí entry/exit hoặc tách nghiên cứu timing khỏi selection. Nếu stack thường xuất hiện ở nến volume lớn, phải hỏi nó có thêm thông tin ngoài total volume không.
Báo expectancy ròng theo R, latency sensitivity, missing-trade rate, no-fill và performance khi spread rộng. Chọn threshold và floor theo tập train, khóa tập test cuối. Ví dụ tô màu đúng chỉ xác minh renderer; không thay thế kiểm định chiến lược trên trades thực.
Sai lầm thường gặp
Nhiều ô xanh nghĩa là chắc tăng
Mua chủ động có thể gặp bán thụ động đủ lớn; cần phản ứng giá.
Tự suy ra resting liquidity
Footprint ghi lệnh đã khớp, không phải sổ lệnh đang chờ.
Backtest proxy, live trades
Độ chi tiết và phân loại khác nhau tạo signal khác; phải đo sai lệch.
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.
Câu hỏi thường gặp
300% imbalance nghĩa là xác suất 75% không?
Không. Nó là tỷ lệ hai lượng volume theo phép so đã chọn, không phải xác suất thắng.
Có footprint chỉ với OHLCV không?
Có thể dựng proxy, nhưng không biết chính xác trade-at-price và aggressor từ nến tổng. Phải ghi rõ giới hạn.
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.
- Numbers BarsSierra Chart. Đọc định nghĩa bid/ask volume và diagonal comparison. Đối chiếu: .
- Volume footprint charts: a complete guideTradingView. Phân loại buy/sell bằng intrabar movement và độ hạt lịch sử. Đối chiếu: .
- Public TradeBybit. Schema trade ID, timestamp và taker side, không phải 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