Estratégia de negociação de acompanhamento de tendência e gerenciamento de risco de média móvel dupla

EMA SMA
Data de criação: 2025-02-21 09:36:33 última modificação: 2025-02-27 17:18:43
cópia: 1 Cliques: 330
2
focar em
319
Seguidores

Estratégia de negociação de acompanhamento de tendência e gerenciamento de risco de média móvel dupla Estratégia de negociação de acompanhamento de tendência e gerenciamento de risco de média móvel dupla

Visão geral

A estratégia é um sistema de negociação automatizado que combina o acompanhamento de tendências de múltiplos períodos e o gerenciamento de risco. Identifica oportunidades de negociação principalmente através de médias móveis indiciadas (EMA) de dois períodos de tempo, de 5 minutos e 1 minuto, enquanto aplica uma configuração de perda e ganho de porcentagem fixa para controlar o risco. A estratégia é especialmente adequada para traders de linha curta, especialmente para aqueles que se concentram no acompanhamento de tendências.

Princípio da estratégia

A lógica central da estratégia baseia-se em julgamentos de tendências em dois períodos de tempo:

  1. Usando o EMA de 200 ciclos de 5 minutos como o principal filtro de tendência, apenas é permitido fazer mais quando o preço está acima dessa linha média e apenas é permitido fazer menos quando está abaixo dela.
  2. Em um ciclo de 1 minuto, use a EMA de 20 ciclos como um gatilho de entrada. Quando o preço atravessa a linha média para cima, ele dispara um sinal de multiplo e, quando atravessa a linha média para baixo, ele dispara um sinal de vazio.
  3. O método de gestão de risco utiliza uma proporção fixa, com um stop loss de 0,5% do preço de entrada para cada transação, e um objetivo de lucro de 2 vezes a distância de stop loss, formando um risco-benefício de 1:2.

Vantagens estratégicas

  1. A análise de múltiplos períodos fornece um julgamento de tendências mais confiável, reduzindo o risco de falsas rupturas.
  2. O uso de uma metodologia de gestão de risco de proporção fixa torna a gestão de fundos mais regulamentada e sistemática.
  3. A proporção de risco/benefício é de 1:2 e pode ser lucrativa mesmo com uma probabilidade de vitória de apenas 40%.
  4. A lógica da estratégia é simples, clara, fácil de entender e de executar.
  5. Os sinais de transação visuais facilitam a verificação.

Risco estratégico

  1. A rápida oscilação do mercado pode levar a falsos sinais frequentes.
  2. Em períodos de baixa volatilidade, um stop loss de 0,5% pode ser muito apertado.
  3. Dependendo da intersecção equilánea, pode haver atraso.
  4. A alta frequência de transações pode levar a custos mais elevados.
  5. O mercado pode virar rapidamente e enfrentar um retorno maior.

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

  1. A introdução de um indicador de volatilidade para ajustar dinamicamente a distância de parada.
  2. Aumentar o sinal de confirmação de tráfego para melhorar a qualidade de entrada.
  3. Pode-se considerar a inclusão de indicadores de força de tendência como o ADX para filtrar tendências fracas.
  4. Aumentar os indicadores de oscilação como o RSI no mercado horizontal para filtrar os sinais.
  5. De acordo com a dinâmica de desenvolvimento de diferentes características do mercado, o risco-benefício é definido.

Resumir

Trata-se de uma estratégia de acompanhamento de tendências com uma estrutura completa e uma lógica clara. Combinando a análise de múltiplos ciclos e um rigoroso gerenciamento de riscos, a estratégia é capaz de capturar efetivamente as tendências do mercado, protegendo os fundos. Embora haja algum espaço para otimização, a estrutura básica da estratégia é robusta e adequada para o desenvolvimento e personalização de uma estratégia básica.

Código-fonte da estratégia
/*backtest
start: 2025-01-21 00:00:00
end: 2025-02-20 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"DOGE_USDT"}]
*/

//@version=5
strategy("Scalping Strategy: 1-min Entries with 5-min 200 EMA Filter", overlay=true, initial_capital=10000, currency=currency.USD, default_qty_type=strategy.percent_of_equity, default_qty_value=5, calc_on_every_tick=true)

// --- Higher Timeframe Trend Filter ---
// Get the 200-period EMA on a 5-minute timeframe
ema200_5 = request.security(syminfo.tickerid, "5", ta.ema(close, 200), lookahead=barmerge.lookahead_on)
plot(ema200_5, color=color.purple, title="5-min 200 EMA")

// --- Local (1-Minute) Indicators ---
// On a 1-minute chart, calculate a 20-period EMA for entry triggers
ema20_1 = ta.ema(close, 20)
plot(ema20_1, color=color.yellow, title="1-min 20 EMA")

// --- Entry Conditions ---
// For long entries:
//   - The overall trend is bullish: current close > 5-min 200 EMA
//   - The 1-min candle closes and crosses above its 20 EMA
longCondition = (close > ema200_5) and ta.crossover(close, ema20_1)

// For short entries:
//   - Overall bearish trend: current close < 5-min 200 EMA
//   - 1-min candle crosses below its 20 EMA
shortCondition = (close < ema200_5) and ta.crossunder(close, ema20_1)

// --- Risk Management Settings ---
// For scalping, use a tight stop loss. Here we set risk at 0.5% of the entry price.
var float riskPerc = 0.005  // 0.5% risk per trade

// Declare global variables for stop loss and take profit so they can be used outside the if-blocks
var float longStop  = na
var float longTP    = na
var float shortStop = na
var float shortTP   = na

// --- Trade Execution --- 
if (longCondition)
    entryPrice = close
    // Stop loss for long: 0.5% below entry
    longStop := entryPrice * (1 - riskPerc)
    // Take profit: twice the risk distance (1:2 risk-reward)
    longTP   := entryPrice + 2 * (entryPrice - longStop)
    strategy.entry("Long", strategy.long)
    strategy.exit("Long Exit", from_entry="Long", stop=longStop, limit=longTP)

if (shortCondition)
    entryPrice = close
    // Stop loss for short: 0.5% above entry
    shortStop := entryPrice * (1 + riskPerc)
    // Take profit: twice the risk distance
    shortTP   := entryPrice - 2 * (shortStop - entryPrice)
    strategy.entry("Short", strategy.short)
    strategy.exit("Short Exit", from_entry="Short", stop=shortStop, limit=shortTP)

// --- Visual Debug Markers ---
// Plot a green triangle below bars when a long signal is generated
plotshape(longCondition, title="Long Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.tiny)
// Plot a red triangle above bars when a short signal is generated
plotshape(shortCondition, title="Short Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.tiny)