Đây là một chiến lược giao dịch định lượng dựa trên mô hình ngập, xác định và giao dịch trên các mô hình ngập tuyến tính xu hướng nhiều giai đoạn trên thị trường. Cốt lõi của chiến lược là nắm bắt các tín hiệu đảo ngược giá, kết hợp với thời gian giữ và kiểm soát rủi ro để đạt được kết quả giao dịch ổn định. Chiến lược này áp dụng cho tất cả các thị trường và thời gian, chứng minh tính phổ quát mạnh mẽ.
Chiến lược giao dịch dựa trên mô hình nuốt chửng trong các hình thành nến. Một tín hiệu mua được tạo ra trong xu hướng giảm khi một mô hình nuốt chửng tăng xuất hiện (một nến giảm nhỏ hơn được theo sau bởi một nến tăng lớn hơn hoàn toàn nuốt chửng trước đó). Một tín hiệu bán được tạo ra trong xu hướng tăng khi một mô hình nuốt chửng giảm xuất hiện (một nến tăng nhỏ hơn được theo sau bởi một nến giảm lớn hơn hoàn toàn nuốt chửng trước đó). Chiến lược sử dụng các khoảng thời gian nắm giữ được tham số hóa, tự động đóng các vị trí sau khoảng thời gian được chỉ định để tránh rủi ro liên quan đến nắm giữ quá mức.
Chiến lược này nắm bắt các cơ hội mô hình thông qua một cách tiếp cận có hệ thống, đạt được giao dịch kiểm soát rủi ro thông qua quản lý vị trí được tham số hóa. Mặc dù chiến lược cho thấy tính thực tế và khả năng thích nghi mạnh mẽ, các nhà giao dịch vẫn cần tối ưu hóa và điều chỉnh theo các đặc điểm thị trường cụ thể.
/*backtest start: 2024-12-06 00:00:00 end: 2025-01-04 08:00:00 period: 2h basePeriod: 2h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=6 strategy("Engulfing Candlestick Strategy", overlay=true) // Input parameters bull_color = input.color(color.new(color.green, 0), title="Bullish Engulfing Highlight") bear_color = input.color(color.new(color.red, 0), title="Bearish Engulfing Highlight") hold_periods = input.int(17, title="Hold Periods", minval=1) // How many bars to hold the position // Input for selecting the pattern (Bullish or Bearish Engulfing) pattern_type = input.string("Bullish Engulfing", title="Engulfing Pattern", options=["Bullish Engulfing", "Bearish Engulfing"]) // Input for selecting the trade type (Long or Short) trade_type = input.string("Long", title="Trade Type", options=["Long", "Short"]) // Conditions for Bullish Engulfing bullish_engulfing = close > open and open < close[1] and close > open[1] and open[1] > close[1] // Conditions for Bearish Engulfing bearish_engulfing = close < open and open > close[1] and close < open[1] and open[1] < close[1] // Declare the entry condition variable var bool entry_condition = false // Set initial value to 'false' // Entry logic based on selected pattern and trade type if pattern_type == "Bullish Engulfing" entry_condition := bullish_engulfing else entry_condition := bearish_engulfing // Execute the entry based on the selected trade type if entry_condition if trade_type == "Long" strategy.entry("Long", strategy.long) else strategy.entry("Short", strategy.short) // Close position after specified number of bars if strategy.position_size != 0 and bar_index - strategy.opentrades.entry_bar_index(0) >= hold_periods strategy.close("Long") strategy.close("Short") // Highlight Bullish Engulfing Candles (Background Color) bgcolor(bullish_engulfing and pattern_type == "Bullish Engulfing" ? color.new(bull_color, 80) : na, title="Bullish Engulfing Background") // Highlight Bearish Engulfing Candles (Background Color) bgcolor(bearish_engulfing and pattern_type == "Bearish Engulfing" ? color.new(bear_color, 80) : na, title="Bearish Engulfing Background")