
Эта стратегия, основанная на относительно сильном индексе (RSI) для определения сигналов покупки и продажи после сглаживания, относится к более типичной стратегии отслеживания тенденций. Посредством расчета величины падения цен на акции в течение определенного периода она помогает инвесторам определить, находится ли рынок в состоянии перекупа или перепродажи, чтобы принять инвестиционные решения.
Ключевое значение этой стратегии заключается в том, что RSI может отражать перекуп и перепродажу цен на акции. Однако, первоначальный RSI может сильно колебаться с ценами, что не способствует созданию торговых сигналов. Поэтому эта стратегия была сглажена, используя 5-дневную простую подвижную среднюю, которая эффективно отфильтровывает часть шума, что делает торговые сигналы более четкими и надежными.
Эта стратегия имеет преимущества в сравнении с первоначальной стратегией RSI, имеющей более стабильный и надежный сигнал. Однако есть определенные возможности для улучшения. Инвесторы могут улучшить стратегию путем оптимизации параметров, добавления других показателей и т. Д., чтобы она могла адаптироваться к более сложной рыночной среде.
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Smoothed RSI Strategy", overlay=true)
// Calculate the RSI
length = 5
rsiValue = ta.rsi(close, length)
// Smooth the RSI using a moving average
smoothedRsi = ta.sma(rsiValue, length)
// Define overbought and oversold thresholds
overbought = 80
oversold = 40
// Buy signal when RSI is in oversold zone
buyCondition = ta.crossover(smoothedRsi, oversold)
// Sell signal when RSI is in overbought zone
sellCondition = ta.crossunder(smoothedRsi, overbought)
// Plotting the smoothed RSI
// Plotting the smoothed RSI in a separate pane
plot(smoothedRsi, color=color.blue, title="Smoothed RSI", style=plot.style_line, linewidth=2)
//plot(smoothedRsi, color=color.blue, title="Smoothed RSI")
hline(overbought, "Overbought", color=color.red)
hline(oversold, "Oversold", color=color.green)
// Strategy logic for buying and selling
if (buyCondition)
strategy.entry("Buy", strategy.long)
if (sellCondition)
strategy.close("Buy")