Breakout de canal basado en vector candles y estrategia de ChoCH personalizada

El autor:¿ Qué pasa?, fecha: 2024-03-29 14:45:57
Las etiquetas:

img

Resumen general

Esta estrategia combina el concepto de Vector Candles con el reconocimiento de patrones tradicional de Channel Breakout y Chocolate Sauce (ChoCH) para capturar los movimientos de ruptura en el mercado.

Principio de la estrategia

  1. Calcular el volumen medio de un cierto número de velas pasadas y definir cuatro vectores de colores diferentes (rojo, verde, azul, púrpura) basado en el múltiplo de amplificación de volumen.
  2. Cuando el precio de cierre es inferior al mínimo de la vela anterior y es una vela vectorial roja, identifíquelo como una señal roja ChoCH; cuando el precio de cierre es superior al máximo de la vela anterior y es una vela vectorial verde, identifíquelo como una señal BOS verde.
  3. Dentro de un cierto número de velas de confirmación, si el número de apariciones de velas vectoriales rojas alcanza el umbral establecido, se confirmará la señal roja ChoCH; si el número de apariciones de velas vectoriales verdes alcanza el umbral establecido, se confirmará la señal verde BOS.
  4. Abrir una posición larga cuando se confirme una señal roja ChoCH y cerrar la posición cuando se confirme una señal verde BOS.

Ventajas estratégicas

  1. Combina vectores con el canal tradicional y los patrones de ChoCH, mejorando la fiabilidad de la señal.
  2. Introduce un mecanismo de vela de confirmación para filtrar eficazmente el ruido y las señales falsas.
  3. Distingue las señales por colores de vector de vela, haciéndolos más intuitivos y fáciles de identificar.
  4. Los parámetros ajustables proporcionan flexibilidad y pueden optimizarse en función de las diferentes condiciones del mercado y estilos de negociación.

Riesgos estratégicos

  1. En un mercado inestable, las rupturas y retrocesos frecuentes pueden dar lugar a numerosas señales falsas y pérdidas de operaciones.
  2. El ajuste incorrecto del número de velas de confirmación puede dar lugar a un retraso de la señal o a una entrada prematura.
  3. El hecho de apoyarse únicamente en indicadores técnicos sin tener en cuenta los factores fundamentales puede exponer la estrategia a riesgos inesperados.
  4. La estrategia no incluye un mecanismo de suspensión de pérdidas, lo que podría suponer pérdidas significativas durante las reversiones bruscas del mercado.

Direcciones para la optimización de la estrategia

  1. Introducir indicadores de confirmación de tendencia, como las medias móviles, para confirmar la dirección de la tendencia después de que aparezca una señal de ruptura, mejorando la calidad de la señal.
  2. Para los mercados agitados, considere incorporar estrategias de negociación de rango, como establecer condiciones de activación largas y cortas dentro del canal.
  3. Optimizar el número de velas de confirmación para encontrar un equilibrio adecuado entre filtrar eficazmente el ruido y evitar retrasos excesivos.
  4. Establecer reglas razonables de stop loss y take profit para controlar el riesgo comercial individual y el aprovechamiento general.
  5. Combinar con otros indicadores técnicos o con indicadores del sentimiento del mercado para proporcionar una base más sólida para las decisiones comerciales.

Conclusión

Esta estrategia combina innovadoramente vector candles con clásicos de canal de ruptura y patrones de ChoCH, mejorando la fiabilidad de la señal y la reconocibilidad a través de la diferenciación de color y un mecanismo de vela de confirmación. Las ventajas de la estrategia se encuentran en sus reglas claras, señales intuitivas, y un cierto grado de flexibilidad y potencial de optimización. Sin embargo, la estrategia también tiene algunas limitaciones y riesgos, tales como rendimiento inferior en mercados agitados, comprensión insuficiente de las tendencias del mercado, y una falta de gestión de stop-loss y take-profit.


/*backtest
start: 2024-02-01 00:00:00
end: 2024-02-29 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Custom ChoCH and BOS Strategy with Vector Candles", overlay=true)

// Input Parameters
length = input(10, title="Lookback Length for Volume")
volMultiplier = input(2.0, title="Volume Multiplier for Vector Candles")
confirmationCandles = input(3, title="Confirmation Candles")

// Calculate the average volume of the last 'length' candles
avgVol = sma(volume, length)

// Vector Candle Definitions
vectorCandleRed = (close < open) and (volume > avgVol * volMultiplier) ? 1.0 : 0.0
vectorCandleGreen = (close > open) and (volume > avgVol * volMultiplier) ? 1.0 : 0.0
vectorCandleBlue = (close < open) and (volume > avgVol * 1.5) ? 1.0 : 0.0 // 150% volume for blue
vectorCandlePurple = (close > open) and (volume > avgVol * 1.5) ? 1.0 : 0.0 // 150% volume for purple

// Detecting BOS and ChoCH
isRedChoCH = vectorCandleRed > 0 and (close < low[1]) // Red ChoCH
isGreenBOS = vectorCandleGreen > 0 and (close > high[1]) // Green BOS

// Confirmation Logic
redChoCHConfirmed = (sum(vectorCandleRed, confirmationCandles) >= 2) ? 1.0 : 0.0
greenBOSConfirmed = (sum(vectorCandleGreen, confirmationCandles) >= 2) ? 1.0 : 0.0

// Entry Conditions
buyCondition = redChoCHConfirmed > 0
sellCondition = greenBOSConfirmed > 0

// Strategy Execution
if (buyCondition)
    strategy.entry("Buy", strategy.long)
if (sellCondition)
    strategy.close("Buy")

// Plotting Vector Candles and Signals
plotshape(series=isRedChoCH, title="Red ChoCH Signal", location=location.belowbar, color=color.red, style=shape.circle, text="Red ChoCH")
plotshape(series=isGreenBOS, title="Green BOS Signal", location=location.abovebar, color=color.green, style=shape.circle, text="Green BOS")

// Plotting Vector Candles for Visualization
plotchar(vectorCandleRed > 0, title="Vector Candle Red", location=location.belowbar, color=color.red, char='R', text="Red")
plotchar(vectorCandleGreen > 0, title="Vector Candle Green", location=location.abovebar, color=color.green, char='G', text="Green")
plotchar(vectorCandleBlue > 0, title="Vector Candle Blue", location=location.belowbar, color=color.blue, char='B', text="Blue")
plotchar(vectorCandlePurple > 0, title="Vector Candle Purple", location=location.abovebar, color=color.purple, char='P', text="Purple")


Más.