O recurso está a ser carregado... Carregamento...

A estratégia de negociação de tendência de MA com resistência dinâmica

Autora:ChaoZhang, Data: 2024-11-29 14:50:09
Tags:FVGMASMCTIC

img

Resumo

Esta estratégia é um sistema de negociação abrangente que combina a detecção de Gap de Valor Justo (FVG), determinação de tendência média móvel e níveis de resistência dinâmica.

Princípios de estratégia

A lógica de base inclui os seguintes componentes-chave:

  1. Identificação de FVG: Identifica as diferenças de valor justo de alta e baixa dentro de prazos especificados (default 1 hora)
  2. Determinação da tendência: utiliza a média móvel de 20 períodos para avaliar a direcção da tendência do mercado
  3. Confirmação de reversão: Avalia os sinais de reversão do mercado através de padrões de velas
  4. Resistência dinâmica: utiliza máximos recentes como níveis de resistência e objetivos de lucro
  5. Gestão de riscos: implementa proteção de stop loss baseada em percentagem

Vantagens da estratégia

  1. Análise multidimensional: combina padrões de preços, tendências e estrutura de mercado
  2. Alta adaptabilidade: pode ajustar parâmetros em diferentes ambientes de mercado
  3. Risco controlado: caracterizado por objetivos de stop-loss e lucro claros
  4. Suporte visual: fornece visualização gráfica das zonas FVG e dos principais níveis de preços
  5. Complete Logic: Inclui um sistema abrangente de entrada, saída e gestão de riscos

Riscos estratégicos

  1. Dependência do prazo: diferentes prazos podem gerar sinais conflitantes
  2. Volatilidade do mercado: flutuações graves podem desencadear freqüentes stop-loss
  3. Sensibilidade dos parâmetros: o desempenho da estratégia depende fortemente das configurações dos parâmetros
  4. Dependência da tendência: Pode ter um desempenho inferior em mercados variados
  5. Lag de sinal: as médias móveis têm um lag inerente

Orientações para a otimização da estratégia

  1. Introduzir adaptação à volatilidade: ajustar as metas de stop-loss e lucro com base na volatilidade do mercado
  2. Adicionar condições de filtragem: incluir volume ou outros indicadores técnicos para confirmação
  3. Otimizar os prazos: Teste diferentes combinações de prazos para a eficácia
  4. Melhorar a determinação da tendência: utilizar múltiplas médias móveis ou outros indicadores de tendência
  5. Melhorar a confirmação de reversão: incorporar métodos adicionais de reconhecimento de padrões

Resumo

Esta é uma estratégia abrangente que integra vários conceitos de negociação, buscando oportunidades de negociação de alta probabilidade através da combinação de FVG, tendências e padrões de preços.


/*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)


Relacionados

Mais.