Chiến lược này là một hệ thống theo dõi xu hướng dựa trên phân tích kỹ thuật, kết hợp các đường trung bình động, chỉ số động lực RSI và chỉ số biến động ATR để xác nhận các cơ hội giao dịch thông qua nhiều xác nhận tín hiệu. Chiến lược sử dụng các đường chéo trung bình động nhiều giai đoạn để xác định xu hướng thị trường, kết hợp động lực RSI để xác nhận sức mạnh giá, và cuối cùng sử dụng ATR để thiết lập động mức dừng lỗ và lấy lợi nhuận, tạo thành một hệ thống giao dịch hoàn chỉnh.
Logic cốt lõi của chiến lược bao gồm ba thành phần chính:
Chiến lược này xây dựng một hệ thống theo xu hướng hoàn chỉnh theo logic bằng cách tích hợp nhiều chỉ số kỹ thuật. Ưu điểm của chiến lược nằm ở việc xác nhận nhiều tín hiệu và quản lý rủi ro năng động, nhưng cũng phải chú ý đến việc xử lý sự chậm trễ xu hướng và đột phá sai. Thông qua việc thêm xác nhận khối lượng và tối ưu hóa cài đặt tham số, chiến lược vẫn có nhiều chỗ để cải thiện. Nhìn chung, chiến lược này phù hợp để hoạt động trong các thị trường có xu hướng rõ ràng và có giá trị ứng dụng tốt để theo dõi xu hướng trung và dài hạn.
/*backtest start: 2024-11-12 00:00:00 end: 2024-12-11 08:00:00 period: 3h basePeriod: 3h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Bullish Engulfing with EMA Crossover and ATR-Based SL/TP with RSI Filter", overlay=true) // Inputs for moving averages short_ema_length = input.int(100, title="Short EMA Length") long_ema_length = input.int(200, title="Long EMA Length") // RSI Input rsi_length = input.int(14, title="RSI Length") rsi_threshold = input.float(50, title="RSI Threshold") // Calculate the Exponential Moving Averages (EMAs) short_ema = ta.ema(close, short_ema_length) long_ema = ta.ema(close, long_ema_length) // Plot EMAs on the chart plot(short_ema, color=color.blue, title="100 EMA") plot(long_ema, color=color.red, title="200 EMA") // Calculate RSI rsi_value = ta.rsi(close, rsi_length) // Plot RSI on a separate panel hline(rsi_threshold, "RSI Threshold", color=color.gray) plot(rsi_value, color=color.purple, title="RSI") // Bullish Engulfing Pattern bullish_engulfing = close > open[1] and open < close[1] and close > open // Define strategy entry condition with RSI filter long_condition = bullish_engulfing and short_ema > long_ema and rsi_value > rsi_threshold // Plot a buy signal when conditions are met plotshape(long_condition, style=shape.labelup, location=location.belowbar, color=color.green, title="Buy Signal", text="BUY") // ATR Calculation atr_length = input.int(14, title="ATR Length") atr_value = ta.atr(atr_length) // Define Stop Loss and Take Profit as levels stop_loss_level = 1.1 * atr_value take_profit_level = 2.0 * atr_value // Execute Strategy Entry if (long_condition) strategy.entry("Buy", strategy.long) // Adjust SL and TP levels using the entry price if (strategy.position_size > 0) // Calculate SL and TP relative to the entry price stop_price = strategy.position_avg_price - stop_loss_level limit_price = strategy.position_avg_price + take_profit_level // Exit strategy with SL and TP strategy.exit("Exit", from_entry="Buy", stop=stop_price, limit=limit_price)