Эта стратегия представляет собой динамическую систему обратной торговли диапазона, основанную на индикаторе RSI, фиксирующую переломные моменты на рынке через регулируемые зоны перекупленности/перепродажи в сочетании с параметрами чувствительности конвергенции/дивергенции. Стратегия использует фиксированное количество контрактов для торговли и работает в рамках определенного временного периода обратного тестирования. Ядром этой модели является выявление условий перекупленности и перепродажи рынка посредством динамических изменений RSI и выполнение обратных сделок в соответствующее время.
Стратегия использует 14-периодный RSI в качестве основного индикатора, устанавливая 80 и 30 в качестве уровня сверхпродажи и перекупки. Внедряя параметр чувствительности конвергенции/дивергенции (назначенный на 3,0), она добавляет динамическую способность к корректировке традиционной стратегии RSI. Долгие позиции устанавливаются, когда RSI превышает уровень перекупки и закрываются, когда RSI падает ниже уровня перепродажи. Аналогично, длинные позиции устанавливаются, когда RSI падает ниже уровня перепродажи и закрываются, когда RSI превышает уровень перекупки. Каждая торговля использует фиксированные 10 контрактов для обеспечения стабильности в использовании капитала.
Это динамическая стратегия обратного движения диапазона, основанная на индикаторе RSI, достигающая относительно полной торговой системы с помощью гибких параметров и четких правил торговли. Основные преимущества стратегии заключаются в ее способности к динамической корректировке и четком контроле рисков, в то время как необходимо обращать внимание на потенциальные риски на нестабильных и трендовых рынках. Благодаря таким мерам оптимизации, как корректировка волатильности и фильтрация трендов, стратегия имеет место для дальнейшего улучшения. В целом, это практическая количественная торговая стратегия, подходящая для углубленных исследований и практической проверки.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-11 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("RSI Options Strategy", overlay=true) // RSI settings rsiLength = input(14, title="RSI Length") rsiOverbought = input(80, title="Overbought Level") rsiOversold = input(30, title="Oversold Level") rsiSource = input(close, title="RSI Source") rsi = ta.rsi(rsiSource, rsiLength) // Convergence/Divergence Input convergenceLevel = input(3.0, title="Convergence/Divergence Sensitivity") // Order size (5 contracts) contracts = 10 // Date Range for Backtesting startDate = timestamp("2024-09-10 00:00") endDate = timestamp("2024-11-09 23:59") // Limit trades to the backtesting period inDateRange = true // RSI buy/sell conditions with convergence/divergence sensitivity buySignalOverbought = ta.crossover(rsi, rsiOverbought - convergenceLevel) sellSignalOversold = ta.crossunder(rsi, rsiOversold + convergenceLevel) buySignalOversold = ta.crossunder(rsi, rsiOversold - convergenceLevel) sellSignalOverbought = ta.crossover(rsi, rsiOverbought + convergenceLevel) // Execute trades only within the specified date range if (inDateRange) // Buy when RSI crosses above 80 (overbought) if (buySignalOverbought) strategy.entry("Buy Overbought", strategy.long, qty=contracts) // Sell when RSI crosses below 30 (oversold) if (sellSignalOversold) strategy.close("Buy Overbought") // Buy when RSI crosses below 30 (oversold) if (buySignalOversold) strategy.entry("Buy Oversold", strategy.long, qty=contracts) // Sell when RSI crosses above 80 (overbought) if (sellSignalOverbought) strategy.close("Buy Oversold") // Plot the RSI for visualization plot(rsi, color=color.blue, title="RSI") hline(rsiOverbought, "Overbought", color=color.red) hline(rsiOversold, "Oversold", color=color.green)