Tài nguyên đang được tải lên... tải...

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

Tác giả:ChaoZhang, Ngày: 2024-11-29 16:22:10
Tags:FVGSLTP

img

Tổng quan

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

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

Cơ chế cốt lõi xoay quanh việc phát hiện khoảng cách giá trị hợp lý bằng cách theo dõi mối quan hệ giá trên ba ngọn nến liên tiếp:

  1. FVG tăng: Khi mức cao của nến giữa thấp hơn mức thấp của nến đầu tiên
  2. FVG giảm: Khi mức thấp của nến giữa cao hơn mức cao của nến đầu tiên
  3. Các tín hiệu vào được điều khiển bởi một thông số ngưỡng FVG
  4. Kiểm soát rủi ro sử dụng một tỷ lệ phần trăm cố định (1%) của vốn chủ sở hữu tài khoản như là dừng lỗ
  5. Lợi nhuận lấy được đặt ở mức cố định 50 điểm

Ưu điểm chiến lược

  1. Quản lý rủi ro khoa học: Sử dụng tỷ lệ phần trăm vốn chủ sở hữu tài khoản để dừng lỗ
  2. Quy tắc giao dịch rõ ràng: Mục tiêu lợi nhuận cố định loại bỏ phán đoán chủ quan
  3. Hiệu suất tuyệt vời: Tỷ lệ thắng cao và tỷ lệ lợi nhuận cho thấy sự ổn định của chiến lược
  4. Thực hiện đơn giản: Logic mã rõ ràng, dễ hiểu và duy trì
  5. Khả năng thích nghi cao: Có thể điều chỉnh cho các điều kiện thị trường khác nhau

Rủi ro chiến lược

  1. Rủi ro biến động thị trường: Lợi nhuận cố định có thể không linh hoạt trên các 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 hơn
  3. Tùy thuộc các tham số: Hiệu suất phụ thuộc rất nhiều vào cài đặt ngưỡng FVG
  4. Rủi ro thoát sai: Một số tín hiệu FVG có thể là thoát sai
  5. Rủi ro quản lý tiền: Lãi suất dừng lỗ cố định có thể dẫn đến rút nhanh

Hướng dẫn tối ưu hóa

  1. Đưa ra các chỉ số biến động cho điều chỉnh lợi nhuận động
  2. Thêm bộ lọc xu hướng để tránh các giao dịch thị trường khác nhau
  3. Phát triển cơ chế xác nhận nhiều khung thời gian
  4. Tối ưu hóa thuật toán định kích thước vị trí với hệ thống vị trí nổi
  5. Thêm các bộ lọc thời gian giao dịch để tránh các giai đoạn biến động cao
  6. Phát triển hệ thống đánh giá sức mạnh tín hiệu để lựa chọn thương mại chất lượng cao

Tóm lại

Chiến lược này cho thấy kết quả ấn tượng bằng cách kết hợp lý thuyết Khoảng cách giá trị công bằng với quản lý rủi ro khoa học. Tỷ lệ thắng cao và yếu tố lợi nhuận ổn định cho thấy giá trị thực tế của nó. Thông qua các hướng tối ưu hóa được đề xuất, có tiềm năng cải thiện hơn nữa. Các nhà giao dịch được khuyên nên tiến hành tối ưu hóa tham số kỹ lưỡng và kiểm tra lại trước khi thực hiện trực tiếp.


/*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)

Có liên quan

Thêm nữa