Chiến lược này là một hệ thống giao dịch thông minh dựa trên hai chỉ số động lực: RSI và Stochastic RSI. Nó xác định các điều kiện mua quá mức và bán quá mức của thị trường bằng cách kết hợp các tín hiệu từ hai dao động động, nắm bắt các cơ hội giao dịch tiềm năng. Hệ thống hỗ trợ thích nghi theo thời gian và có thể điều chỉnh chu kỳ giao dịch linh hoạt theo môi trường thị trường khác nhau.
Logic cốt lõi của chiến lược dựa trên các yếu tố chính sau:
Chiến lược này xây dựng một hệ thống giao dịch đáng tin cậy bằng cách kết hợp các lợi thế của RSI và Stochastic RSI. Cơ chế xác nhận tín hiệu kép làm giảm hiệu quả các tín hiệu sai, trong khi cài đặt tham số linh hoạt cung cấp khả năng thích nghi mạnh mẽ. Thông qua tối ưu hóa và cải tiến liên tục, chiến lược cho thấy hứa hẹn trong việc duy trì hiệu suất ổn định trong các điều kiện thị trường khác nhau.
/*backtest start: 2024-11-16 00:00:00 end: 2024-12-15 08:00:00 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("BTC Buy & Sell Strategy (RSI & Stoch RSI)", overlay=true) // Input Parameters rsi_length = input.int(14, title="RSI Length") stoch_length = input.int(14, title="Stochastic Length") stoch_smooth_k = input.int(3, title="Stochastic %K Smoothing") stoch_smooth_d = input.int(3, title="Stochastic %D Smoothing") // Threshold Inputs rsi_buy_threshold = input.float(35, title="RSI Buy Threshold") stoch_buy_threshold = input.float(20, title="Stochastic RSI Buy Threshold") rsi_sell_threshold = input.float(70, title="RSI Sell Threshold") stoch_sell_threshold = input.float(80, title="Stochastic RSI Sell Threshold") use_weekly_data = input.bool(false, title="Use Weekly Data", tooltip="Enable to use weekly timeframe for calculations.") // Timeframe Configuration timeframe = use_weekly_data ? "W" : timeframe.period // Calculate RSI and Stochastic RSI rsi_value = request.security(syminfo.tickerid, timeframe, ta.rsi(close, rsi_length)) stoch_rsi_k_raw = request.security(syminfo.tickerid, timeframe, ta.stoch(close, high, low, stoch_length)) stoch_rsi_k = ta.sma(stoch_rsi_k_raw, stoch_smooth_k) stoch_rsi_d = ta.sma(stoch_rsi_k, stoch_smooth_d) // Define Buy and Sell Conditions buy_signal = (rsi_value < rsi_buy_threshold) and (stoch_rsi_k < stoch_buy_threshold) sell_signal = (rsi_value > rsi_sell_threshold) and (stoch_rsi_k > stoch_sell_threshold) // Strategy Execution if buy_signal strategy.entry("Long", strategy.long, comment="Buy Signal") if sell_signal strategy.close("Long", comment="Sell Signal") // Plot Buy and Sell Signals plotshape(buy_signal, style=shape.labelup, location=location.belowbar, color=color.green, title="Buy Signal", size=size.small, text="BUY") plotshape(sell_signal, style=shape.labeldown, location=location.abovebar, color=color.red, title="Sell Signal", size=size.small, text="SELL") // Plot RSI and Stochastic RSI for Visualization hline(rsi_buy_threshold, "RSI Buy Threshold", color=color.green) hline(rsi_sell_threshold, "RSI Sell Threshold", color=color.red) plot(rsi_value, color=color.blue, linewidth=2, title="RSI Value") plot(stoch_rsi_k, color=color.purple, linewidth=2, title="Stochastic RSI K") plot(stoch_rsi_d, color=color.orange, linewidth=1, title="Stochastic RSI D")