
Chiến lược này chủ yếu sử dụng giá trị trung bình cân bằng giao dịch cân bằng giao dịch được tính lại trong ngày (VWAP) và giá giao dịch cao nhất trong phân phối khối lượng giao dịch (POC) làm điểm tham chiếu quan trọng, kết hợp với chỉ số tương đối mạnh (RSI) và phát hiện bất thường giao dịch, để nắm bắt cơ hội giao dịch khi giá trị ở vùng xa giá và có đủ hỗ trợ lưu động. Chiến lược này thiết kế một cơ chế dừng lỗ hoàn chỉnh, điều chỉnh các tham số quản lý rủi ro động lực thông qua phạm vi trung bình thực tế (ATR), nhằm nắm bắt và kiểm soát rủi ro các sự kiện lưu động trong thị trường hiệu quả cao.
Nguyên tắc cốt lõi của chiến lược này là nắm bắt cơ hội thanh khoản trong thị trường bằng cách xác định sự lệch của giá với các điểm giá trị (VWAP và POC) và kết hợp xác nhận khối lượng giao dịch và động lực. Các nguyên tắc thực hiện cụ thể như sau:
Tính năng định vị VWAPChiến lược: Đặt lại tính toán VWAP vào đầu mỗi ngày giao dịch để đảm bảo rằng VWAP có thể phản ánh tình trạng trọng lượng giá trong ngày. Đổi mới động giá trị VWAP bằng cách tính khối lượng giao dịch tích lũy (cumVol) và giá trị tích lũy nhân khối lượng giao dịch (cumPV).
Phân tích phân phối thành tíchBằng cách phân chia các phạm vi giá thành nhiều cấp độ (mức 24 mặc định), tính toán khối lượng giao dịch trong mỗi phạm vi giá, tìm ra điểm trung bình của phạm vi giá có khối lượng giao dịch lớn nhất là POC (điểm kiểm soát). Quá trình này được đặt lại mỗi ngày giao dịch, đảm bảo POC phản ánh sự phân bố khối lượng giao dịch trong ngày.
Logic phát tín hiệu:
Quản lý rủi ro: dựa trên ATR ((thực tế phạm vi trung bình) thiết lập động mức dừng lỗ và dừng. Chính sách mặc định sử dụng 1,5 lần ATR như khoảng cách dừng lỗ và 2 lần ATR như khoảng cách dừng, đảm bảo tỷ lệ lợi nhuận rủi ro là 1: 1.33
Cơ chế xác nhận đa dạngChiến lược này có hiệu quả trong việc giảm khả năng của tín hiệu giả bằng cách lọc tín hiệu ba điều kiện bằng cách giá lệch khỏi hai điểm giá trị quan trọng (VWAP và POC), xác nhận khối lượng giao dịch bất thường và RSI.
Động lực thích ứng với thị trường: VWAP và phân phối khối lượng giao dịch được tính lại hàng ngày để đảm bảo chiến lược có thể thích ứng với các môi trường thị trường khác nhau, phản ánh giá và khối lượng giao dịch mới nhất.
Khung phân tích dựa trên quan hệ giá trịChiến lược tích hợp phân tích giá (VWAP), khối lượng giao dịch (Volume Profile) và động lực (RSI) để xây dựng một khuôn khổ phân tích quan hệ giá trị.
Quản lý rủi ro thích nghiCài đặt dừng lỗ dựa trên ATR cho phép quản lý rủi ro tự động điều chỉnh theo biến động của thị trường, kiểm soát rủi ro nhất quán trong các môi trường biến động khác nhau.
Hỗ trợ xác nhận hình ảnhChiến lược cung cấp hình ảnh về VWAP, POC và dấu hiệu tín hiệu, giúp các nhà giao dịch hiểu trực quan về logic chiến lược và quá trình tạo tín hiệu.
Lợi thế thu hút tính thanh khoảnChiến lược này tập trung vào việc nắm bắt các sự kiện lưu động trong thị trường, tăng hiệu quả thực hiện giao dịch và kiểm soát điểm trượt bằng cách yêu cầu khối lượng giao dịch cao hơn trung bình như là điều kiện giao dịch.
Dựa quá nhiều vào dữ liệu trong một ngàyChiến lược: Đặt lại VWAP và phân phối khối lượng giao dịch tính toán hàng ngày, có thể dẫn đến thiếu liên tục giữa ngày và ngày, bỏ qua cấu trúc thị trường dài hơn. Cần xem xét thêm VWAP đa chu kỳ hoặc phân phối khối lượng giao dịch dài hơn để tham khảo bổ sung.
Thử nghiệm nhạy cảm với sự bất thường về số lượngChiến lược sử dụng số lượng giao dịch cố định (bằng mặc định là 3 lần) để phát hiện bất thường, các thiết lập tham số khác nhau có thể được yêu cầu cho các thị trường khác nhau hoặc các giai đoạn khác nhau. Đề xuất thực hiện cơ chế phát hiện bất thường giao dịch thích ứng.
RSI giảm giá rủi ro cố định: RSI sử dụng ngưỡng 40⁄60 cố định có thể không phù hợp với tất cả các môi trường thị trường, đặc biệt là trong thị trường xu hướng có thể bỏ lỡ cơ hội hoặc tạo ra quá nhiều tín hiệu. Bạn có thể cân nhắc động điều chỉnh ngưỡng RSI hoặc kết hợp với cơ chế nhận dạng xu hướng.
Rủi ro giảm thiểuTrong thị trường có biến động cao, mức dừng 1.5 lần ATR có thể quá nhỏ, dẫn đến việc dừng lại thường xuyên. Cần xem xét điều chỉnh số lần dừng lại theo môi trường thị trường hoặc động thái của tính năng biến động.
Thiếu bộ lọc xu hướngChiến lược không có cơ chế lọc xu hướng rõ ràng, có thể tạo ra tín hiệu ngược trong xu hướng mạnh.
Tích hợp VWAP đa chu kỳNhập VWAP với nhiều chu kỳ thời gian (ví dụ như VWAP trên một giờ, 4 giờ và một ngày), tạo thành dải VWAP, nâng cao khả năng phân tích đa chiều của chiến lược. Như vậy, có thể xác định sai lệch giá trong các khung thời gian khác nhau, tăng cường độ tin cậy của tín hiệu.
Tự thích nghi với mức giảm giao dịch: Thay thế số nhân giao dịch cố định bằng một ngưỡng thích ứng dựa trên biến động của giao dịch, chẳng hạn như sử dụng số Z của giao dịch hoặc số nhân chênh lệch tiêu chuẩn của giao dịch, để xác định chính xác hơn sự bất thường của giao dịch thực sự.
Phân loại tình trạng thị trườngThêm mô-đun nhận dạng trạng thái thị trường, phân biệt thị trường xu hướng, thị trường phân đoạn và thị trường biến động cao, điều chỉnh tham số chiến lược và logic tạo tín hiệu cho các trạng thái thị trường khác nhau.
Bộ lọc thời gianThêm chức năng lọc thời gian, tránh giao dịch trong thời gian có biến động cao trước khi thị trường mở và đóng cửa, hoặc tập trung vào các thời gian giao dịch hiệu quả nhất định.
Tăng phân phối điểm số: Tối ưu hóa phân tích phân phối khối lượng giao dịch, giới thiệu cơ hội giá theo thời gian (TPO) phân tích hoặc xem xét phân phối khối lượng giao dịch tích lũy nhiều ngày để có được thông tin cấu trúc thị trường ổn định hơn.
Cơ chế dừng độngTiến hành các chiến lược dừng động dựa trên biến động của thị trường hoặc cấu trúc giá, chẳng hạn như sử dụng lệnh dừng theo dõi khi có đột phá mạnh, để tối đa hóa tiềm năng lợi nhuận.
Tăng cường học máy: Tiếp tục đưa ra các thuật toán học máy để tối ưu hóa lựa chọn tham số và tạo tín hiệu, chẳng hạn như sử dụng cây quyết định hoặc các thuật toán rừng ngẫu nhiên để tối ưu hóa các kết hợp đa tham số, nâng cao khả năng thích ứng của chiến lược.
Chiến lược nắm bắt thanh khoản kết hợp với phân phối khối lượng giao dịch định vị động VWAP là một hệ thống giao dịch định lượng dựa trên vùng giá lệch giá trị và kết hợp xác nhận khối lượng giao dịch. Bằng cách tích hợp VWAP, phân phối khối lượng giao dịch POC, RSI và phát hiện bất thường giao dịch, chiến lược này có thể xác định hiệu quả vùng giá lệch giá trị và có nhiều cơ hội giao dịch được hỗ trợ bởi khối lượng giao dịch.
/*backtest
start: 2025-04-14 00:00:00
end: 2025-05-14 00:00:00
period: 3h
basePeriod: 3h
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("Liquidity Sniper + VWAP Profile", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=1, max_bars_back=500)
// === Inputs ===
volumeMultiplier = input.float(3.0, title="Volume Multiplier")
atrLength = input.int(14, title="ATR Length")
slMultiplier = input.float(1.5, title="Stop Loss ATR Multiplier")
tpMultiplier = input.float(2.0, title="Take Profit ATR Multiplier")
levels = input.int(24, title="Volume Profile Levels", minval=10, maxval=100)
// === VWAP Calculation ===
var float cumVol = na
var float cumPV = na
isNewDay = ta.change(time("D"))
if isNewDay
cumVol := volume
cumPV := hl2 * volume
else
cumVol += volume
cumPV += hl2 * volume
vwap = cumPV / cumVol
plot(vwap, color=color.orange, title="Daily VWAP")
// === Volume Profile (Lite) ===
profileHeight = high - low
step = profileHeight / levels
var float[] volumeProfile = array.new_float(levels, 0.0)
if isNewDay
for i = 0 to levels - 1
array.set(volumeProfile, i, 0.0)
for i = 0 to levels - 1
levelLow = low + step * i
levelHigh = levelLow + step
if close >= levelLow and close < levelHigh
vol = array.get(volumeProfile, i)
array.set(volumeProfile, i, vol + volume)
maxVol = array.max(volumeProfile)
var float POC = na
for i = 0 to levels - 1
if array.get(volumeProfile, i) == maxVol
POC := low + step * i + step / 2
plot(POC, title="Volume Profile POC", color=color.blue)
// === Indicators ===
atr = ta.atr(atrLength)
vol = volume
volMA = ta.sma(volume, 20)
rsi = ta.rsi(close, 14)
// === Signal Logic ===
buySignal = close < vwap and close < POC and vol > volMA * volumeMultiplier and rsi < 40
sellSignal = close > vwap and close > POC and vol > volMA * volumeMultiplier and rsi > 60
// === Debug Plots ===
plotshape(buySignal, title="BUY Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(sellSignal, title="SELL Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)
// === Entry + Exit ===
if buySignal
strategy.entry("BUY", strategy.long)
strategy.exit("TP/SL BUY", from_entry="BUY", stop=close - atr * slMultiplier, limit=close + atr * tpMultiplier)
if sellSignal
strategy.entry("SELL", strategy.short)
strategy.exit("TP/SL SELL", from_entry="SELL", stop=close + atr * slMultiplier, limit=close - atr * tpMultiplier)