Estrategia de avance de microrretroceso basada en el impulso cuantitativo

ATR SMA OCA VOLUME
Fecha de creación: 2025-02-19 16:32:46 Última modificación: 2025-02-19 17:25:25
Copiar: 0 Número de Visitas: 335
2
Seguir
319
Seguidores

Estrategia de avance de microrretroceso basada en el impulso cuantitativo Estrategia de avance de microrretroceso basada en el impulso cuantitativo

Descripción general

La estrategia es un sistema de negociación basado en la dinámica de los precios y el volumen de transacciones, que se centra en identificar oportunidades de reajustes menores después de una fuerte subida. La estrategia se basa en la monitorización de reajustes cortos después de una línea verde de gran subida, para entrar en operaciones cuando se produce una señal de reversión en los precios. El sistema utiliza múltiples condiciones de filtración, incluidos el volumen de transacciones, la tasa de fluctuación de ATR y los límites del margen de reajuste, para mejorar la precisión de las operaciones.

Principio de estrategia

La lógica central de la estrategia se basa en el principio de la continuidad de la dinámica del mercado, que incluye los siguientes elementos clave:

  1. Identificación de un fuerte aumento en el volumen de transacciones y en el número de ATR, que requiere un volumen de transacciones 1.5 veces mayor que el promedio y mayor de 200.000
  2. Monitorear el proceso de reajuste después de la adicción y limitar el número máximo de rojas rojas consecutivas a 3
  3. Establezca un margen de retroceso máximo del 50% y abandone la oportunidad de negociación si lo supera
  4. El precio de los bonos de divisas se ha estabilizado y se ha disparado una señal cuando ha superado el punto más alto de la etapa anterior.
  5. Portfolio de órdenes OCO para la gestión de las tenencias, con objetivos de stop loss y profit
  6. El Stop Loss está establecido por debajo de los mínimos de reajuste y el objetivo de ganancia es el doble del riesgo

Ventajas estratégicas

  1. La combinación de la doble confirmación de movimiento de precios y volumen de transacciones mejora la fiabilidad de la señal
  2. Filtración de las condiciones de retorno riguroso para evitar trampas de falsas brechas
  3. El uso de indicadores técnicos objetivos reduce el impacto de los juicios subjetivos
  4. Mecanismos claros de control de riesgos y configuración fija de la relación riesgo-beneficio
  5. Sistema altamente automatizado para el comercio masivo de varias variedades
  6. Tiene buena expansibilidad y es fácil de agregar nuevas condiciones de filtración

Riesgo estratégico

  1. Las señales falsas pueden desencadenarse con frecuencia en momentos de fuertes fluctuaciones en el mercado.
  2. El repunte de las acciones de alta fortaleza podría superar los límites predeterminados
  3. Las condiciones de entrega requieren un ajuste dinámico en diferentes entornos de mercado
  4. El stop loss está más cerca y puede ser afectado por el ruido del mercado.
  5. Los objetivos de ganancias pueden ser demasiado radicales y difíciles de alcanzar.
  6. Se requiere una mayor cantidad de muestras para verificar la estabilidad de la estrategia

Dirección de optimización de la estrategia

  1. Introducción de filtros de tendencia, como un sistema de línea media o un indicador de tendencia, para asegurar que se negocie en la dirección de la tendencia principal
  2. Ajuste dinámico de las pérdidas de volumen de transacción para adaptarse a diferentes ciclos de mercado
  3. Optimizar la configuración de la posición de stop loss y considerar el uso de multiplicadores ATR
  4. Añadir filtros de tiempo para evitar fluctuaciones en los mercados de apertura y cierre
  5. Introducción de confirmación de múltiples ciclos de tiempo para mejorar la fiabilidad de la señal
  6. Desarrollar un sistema de parámetros adaptativos para ajustar los parámetros de la estrategia según las condiciones del mercado

Resumir

