Стратегия следования за трендом на основе RSI


Дата создания: 2023-11-07 16:33:43 Последнее изменение: 2023-11-07 16:33:43
Копировать: 0 Количество просмотров: 704
1
Подписаться
1617
Подписчики

Стратегия следования за трендом на основе RSI

Обзор

Эта стратегия основана на индикаторе Relative Strength Index (RSI), используя RSI для определения перепродажи и отслеживания тенденций. Когда RSI ниже линии перепродажи, вы делаете больше, а когда RSI выше линии перекупа, вы делаете меньше, чтобы получить прибыль, отслеживая основные тенденции.

Стратегический принцип

Эта стратегия использует RSI для определения перекупа и перепродажи на рынке. RSI рассчитывается на основе колебаний и колебаний в течение определенного периода времени. Когда RSI ниже 30, он считается перепроданным, а когда RSI выше 70, он считается перепроданным.

В частности, эта стратегия сначала определяет параметры расчета RSI length=14, overBought=70, overSold=30. Затем, исходя из цены закрытия, рассчитывается значение RSI vrsi. Выясняется, выше ли vrsi выше линейки сверхпокупа или ниже линейки сверхпродажи.

Таким образом, эта стратегия позволяет зафиксировать основные тенденции рынка, покупать в точках перепродажи, продавать в точках перепродажи, и отслеживать тенденции.

Стратегические преимущества

  • Использование RSI для определения перекупа и перепродажи помогает уловить рыночные тенденции
  • Флексибилизация диапазона отслеживания с возможностью выбора различных временных диапазонов для тестирования
  • Стоп-стоп устанавливается разумно, чтобы контролировать одиночные потери

Стратегический риск

  • RSI имеет тенденцию растягиваться, что может привести к ошибочным сигналам
  • Стоп-стоп static, не может динамически отслеживать рыночные колебания
  • Неизвестно, где произойдет обратный тренд, возможно, открытие позиции будет обратным

Решение риска:

  • В сочетании с другими индикаторами фильтруйте сигналы RSI, чтобы избежать ошибочного открытия позиции
  • Динамическая коррекция стоп-пойнтов, отслеживание рыночных колебаний в реальном времени
  • Повышение индексов оценки трендов, избежание обратного открытия позиций

Направление оптимизации стратегии

Эта стратегия может быть оптимизирована в следующих аспектах:

  1. Оптимизация RSI, поиск оптимального сочетания параметров

Можно тестировать различные циклы RSI, различные отклонения, чтобы найти оптимальные параметры для уменьшения ошибочного сигнала.

  1. Повышение индексов трендового анализа и предотвращение неудачных торгов

Можно использовать среднюю линию, MACD и другие индикаторы для определения направления тренда, чтобы избежать ошибочного сигнала в точке поворота тренда.

  1. Динамическая остановка

Можно установить динамическую точку остановки на основе таких показателей, как ATR, чтобы остановка была ближе к рыночным колебаниям.

  1. Оптимизация правил приема

На основе сигнала RSI можно добавить другие условия, такие как прорыв определенного уровня цены, увеличение объема торговли и т. Д. В качестве входного сигнала, повышение точности входа.

Подвести итог

Эта стратегия использует RSI, чтобы определить перекуп и перепродажу, чтобы уловить тенденцию. По сравнению с традиционной стратегией стоп-лосса, она имеет преимущество в использовании индикатора для определения рыночной времени. Однако RSI имеет явление тяги и не может определить обратный момент тренда, это направление, в котором эта стратегия нуждается в оптимизации.

Исходный код стратегии
/*backtest
start: 2023-10-01 00:00:00
end: 2023-10-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3

strategy("RSI Etoro Strategy", overlay=true, max_bars_back=2000)
// To use:
// Capital = capital * leverage
// Slippage Ticks: 3, 5 ? (Mainly for spread)
// etoroStopTicks: Set it accordingly to the stock (to corresponds to etoro default of 50 % for exemple...)

// === INPUT BACKTEST RANGE ===
FromMonth = input(defval = 12, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2018, title = "From Year", minval = 1995)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 1995)


// === FUNCTION EXAMPLE ===
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => time >= start and time <= finish ? true : false // create function "within window of time"

length = input( 14 )
overSold = input( 30 )
overBought = input( 70 )
etoroStopTicks = input( 120 )
// 120 because it is approximatively the number of ticks for default SL of 50% at x5 leverage for copper (no fee)...
price = close

vrsi = rsi(price, length)

if (not na(vrsi))
    if (crossover(vrsi, overSold))
        strategy.entry("RsiLE", strategy.long, comment="RsiLE", when = window())
    if (crossunder(vrsi, overBought))
        strategy.entry("RsiSE", strategy.short, comment="RsiSE", when = window())
strategy.exit("exit SE", "RsiSE", loss=etoroStopTicks, when = window())
strategy.exit("exit LE", "RsiLE", loss=etoroStopTicks, when = window())

//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)