
La estrategia se basa principalmente en el Camilla y la línea media móvil para juzgar los puntos de ruptura del mercado y luego realizar el seguimiento de la tendencia. La estrategia es relativamente simple, pero tiene una gran utilidad.
Calcular las líneas de soporte y resistencia del canal de Camaleira. Incluye las líneas H4, L4 y otras.
Determina si el precio ha roto la línea de acceso. Por ejemplo, si el precio de cierre cruza la línea H4 y el precio de apertura es inferior a la línea H4, considera que hay una señal de ruptura.
La inclusión de la mediana móvil en el juicio confirma aún más la señal de ruptura. Por ejemplo, el EMA por debajo del precio de cierre es una ruptura múltiple.
Entrar en posiciones de varios titulares, establecer condiciones de stop loss y stop loss, como establecer un número fijo de puntos de stop loss, y cómo rastrear el stop loss.
La misma lógica se aplica a las cabezas vacías.
Esta es la lógica de juicio principal de la estrategia, que es relativamente simple, intuitiva, fácil de entender y de implementar. Mediante el seguimiento dinámico de los stop losses, se puede obtener beneficios permanentes hasta que la tendencia se revierta.
La estrategia tiene las siguientes ventajas:
Basado en el canal de Camaleira, se puede ubicar con precisión el soporte y la resistencia potenciales.
La combinación de filtros uniformes permite distinguir eficazmente entre la verdadera y la falsa señal de ruptura.
El uso de un método de seguimiento de la parada de pérdidas puede generar ganancias continuas y evitar el reverso de la parada de pérdidas.
Las señales de estrategia son simples y claras, y las acciones son fáciles de juzgar.
Sin necesidad de ajustar los parámetros con frecuencia, el comercio automático de parámetros fijos.
La estrategia también tiene los siguientes riesgos:
El canal de Camaleira no puede determinar con precisión el punto de reversión de la tendencia, lo que podría conducir a una expansión de las pérdidas.
La configuración de puntos de parada de seguimiento no razonables puede causar una parada prematura o una ampliación de las pérdidas.
La señal de ruptura podría haber sido falsa.
En los últimos meses, el mercado ha sufrido fuertes fluctuaciones y se han producido falsos reveses.
La estrategia también puede ser optimizada en los siguientes aspectos:
Aumentar los indicadores de filtración compuesta para mejorar la precisión de la brecha. Se pueden considerar KDJ, MACD, etc.
Optimización de las estrategias de stop loss, como la introducción de stop loss dinámico y la combinación de indicadores ATR.
Optimización de los parámetros de las diferentes variedades para mejorar la estabilidad.
Aumentar el conocimiento de las tendencias de los grandes ciclos y evitar el comercio en contra.
La combinación de análisis cuantitativo del día y focalización cuantitativa de la brecha.
Desarrollo de programas de optimización automática de parámetros en tiempo real.
La estrategia de arbitraje se expandió a varias variedades, aprovechando las diferencias de precios.
Esta estrategia es clara, sencilla y práctica, y es una estrategia típica de seguimiento de la ruptura. La determinación de la resistencia potencial al soporte a través del canal de Camaleira, combinada con un filtro uniforme para determinar la dirección de la ruptura. El método de parada de pérdidas también es razonable.
/*backtest
start: 2023-09-23 00:00:00
end: 2023-10-23 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
//Created by CristianD
strategy(title="CamarillaStrategyV1", shorttitle="CD_Camarilla_StrategyV1", overlay=true)
//sd = input(true, title="Show Daily Pivots?")
EMA = ema(close,8)
//Camarilla
pivot = (high + low + close ) / 3.0
range = high - low
h5 = (high/low) * close
h4 = close + (high - low) * 1.1 / 2.0
h3 = close + (high - low) * 1.1 / 4.0
h2 = close + (high - low) * 1.1 / 6.0
h1 = close + (high - low) * 1.1 / 12.0
l1 = close - (high - low) * 1.1 / 12.0
l2 = close - (high - low) * 1.1 / 6.0
l3 = close - (high - low) * 1.1 / 4.0
l4 = close - (high - low) * 1.1 / 2.0
h6 = h5 + 1.168 * (h5 - h4)
l5 = close - (h5 - close)
l6 = close - (h6 - close)
// Daily line breaks
//sopen = request.security(syminfo.tickerid, "D", open [1])
//shigh = request.security(syminfo.tickerid, "D", high [1])
//slow = request.security(syminfo.tickerid, "D", low [1])
//sclose = request.security(syminfo.tickerid, "D", close [1])
//
// Color
//dcolor=sopen != sopen[1] ? na : black
//dcolor1=sopen != sopen[1] ? na : red
//dcolor2=sopen != sopen[1] ? na : green
//Daily Pivots
dtime_pivot = request.security(syminfo.tickerid, 'D', pivot[1])
dtime_h6 = request.security(syminfo.tickerid, 'D', h6[1])
dtime_h5 = request.security(syminfo.tickerid, 'D', h5[1])
dtime_h4 = request.security(syminfo.tickerid, 'D', h4[1])
dtime_h3 = request.security(syminfo.tickerid, 'D', h3[1])
dtime_h2 = request.security(syminfo.tickerid, 'D', h2[1])
dtime_h1 = request.security(syminfo.tickerid, 'D', h1[1])
dtime_l1 = request.security(syminfo.tickerid, 'D', l1[1])
dtime_l2 = request.security(syminfo.tickerid, 'D', l2[1])
dtime_l3 = request.security(syminfo.tickerid, 'D', l3[1])
dtime_l4 = request.security(syminfo.tickerid, 'D', l4[1])
dtime_l5 = request.security(syminfo.tickerid, 'D', l5[1])
dtime_l6 = request.security(syminfo.tickerid, 'D', l6[1])
//offs_daily = 0
//plot(sd and dtime_pivot ? dtime_pivot : na, title="Daily Pivot",color=dcolor, linewidth=2)
//plot(sd and dtime_h6 ? dtime_h6 : na, title="Daily H6", color=dcolor2, linewidth=2)
//plot(sd and dtime_h5 ? dtime_h5 : na, title="Daily H5",color=dcolor2, linewidth=2)
//plot(sd and dtime_h4 ? dtime_h4 : na, title="Daily H4",color=dcolor2, linewidth=2)
//plot(sd and dtime_h3 ? dtime_h3 : na, title="Daily H3",color=dcolor1, linewidth=3)
//plot(sd and dtime_h2 ? dtime_h2 : na, title="Daily H2",color=dcolor2, linewidth=2)
//plot(sd and dtime_h1 ? dtime_h1 : na, title="Daily H1",color=dcolor2, linewidth=2)
//plot(sd and dtime_l1 ? dtime_l1 : na, title="Daily L1",color=dcolor2, linewidth=2)
//plot(sd and dtime_l2 ? dtime_l2 : na, title="Daily L2",color=dcolor2, linewidth=2)
//plot(sd and dtime_l3 ? dtime_l3 : na, title="Daily L3",color=dcolor1, linewidth=3)
//plot(sd and dtime_l4 ? dtime_l4 : na, title="Daily L4",color=dcolor2, linewidth=2)
//plot(sd and dtime_l5 ? dtime_l5 : na, title="Daily L5",color=dcolor2, linewidth=2)
//plot(sd and dtime_l6 ? dtime_l6 : na, title="Daily L6",color=dcolor2, linewidth=2)
longCondition = close >dtime_h4 and open < dtime_h4 and EMA < close
if (longCondition)
strategy.entry("Long", strategy.long)
strategy.exit ("Exit Long","Long", trail_points = 140,trail_offset = 1, loss =170)
//trail_points = 40, trail_offset = 3, loss =70 and
shortCondition = close <dtime_l4 and open >dtime_l4 and EMA > close
if (shortCondition)
strategy.entry("Short", strategy.short)
strategy.exit ("Exit Short","Short", trail_points = 110,trail_offset = 1, loss =120)