Chiến lược giao dịch trong ngày Dynamic Fair Value Gap: Hệ thống kiểm tra ngược đa khung thời gian dựa trên lý thuyết SMC

FVG SMC SL TP Risk-Reward Ratio
Ngày tạo: 2025-03-26 15:27:29 sửa đổi lần cuối: 2025-03-26 15:27:29
sao chép: 2 Số nhấp chuột: 601
2
tập trung vào
319
Người theo dõi

Chiến lược giao dịch trong ngày Dynamic Fair Value Gap: Hệ thống kiểm tra ngược đa khung thời gian dựa trên lý thuyết SMC Chiến lược giao dịch trong ngày Dynamic Fair Value Gap: Hệ thống kiểm tra ngược đa khung thời gian dựa trên lý thuyết SMC

Tổng quan

Chiến lược giao dịch trong ngày bằng khoảng cách giá trị công bằng động là một hệ thống giao dịch định lượng dựa trên lý thuyết cấu trúc thị trường, tập trung vào việc xác định và giao dịch khoảng cách giá trị công bằng trong giá (Fair Value Gap, viết tắt là FVG). Chiến lược này sử dụng ba hình thức dây chuyền để phát hiện sự mất cân bằng cung cầu trong hành vi giá cả và giao dịch vào các khu vực này khi giá cả được đánh giá. Chiến lược này quản lý rủi ro bằng tỷ lệ lợi nhuận rủi ro cố định và thiết lập một cơ chế cân bằng bắt buộc vào một thời gian nhất định mỗi ngày để tránh rủi ro qua đêm.

Nguyên tắc chiến lược

