Стратегия торговли с изменением индекса товарного канала

Автор:Чао Чжан, Дата: 2024-01-29 16:18:35
Тэги:

img

Обзор

Эта стратегия определяет циклические и сезонные характеристики на рынке на основе индекса товарного канала (CCI) для обнаружения начала и конца циклов.

Логика стратегии

Значение индекса товарного канала (CCI) показывает, как инструмент торгуется относительно средней цены. Когда значение CCI высокое, это означает, что цены выше средней цены. Когда значение CCI низкое, это означает, что цены ниже средней цены. Значение CCI обычно не выходит за пределы диапазона -300 до 300.

Эта стратегия использует индикатор CCI с длиной 10 и его простые скользящие средние с длиной 10 и 20. Он длинный, когда медленный скользящий средний ниже быстрого, и короткий, когда медленный скользящий средний выше быстрого.

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

  • Показатель CCI может эффективно идентифицировать циклические характеристики и точки перелома
  • Фильтрованные двойными скользящими средними для уменьшения ложных сигналов
  • Позволяет выбирать длинное или короткое направление для различных рыночных условий
  • Контролируемые риски с четким уровнем стоп-лосса

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

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

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

Руководство по оптимизации

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

Резюме

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


/*backtest
start: 2023-01-22 00:00:00
end: 2024-01-28 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version = 2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 30/11/2016
// The Commodity Channel Index (CCI) is best used with markets that display cyclical or 
// seasonal characteristics, and is formulated to detect the beginning and ending of these 
// cycles by incorporating a moving average together with a divisor that reflects both possible 
// and actual trading ranges. The final index measures the deviation from normal, which indicates 
// major changes in market trend.
// To put it simply, the Commodity Channel Index (CCI) value shows how the instrument is trading 
// relative to its mean (average) price. When the CCI value is high, it means that the prices are 
// high compared to the average price; when the CCI value is down, it means that the prices are low 
// compared to the average price. The CCI value usually does not fall outside the -300 to 300 range 
// and, in fact, is usually in the -100 to 100 range.
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="CCI Strategy Reversed Backtest", shorttitle="CCI Strategy")
FastMA = input(10, minval=1)
SlowMA = input(20, minval=1)
reverse = input(true, title="Trade reverse")
hline(0, color=purple)
xCCI = cci(close, 10)
xSMA = sma(xCCI,SlowMA)
xFMA = sma(xCCI,FastMA)
pos = iff(xSMA < xFMA , 1,
	   iff(xSMA > xFMA, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
         iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(pos == -1 ? red: pos == 1 ? green : blue)
plot(xSMA, color=red, title="CCI MA Slow")
plot(xFMA, color=blue, title="CCI MA FAST")


Больше