Стратегия слияния RSI-CCI


Дата создания: 2023-09-19 16:42:18 Последнее изменение: 2023-09-19 16:42:18
Копировать: 0 Количество просмотров: 1136
1
Подписаться
1617
Подписчики

Обзор

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

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

  1. Рассчитайте значения RSI и CCI.

  2. С помощью z-score стандартизированы значения RSI и CCI, что делает их более сопоставимыми.

  3. После стандартизации RSI и CCI объединяются по определенному весу.

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

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

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

По сравнению с использованием RSI или CCI в одиночку, эта стратегия имеет следующие преимущества:

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

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

  3. Стандартизированная обработка позволяет сравнивать различные показатели и повышает эффективность слияния.

  4. Это позволяет одновременно оценивать тенденции и перекуп и перепродажу.

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

Однако эта стратегия также несет в себе некоторые риски:

  1. Неправильно настроенные параметры могут привести к пропуску ключевого момента сделки.

  2. Неправильная установка веса может ослабить эффективность одного из показателей.

  3. Не обращая внимания на направление общей тенденции, может привести к обратной торговле.

  4. Настройка колеи слишком слабая или слишком плотная, риски ошибочного расчета.

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

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

  1. Испытание различных параметров, чтобы найти оптимальные.

  2. Оптимизируйте вес показателя в зависимости от рыночной ситуации.

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

  4. Настройка стоп-стоп, управление рисками.

  5. Оптимизация параметров движения вверх и вниз, баланс чувствительности и шума.

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

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

Исходный код стратегии
/*backtest
start: 2023-08-19 00:00:00
end: 2023-09-18 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// © Julien_Eche

//@version=5
// strategy("RSI-CCI Fusion Strategy", shorttitle="RSI-CCI Fusion Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

length = input(14, title="Length")
rsi_weight = input.float(0.5, title="RSI Weight", minval=0.0, maxval=1.0)
cci_weight = 1.0 - rsi_weight

enableShort = input(false, "Enable Short Positions")

src = close
rsi = ta.rsi(src, length)
cci = ta.cci(src, length)

// Standardize the RSI and CCI values using z-score
rsi_std = ta.stdev(rsi, length)
rsi_mean = ta.sma(rsi, length)
rsi_z = (rsi - rsi_mean) / rsi_std

cci_std = ta.stdev(cci, length)
cci_mean = ta.sma(cci, length)
cci_z = (cci - cci_mean) / cci_std

// Combine the standardized RSI and CCI
combined_z = rsi_weight * rsi_z + cci_weight * cci_z

// Rescale to the original scale
rescaled = combined_z * ta.stdev(combined_z, length) + ta.sma(combined_z, length)

// Calculate dynamic upper and lower bands
upper_band = ta.sma(rescaled, length) + ta.stdev(rescaled, length)
lower_band = ta.sma(rescaled, length) - ta.stdev(rescaled, length)

// Buy and sell conditions
buySignal = ta.crossover(rescaled, lower_band)
sellSignal = ta.crossunder(rescaled, upper_band)

// Enter long position
if buySignal
    strategy.entry("Buy", strategy.long)

// Exit long position
if sellSignal
    strategy.close("Buy")

// Enter short position if enabled
if enableShort and sellSignal
    strategy.entry("Sell", strategy.short)

// Exit short position if enabled
if enableShort and buySignal
    strategy.close("Sell")