Estratégia de negociação de resistência dinâmica baseada na detecção oportuna de FVG e tendência de média móvel

FVG MA SMC ICT
Data de criação: 2024-11-29 14:50:09 última modificação: 2024-11-29 14:50:09
cópia: 0 Cliques: 558
1
focar em
1617
Seguidores

Estratégia de negociação de resistência dinâmica baseada na detecção oportuna de FVG e tendência de média móvel

Visão geral

A estratégia é um sistema de negociação integrado que combina detecção de brechas de valor justo (FVG), julgamento de tendências de médias móveis e pontos de resistência dinâmica. A estratégia identifica a formação de FVG em diferentes prazos e, em combinação com a direção da tendência de médias móveis, negocia quando ocorre um sinal de reversão. O sistema também inclui um stop loss dinâmico e uma meta de ganho baseada em altos históricos.

Princípio da estratégia

A lógica central da estratégia inclui as seguintes partes principais:

  1. Detecção de FVG: detecção de brechas de valor justo de múltiplos e vazios dentro de um período de tempo especificado (default 1 hora)
  2. Julgamento de tendências: uso de médias móveis de 20 períodos para julgar a direção da tendência do mercado
  3. Confirmação de reversão: os sinais de reversão do mercado são julgados pela forma do gráfico
  4. Resistência dinâmica: usando o máximo recente como resistência e meta de lucro
  5. Gerenciamento de Riscos: Adotar Estratégias de Proteção de Stop Losses por Percentual

Vantagens estratégicas

  1. Análise multidimensional: combinações de cenários, tendências e estrutura de mercado
  2. Adaptabilidade: capacidade de ajustar parâmetros em diferentes cenários de mercado
  3. Risco controlado: com uma definição clara de stop loss e profit
  4. Suporte visual: apresentação gráfica de áreas de FVG e pontos-chave
  5. Integridade lógica: um sistema de negociação completo que inclui entrada, saída e gestão de risco

Risco estratégico

  1. Dependência de quadros de tempo: diferentes quadros de tempo podem gerar sinais de conflito
  2. A volatilidade do mercado: as fortes flutuações podem levar a perdas de liquidez muito frequentes
  3. Parâmetros sensíveis: configurações de parâmetros têm maior influência no desempenho da estratégia
  4. Dependência de tendência: pode ser fraco em mercados de turbulência
  5. Sinais de atraso: a média móvel tem um certo atraso

Direção de otimização da estratégia

  1. Introdução da auto-adaptação da taxa de flutuação: ajuste dos objetivos de stop loss e profit com base na flutuação do mercado
  2. Condições de filtragem adicionais: adição de volume de transação ou confirmação de outros indicadores técnicos
  3. Otimização de prazos: testar a eficácia de diferentes combinações de prazos
  4. Melhorar o julgamento de tendências: usar médias móveis múltiplas ou outros indicadores de tendências
  5. Melhorar a confirmação inversa: adicionar mais métodos de identificação de formas

Resumir

Trata-se de uma estratégia integrada que combina várias ideias de negociação para encontrar oportunidades de negociação de alta probabilidade através da combinação de FVG, tendências e configurações de preços. A vantagem da estratégia é a sua robustez sistemática, o risco é controlado, mas é necessário ter em conta a otimização de parâmetros e a adaptabilidade ao ambiente de mercado.

Código-fonte da estratégia
/*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)