Chiến lược phát hiện khoảng cách giá trị hợp lý tiên tiến dựa trên quản lý rủi ro động và lợi nhuận cố định

FVG SL TP
Ngày tạo: 2024-11-29 16:22:10 sửa đổi lần cuối: 2024-11-29 16:22:10
sao chép: 0 Số nhấp chuột: 587
1
tập trung vào
1617
Người theo dõi

Chiến lược phát hiện khoảng cách giá trị hợp lý tiên tiến dựa trên quản lý rủi ro động và lợi nhuận cố định

Tổng quan

Đây là một chiến lược giao dịch dựa trên lỗ hổng giá trị công bằng (FVG) kết hợp với quản lý rủi ro động và mục tiêu lợi nhuận cố định. Chiến lược này hoạt động trên chu kỳ 15 phút để nắm bắt cơ hội giao dịch tiềm năng bằng cách xác định lỗ hổng giá trong thị trường. Theo dữ liệu đánh giá, trong giai đoạn từ tháng 11 năm 2023 đến tháng 8 năm 2024, chiến lược này đã đạt tỷ lệ lợi nhuận ròng 284,40% với tổng số 153 giao dịch được thực hiện, trong đó tỷ lệ lợi nhuận đạt 71,24% và hệ số lợi nhuận là 2,422

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

Trung tâm của chiến lược là để xác định các lỗ hổng giá trị công bằng bằng cách giám sát mối quan hệ giá giữa ba dòng K liên tiếp. Cụ thể:

  1. Điều kiện hình thành FVG đa đầu: Giá cao nhất của một dòng K hiện tại thấp hơn giá thấp nhất của hai dòng K trước đó
  2. Điều kiện hình thành FVG đầu rỗng: Giá thấp nhất của một dòng K hiện tại cao hơn giá cao nhất của hai dòng K trước đó
  3. Tín hiệu nhập được điều khiển bởi tham số giá trị thềm FVG, chỉ được kích hoạt khi kích thước lỗ hổng vượt quá một tỷ lệ nhất định của giá
  4. Kiểm soát rủi ro sử dụng tỷ lệ cố định của quyền lợi tài khoản ((1%) như tiêu chuẩn dừng lỗ
  5. Mục tiêu lợi nhuận sử dụng thiết lập số điểm cố định (50 điểm)

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

  1. Khoa học quản lý rủi ro hợp lý: Sử dụng tỷ lệ quyền lợi của tài khoản để kiểm soát rủi ro động
  2. Quy tắc giao dịch rõ ràng: sử dụng mục tiêu lợi nhuận cố định, tránh phán đoán chủ quan
  3. Hiệu suất xuất sắc: Tỷ lệ lợi nhuận cao và các yếu tố lợi nhuận cho thấy chiến lược có tính ổn định tốt
  4. Cách thực hiện đơn giản: logic mã rõ ràng, dễ hiểu và bảo trì
  5. Khả năng thích ứng: có thể điều chỉnh thông qua các tham số để thích ứng với các môi trường thị trường khác nhau

Rủi ro chiến lược

  1. Rủi ro biến động thị trường: Mục tiêu lợi nhuận bằng số điểm cố định có thể không linh hoạt trong thị trường biến động cao
  2. Rủi ro trượt: giao dịch thường xuyên có thể dẫn đến chi phí trượt cao
  3. Tùy thuộc vào tham số: hiệu suất của chiến lược phụ thuộc rất nhiều vào cài đặt của giá trị thềm FVG
  4. Nguy cơ phá vỡ giả: Một số tín hiệu FVG có thể là phá vỡ giả, cần thêm các chỉ số xác nhận
  5. Rủi ro quản lý tài chính: Lạm phát tỷ lệ cố định có thể dẫn đến thu hẹp tài chính nhanh chóng trong trường hợp thua lỗ liên tục

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

  1. Tiến hành các chỉ số biến động thị trường, điều chỉnh động lợi nhuận mục tiêu
  2. Thêm bộ lọc xu hướng để tránh giao dịch trong thị trường ngang
  3. Phát triển cơ chế xác nhận nhiều chu kỳ thời gian
  4. Tối ưu hóa thuật toán quản lý vị thế, giới thiệu hệ thống vị thế nổi
  5. Tăng bộ lọc thời gian giao dịch, tránh thời gian biến động cao
  6. Phát triển hệ thống đánh giá cường độ tín hiệu để sàng lọc các cơ hội giao dịch chất lượng cao

Tóm tắt

Chiến lược này đã cho thấy hiệu quả giao dịch tốt bằng cách kết hợp lý thuyết lỗ hổng giá trị công bằng và phương pháp quản lý rủi ro khoa học. Lợi nhuận cao và yếu tố lợi nhuận ổn định của chiến lược cho thấy nó có giá trị thực tế. Với hướng tối ưu hóa được đề xuất, chiến lược vẫn còn chỗ để nâng cao hơn nữa.

Mã nguồn chiến lược
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-28 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Fair Value Gap Strategy with % SL and Fixed TP", overlay=true, initial_capital=500, default_qty_type=strategy.fixed, default_qty_value=1)

// Parameters
fvgThreshold = input.float(0.5, "FVG Threshold (%)", minval=0.1, step=0.1)

// Fixed take profit in pips
takeProfitPips = 50

// Function to convert pips to price
pipsToPriceChange(pips) =>
    syminfo.mintick * pips * 10

// Function to detect Fair Value Gap
detectFVG(dir) =>
    gap = 0.0
    if dir > 0  // Bullish FVG
        gap := low[2] - high[1]
    else  // Bearish FVG
        gap := low[1] - high[2]
    math.abs(gap) > (close * fvgThreshold / 100)

// Detect FVGs
bullishFVG = detectFVG(1)
bearishFVG = detectFVG(-1)

// Entry conditions
longCondition = bullishFVG
shortCondition = bearishFVG

// Calculate take profit level
longTakeProfit = strategy.position_avg_price + pipsToPriceChange(takeProfitPips)
shortTakeProfit = strategy.position_avg_price - pipsToPriceChange(takeProfitPips)

// Calculate stop loss amount (5% of capital)
stopLossAmount = strategy.equity * 0.01

// Execute trades
if (longCondition)
    strategy.entry("Long", strategy.long)

if (shortCondition)
    strategy.entry("Short", strategy.short)

// Set exit conditions
if (strategy.position_size > 0)
    strategy.exit("Long TP", "Long", limit=longTakeProfit)
    strategy.close("Long SL", when=strategy.openprofit < -stopLossAmount)
else if (strategy.position_size < 0)
    strategy.exit("Short TP", "Short", limit=shortTakeProfit)
    strategy.close("Short SL", when=strategy.openprofit < -stopLossAmount)

// Plot signals
plotshape(longCondition, "Buy Signal", location = location.belowbar, color = color.green, style = shape.triangleup, size = size.small)
plotshape(shortCondition, "Sell Signal", location = location.abovebar, color = color.red, style = shape.triangledown, size = size.small)