
Esta estrategia se basa en el indicador CCI y está diseñada para una estrategia de negociación de línea larga que solo se realiza sin hacer un descuento. Se genera una señal de compra cuando el indicador CCI supera los 100 y se genera una señal de venta cuando el indicador CCI cae por debajo de los 100. La estrategia solo permite posiciones cerradas y no se permite un descuento, por lo que se puede prevenir eficazmente el riesgo de operaciones en blanco.
El CCI es un indicador de fluctuación de tendencia que mide la diferencia entre el precio actual y el precio típico en un período determinado para determinar si se trata de una situación de sobreventa o de sobreventa. Se puede considerar una venta cuando el CCI supera los 100 para entrar en la zona de sobreventa; se puede considerar una compra cuando el CCI es inferior a 100 para entrar en la zona de sobreventa.
La lógica de esta estrategia es que cuando el indicador CCI supera 100 y genera una señal de compra, se puede establecer una posición de venta; cuando el indicador CCI rompe 100 y genera una señal de venta, se elimina la posición de venta anterior. Además, la estrategia evita la creación de posiciones de venta en blanco, controlando el riesgo de manera efectiva.
Esta estrategia utiliza el indicador CCI para determinar la zona de sobreventa y sobreventa, solo haga más y no haga vacío, para evitar el riesgo de operaciones en blanco. El concepto de la estrategia es más maduro, la lógica es simple y fácil de implementar. Pero también existe cierto riesgo, que requiere atención a la optimización de los parámetros, la combinación de más indicadores y la configuración de paradas.
/*backtest
start: 2022-12-11 00:00:00
end: 2023-12-17 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("CCI Long Only Strategy", overlay=true)
// Input for CCI period
cciPeriod = input(14, title="CCI Period")
// Calculate CCI
cciValue = ta.cci(close, cciPeriod)
// Initialize variables to track last signals
var bool lastBuySignal = na
var bool lastSellSignal = na
// Buy condition
buyCondition = cciValue > 100 and na(lastBuySignal)
// Sell condition
sellCondition = cciValue < -100 and na(lastSellSignal)
// Update last signals
lastBuySignal := buyCondition ? true : na
lastSellSignal := sellCondition ? true : na
// Execute Buy and Sell orders
strategy.entry("Buy", strategy.long, when = buyCondition)
strategy.close("Buy", when = sellCondition)
// Plot CCI for reference
plot(cciValue, title="CCI", color=color.blue)