Chiến lược này là một biến thể được cải tiến của chiến lược đột phá cao / thấp xoay nhằm mục đích tận dụng các sự đảo ngược xu hướng tiềm năng được báo hiệu bởi các mô hình nến hấp thụ tăng và giảm. Chiến lược xác định mức cao và thấp xoay và tạo ra các tín hiệu giao dịch khi giá vượt qua các mức chính này. Ngoài ra, chiến lược sử dụng tỷ lệ rủi ro-lợi nhuận được xác định trước để thiết lập mức lợi nhuận và dừng lỗ để quản lý rủi ro tốt hơn.
Chiến lược đột phá cao/dưới xoay cải thiện với các mô hình hấp thụ tăng và giảm kết hợp các mô hình đột phá giá và các mô hình nến để nắm bắt các cơ hội đảo ngược xu hướng tiềm năng trong khi nhấn mạnh quản lý rủi ro. Ưu điểm của chiến lược nằm trong việc xem xét cả hành động giá và tâm lý thị trường, thích nghi với môi trường thị trường khác nhau. Tuy nhiên, chiến lược cũng phải đối mặt với các rủi ro như tín hiệu sai, biến động thị trường và chi phí giao dịch, cần phải được giải quyết thông qua việc giới thiệu các chỉ số xác nhận xu hướng, điều chỉnh dừng lỗ năng động và tối ưu hóa tham số. Nhìn chung, chiến lược này cung cấp một cách tiếp cận để nắm bắt các cơ hội đảo ngược xu hướng tiềm năng, nhưng nó đòi hỏi sự điều chỉnh và tối ưu hóa thích hợp dựa trên các đặc điểm thị trường cụ thể và các yêu cầu giao dịch khi áp dụng trong thực hành.
/*backtest start: 2024-04-01 00:00:00 end: 2024-04-30 23:59:59 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © Markoline007 //@version=5 strategy("Improved Swing High/Low Breakout Strategy", overlay=true) // Define input variables length = input(14, title="Swing Length") multiplier = input(3, title="Multiplier") risk_reward_ratio = input(1.6, title="Risk-Reward Ratio") target_multiplier = input(2, title="Target Multiplier") // Calculate swing highs and swing lows var float lastHigh = na var float lastLow = na var bool isHigh = na var bool isLow = na if high[1] < high and high[2] < high[1] lastHigh := high[1] isHigh := true isLow := false else if low[1] > low and low[2] > low[1] lastLow := low[1] isLow := true isHigh := false else isHigh := false isLow := false // Define buy and sell conditions buySignal = close > lastHigh and close > open and close[1] < open[1] // Bullish engulfing sellSignal = close < lastLow and close < open and close[1] > open[1] // Bearish engulfing // Calculate stop and target levels stopLevel = close targetLevel = close + (close - stopLevel) * risk_reward_ratio // Execute buy and sell trades if buySignal strategy.entry("Buy", strategy.long) strategy.exit("TP/SL", "Buy", profit=targetLevel, loss=stopLevel) if sellSignal strategy.entry("Sell", strategy.short) strategy.exit("TP/SL", "Sell", profit=targetLevel, loss=stopLevel)