Estrategia de negociación de inversión del índice de canal de materias primas

El autor:¿ Qué pasa?, fecha: 2024-01-29 16:18:35
Las etiquetas:

img

Resumen general

Esta estrategia identifica las características cíclicas y estacionales en el mercado basándose en el índice del canal de productos básicos (CCI) para detectar el comienzo y el final de los ciclos.

Estrategia lógica

El valor del índice de canal de productos básicos (CCI) muestra cómo se negocia el instrumento en relación con su precio promedio. Cuando el valor del CCI es alto, significa que los precios son más altos que el precio promedio. Cuando el valor del CCI es bajo, significa que los precios son más bajos que el precio promedio. El valor del CCI generalmente no cae fuera del rango de -300 a 300.

Esta estrategia utiliza el indicador CCI con longitud 10 y sus promedios móviles simples con longitud 10 y 20.

Análisis de ventajas

  • El indicador CCI puede identificar eficazmente las características cíclicas y los puntos de inflexión
  • Filtrado por medias móviles dobles para reducir las señales falsas
  • Permite seleccionar la dirección larga o corta para diferentes entornos de mercado
  • Los riesgos controlables con niveles de stop loss claros

Análisis de riesgos

  • El CCI puede no funcionar bien para las acciones con grandes fluctuaciones de precios
  • Las medias móviles se retrasan y pueden perder puntos de inflexión
  • Ninguna consideración de los fundamentos, incapaz de juzgar si el precio está subvalorado o sobrevalorado
  • Las pérdidas de parada pueden romperse en plazos más largos

La optimización se puede hacer ajustando los parámetros del CCI o los períodos de promedio móvil, o agregando otros indicadores técnicos para juzgar los fundamentos.

Direcciones de optimización

  • Optimizar los parámetros de los CCI para los diferentes ciclos y la volatilidad
  • Optimizar los períodos de media móvil para equilibrar el retraso y el ruido
  • Añadir indicadores como el volumen para juzgar la verdadera ruptura
  • Determinar la tendencia general en plazos más largos

Resumen de las actividades

Esta estrategia identifica tendencias a corto plazo mediante el uso de CCI y promedios móviles duales para juzgar las características cíclicas. Sus ventajas son reglas simples y claras, ajuste flexible de parámetros y riesgos controlables.


/*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")


Más.