Стратегия RSI


Дата создания: 2023-10-08 11:36:01 Последнее изменение: 2023-10-08 11:36:01
Копировать: 1 Количество просмотров: 642
1
Подписаться
1617
Подписчики

Обзор

Эта стратегия сочетает в себе стратегию поворота ключевой поддержки сопротивления и относительно сильного индикатора (RSI), чтобы проверить сигналы RSI, когда формируется поддержка сопротивления, чтобы найти потенциальные возможности для перехода.

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

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

Детали кода следующие:

  1. Расчет устойчивости к поддержке
  • Функции с использованием pivothigh () и pivotlow () основываются на лево-правом корне N K-линии, рассчитывающей точки поддержки и сопротивления
  • Сохранение устойчивости к поддержке и установление условных суждений о понижении цены
  1. Расчет RSI
  • Вычислить RSI с помощью функции rsi()
  • Установка условий RSI для перекупа и перепродажи
  1. В сочетании с поддержкой сопротивления и сигналом RSI
  • Если вы увидите, что RSI находится ниже линии пробыли, вы можете сделать больше.
  • Если RSI находится выше линейки выкупа, то при понижении на уровне поддержки, можно сделать дисконт.
  1. Вход с установкой стоп-стоп
  • Multiple Stop Loss как минимальное движение ниже позиции поддержки
  • Пустые стоп-листы с минимальным движением выше сопротивления

Анализ преимуществ

Основные преимущества этой стратегии:

  1. Проверка тренда: RSI может отфильтровывать ложные прорывы, чтобы избежать ошибочного входа во временную коррекцию

  2. Контроль риска: установка стоп-лосса вблизи ключевого сопротивления поддержки, полезная для контроля риска

  3. Универсальность: подходит для разных сортов и временных периодов

  4. Простая реализация: меньше параметров и параметров, легкая реализация

  5. Низкие требования к данным: требуется только OHLC, низкие требования к качеству данных

Анализ рисков

Также существуют следующие риски:

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

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

  3. Стоп-убытки подвержены риску: в течение тренда стоп-убытки могут быть преодолены, что приводит к увеличению убытков. Стоп-убытки могут быть расслаблены, но необходимо балансировать между прибылью от тренда и контролем риска.

  4. Риск отступления: стратегия выполняется по крупицам, и в случае неудачного поворота тренда может произойти определенное отступление. Отступление можно контролировать с помощью управления рисками.

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

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

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

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

  3. Добавление дополнительных условий для проверки, чтобы избежать покрытия при шокирующих ситуациях. Например, в сочетании с показателями волатильности и т. д.

  4. Оптимизация стратегии стоп-стоп для достижения баланса между стремлением к прибыли и контролем риска. Можно ввести динамические стоп-модели, такие как trailing stop.

  5. Введение стоп-ложа, основанного на статистическом анализе, с определением пределов стоп-ложа путем расчета по историческим данным.

  6. Проверка в сочетании с несколькими временными циклами повышает коэффициент успешности.

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

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

Исходный код стратегии
/*backtest
start: 2023-09-30 00:00:00
end: 2023-10-07 00:00:00
period: 45m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Pivot Point Reversal + RSI Strategy", shorttitle = 'PP + RSI Strategy', overlay=true)

////////////
// Inputs //

leftBars   = input(3,  title = 'PP - Left Bars')
rightBars  = input(3,  title = 'PP - Right Bars')
rsi_length = input(14, title = "RSI - Length")
rsi_long   = input(70, title = "RSI - Overbought level")
rsi_short  = input(30, title = "RSI - Overold level")

//////////////////
// Calculations //

// Pivot Points
swh = pivothigh(leftBars, rightBars)
swl = pivotlow(leftBars, rightBars)

// Pivot High 
swh_cond = not na(swh)
 
hprice = 0.0
hprice := swh_cond ? swh : hprice[1]
 
le = false
le := swh_cond ? true : (le[1] and high > hprice ? false : le[1])

// Pivot Low 
swl_cond = not na(swl)
 
lprice = 0.0
lprice := swl_cond ? swl : lprice[1]
 
se = false
se := swl_cond ? true : (se[1] and low < lprice ? false : se[1])

// RSI 
rsi = rsi(close, 14)

//////////////
// STRATEGY //

if (le and rsi[rightBars] < rsi_long )
    strategy.entry("PivRevLE", strategy.long,  comment = "PivRSI Long",  stop = hprice + syminfo.mintick)
 
if (se and rsi[rightBars] > rsi_short)
    strategy.entry("PivRevSE", strategy.short, comment = "PivRSI Short", stop = lprice - syminfo.mintick)