Стратегия агрегации нескольких индикаторов RSI


Дата создания: 2024-01-02 12:06:14 Последнее изменение: 2024-01-02 12:06:14
Копировать: 0 Количество просмотров: 697
1
Подписаться
1621
Подписчики

Стратегия агрегации нескольких индикаторов RSI

Обзор

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

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

Центральная логика этой стратегии заключается в одновременном отслеживании 1, 2, 3, 4 и 5 различных циклов RSI, включая 4-циклический, 7-циклический, 14-циклический, 21-циклический и 28-циклический RSI. Эти 5 RSI устанавливают различные предельные значения, и сигнал к покупке будет сделан, если любой RSI будет ниже соответствующего предельного значения.

Например, если в 4-х циклах RSI-индикатор имеет предельную величину 15, то в случае, если 4-х циклов RSI-индикатор находится ниже 15, то это дает сигнал к покупке. Стратегия одновременно проверяет, не находится ли RSI-индикатор в других циклах ниже соответствующего предельного значения, и если да, то это также дает сигнал к покупке.

Когда все 5 RSI-индикаторов превышают свои предельные значения, создается сигнал “продажа” и реализуется выигрышный конец. Таким образом, путем объединения сигналов из нескольких циклических индикаторов, можно повысить точность записей.

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

  1. Использование нескольких индикаторов RSI для повышения точности записей

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

  1. Различные циклические показатели адаптированы к различным рыночным условиям

Используя индикатор RSI 1, 2, 3, 4 и 5 циклов, можно адаптироваться к колебаниям акций в разных циклах. Например, 28-циклический RSI подходит для длинной торговли, 4-циклический RSI подходит для короткой торговли. Это гарантирует, что стратегия может работать нормально в нескольких рыночных условиях.

  1. Ясный и понятный код

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

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

  1. Односторонние рынки недействительны

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

  1. Оптимизация параметров сложна

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

  1. Частые переключения

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

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

  1. В сочетании с трендовыми показателями

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

  1. Снижение количества показателей

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

  1. Оптимизация диапазона параметров

Поиск оптимального диапазона и комбинации параметров RSI с использованием методов оптимизации шаговой длины, рандомизации и т. д., чтобы максимизировать эффективность стратегии.

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

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

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

//Noro
//2018

//@version=2
strategy(title = "Noro's Symphony v1.0", shorttitle = "Symphony 1.0", overlay = false, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 20)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot, %")
usersi1 = input(true, defval = true, title = "Use RSI 1")
rsiperiod1 = input(4, defval = 4, minval = 2, maxval = 100, title = "RSI 1 Period")
rsilimit1 = input(15, defval = 15, minval = 2, maxval = 50, title = "RSI 1 Limit")
usersi2 = input(true, defval = true, title = "Use RSI 2")
rsiperiod2 = input(7, defval = 7, minval = 2, maxval = 100, title = "RSI 2 Period")
rsilimit2 = input(20, defval = 20, minval = 2, maxval = 50, title = "RSI 2 Limit")
usersi3 = input(true, defval = true, title = "Use RSI 3")
rsiperiod3 = input(14, defval = 14, minval = 2, maxval = 100, title = "RSI 3 Period")
rsilimit3 = input(25, defval = 25, minval = 2, maxval = 50, title = "RSI 3 Limit")
usersi4 = input(true, defval = true, title = "Use RSI 4")
rsiperiod4 = input(21, defval = 21, minval = 2, maxval = 100, title = "RSI 4 Period")
rsilimit4 = input(30, defval = 30, minval = 2, maxval = 50, title = "RSI 4 Limit")
usersi5 = input(true, defval = true, title = "Use RSI 5")
rsiperiod5 = input(28, defval = 28, minval = 2, maxval = 100, title = "RSI 5 Period")
rsilimit5 = input(35, defval = 35, minval = 2, maxval = 50, title = "RSI 5 Limit")
cf = input(false, defval = false, title = "Use color filter")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From Day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To Day")

//RSI
rsi1 = rsi(close, rsiperiod1)
rsi2 = rsi(close, rsiperiod2)
rsi3 = rsi(close, rsiperiod3)
rsi4 = rsi(close, rsiperiod4)
rsi5 = rsi(close, rsiperiod5)

//Signals
up1 = rsi1 < rsilimit1 and usersi1  
up2 = rsi2 < rsilimit2 and usersi2
up3 = rsi3 < rsilimit3 and usersi3
up4 = rsi4 < rsilimit4 and usersi4
up5 = rsi5 < rsilimit5 and usersi5

up = up1 or up2 or up3 or up4 or up5
exit = rsi1 > rsilimit1 and rsi2 > rsilimit2 and rsi3 > rsilimit3 and rsi4 > rsilimit4 and rsi5 > rsilimit5
lot = strategy.position_size == 0 ? strategy.equity / close * capital / 100 : lot[1]

//Background
col = up ? lime : na
bgcolor(col, transp = 0)

//Trading
if up and (close < open or cf == false)
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot)
 
if  exit
    strategy.close_all()