Se trata de una estrategia de seguimiento de tendencias de diseño razonable, capaz de capturar oportunidades de comercio de calidad en el mercado a través de una estricta selección de condiciones y gestión de riesgos. La clave del éxito de la estrategia reside en la optimización de los parámetros y la adaptabilidad de los ajustes al entorno del mercado. Se recomienda realizar una verificación de retroalimentación adecuada antes de la negociación en vivo y ajustar los parámetros según las características de la variedad de negociación específica.

Código Fuente de la Estrategia
/*backtest
start: 2024-02-19 00:00:00
end: 2025-02-17 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"BNB_USDT"}]
*/

//@version=6
strategy(title="Micropullback Detector w/ Stop Buy & Exits", shorttitle="MicroPB Det+Exits", overlay=true)

// USER INPUTS
volLookback = input.int(20, "Volume SMA Period", minval=1)
volMultiplier = input.float(1.5, "Volume Multiplier for High Volume", minval=1.0)
largeCandleATR = input.float(0.5, "Fraction of ATR to define 'Large Candle'", minval=0.1)
maxRedPullback = input.int(3, "Max Consecutive Red Candles in Pullback")
maxRetracementPc = input.float(50, "Max Retracement % for pullback", minval=1.0, maxval=100.0)

// CALCULATIONS
fastAtr = ta.atr(14)
avgVolume = ta.sma(volume, volLookback)
isLargeGreenCandle = (close > open) and ((close - open) > fastAtr * largeCandleATR) and (volume > avgVolume * volMultiplier) and (volume > 200000)

// HELPER FLAGS
isGreen = close >= open
isRed   = close < open

// STATE VARIABLES
var int   state = 0
var float waveStartPrice   = na
var float waveHighestPrice = na
var float largestGreenVol  = na
var int   consecutiveRedPulls = 0
var bool  triggerSignal    = false
var float wavePullbackLow  = na

if barstate.isnew
    triggerSignal:=false
    if state==0
        wavePullbackLow:=na
        if isLargeGreenCandle
            state:=1
            waveStartPrice:=open
            waveHighestPrice:=high
            largestGreenVol:=volume
            consecutiveRedPulls:=0
    else if state==1
        if isGreen
            waveHighestPrice:=math.max(waveHighestPrice,high)
            if volume>largestGreenVol
                largestGreenVol:=volume
        else
            state:=2
            consecutiveRedPulls:=1
            wavePullbackLow:=low
    else if state==2
        if isRed
            if volume>largestGreenVol
                state:=0
            consecutiveRedPulls+=1
            if consecutiveRedPulls>=maxRedPullback+1
                state:=0
            retracementLevel=waveStartPrice+(maxRetracementPc/100.0)*(waveHighestPrice-waveStartPrice)
            wavePullbackLow:=math.min(wavePullbackLow,low)
            if close<retracementLevel
                state:=0
        else
            consecutiveRedPulls:=0
            if high>high[1]
                triggerSignal:=true
                state:=3
    else if state==3
        state:=0

// Plot shapes for signals (last 1440 bars ~ 1 day at 1-min TF)
plotshape(isLargeGreenCandle, title="Large Green Candle", style=shape.diamond, location=location.belowbar, color=color.new(color.blue, 0), offset=0, size=size.small, show_last=1440)
plotshape(triggerSignal, title="MicroPB Entry", style=shape.arrowdown, location=location.abovebar, color=color.new(color.green, 0), offset=0, size=size.large, show_last=1440)

// ENTRY & EXITS
if triggerSignal
    // Stop Buy above the previous bar's high
    entryPrice = high[1]
    strategy.order("MicroPullback Long", strategy.long, limit=entryPrice, oca_name="MicroPullback")

    // Stoploss slightly below pullback low
    stopPrice = wavePullbackLow - 2*syminfo.mintick

    // Risk & take-profit calculations
    risk = entryPrice - stopPrice
    tpPrice = entryPrice + 2 * risk

    // Exit: stop or TP
    strategy.exit("SL+TP", "MicroPullback Long", stop=stopPrice, limit=tpPrice, qty_percent=100)

// ALERT
alertcondition(triggerSignal, title="MicroPullback LONG", message="Micropullback Long Signal Detected!")