Estrategia de trading de resistencia dinámica basada en la detección oportuna de FVG y tendencia de media móvil

FVG MA SMC ICT
Fecha de creación: 2024-11-29 14:50:09 Última modificación: 2024-11-29 14:50:09
Copiar: 0 Número de Visitas: 558
1
Seguir
1617
Seguidores

Estrategia de trading de resistencia dinámica basada en la detección oportuna de FVG y tendencia de media móvil

Descripción general

La estrategia es un sistema de negociación integral que combina la detección de brechas de valor justo (FVG), el juicio de la tendencia de las medias móviles y los puntos de resistencia dinámica. La estrategia opera mediante la identificación de la formación de las FVG en diferentes marcos de tiempo y la dirección de la tendencia de las medias móviles para negociar en caso de una señal de reversión.

Principio de estrategia

La lógica central de la estrategia incluye las siguientes partes clave:

  1. Detección de FVG: detección de brechas de valor justo de múltiples y blancos dentro del marco de tiempo especificado (default 1 hora)
  2. Determinación de tendencias: utiliza una media móvil de 20 períodos para determinar la dirección de las tendencias del mercado
  3. Confirmación de reversión: las señales de reversión del mercado se juzgan a través de la forma del gráfico
  4. Resistencia dinámica: utiliza los máximos recientes como puntos de resistencia y objetivos de ganancias
  5. Gestión de riesgos: el uso de estrategias de protección de pérdidas por ciento

Ventajas estratégicas

  1. Análisis multidimensional: combinación de formas, tendencias y estructuras de precios
  2. Adaptabilidad: la capacidad de ajustar los parámetros en diferentes entornos de mercado
  3. Riesgo controlado: con una configuración clara de stop loss y ganancia
  4. Apoyo visual: Presentación gráfica de las zonas de FVG y precios clave
  5. Integridad lógica: sistema de negociación completo que incluye entrada, salida y gestión de riesgos

Riesgo estratégico

  1. Dependencia del marco de tiempo: diferentes marcos de tiempo pueden generar señales de conflicto
  2. Fluctuaciones en el mercado: las fuertes fluctuaciones pueden causar pérdidas de liquidación demasiado frecuentes
  3. Sensible a los parámetros: la configuración de los parámetros tiene un gran impacto en el rendimiento de la estrategia
  4. Dependencia de la tendencia: puede tener un mal desempeño en un mercado convulso
  5. La señal de retraso: las medias móviles tienen un cierto retraso

Dirección de optimización de la estrategia

  1. Introducción de la adaptabilidad de la volatilidad: ajuste de los objetivos de pérdidas y ganancias en función de la volatilidad del mercado
  2. Condiciones de filtración adicionales: adición de volumen de transacciones u otros indicadores técnicos confirmados
  3. Optimización de los marcos de tiempo: prueba el efecto de diferentes combinaciones de marcos de tiempo
  4. Mejorar el juicio de tendencias: usar medias móviles múltiples u otros indicadores de tendencias
  5. Mejora de la confirmación inversa: añadir más métodos de identificación de formas

Resumir

Se trata de una estrategia integral que combina varias ideas de negociación para buscar oportunidades de negociación de alta probabilidad mediante la combinación de FVG, tendencias y formas de precios. La estrategia tiene la ventaja de ser sistemática y de tener el riesgo controlado, pero se debe tener en cuenta la optimización de los parámetros y la adaptabilidad al entorno del mercado.

Código Fuente de la Estrategia
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-27 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("SMC FVG Entry Strategy with Retest", overlay=true)

// Parametreler
stopLossPercent = input(2, title="Stop Loss (%)") / 100
lookbackPeriod = input(50, title="Güçlü Direnç İçin Geriye Dönük Süre")
fvgLength = input.timeframe("60", title="FVG Zaman Dilimi")  // 1 saatlik zaman dilimi
maPeriod = input(20, title="MA Dönemi")  // Trend yönü için MA dönemi

// FVG'leri Hesapla
var float fvgLow = na
var float fvgHigh = na
var bool fvgFilled = false

// Seçilen zaman diliminde FVG'leri kontrol et
if (ta.change(time(fvgLength)))
    bull_fvg = low > high[2] and close[1] > high[2]
    bear_fvg = high < low[2] and close[1] < low[2]
    
    if (bull_fvg)
        fvgLow := low[2]
        fvgHigh := high
        fvgFilled := true
    else if (bear_fvg)
        fvgLow := low
        fvgHigh := high[2]
        fvgFilled := true

// Trend Yönü Kontrolü (MA kullanarak)
ma = ta.sma(close, maPeriod)
trendUp = close > ma
trendDown = close < ma

// Dönüş Mumu Kontrolü
bullishReversal = close > open and close[1] < open[1] and fvgFilled and close > fvgHigh
bearishReversal = close < open and close[1] > open[1] and fvgFilled and close < fvgLow

// İlk güçlü direnç noktası
resistanceLevel = ta.highest(high, lookbackPeriod)

// Giriş Koşulları
if (bullishReversal and trendUp)
    entryPrice = close
    stopLoss = entryPrice * (1 - stopLossPercent)
    takeProfit = resistanceLevel
    strategy.entry("Long", strategy.long)
    strategy.exit("TP", "Long", limit=takeProfit, stop=stopLoss)

if (bearishReversal and trendDown)
    entryPrice = close
    stopLoss = entryPrice * (1 + stopLossPercent)
    takeProfit = resistanceLevel
    strategy.entry("Short", strategy.short)
    strategy.exit("TP", "Short", limit=takeProfit, stop=stopLoss)

// FVG'leri Grafik Üzerinde Göster
// if (fvgFilled)
//     var box fvgBox = na
//     if (na(fvgBox))
//         fvgBox := box.new(left=bar_index[1], top=fvgHigh, bottom=fvgLow, right=bar_index, bgcolor=color.new(color.green, 90), border_color=color.green)
//     else
//         box.set_top(fvgBox, fvgHigh)
//         box.set_bottom(fvgBox, fvgLow)
//         box.set_left(fvgBox, bar_index[1])
//         box.set_right(fvgBox, bar_index)

// Direnç Noktasını Göster
plot(resistanceLevel, color=color.blue, title="Direnç Noktası", linewidth=2)
plot(ma, color=color.red, title="Hareketli Ortalama", linewidth=2)