4-часовая стратегия разворота CCI


Дата создания: 2023-10-13 15:29:05 Последнее изменение: 2023-10-13 15:29:05
Копировать: 2 Количество просмотров: 929
1
Подписаться
1617
Подписчики

Обзор

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

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

Во-первых, стратегия основана на показателях CCI.

CCI = (Typical Price - Simple Moving Average) / (0.015 * среднеквадратическая разница)

Среди них Типичная цена = (высокая цена + низкая цена + цена закрытия) / 3 Простая скользящая средняя = скользящая средняя типичной цены за последние N дней Диапазон средней квадратики = среднее значение квадрата отклонения от типичной цены за последние N дней

В этой стратегии используется индикатор CCI длиной 11 ◦ и устанавливается - 150 для зоны перепродажи и 150 для зоны перекупки ◦.

При закрытии каждого К-провода проверяется показатель CCI длиной 11. Если CCI ниже 150, то появляется сигнал плюс; Если CCI выше 150, то появляется сигнал пустоты.

При получении сигнала, открыть позицию по рыночной цене. И установить 1% стоп-стоп, 0,5% стоп-лосс.

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

  1. Используйте индикатор CCI, чтобы эффективно ловить возможности для перехода цены
  2. Параметры CCI могут быть изменены, чтобы проверить наиболее предпочтительные параметры
  3. Применение фиксированной пропорции стоп-стоп для эффективного управления рисками
  4. Логика стратегии проста, ясна и понятна

Риски и решения

  1. Индекс CCI может генерировать множество ложных сигналов, и сигналы, поступающие на рынок, не всегда надежны.
  • Решение: оптимизация параметров CCI в сочетании с фильтрацией других показателей
  1. Фиксированный коэффициент остановки, параметры разных сортов не всегда обоснованы
  • Решение: добавление динамического стоп-стоп
  1. Стратегии, основанные на CCI, однорисковые и легко неэффективные
  • Решение: комбинирование показателей для повышения стабильности
  1. “Все, что мы делаем, - это выставляем на продажу то, что у нас есть.
  • Решение: добавление сдвижной точки управления, снижение частоты торгов

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

  1. Оптимизация параметров CCI, чтобы найти лучшие комбинации параметров
  2. Включайте другие показатели, такие как MACD, KDJ и т. Д., чтобы отфильтровать вход
  3. Разработка динамических механизмов остановки, а не просто фиксированных пропорций
  4. Оптимизация стратегий, позволяющая снизить частоту транзакций, чтобы уменьшить влияние на их стоимость
  5. Оптимизация обратной связи, поиск оптимальных комбинаций параметров и подготовка к сделкам на реальном диске

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

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

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

//@version=4
strategy("4H CCI Strategy", overlay=true)
length = input( 11 )
overSold = input( -150 )
overBought = input( +150 )
price1 = high
price2 = low
ucci = cci(price1, length)
dcci = cci(price2, length)
vcci = cci(ohlc4, 11)

resCustom = input(title="Timeframe", defval="15")
Length = input(16, minval=1)
xPrice = request.security(syminfo.tickerid, resCustom, hlc3)
xvnoise = abs(xPrice - xPrice[1])
nfastend = 0.666
nslowend = 0.0645
nsignal = abs(xPrice - xPrice[Length])
nnoise = sum(xvnoise, Length)
nefratio = iff(nnoise != 0, nsignal / nnoise, 0)
nsmooth = pow(nefratio * (nfastend - nslowend) + nslowend, 2) 
nAMA = nz(nAMA[1]) + nsmooth * (xPrice - nz(nAMA[1]))
basis1 = nAMA
slope = change(basis1,1)

if (not na(vcci))
    if (crossover(dcci, overSold))
        strategy.entry("CCILE", strategy.long, comment="CCILE")
        strategy.exit("exit", "CCILE", profit = 0.01, loss = 0.005)
    if (crossunder(ucci, overBought))
        strategy.entry("CCISE", strategy.short, comment="CCISE")
        strategy.exit("exit", "CCISE", profit = 0.01, loss = 0.005)
//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)