Эта стратегия использует нулевые пересечения индикатора CCI в качестве сигналов входа и выхода для определения направления тренда.
Основная логика заключается в том, чтобы захватить нулевые пересечения CCI как сигналы изменений тренда. Когда CCI переходит из отрицательной в положительную зону, это указывает на то, что цены вышли из перепроданной зоны и могут начать восходящий тренд. Когда CCI переходит из положительной в отрицательную зону, это указывает на то, что цены вышли из перекупленной зоны и могут начать нисходящий тренд. Стратегия вступает в пересечения и устанавливает разумную стоп-лосс для контроля риска.
Решения:
Стратегия может быть дополнительно оптимизирована в следующих аспектах:
Оптимизируйте длину параметра CCI, чтобы найти оптимальную настройку.
Добавьте другие индикаторы, такие как KDJ, MACD для подтверждения, избегайте ложных сигналов CCI. Требуйте постоянного прорыва ценовых уровней или одновременных сигналов.
Динамически корректируйте расстояние стоп-лосса на основе волатильности рынка. Более жесткие стопы означают своевременные остановки, но могут быть слишком чувствительными. Более широкие остановки позволяют удерживать тенденции, но увеличивают убытки, если остановиться.
Начните масштабировать, когда CCI приближается к нулевому пересечению, вместо того, чтобы ждать точного пересечения.
Добавьте правила выхода из тренда, чтобы максимизировать прибыль.
Эта стратегия использует нулевые пересечения CCI для определения направления тренда и входа на пересечения с разумным стоп-лосом, эффективно следуя за тенденциями. Дальнейшие оптимизации подтверждения, настройки параметров, правил входа и выходов могут улучшить ее в стабильную стратегию следования тренду. Трейдеры могут принять соответствующее расстояние остановки, период удержания на основе предпочтения риска и прибыль, используя эту стратегию.
/*backtest start: 2022-09-21 00:00:00 end: 2023-09-27 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("CCI Level Zero Strategy (by Marcoweb) v1.0", shorttitle="CCI_L_Z_Strat_v1.0", overlay=true) ///////////// CCI CCIlength = input(20, minval=1, title="CCI Period Length") CCIoverSold = -100 CCIoverBought = 100 CCIzeroLine = 0 CCI = cci(hlc3, CCIlength) price = hlc3 vcci = cci(price, CCIlength) source = close buyEntry = crossover(source, CCIzeroLine) sellEntry = crossunder(source, CCIzeroLine) plot(CCI, color=black,title="CCI") p1 = plot(CCIoverSold, color=blue,title="-100") p2 = plot(CCIoverBought, color=red,title="100") p3 = plot(CCIzeroLine, color=orange,title="0") ///////////// CCI 0Trend v1.0 Strategy if (not na(vcci)) if (crossover(CCI, CCIzeroLine)) strategy.entry("CCI_L", strategy.long, stop=CCIoverSold, comment="CCI_L") else strategy.cancel(id="CCI_L") if (crossunder(CCI, CCIzeroLine)) strategy.entry("CCI_S", strategy.short, stop=CCIoverBought, comment="CCI_S") else strategy.cancel(id="CCI_S") //plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)