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

Estratégia de cruzamento de média móvel dupla Stop Loss e Take Profit

Autora:ChaoZhang, Data: 2024-06-03 11:02:26
Tags:EMAMACDKDJADX

img

Resumo

Esta estratégia usa o cruzamento de duas médias móveis exponenciais (EMA) com períodos diferentes como sinais de negociação, ao mesmo tempo em que define níveis de stop loss e take profit de ponto fixo. Quando a EMA de curto prazo cruza acima da EMA de longo prazo, abre uma posição longa; quando a EMA de curto prazo cruza abaixo da EMA de longo prazo, abre uma posição curta.

Princípio da estratégia

  1. Calcular duas EMA com períodos diferentes, por defeito para 5 e 200 períodos.
  2. Quando a EMA de 5 períodos ultrapassa a EMA de 200 períodos, gera um sinal longo; quando a EMA de 5 períodos ultrapassa a EMA de 200 períodos, gera um sinal curto.
  3. Após a abertura de uma posição, definir pontos de stop loss (default 50 pontos) e tomar pontos de lucro (default 200 pontos).
  4. Fechar a posição quando o preço atingir o nível de take profit ou stop loss, ou a posição tiver sido mantida durante 200 períodos de negociação.
  5. Ajuste os pontos de take profit e stop loss com base no volume do gráfico.

Vantagens da estratégia

  1. Simples e de fácil compreensão: a lógica da estratégia é clara e fácil de compreender e implementar.
  2. Seguimento de tendências: utiliza as características de tendência das EMA para capturar as tendências do mercado de forma eficaz.
  3. Controle de risco: A definição de um ponto fixo de stop loss controla eficazmente o risco de uma única transação.
  4. Flexibilidade: os pontos de tomada de lucro e de stop loss podem ser ajustados de acordo com a volatilidade do mercado e as preferências pessoais de risco.

Riscos estratégicos

  1. Falsos sinais: os crossovers da EMA podem gerar falsos sinais, levando a frequentes perdas de negociação e de capital.
  2. Retardo da tendência: as EMA são indicadores atrasados e podem gerar sinais apenas após a formação de uma tendência, perdendo as melhores oportunidades de entrada.
  3. Mercados limitados ao intervalo: nos mercados limitados ao intervalo, os crossovers frequentes da EMA podem conduzir a operações perdedoras consecutivas.
  4. A taxa de prejuízo de prejuízo fixo pode não se adaptar às alterações da volatilidade do mercado, resultando em níveis de prejuízo de prejuízo inadequados.

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

  1. Introduzir mais indicadores: combinar com outros indicadores técnicos, como MACD, RSI, etc., para melhorar a confiabilidade do sinal.
  2. Otimizar parâmetros: Otimizar parâmetros como períodos de EMA, pontos de lucro e stop loss, para melhorar o desempenho da estratégia.
  3. A taxa de prejuízo é a taxa de prejuízo de uma empresa.
  4. Gestão de posições: introduzir regras de gestão de posições, como o dimensionamento das posições com base no risco, para melhorar os retornos ajustados ao risco.
  5. Filtros: adicionar condições de filtro de sinal de negociação, como volume de negociação, padrões de preços, etc., para melhorar a qualidade do sinal.

Resumo

A estratégia de stop loss e take profit da média móvel dupla é uma estratégia de negociação simples e fácil de usar que gera sinais de negociação através de crossovers da EMA, enquanto define pontos fixos de stop loss e toma níveis de lucro para controlar o risco. As vantagens da estratégia estão em sua lógica clara, implementação fácil e capacidade de capturar as tendências do mercado de forma eficaz. No entanto, ela também enfrenta riscos como sinais falsos, atrasos de tendência, mercados de faixa e níveis de stop loss fixos. As direções de otimização incluem a introdução de mais indicadores, otimização de parâmetros, gestão de posição, e adição de filtros. Os traders podem otimizar e ajustar a estratégia de acordo com suas preferências de risco e características do mercado para melhorar a robustez e lucratividade da estratégia.


/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/


//@version=5
strategy("EMA5 Cross EAM200 && SL/TP 50 and 200 Point Target", overlay=true)

// Define input parameters for EMA lengths
ema_5 = input.int(5, title="Fast EMA Length")
ema_200 = input.int(200, title="Slow EMA Length")

// Define input parameters for stop loss and profit target in points
stopLossPoints = input.float(50, title="Stop Loss (Points)")
profitTargetPoints = input.float(200, title="Profit Target (Points)")

// Calculate EMAs
price = close
emafast = ta.ema(price, ema_5)
emaslow = ta.ema(price, ema_200)

// Plot EMAs on chart
plot(emafast, title="5-period EMA", color=color.black)
plot(emaslow, title="200-period EMA", color=color.blue)

// Extra lines if needed
ema_13 = input.int(13, title="13 EMA")
ema_13_line = ta.ema(price, ema_13)
plot(ema_13_line, title="13-period EMA", color=color.rgb(156, 39, 176, 90))

ema_20 = input.int(20, title="20 EMA")
ema_20_line = ta.ema(price, ema_20)
plot(ema_20_line, title="20-period EMA", color=color.red)


// Define entry conditions
longCondition = ta.crossover(emafast, emaslow)
shortCondition = ta.crossunder(emafast, emaslow)

// Counter to keep track of the number of bars since the entry
var int barCount = na

// Reset counter and enter long trade
if (longCondition)
    strategy.entry("Long", strategy.long, comment="Long")
    barCount := 0

// Reset counter and enter short trade
if (shortCondition)
    strategy.entry("Short", strategy.short, comment="Short")
    barCount := 0

// Increment counter if in trade
if (strategy.opentrades > 0)
    barCount += 1

// Calculate entry price
entryPrice = strategy.position_avg_price

// Exit long trade if stop loss, profit target hit, or 200 points have been reached
if (strategy.position_size > 0)
    strategy.exit("Take Profit/Stop Loss", "Long", stop=entryPrice - stopLossPoints, limit=entryPrice + profitTargetPoints)

// Exit short trade if stop loss, profit target hit, or 200 points have been reached
if (strategy.position_size < 0)
    strategy.exit("Take Profit/Stop Loss", "Short", stop=entryPrice + stopLossPoints, limit=entryPrice - profitTargetPoints)


Relacionados

Mais.