Эта стратегия представляет собой интеллектуальную торговую систему, основанную на двойных индикаторах импульса: RSI и Stochastic RSI. Она определяет условия перекупления и перепродажи на рынке путем объединения сигналов от двух импульсных осцилляторов, захватывая потенциальные торговые возможности. Система поддерживает адаптацию периода и может гибко корректировать торговые циклы в соответствии с различными рыночными условиями.
Основная логика стратегии основана на следующих ключевых элементах:
Стратегия создает надежную торговую систему, сочетая преимущества RSI и стохастического RSI. Механизм подтверждения двойного сигнала эффективно уменьшает ложные сигналы, в то время как гибкие параметры обеспечивают сильную адаптивность. Благодаря постоянной оптимизации и улучшению стратегия обещает поддерживать стабильную производительность в различных рыночных условиях.
/*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")