Эта стратегия создает торговую систему с использованием индикатора RSI для определения уровней перекупа и перепродажи, а также динамического отслеживания стоп-лосса и выхода из целевой прибыли. Она становится короткой, когда RSI пересекает уровень перекупа, и длинной, когда RSI пересекает уровень перепродажи.
Эта стратегия использует 14-периодический индикатор RSI для оценки технических моделей рынка. RSI отражает соотношение растущей и падающей мощности в течение определенного периода времени, чтобы сказать, является ли рынок перекупленным или перепроданным. Длина RSI здесь составляет 14. Когда RSI пересекает 70, рынок считается перекупленным, и мы идем коротко. Когда RSI пересекает ниже 30, рынок считается перепроданным, и мы идем долго.
Кроме того, эта стратегия использует динамический механизм отслеживания стоп-лосса. При удержании длинной позиции цена отслеживания стоп-лосса устанавливается на уровне 97% от цены закрытия. При удержании короткой позиции цена отслеживания стоп-лоска составляет 103% от цены закрытия. Это блокирует большинство прибылей, избегая остановки рыночным шумом.
Наконец, эта стратегия использует выход с целевой прибылью. Когда прибыль позиции достигнет 20%, она будет закрыта. Это блокирует некоторые прибыли и избегает ретрассовки прибыли.
Преимущества этой стратегии включают:
Некоторые риски этой стратегии:
Чтобы справиться с этими рисками, может помочь оптимизация параметров RSI, корректировка процента стоп-лосса, разумное ослабление требований к целевой прибыли.
Некоторые направления для оптимизации стратегии:
Стратегия имеет четкую логику использования RSI для определения рынка с перекупленным / перепроданным, с динамическими остановками и получением прибыли. Ее преимущества заключаются в простом понимании и реализации, хорошем контроле рисков и высокой расширяемости. Следующим шагом является улучшение качества сигнала, автоматическая настройка параметров и т. Д., Чтобы сделать стратегию более интеллектуальной.
/*backtest start: 2024-01-04 00:00:00 end: 2024-02-03 00:00:00 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Modified RSI-Based Trading Strategy", overlay=true) // RSI settings rsiLength = input(14, title="RSI Length") overboughtLevel = 70 oversoldLevel = 30 // User-defined parameters trailingStopPercentage = input(3, title="Trailing Stop Percentage (%)") profitTargetPercentage = input(20, title="Profit Target Percentage (%)") rsiValue = ta.rsi(close, rsiLength) var float trailingStopLevel = na var float profitTargetLevel = na // Entry criteria enterLong = ta.crossover(rsiValue, oversoldLevel) enterShort = ta.crossunder(rsiValue, overboughtLevel) // Exit criteria exitLong = ta.crossover(rsiValue, overboughtLevel) exitShort = ta.crossunder(rsiValue, oversoldLevel) // Trailing stop calculation if (strategy.position_size > 0) trailingStopLevel := close * (1 - trailingStopPercentage / 100) if (strategy.position_size < 0) trailingStopLevel := close * (1 + trailingStopPercentage / 100) // Execute the strategy if (enterLong) strategy.entry("Buy", strategy.long) if (exitLong or ta.crossover(close, trailingStopLevel) or ta.change(close) > profitTargetPercentage / 100) strategy.close("Buy") if (enterShort) strategy.entry("Sell", strategy.short) if (exitShort or ta.crossunder(close, trailingStopLevel) or ta.change(close) < -profitTargetPercentage / 100) strategy.close("Sell") // Plot RSI and overbought/oversold levels plot(rsiValue, title="RSI", color=color.blue) hline(overboughtLevel, "Overbought", color=color.red, linestyle=hline.style_dashed) hline(oversoldLevel, "Oversold", color=color.green, linestyle=hline.style_dashed)