Các nguyên tắc cốt lõi của chiến lược giao dịch lỗ hổng giá trị công bằng dựa trên “khu vực chưa giao dịch” hoặc “lỗ hổng” mà giá cả để lại khi di chuyển nhanh. Những khu vực này đại diện cho sự mất cân bằng nghiêm trọng giữa cung và nhu cầu, thường sẽ được “lấp đầy” hoặc “thử lại” trong tương lai. Cụ thể, chiến lược hoạt động theo cách sau:

  1. Cơ chế phát hiện lỗ hổngChiến lược sử dụng mô hình ba sợi dây để xác định hai loại FVG:

    • Xem FVG: Giá thấp nhất của dây chuyền hiện tại cao hơn giá cao nhất trước hai dây chuyền và giá đóng cửa của dây chuyền trước cao hơn giá cao nhất trước hai dây chuyền.
    • Thị trường giảm giá FVG: Giá cao nhất của đường dây hiện tại thấp hơn giá thấp nhất trước hai đường dây và giá đóng cửa của đường dây trước thấp hơn giá thấp nhất trước hai đường dây.
  2. Lập logic phản hồiChiến lược này sẽ không bắt đầu ngay khi FVG được hình thành, mà sẽ chờ đợi giá phản hồi ở các khu vực sau:

    • FVG: khi giá giảm trở lại vùng FVG (borderline) (đỉnh cao), kích hoạt nhiều tín hiệu.
    • PVG giảm: khi giá tăng trở lại biên giới dưới của khu vực PVG (< điểm thấp), kích hoạt tín hiệu giảm giá.
  3. Quản lý rủi ro

    • Cài đặt dừng lỗ ở ranh giới của FVG tương ứng ((thấp điểm của FVG đắt giá hoặc cao điểm của FVG đắt giá))
    • Mục tiêu lợi nhuận sử dụng tỷ lệ lợi nhuận rủi ro 1: 2, được tính theo cách: giá khởi điểm ± ((giá khởi điểm - dừng lỗ) × 2 .
  4. Hậu quả cuối ngàyChiến lược: Tự động thanh toán tất cả các vị trí nắm giữ và xóa tất cả các mảng FVG vào lúc 3:15 chiều (giờ Ấn Độ) để chuẩn bị cho ngày giao dịch tiếp theo.

  5. Giao dịch chồng lên nhauChiến lược cho phép giao dịch chồng lên nhau tối đa 5 lần (pyramiding), có nghĩa là có thể giữ nhiều vị trí theo cùng một hướng, từ đó tăng lợi nhuận trong thị trường có xu hướng mạnh.

Phương pháp này sử dụng lý thuyết về sự không liên tục trong cấu trúc thị trường và hành vi giá để cố gắng nắm bắt hành vi có thể dự đoán được của giá khi lấp đầy các khu vực không cân bằng.

Lợi thế chiến lược

Sau khi phân tích mã kỹ lưỡng, chiến lược này đã cho thấy một số lợi thế:

  1. Tiêu chuẩn giao dịch khách quanChiến lược sử dụng các điều kiện toán học được xác định rõ ràng để xác định FVG và điểm vào, loại bỏ phán đoán chủ quan, tăng kỷ luật giao dịch và tính thống nhất.

  2. Giao dịch dựa trên cấu trúc thị trườngBằng cách giao dịch lỗ hổng giá trị công bằng, chiến lược này tập trung vào các khu vực không cân bằng cung cầu thực sự trong thị trường, thay vì dựa vào các tín hiệu của các chỉ số truyền thống, các tín hiệu này thường bị tụt lại sau hành vi giá cả.

  3. Cơ chế kiểm soát rủi ro

    • Lệnh dừng dự kiến xác định rủi ro tối đa cho mỗi giao dịch.
    • Lợi nhuận từ rủi ro cố định là hợp lý hơn so với tỷ lệ thắng cần thiết để đảm bảo lợi nhuận lâu dài.
    • Việc bắt buộc thanh toán vào cuối ngày đã loại bỏ rủi ro qua đêm.
  4. Tiềm năng thu nhập tổng hợp: Bằng cách cho phép giao dịch chồng lên nhau (tối đa 5 vị trí), chiến lược có thể tăng lợi nhuận đáng kể trong thị trường xu hướng mạnh, đồng thời kiểm soát rủi ro cho mỗi vị trí bằng cách dừng lỗ.

  5. Khả năng thích ứngChiến lược không phụ thuộc vào mức giá cố định, mà là động xác định các khu vực quan trọng trong điều kiện thị trường hiện tại, làm cho nó có thể thích ứng trong các môi trường và công cụ thị trường khác nhau.

  6. Hiệu quả lập trình: Mã sử dụng các mảng để lưu trữ thông tin FVG và quản lý hiệu quả nhiều cơ hội giao dịch tiềm năng, đảm bảo hệ thống có thể theo dõi và đáp ứng nhiều mức giá.

  7. Hỗ trợ hình ảnhChiến lược: hiển thị trực quan các vùng FVG trên biểu đồ ((xanh là FVG lạc quan, đỏ là FVG giảm giá), giúp các nhà giao dịch hiểu được quá trình ra quyết định của hệ thống.

Rủi ro chiến lược

Mặc dù chiến lược này có cơ sở lý thuyết vững chắc và nhiều ưu điểm, nhưng cũng có một số yếu tố rủi ro cần lưu ý:

  1. Rủi ro đột phá giảTrong thị trường tổng hợp, giá có thể chạm nhiều lần vào biên giới FVG mà không tạo ra xu hướng liên tục, dẫn đến nhiều lần dừng lỗ. Giải pháp có thể bao gồm thêm bộ lọc môi trường thị trường hoặc chỉ số xác nhận xu hướng.

  2. Rủi ro giao dịch chồng lên nhau: Cho phép tối đa 5 vị trí đồng chiều có thể dẫn đến việc tiếp xúc quá mức theo hướng sai, đặc biệt là khi xu hướng đột ngột đảo ngược.  Khuyến cáo thực hiện giới hạn rủi ro tổng thể, chẳng hạn như không cho tất cả các vị trí rủi ro tối đa vượt quá một tỷ lệ phần trăm cụ thể của tài khoản.

  3. Hạn chế về tỷ lệ lợi nhuận rủi ro cố định: Sử dụng tỷ lệ lợi nhuận rủi ro cố định 1:2 có thể không phù hợp với tất cả các điều kiện thị trường. Trong thị trường có biến động thấp, mục tiêu như vậy có thể khó đạt được; Trong thị trường có biến động cao, có thể thoát khỏi giao dịch có lợi sớm.

  4. Thiếu lọc môi trường thị trườngChiến lược này tạo ra tín hiệu trong tất cả các điều kiện thị trường mà không xem xét xu hướng tổng thể hoặc tình trạng biến động. Trong môi trường xu hướng mạnh, việc giao dịch ngược lại với FVG có thể dẫn đến tổn thất liên tục. Thêm bộ lọc xu hướng có thể cải thiện đáng kể hiệu suất.

  5. Thiếu xác nhận khối lượng giao dịchChiến lược chỉ dựa trên hành vi giá mà không tính đến xác nhận khối lượng giao dịch, điều này có thể dẫn đến tín hiệu giả ở khu vực khối lượng giao dịch thấp. Việc tích hợp phân tích khối lượng giao dịch có thể cải thiện chất lượng tín hiệu.

  6. Vấn đề tiềm ẩn của việc rút khỏi thời gian cố địnhViệc rút ra vào một thời gian nhất định trong ngày có thể dẫn đến việc rút ra sớm ở vị trí thuận lợi hoặc bỏ lỡ cơ hội rút ra tốt hơn ở vị trí bất lợi.

  7. Dựa trên giả thuyết lịch sửChiến lược giả định rằng hành vi của FVG trong tương lai sẽ tương tự như các mô hình đã được quan sát trong quá khứ. Động lực thị trường có thể thay đổi, làm suy yếu hiệu quả của các mô hình này. Việc tái tối ưu hóa các tham số và xác minh giả định thường xuyên là rất quan trọng.

Hướng tối ưu hóa chiến lược

Dựa trên phân tích sâu về mã, đây là một số hướng tối ưu hóa có thể:

  1. Bộ lọc cấu trúc thị trường

    • Có hệ thống nhận dạng xu hướng cấp cao hơn, chỉ giao dịch theo hướng xu hướng FVG.
    • Bạn có thể thêm một bộ lọc hướng trung bình di chuyển đơn giản hoặc phân tích cấu trúc thị trường phức tạp hơn.
    • Các bộ lọc như vậy có thể làm giảm đáng kể tổn thất từ các giao dịch ngược.
  2. Điều chỉnh biến động

    • Đạt được mục tiêu dừng lỗ và lợi nhuận động dựa trên biến động thị trường hiện tại, thay vì sử dụng tỷ lệ lợi nhuận rủi ro cố định.
    • Mở rộng mục tiêu trong môi trường biến động cao và thắt chặt mục tiêu trong môi trường biến động thấp.
    • Bạn có thể sử dụng ATR hoặc các chỉ số tương tự để định lượng biến động.
  3. Giao dịch xác nhận

    • Thêm điều kiện khối lượng giao dịch để đảm bảo có đủ hỗ trợ khối lượng giao dịch khi FVG hình thành và đánh giá lại.
    • Điều này có thể làm giảm tín hiệu giả trong môi trường ít lưu động.
  4. Chuyển đổi quy mô vị trí

    • Kích thước vị trí động dựa trên tỷ lệ thắng lịch sử, biến động hiện tại và đặc điểm cụ thể của FVG.
    • Đối với FVG “sạch hơn” (mô hình ba đường dẫn rõ ràng hơn) hoặc FVG hình thành trong xu hướng mạnh, bạn có thể tăng quy mô vị trí.
  5. Phân tích nhiều khung thời gian

    • Tích hợp phân tích FVG của khung thời gian cao hơn, ưu tiên các tín hiệu phù hợp với khung thời gian cao hơn FVG.
    • Phương pháp này có thể cải thiện chất lượng tín hiệu và tỷ lệ thành công tổng thể.
  6. Giao dịch chồng chéo thông minh

    • Điều chỉnh logic giao dịch chồng lên nhau để nó dựa trên cường độ của xu hướng và sự thành công của các giao dịch trước đó.
    • Có thể tăng khả năng giao dịch chồng lên nhau sau khi giao dịch có lợi nhuận, và giảm sau khi giao dịch thua lỗ.
  7. Tăng cường học máy

    • Thực hiện thuật toán học máy để xác định các đặc điểm FVG có khả năng thành công nhất.
    • Điều này có thể bao gồm phân tích các yếu tố như kích thước của FVG, tốc độ hình thành, môi trường thị trường.
  8. Khung thống kê phản hồi

    • Phát triển một khuôn khổ phản hồi toàn diện hơn để đánh giá hiệu suất chiến lược trong các điều kiện thị trường khác nhau.
    • Sử dụng mô phỏng Monte Carlo để đánh giá kết quả dự kiến trong các điều kiện thị trường và các tham số khác nhau.

Tóm tắt

Chiến lược giao dịch trong ngày của lỗ hổng giá trị công bằng động cung cấp một phương pháp có hệ thống để xác định và giao dịch các khu vực không cân bằng cung cầu trong thị trường. Bằng cách sử dụng mô hình FVG ba đường dây và quy tắc nhập cảnh phản hồi rõ ràng, chiến lược này có cả tính hợp lý về mặt lý thuyết và khả năng hoạt động thực tế.

Ưu điểm chính của chiến lược này là tính khách quan và phương pháp dựa trên cấu trúc thị trường, cho phép nó giữ liên quan trong các môi trường thị trường khác nhau. Tuy nhiên, hiệu quả của chiến lược có thể được nâng cao đáng kể bằng cách thực hiện các hướng tối ưu hóa được đề xuất, đặc biệt là thêm bộ lọc môi trường thị trường, điều chỉnh dựa trên biến động và xác nhận khối lượng giao dịch.

Điều đáng chú ý là bất kỳ chiến lược giao dịch nào, dù hoàn hảo như thế nào, cũng không đảm bảo thành công. Giao dịch thành công không chỉ cần một chiến lược tốt, mà còn cần kỷ luật thực thi nghiêm ngặt, quản lý vốn thích hợp và hiểu biết sâu sắc về thị trường. Chiến lược lỗ hổng giá trị công bằng động cung cấp một điểm khởi đầu tốt, các nhà giao dịch có thể tùy chỉnh và tối ưu hóa hơn nữa dựa trên khả năng chịu rủi ro và quan điểm của thị trường.

Mã nguồn chiến lược
/*backtest
start: 2024-03-26 00:00:00
end: 2025-03-25 00:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/

//@version=6
strategy("Intraday FVG", overlay=true, pyramiding=5, max_bars_back=500, default_qty_type=strategy.percent_of_equity, commission_type=strategy.commission.percent)

// 2. FVG Detection (Three-Candle Pattern)
var bullFVGHigh = array.new_float()
var bullFVGLow = array.new_float()
var bullFVGIndex = array.new_int()
var bearFVGHigh = array.new_float()
var bearFVGLow = array.new_float()
var bearFVGIndex = array.new_int()

detectFVG() =>

    // Bullish FVG: Current low > prior high AND next high < current low
    bullCondition = low > high[2] and close[1] > high[2]
    // Bearish FVG: Current high < prior low AND next low > current high
    bearCondition = high < low[2] and close[1] < low[2]


    if bullCondition 
        // log.info("bull condition met: {0} {0} {0}", high[2], close[1], low)
        array.push(bullFVGHigh, low)
        array.push(bullFVGLow, low[2])
        array.push(bullFVGIndex, bar_index)

    
    if bearCondition
        // log.info("bear condition met: {0} {0} {0}", low[2], close[1], high)
        array.push(bearFVGHigh, high[2])
        array.push(bearFVGLow, high)
        array.push(bearFVGIndex, bar_index)

detectFVG()

// 3. Retest Execution Logic
checkRetests(arrayHigh, arrayLow, barIndex, direction) =>
    // log.info("{0} : {1}", bar_index, time)
    i = array.size(arrayHigh) - 1
    
    while i >= 0

        // log.info("barIndex : {0}" , array.get(barIndex, i))
        // log.info("bar_index : {0}" , bar_index)
        
        if array.get(barIndex, i) <  bar_index
            
            fvgHigh = array.get(arrayHigh, i)
            fvgLow = array.get(arrayLow, i)
            // log.info("visting : {0} : {1} : {2} : {3} ", array.get(barIndex, i), bar_index, fvgHigh, fvgLow)
            
            if direction == "long" and low <= fvgHigh
                // log.info("entering long")
                sl = array.get(arrayLow, i)  // Previous candle's low
                entry = close
                tp = entry + (entry - sl)*2
                strategy.entry("L"+str.tostring(array.get(barIndex, i)), strategy.long)
                strategy.exit("XL"+str.tostring(array.get(barIndex, i)), "L"+str.tostring(array.get(barIndex, i)), stop=sl, limit=tp)
                array.remove(arrayHigh, i)
                array.remove(arrayLow, i)
                array.remove(barIndex, i)
            
            if direction == "short" and high >= fvgLow
                // log.info("entering short")
                sl = array.get(arrayHigh, i)   // Previous candle's low
                entry = close
                tp = entry - (sl - entry)*2
                strategy.entry("S"+str.tostring(array.get(barIndex, i)), strategy.short)
                strategy.exit("XS"+str.tostring(array.get(barIndex, i)), "S"+str.tostring(array.get(barIndex, i)), stop=sl, limit=tp)
                array.remove(arrayHigh, i)
                array.remove(arrayLow, i)
                array.remove(barIndex, i)
        
        i := i - 1


checkRetests(bullFVGHigh, bullFVGLow, bullFVGIndex, "long")
checkRetests(bearFVGHigh, bearFVGLow, bearFVGIndex,"short")

// 5. Daily Exit at 3:15 PM IST
exitTime = hour == 15 and minute >= 15
if exitTime
    strategy.close_all()
    array.clear(bullFVGHigh)
    array.clear(bullFVGLow)
    array.clear(bearFVGHigh)
    array.clear(bearFVGLow)
    array.clear(bullFVGIndex)
    array.clear(bearFVGIndex)