Стратегия индекса относительной силы

Автор:Чао Чжан, Дата: 2023-11-02 15:54:24
Тэги:

img

Обзор

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

Логика стратегии

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

RSI = 100 - (100 / (1 + RS))

где RS = средняя прибыль по цене закрытия / средняя потеря по цене закрытия за последние n дней.

Согласно формуле, значение RSI фиксируется в диапазоне от 0 до 100. Когда цена ценной бумаги постоянно растет, подталкивая RS выше, RSI приблизится к 100. Когда цена постоянно падает, делая RS меньше, RSI приблизится к 0.

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

В частности, стратегия устанавливает параметр длины для определения периода расчета RSI, а параметры перепродажи и перекупки для указания пороговых значений для зон перепродажи / перекупки RSI. Она генерирует длинные / короткие сигналы путем проверки текущего значения RSI против пороговых значений. Обратный параметр также доступен для управления направлением торговли.

Преимущества

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

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

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

Риски

Основной риск стратегии RSI заключается в генерировании ложных сигналов. Когда цены испытывают кратковременное отступление в рамках тренда, а не полное изменение, RSI может на короткое время проникнуть в зону перекупленности / перепроданности и вызвать неправильные сигналы. Следуя таким сигналам и торгуя в противоположном направлении, скорее всего, произойдет остановка.

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

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

Направления к улучшению

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

  1. Добавьте фильтры с использованием других индикаторов, таких как MACD, полосы Боллинджера, чтобы избежать ложных сигналов.

  2. Включить стоп-лосс для ограничения потерь на однократных сделках.

  3. Корректировка параметров на основе рыночных тенденций и режимов, таких как повышение порога перекупки на бычьем рынке.

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

  5. Подумайте о том, чтобы увеличить размер, когда тренд ускоряется, чтобы ездить по тренду.

  6. Добавьте период ожидания, чтобы предотвратить преждевременное изменение сигнала RSI.

  7. Ввести правила управления деньгами, такие как фиксированный размер торговли, размер позиций и т.д.

Заключение

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


/*backtest
start: 2023-10-02 00:00:00
end: 2023-11-01 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 10/01/2017
// The RSI is a very popular indicator that follows price activity. 
// It calculates an average of the positive net changes, and an average 
// of the negative net changes in the most recent bars, and it determines 
// the ratio between these averages. The result is expressed as a number 
// between 0 and 100. Commonly it is said that if the RSI has a low value, 
// for example 30 or under, the symbol is oversold. And if the RSI has a 
// high value, 70 for example, the symbol is overbought. 
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="Strategy RSI", shorttitle="Strategy RSI", overlay = true )
Length = input(12, minval=1)
Oversold = input(30, minval=1)
Overbought = input(70, minval=1)
reverse = input(false, title="Trade reverse")
xRSI = rsi(close, Length)
pos = iff(xRSI > Overbought, 1,
	   iff(xRSI < Oversold, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue )

Больше