Стратегия пересечения RSI и WMA


Дата создания: 2024-02-05 12:16:46 Последнее изменение: 2024-02-05 12:16:46
Копировать: 2 Количество просмотров: 1048
1
Подписаться
1617
Подписчики

Стратегия пересечения RSI и WMA

Обзор

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

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

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

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

В частности, стратегия рассчитывает сначала 14-дневный RSI, а затем 45-дневный WMA. Если RSI пересекает WMA, то генерируется сигнал покупки; если RSI пересекает WMA, то генерируется сигнал продажи.

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

Эта стратегия имеет следующие преимущества:

  1. Стратегические сигналы ясны, правила покупки и продажи понятны и легко реализуемы.
  2. Индексы RSI и WMA проверяют друг друга, чтобы уменьшить количество ложных сигналов.
  3. Параметры RSI могут быть скорректированы для акций, находящихся в разных периодах.
  4. WMA параметры также могут быть скорректированы, чтобы захватить ценовые тенденции на разных уровнях.
  5. Код прост, понятен и легко оптимизируется.

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

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

  1. В результате могут возникнуть сильные колебания в ценах на акции, что может привести к остановке.
  2. Параметры RSI и WMA требуют многократного тестирования и оптимизации. Неправильная настройка может привести к сбоям.
  3. Частота транзакций может быть слишком высокой, что увеличивает расходы на транзакции и расходы на скольжение.
  4. Невозможно эффективно отфильтровать SYSTEMIC риски на рынке в целом.

Эти риски можно избежать, например, путем корректировки параметров, установки стоп-убытков и фильтрации рыночного риска.

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

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

  1. Тестирование параметров RSI и WMA для разных дней для поиска оптимальных параметров.
  2. Включение фильтрации в показателях объема сделок, чтобы избежать ложных сигналов.
  3. Установите изменяемую линию стоп-лосса, которая останавливается, когда цена движется в неблагоприятном направлении.
  4. Фильтрация в сочетании с другими показателями, такими как MACD, BOLL, улучшает качество сигнала.
  5. Оптимизация логики открытия позиций, изменение стратегии входа и выхода на поле.

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

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

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

//@version=5
strategy("RSI WMA Strategy", overlay=true)

// Input parameters
rsiLength = input(14, title="RSI Length")
wmaLength = input(45, title="WMA Length")

// Calculate RSI and WMA
rsiValue = ta.rsi(close, rsiLength)
wmaValue = ta.wma(rsiValue, wmaLength)

// Define overbought and oversold levels for RSI
overboughtLevel = 70
oversoldLevel = 30

// Strategy logic
longCondition = ta.crossover(rsiValue, wmaValue)
shortCondition = ta.crossunder(rsiValue, wmaValue)

// Execute trades
if (longCondition)
    strategy.entry("Long", strategy.long, comment="BUY")
if (shortCondition)
    strategy.entry("Short", strategy.short, comment="SELL")

// Plotting for visualization
plot(rsiValue, title="RSI", color=color.blue)
plot(wmaValue, title="WMA", color=color.orange)
hline(overboughtLevel, "Overbought Level", color=color.red)
hline(oversoldLevel, "Oversold Level", color=color.green)

// Plot buy and sell signals on the chart
plotshape(series=longCondition, title="Buy Signal", color=color.green, style=shape.labelup, location=location.belowbar)
plotshape(series=shortCondition, title="Sell Signal", color=color.red, style=shape.labeldown, location=location.abovebar)