
Đây là một chiến lược giao dịch định lượng dựa trên khoảng cách giá trị công bằng (Fair Value Gaps, FVG), lấy cảm hứng từ khái niệm tiền thông minh (Smart Money Concepts, SMC) và lý thuyết chênh lệch giá trong giao dịch tổ chức. Chiến lược này kích hoạt giao dịch tín hiệu bằng cách xác định các điểm không cân bằng vi mô trong thị trường khi giá tái nhập vào các khu vực này.
Cốt lõi của chiến lược này là xác định và khai thác các lỗ hổng giá trị công bằng (FVG). FVG là các khu vực mà giá đã nhảy qua trong một thời gian ngắn, các khu vực này đại diện cho mức giá mà thị trường chưa được giao dịch đầy đủ và thường được coi là khu vực mà giá có thể được đo lại trong tương lai.
Chiến lược này dựa trên hai loại FVG:
Các giao dịch được thực hiện theo cách sau:
Chính sách cũng bao gồm một bộ lọc giảm giá để lọc các lỗ hổng đủ lớn để tránh tiếng ồn thị trường nhỏ. Người dùng có thể đặt phần trăm giảm giá bằng tay hoặc chọn chế độ tự động để chính sách điều chỉnh giảm giá theo động thái biến động lịch sử.
Xác định cấu trúc thị trường vi môChiến lược này có thể nắm bắt được các cấu trúc thị trường vi mô và sự mất cân bằng mà các phân tích kỹ thuật thông thường có thể bỏ qua, những cấu trúc này thường đại diện cho dấu vết hoạt động của quỹ tổ chức.
Điểm vào chính xác: Bằng cách xác định rõ ràng các điều kiện FVG, chiến lược cung cấp tín hiệu nhập cảnh khách quan và chính xác, giảm thiểu các lỗi do phán đoán chủ quan gây ra.
Kiểm soát rủi ro nghiêm ngặtCài đặt dừng lỗ cố định 0,10% đảm bảo rủi ro trên mỗi giao dịch được kiểm soát chặt chẽ, phù hợp với các nhà giao dịch quản lý tiền nghiêm ngặt.
Khả năng mở rộng: Khung chiến lược được thiết kế linh hoạt, có thể thích ứng với các điều kiện thị trường khác nhau bằng cách thêm các bộ lọc bổ sung hoặc điều chỉnh các tham số.
Không có vấn đề vẽ lại: Code implementation avoids redrawing issues, ensures historical retesting results are consistent with live performance.
Khả năng thích ứng nhiều khung thời gian: Người dùng có thể tùy chỉnh các tham số khung thời gian, cho phép chiến lược thích ứng với các môi trường giao dịch khác nhau từ 1 phút đến khoảng thời gian cao hơn.
Tỷ lệ giao dịch đường ngắn caoVì chiến lược nhắm vào sự không cân bằng vi mô, có thể tạo ra một lượng lớn tín hiệu giao dịch, làm tăng chi phí giao dịch, đặc biệt là trong môi trường giao dịch tần số cao.
Tiếng ồn nhiễu: Trong thị trường biến động thấp hoặc ngang, tín hiệu FVG có thể chứa nhiều tiếng ồn hơn, dẫn đến nhiều tín hiệu giả.
Rủi ro dừng cố địnhLệnh dừng cố định 0.10% mặc dù cung cấp kiểm soát rủi ro nghiêm ngặt, nhưng có thể quá chặt chẽ trong thị trường biến động cao, dẫn đến việc kích hoạt thường xuyên.
Rủi ro thay đổi xu hướngTrong thị trường có xu hướng mạnh, tín hiệu FVG ngược có thể dẫn đến giao dịch ngược với xu hướng chính, làm tăng khả năng thua lỗ.
Độ nhạy tham sốThiết lập tham số giá trị mốc có ảnh hưởng đáng kể đến hiệu suất của chiến lược, tham số không đúng có thể dẫn đến quá tối ưu hóa hoặc bỏ lỡ tín hiệu hiệu quả.
Các biện pháp giảm nguy cơ bao gồm:
Hệ thống thích ứng với ngưỡngChiến lược hiện tại đã bao gồm các tùy chọn giảm giá tự động, nhưng có thể được tối ưu hóa hơn nữa như là hệ thống thích ứng dựa trên các chỉ số biến động thị trường (như ATR), cho phép FVG xác định chính xác hơn cho tình trạng thị trường hiện tại.
Xác nhận khung thời gian đa dạng: giới thiệu phân tích nhiều khung thời gian, chỉ thực hiện giao dịch khi hướng xu hướng khung thời gian cao hơn phù hợp với tín hiệu FVG, tăng tỷ lệ thắng.
Động lực dừng / dừng: Thay thế 0.10% dừng / dừng cố định bằng thiết lập động dựa trên biến động của thị trường, tự động mở rộng phạm vi dừng khi biến động tăng và thu hẹp phạm vi khi biến động giảm.
Giao dịch xác nhận: Thêm phân tích khối lượng giao dịch vào quá trình hình thành FVG và nhập giá trở lại, chỉ thực hiện giao dịch khi có đủ hỗ trợ khối lượng giao dịch, giảm tín hiệu sai.
Phân loại tình trạng thị trườngHệ thống nhận diện tự động tình trạng thị trường (trend, range, high/low volatility), điều chỉnh các tham số chiến lược hoặc tạm dừng giao dịch theo các tình trạng thị trường khác nhau.
Tăng cường học máy: Phân tích thành công của mô hình FVG lịch sử bằng thuật toán học máy, xây dựng mô hình dự đoán để đánh giá xác suất thành công tiềm năng của tín hiệu FVG hiện tại.
Những hướng tối ưu hóa này không chỉ giúp tăng cường sự ổn định của chiến lược, mà còn tăng cường khả năng thích ứng với các môi trường thị trường khác nhau, có khả năng nâng cao lợi nhuận tổng thể và giảm rút lui.
Chiến lược lỗ hổng giá trị công bằng là một hệ thống giao dịch định lượng kỹ thuật tinh tế, tập trung vào việc nắm bắt sự mất cân bằng giá trong cấu trúc vi mô của thị trường. Bằng cách xác định chính xác và thực hiện chính xác FVG, chiến lược này cung cấp cho các nhà giao dịch ngắn hạn và các nhà giao dịch thuật toán một khung giao dịch với các quy tắc rõ ràng và kiểm soát rủi ro nghiêm ngặt.
Mặc dù trong phiên bản cơ bản, chiến lược đã thể hiện khả năng nắm bắt sự mất cân bằng giá trị vi mô, nhưng hiệu suất của chiến lược có thể được nâng cao hơn nữa bằng cách thực hiện các hướng tối ưu hóa được đề xuất, đặc biệt là hệ thống tham số thích ứng và xác nhận nhiều khung thời gian. Đây là một phương pháp đáng xem xét cho các nhà giao dịch tìm cách thực hiện chiến lược giao dịch định lượng có kỷ luật trong khung thời gian ngắn.
Cuối cùng, sự thành công của chiến lược này phụ thuộc vào sự hiểu biết sâu sắc của nhà giao dịch về khái niệm FVG và khả năng điều chỉnh các tham số cho các điều kiện thị trường khác nhau. Kết hợp với quản lý rủi ro thích hợp và tối ưu hóa liên tục, chiến lược lỗ hổng giá trị công bằng có thể trở thành một công cụ hiệu quả trong danh mục giao dịch định lượng.
/*backtest
start: 2024-07-09 00:00:00
end: 2025-07-04 08:00:00
period: 4d
basePeriod: 4d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("FVG Strategy [algo ] - 0.10% TP/SL", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// === INPUTS ===
thresholdPer = input.float(0, "Threshold %", minval = 0, maxval = 100, step = .1, inline = 'threshold')
auto = input(false, "Auto", inline = 'threshold')
tf = input.timeframe("", "Timeframe")
// SL/TP settings (0.10% each)
sl_pct = 0.10
tp_pct = 0.10
// === TYPE ===
type fvg
float max
float min
bool isbull
int t = time
// === DETECTION FUNCTION ===
detect() =>
var new_fvg = fvg.new(na, na, na, na)
threshold = auto ? ta.cum((high - low) / low) / bar_index : thresholdPer / 100
bull_fvg = low > high[2] and close[1] > high[2] and (low - high[2]) / high[2] > threshold
bear_fvg = high < low[2] and close[1] < low[2] and (low[2] - high) / high > threshold
if bull_fvg
new_fvg := fvg.new(low, high[2], true)
else if bear_fvg
new_fvg := fvg.new(low[2], high, false)
[bull_fvg, bear_fvg, new_fvg]
// === FVG Detection ===
[bull_fvg, bear_fvg, new_fvg] = request.security(syminfo.tickerid, tf, detect())
var fvg_records = array.new<fvg>(0)
var t = 0
if (bull_fvg or bear_fvg) and new_fvg.t != t
array.unshift(fvg_records, new_fvg)
t := new_fvg.t
// === ENTRY STRATEGY ===
if array.size(fvg_records) > 0
latest = array.get(fvg_records, 0)
// BUY Logic
if latest.isbull and close <= latest.max and close >= latest.min and strategy.position_size <= 0
sl = close * (1 - sl_pct / 100)
tp = close * (1 + tp_pct / 100)
strategy.entry("Buy FVG", strategy.long)
strategy.exit("TP/SL Long", from_entry="Buy FVG", stop=sl, limit=tp)
// SELL Logic
if not latest.isbull and close >= latest.min and close <= latest.max and strategy.position_size >= 0
sl = close * (1 + sl_pct / 100)
tp = close * (1 - tp_pct / 100)
strategy.entry("Sell FVG", strategy.short)
strategy.exit("TP/SL Short", from_entry="Sell FVG", stop=sl, limit=tp)
// === VISUALIZE FVG ZONES ===
plotshape(bull_fvg, title="Bullish FVG", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(bear_fvg, title="Bearish FVG", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)