En la carga de los recursos... Cargando...

Estrategia avanzada de detección de la brecha de valor razonable con gestión dinámica del riesgo y ganancia fija

El autor:¿ Qué pasa?, Fecha: 2024-11-29 16:22:10
Las etiquetas:FVGSLTP

img

Resumen general

Esta es una estrategia de trading basada en la detección de la brecha de valor justo (FVG), que combina la gestión dinámica del riesgo con objetivos fijos de toma de ganancias. Operando en un marco de tiempo de 15 minutos, la estrategia identifica oportunidades comerciales potenciales al detectar brechas de precios en el mercado. Según los datos de backtest de noviembre de 2023 a agosto de 2024, la estrategia logró una ganancia neta de 284,40% con 153 operaciones totales, manteniendo una tasa de ganancia de 71,24% y un factor de ganancia de 2,422.

Principio de la estrategia

El mecanismo central gira en torno a la detección de brechas de valor razonable mediante el seguimiento de las relaciones de precios a través de tres velas consecutivas:

  1. FVG alcista: Cuando el máximo de la vela central está por debajo del mínimo de la primera vela
  2. FVG bajista: Cuando el mínimo de la vela media está por encima del máximo de la primera vela
  3. Las señales de entrada se controlan mediante un parámetro de umbral FVG
  4. El control de riesgos utiliza un porcentaje fijo (1%) del capital de la cuenta como stop loss
  5. El beneficio de la toma se fija en 50 puntos fijos

Ventajas estratégicas

  1. Gestión del riesgo científico: Utiliza el porcentaje de capital de la cuenta para el stop loss
  2. Reglas de negociación claras: objetivos fijos de obtención de beneficios eliminan el juicio subjetivo
  3. Excelente desempeño: alta tasa de ganancia y factor de ganancia indican estabilidad de la estrategia
  4. Implementación sencilla: lógica de código clara, fácil de entender y mantener
  5. Alta adaptabilidad: puede ajustarse a las diferentes condiciones del mercado

Riesgos estratégicos

  1. Riesgo de volatilidad del mercado: el beneficio fijo puede ser inflexible en mercados altamente volátiles
  2. Riesgo de deslizamiento: las operaciones frecuentes pueden acarrear mayores costes de deslizamiento
  3. Dependencia de parámetros: el rendimiento depende en gran medida de la configuración del umbral de FVG
  4. Riesgo de ruptura falsa: algunas señales de FVG podrían ser rupturas falsas
  5. Riesgo de gestión de fondos: el porcentaje fijo de pérdidas de detención podría conducir a una rápida retirada de fondos.

Direcciones de optimización

  1. Introducir indicadores de volatilidad para el ajuste dinámico de las ganancias
  2. Añadir filtros de tendencia para evitar el rango de operaciones de mercado
  3. Desarrollar un mecanismo de confirmación de marcos de tiempo múltiples
  4. Optimizar el algoritmo de dimensionamiento de posición con el sistema de posición flotante
  5. Añadir filtros de tiempo de negociación para evitar períodos de alta volatilidad
  6. Desarrollar un sistema de puntuación de la intensidad de la señal para la selección comercial de alta calidad

Resumen de las actividades

Esta estrategia demuestra resultados impresionantes al combinar la teoría de la brecha de valor justo con la gestión científica del riesgo. La alta tasa de ganancia y el factor de ganancia estable indican su valor práctico.


/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-28 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Fair Value Gap Strategy with % SL and Fixed TP", overlay=true, initial_capital=500, default_qty_type=strategy.fixed, default_qty_value=1)

// Parameters
fvgThreshold = input.float(0.5, "FVG Threshold (%)", minval=0.1, step=0.1)

// Fixed take profit in pips
takeProfitPips = 50

// Function to convert pips to price
pipsToPriceChange(pips) =>
    syminfo.mintick * pips * 10

// Function to detect Fair Value Gap
detectFVG(dir) =>
    gap = 0.0
    if dir > 0  // Bullish FVG
        gap := low[2] - high[1]
    else  // Bearish FVG
        gap := low[1] - high[2]
    math.abs(gap) > (close * fvgThreshold / 100)

// Detect FVGs
bullishFVG = detectFVG(1)
bearishFVG = detectFVG(-1)

// Entry conditions
longCondition = bullishFVG
shortCondition = bearishFVG

// Calculate take profit level
longTakeProfit = strategy.position_avg_price + pipsToPriceChange(takeProfitPips)
shortTakeProfit = strategy.position_avg_price - pipsToPriceChange(takeProfitPips)

// Calculate stop loss amount (5% of capital)
stopLossAmount = strategy.equity * 0.01

// Execute trades
if (longCondition)
    strategy.entry("Long", strategy.long)

if (shortCondition)
    strategy.entry("Short", strategy.short)

// Set exit conditions
if (strategy.position_size > 0)
    strategy.exit("Long TP", "Long", limit=longTakeProfit)
    strategy.close("Long SL", when=strategy.openprofit < -stopLossAmount)
else if (strategy.position_size < 0)
    strategy.exit("Short TP", "Short", limit=shortTakeProfit)
    strategy.close("Short SL", when=strategy.openprofit < -stopLossAmount)

// Plot signals
plotshape(longCondition, "Buy Signal", location = location.belowbar, color = color.green, style = shape.triangleup, size = size.small)
plotshape(shortCondition, "Sell Signal", location = location.abovebar, color = color.red, style = shape.triangledown, size = size.small)

Relacionados

Más.