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

Estratégia avançada de detecção de lacunas de valor justo com gestão dinâmica do risco e lucro fixo

Autora:ChaoZhang, Data: 2024-11-29 16:22:10
Tags:FVGSLTP

img

Resumo

Esta é uma estratégia de negociação baseada na detecção de Gap de Valor Justo (FVG), combinando gestão de risco dinâmica com metas de lucro fixo. Operando em um período de tempo de 15 minutos, a estratégia identifica oportunidades de negociação potenciais detectando lacunas de preços no mercado. De acordo com dados de backtest de novembro de 2023 a agosto de 2024, a estratégia alcançou um lucro líquido de 284,40% com 153 negócios totais, mantendo uma taxa de vitória de 71,24% e um fator de lucro de 2,422.

Princípio da estratégia

O mecanismo central gira em torno da detecção de lacunas de valor justo através do monitoramento das relações de preços em três velas consecutivas:

  1. FVG de alta: Quando o máximo da vela do meio está abaixo do mínimo da primeira vela
  2. FVG de baixa: Quando o mínimo da vela do meio está acima do máximo da primeira vela
  3. Os sinais de entrada são controlados por um parâmetro limiar FVG
  4. O controlo do risco utiliza uma percentagem fixa (1%) do capital da conta como stop loss
  5. O lucro é fixado em 50 pontos.

Vantagens da estratégia

  1. Gerenciamento científico do risco: utiliza percentagem do património líquido da conta para o stop loss
  2. Regras comerciais claras: objetivos fixos de lucro eliminam o julgamento subjetivo
  3. Excelente desempenho: alta taxa de ganhos e fator de lucro indicam estabilidade da estratégia
  4. Implementação simples: lógica de código clara, fácil de entender e manter
  5. Alta adaptabilidade: pode ser adaptada a diferentes condições de mercado

Riscos estratégicos

  1. Risco de volatilidade do mercado: os lucros fixos podem ser inflexíveis em mercados altamente voláteis
  2. Risco de deslizamento: a troca frequente pode levar a custos de deslizamento mais elevados
  3. Dependência dos parâmetros: o desempenho depende fortemente das definições do limiar FVG
  4. Risco de falha de ruptura: Alguns sinais FVG podem ser falhas de ruptura
  5. Risco de gestão de fundos: um percentual fixo de stop loss pode conduzir a um levantamento rápido

Orientações de otimização

  1. Introduzir indicadores de volatilidade para o ajustamento dinâmico dos lucros
  2. Adicionar filtros de tendência para evitar transações de mercado variáveis
  3. Desenvolver um mecanismo de confirmação com vários prazos
  4. Otimizar o algoritmo de dimensionamento de posição com o sistema de posição flutuante
  5. Adicionar filtros de tempo de negociação para evitar períodos de alta volatilidade
  6. Desenvolver um sistema de pontuação da intensidade do sinal para a selecção comercial de alta qualidade

Resumo

Esta estratégia demonstra resultados impressionantes ao combinar a teoria da diferença de valor justo com a gestão de risco científica. A alta taxa de ganho e o fator de lucro estável indicam seu valor prático. Através das direções de otimização sugeridas, há potencial para melhoria adicional.


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

Mais.