Estratégia de Crossover Momentum Breakout EMA 34


Data de criação: 2024-02-26 15:05:18 última modificação: 2024-02-26 15:05:18
cópia: 0 Cliques: 789
1
focar em
1617
Seguidores

Estratégia de Crossover Momentum Breakout EMA 34

Visão geral

Esta estratégia é baseada na EMA 34 de cruzamento de força como um sinal de entrada para uma estratégia de acompanhamento de tendência. Simultaneamente, combina um sinal de ruptura de preço quebra EMA de força e EMA 34 de cruzamento de ouro da linha de equilíbrio para produzir um sinal de negociação.

Princípio da estratégia

A estratégia primeiro calcula a média de 34 ciclos de EMAs de close, high, low, denominadas emaClose, emaHigh, emaLow, respectivamente. Em seguida, ela gera sinais de compra e venda com base em se o preço ultrapassa o emaHigh e o emaLow.

Especificamente, quando o preço de fechamento é superior a emaHigh, gera um sinal de compra; quando o preço de fechamento é inferior a emaLow, gera um sinal de venda. Uma vez que o sinal é gerado, entre no preço de fechamento do momento e defina o Stop Stop em 100 e o Stop Loss em 50.

Assim, a estratégia usa o EMA 34 para capturar as tendências do mercado e permitir o acompanhamento das tendências.

Análise de vantagens

A maior vantagem da estratégia é que combina o sinal de cruzamento do ouro equilíbrio e o sinal de ruptura do preço, tornando o ponto de entrada mais preciso e filtrando eficazmente os falsos sinais. Além disso, a EMA, como uma ferramenta de acompanhamento de tendências, pode ajudar a estratégia a capturar as tendências do mercado em tempo hábil e realizar transações de acompanhamento de tendências.

Análise de Riscos

O principal risco desta estratégia é a propensão a produzir perdas consecutivas múltiplas. A estratégia pode reduzir frequentemente os prejuízos de posição quando a tendência ascendente nova é iniciada depois de uma pequena reviravolta. Além disso, como uma estratégia de acompanhamento de tendências, não pode lucrar muito bem na liquidação.

Pode-se melhorar a taxa de vitória da estratégia, ajustando adequadamente o ponto de parada ou adicionando outros indicadores.

Direção de otimização

A estratégia pode ser otimizada em várias direções:

  1. Adicionar filtros para outros indicadores, como a adição de indicadores de volume de transação, para evitar a captação de falsas brechas.

  2. Optimizar os parâmetros do ciclo EMA, ajustando-os para os mais adequados para a variedade.

  3. A estabilidade da estratégia pode ser melhorada com a adoção de mecanismos semelhantes aos de uma saída de ganho-perda, em vez de um simples ponto de parada-perda.

  4. Aumentar a filtragem de liquidez para evitar a perda de pontos de deslizamento durante períodos de baixa liquidez.

Resumir

Esta estratégia tem uma alta utilidade como uma estratégia de acompanhamento de tendências baseada em indicadores de dinâmica EMA. Ela combina sinais de ruptura de preços e sinais de cruzamento dourado da EMA para descobrir efetivamente novas direções de tendência. A estabilidade da estratégia pode ser ainda maior após a otimização de certos parâmetros e mecanismos de saída.

Código-fonte da estratégia
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("EMA 34 Crossover Strategy_4", overlay=true)

length = 34
exitPoints = 50

emaClose = ta.ema(close, length)
emaHigh = ta.ema(high, length)
emaLow = ta.ema(low, length)

var float[] entryPrices = array.new_float()
var float[] exitLevels = array.new_float()

// Long entry condition: Price crosses above EMA 34 high
enterLong = ta.crossover(close, emaHigh)

// Short entry condition: Price crosses below EMA 34 low
enterShort = ta.crossunder(close, emaLow)

// Exit condition for both long and short trades
exitLong = array.size(entryPrices) > 0 ? close >= array.get(entryPrices, array.size(entryPrices) - 1) + exitPoints : false
exitShort = array.size(entryPrices) > 0 ? close <= array.get(entryPrices, array.size(entryPrices) - 1) - exitPoints : false

if (enterLong)
    array.push(entryPrices, close)
    array.push(exitLevels, close + exitPoints)
    strategy.entry("Buy", strategy.long)

if (enterShort)
    array.push(entryPrices, close)
    array.push(exitLevels, close - exitPoints)
    strategy.entry("Sell", strategy.short)

if (exitLong)
    strategy.close("Buy")

if (exitShort)
    strategy.close("Sell")

plot(emaClose, color=color.blue, title="EMA 34 Close")
plot(emaHigh, color=color.red, title="EMA 34 High")
plot(emaLow, color=color.green, title="EMA 34 Low")