Mục lục bài viết
- Bằng chứng và phạm vi
- Hình minh họa
- Quy trình
- Ba loại mức và ý nghĩa khác nhau
- Định nghĩa session_id và thời điểm hiệu lực
- So cùng giờ và tách opening auction
- Ví dụ OR hoàn tất rồi mới có sweep
- Giữ tuổi mức và tuổi setup riêng
- Tách hiệu ứng mức khỏi hiệu ứng giờ
- 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
Có implementation Session Sweeps và tài liệu lịch/phiên chính thức. Bài đề xuất phép thử, không khẳng định giờ nào luôn có lãi.
Quy trình thực hành
- Chọn lịchVenue, timezone và trading date cụ thể.
- Hoàn tất cửa sổĐợi phiên cũ hoặc OR đóng.
- Công bố mứcLưu level_id và eligible time.
- Quan sát sweepKiểm xuyên/reclaim chỉ về sau.
- Thực thi và hết hạnGiữ TTL setup khác TTL mức.
Ba loại mức và ý nghĩa khác nhau
PDH/PDL là high/low của ngày giao dịch đã kết thúc; PSH/PSL là high/low của phiên được chọn; ORH/ORL là high/low của N phút đầu phiên hiện tại. Chúng có thể trùng nhưng không phải ba bằng chứng độc lập. Một detector chỉ cần lưu cùng giá và các nhãn tham chiếu liên quan.
Session Sweeps của LuxAlgo cho phép chọn phiên [1]. Điều quan trọng khi tự triển khai là định nghĩa ranh giới bằng timezone và lịch chính thức [2][3], thay vì cố định một giờ Việt Nam cho cả năm. London, New York và giờ máy không nhất thiết cùng thay đổi vào một ngày.
Mức ngày trước mô tả phạm vi cũ; OR mô tả phần đầu ngày mới. Một gap lớn có thể khiến giá ở xa toàn bộ phạm vi cũ ngay từ mở cửa. Khi đó không gọi mọi lần quay về PDH là sweep: cần kiểm tra giá xuất phát ở phía nào và loại trigger đang dùng.
Định nghĩa session_id và thời điểm hiệu lực
Đề xuất session_id gồm venue, symbol, calendar_date và session_template_version. Bản cổ phiếu Mỹ nghiên cứu có thể chọn core session; premarket phải lưu riêng. Ngày rút ngắn theo lịch cần đánh dấu, không tự tạo nến thiếu để đủ 24 giờ. Với futures qua nửa đêm, trading date khác ngày lịch tại địa phương.
Trong OR 09:30–09:45, các nến M5 bắt đầu 09:30, 09:35, 09:40 đều thuộc OR. Mức chỉ được công bố khi đoạn cuối kết thúc 09:45; nến 09:40 đang chạy chưa cho phép biết OR low cuối cùng. Dùng khoảng thời gian nửa mở [start,end) để sự kiện tại end không bị tính hai lần.
Đề xuất sau khi mức S được công bố: close trước ở trên S, low<S−b và close>S+e tạo downside sweep. b=0,10ATR, e=0,15ATR, tối thiểu hai tick; ATR từ nến trước trigger. Phiên bản nhiều nến cho K=3 là phép thử riêng. Giá trị N, K và buffer đều là tham số nghiên cứu.
on_trade_received(trade):
window = configured_half_open_window(trade.event_time)
if window.start <= trade.event_time < window.end:
update_extrema_for_that_window_only(window,trade)
on_window_data_ready(window,received_at):
if not window_complete_under_declared_watermark_policy: return
if window.current_fingerprint == window.last_published_fingerprint: return
available_at = max(window.end,received_at) + processing_delay
publish_frozen_version(window.extrema,available_at=available_at)
window.last_published_fingerprint = window.current_fingerprint
for closed_bar in later_bars:
levels = versions_available_before(closed_bar.start)
detect_sweep(levels,closed_bar)
# Publish once per data version; boundary trades belong to the following window.
# Late corrections publish a future version and never backdate an order.
So cùng giờ và tách opening auction
Volume lúc mở cửa thường có cấu trúc riêng của phiên. Để kiểm tra hoạt động bất thường, so volume nến trigger với đúng ô thời gian ở các phiên trước; ngày thiếu ô hoặc phiên rút ngắn cần quy tắc loại rõ. Nếu feed gom auction vào nến đầu, không so trực tiếp với feed loại auction.
Thử hai feature: RVOL ở sweep và vị trí giá so với VWAP tính tới thời điểm trigger. Không lấy VWAP cuối ngày để chấm giao dịch buổi sáng. Việc vừa sweep PDL vừa ở dưới VWAP có thể là cùng một chuyển động giảm; đo giá trị tăng thêm của từng filter.
Một tín hiệu trước tin kinh tế và một tín hiệu sau tin có execution khác nhau. Có thể đánh dấu cửa sổ tin theo lịch biết trước, nhưng không gắn nhãn “ngày tin xấu” bằng phản ứng thị trường nhìn lại.
Ví dụ OR hoàn tất rồi mới có sweep
Giả lập OR15 có high=205, low=200. Lúc 09:43 giá xuống 199,8 rồi hồi; không được lấy OR low=200 ở một chart khác để giao dịch vì OR của chính phiên còn đang hình thành. Nếu 199,8 thuộc dữ liệu hợp lệ, OR low cuối cùng phải phản ánh nó.
Ví dụ tách biệt: OR đã kết thúc với low=200. Nến 09:50 có low=199,6 và close=200,4; Giả sử mức sàn theo bước giá không chi phối, ATR trước đó=1 cho b=0,1, e=0,15 nên đạt reclaim. Sau close khớp mua 200,45, stop 199,5, target 202,35 thì risk=0,95 và reward=1,90. Target này được chốt trước, không dùng high cuối ngày.
Trường hợp thua: nến kế xuống 199,45, stop khớp 199,48, lỗ 0,97. Trường hợp không trade: giá đóng 199,7 và giữ dưới ORL; đó là break/acceptance đối chứng. Lúc chuyển ngày, không thay stop của lệnh đang mở bằng PDL mới.
Giữ tuổi mức và tuổi setup riêng
Một mức có thể hết hạn cuối phiên nhưng setup đã vào lệnh cần exit policy riêng. Với candidate chưa vào, đề xuất chỉ nhận sweep đầu tiên mỗi level_id trong phiên; thử multiple touches sau như biến thể để biết kết quả có tập trung vào lần đầu không.
Nếu chờ phá đỉnh nến reclaim, chỉ đặt stop-entry sau khi nến đó hoàn tất. Nếu lệnh bị kích hoạt ở nến sau rồi stop, không được hủy trade vì close cuối nến xấu. Bar có hai biên bị quét cần intrabar hoặc đánh dấu không đủ dữ liệu.
Lưu cả UTC và timezone sàn, original event timestamp và lúc feed đến. Khi đổi hợp đồng futures, tránh mức ngày trước ở hợp đồng cũ so với giá chưa điều chỉnh của hợp đồng mới. Chart continuous và nơi thực thi cần quy tắc chuyển đổi.
Tách hiệu ứng mức khỏi hiệu ứng giờ
So sweep PDH/PDL với mức rolling có cùng khoảng cách tới giá, hoặc các mức giả lập có cùng mật độ. Ghép theo phút trong phiên, độ gap và volatility. Nếu chỉ so tất cả sweep mở cửa với tất cả phút trong ngày, kết quả có thể phản ánh giờ giao dịch.
Báo theo loại mức, phiên, daylight-saving regime và gap size. Kiểm tra một bộ ngày nghỉ/phiên rút ngắn cụ thể để xác nhận calendar engine. Tổng hợp expectancy sau phí và no-fill, đồng thời giữ các ngày không có tín hiệu trong hiệu quả trên vốn. Một chiến lược chọn được ít trade đẹp nhưng bỏ hầu hết ngày cần được đánh giá đúng tần suất.
Sai lầm thường gặp
Giờ cố định cả năm
Dùng timezone có lịch DST thay vì cộng trừ giờ thủ công.
Mức cuối ngày cho buổi sáng
Đó là dữ liệu tương lai, không phải tham chiếu hợp lệ.
Gộp mọi session sweep
OR, ngày trước và phiên châu Á có tập dữ liệu khác; báo riê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.
Câu hỏi thường gặp
Crypto có ngày trước không?
Có thể quy ước UTC hoặc timezone khác; cần ghi rõ và kiểm định, vì ranh giới đó không tự tạo lợi thế.
OR 15 phút có tốt hơn 5 phút?
Chưa có kết luận chung. Cửa sổ dài hơn làm mức chậm, range thường rộng và thay đổi rủi ro; so ngoài mẫu sau phí.
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.
- Session SweepsLuxAlgo trên TradingView. Đọc mô tả chính chủ, không kiểm chứng lợi nhuận. Đối chiếu: .
- SessionsTradingView. Đọc mô tả phiên và timezone, không phải nghiên cứu alpha. Đối chiếu: .
- Holidays and Trading HoursNYSE. Lịch và giờ giao dịch chính thức được mở đối chiếu. Đố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