
La estrategia se basa en el clásico índice de canales de mercancías (CCI) y solo hace más tijeras. Cuando el indicador CCI está en niveles muy bajos (CCI <-150 o un umbral definido por el usuario) y se recupera la fuerza (CCI de la línea K anterior a CCI) y se filtra el umbral de la fuerza del precio (el precio de cierre de la línea K que emite la señal debe estar por encima de un cierto margen del precio de apertura - fijado en 0.25%), el sistema entra en el mercado.
Esta estrategia se utiliza para obtener altas tasas de ganancia (más del 50%) en lugar de perseguir toda la longitud de la tendencia de captura. Por lo tanto, se aplica a los comerciantes que no pueden soportar una pérdida potencial al ver una caída.
Utiliza las funciones ta.sma() y ta.dev() para construir el índice CCI y sus bandas de intervalos.
Seleccione la fecha de inicio de la operación con el input y configure la ventana de retroalimentación.
Condiciones de ingreso: La CCI debe atravesar la línea baja y comenzar a subir, al mismo tiempo que se requiere que la línea K de la señal cierre el precio de cierre del 0.25% por encima del precio de apertura.
Condiciones de salida 1: CCI en línea, parada y salida de la cancha.
Condición de salida 2: Bajar la línea de parada, salir del juego con pérdidas.
La estrategia es simplemente hacer más, elegir el momento de entrada de acuerdo con la intensidad del indicador CCI, mientras se utiliza el riesgo de control de pérdidas.
La estrategia tiene las siguientes ventajas:
El indicador CCI es utilizado para identificar sobrecompras y sobreventas, lo que permite aprovechar las oportunidades de reversión.
El problema es que la mayoría de las personas no tienen acceso a los servicios de la red, y por lo tanto no tienen acceso a la red.
El uso de un filtro de fuerza de precio para asegurar que el precio de entrada se haya apoyado.
El mecanismo de detención de pérdidas controla las pérdidas individuales y administra los fondos de manera eficiente.
Los parámetros de detección son flexibles y se pueden ajustar las condiciones de filtrado de entrada.
Las probabilidades de éxito son más altas y son adecuadas para los inversores que se centran en la administración de fondos.
La estrategia es clara, el código es sencillo y fácil de entender.
La estrategia también tiene ciertos riesgos:
En la mayoría de los casos, las líneas son muy pequeñas, y las líneas son muy pequeñas, y las líneas son muy pequeñas.
La configuración incorrecta de los parámetros de CCI puede causar fallas.
La configuración de stop loss es demasiado flexible para controlar las pérdidas de manera efectiva.
La mayoría de las operaciones son demasiado fuertes, y el stop loss se rompe causando grandes pérdidas.
La alta frecuencia de las transacciones genera presión sobre los costos de las transacciones.
Las medidas de gestión de riesgos correspondientes:
Optimización de los parámetros CCI para encontrar el valor óptimo.
Ajustar la amplitud del stop para encontrar un equilibrio entre el riesgo y la probabilidad de que el stop sea superado.
El costo de la transacción incluye el control de la frecuencia de entrada.
La combinación de tendencias y discernimiento intervalo evita el comercio unilateral.
La estrategia puede ser optimizada en los siguientes aspectos:
Utiliza un stop loss dinámico que se ajusta a la distancia de stop loss según la volatilidad del mercado.
En combinación con indicadores como el MACD, evita el cierre demasiado flexible.
Aumentar las oportunidades de venta y considerar el vacío en caso de que el índice de cici se caliente.
Tenga en cuenta el costo de la transacción y establezca una distancia mínima de parada.
Los parámetros de optimización se combinan con el marco de tiempo de la estrategia para encontrar la combinación óptima.
Optimización automática de los parámetros mediante métodos de aprendizaje automático.
Añadir módulos de gestión de fondos y ajustar posiciones dinámicamente.
En resumen, la estrategia aprovecha la característica de sobrecompra y sobreventa del indicador CCI para hacer más cuando el precio forma un soporte y buscar una operación de alta ganancia mediante el control de los riesgos de pérdidas. La ventaja de la estrategia reside en la facilidad de operación y el control de los riesgos.
/*backtest
start: 2022-11-08 00:00:00
end: 2023-11-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy(title='CCI High Performance long only', overlay=false )
src = input(close)
length = input.int(20, title='Period', minval=1)
lossp = input.float(8, title='Stop Loss percentage', minval=0.5, step=0.5)
scart = input.float(0.25, title='Close of the signal bar higher than Open %', minval = 0)
upperline = input.int(150, title='Upper Band', minval=0, step=10)
lowline = input.int(-150, title='Low Band', maxval=0, step=10)
// construction of CCI (not on close but in totalprice) and of bands
ma = ta.sma(src, length)
cci = (src - ma) / (0.015 * ta.dev(src, length))
plot(cci, 'CCI', color=color.new(#996A15, 0))
band1 = hline(upperline, 'Upper Band', color=#C0C0C0, linestyle=hline.style_dashed)
band0 = hline(lowline, 'Lower Band', color=#C0C0C0, linestyle=hline.style_dashed)
fill(band1, band0, color=color.new(#9C6E1B, 90), title='Background')
// === INPUT BACKTEST RANGE ===
fromMonth = input.int(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromDay = input.int(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromYear = input.int(defval = 2016, title = "From Year", minval = 1970)
thruMonth = input.int(defval = 1, title = "Thru Month", minval = 1, maxval = 12)
thruDay = input.int(defval = 1, title = "Thru Day", minval = 1, maxval = 31)
thruYear = input.int(defval = 2112, title = "Thru Year", minval = 1970)
// === FUNCTION EXAMPLE limit for backtest ===
start = timestamp(fromYear, fromMonth, fromDay, 00, 00) // backtest start window
finish = timestamp(thruYear, thruMonth, thruDay, 23, 59) // backtest finish window
window() => time >= start and time <= finish ? true : false // create function "within window of time"
//ENTRY CONDITIONS
// strategy: enter when CCI is under the low line and starts increasing. The filter is that the signal candle should mark a close higher than a x-percent
// (0.25%) of the open
// Exit when either when it reaches the target of a prices highest than high level of CCI or fixed stop loss (in percentage)
scart_level = open * (1+scart/100)
entryl = cci[1] < lowline[1] and cci > cci[1] and close > scart_level and window()
exit1 = cci> upperline
strategy.entry('Long', strategy.long, when=entryl)
strategy.close('Long', when=exit1, comment='target')
// money management (only stop loss)
losspel = strategy.position_avg_price * (1 - lossp / 100)
fixed_stop_long = close < losspel
strategy.close('Long', when=fixed_stop_long, comment='Stop Loss')