Estratégia de acompanhamento de tendências com base no cruzamento de EMA


Data de criação: 2024-02-22 13:59:07 última modificação: 2024-02-22 13:59:07
cópia: 0 Cliques: 658
1
focar em
1617
Seguidores

Estratégia de acompanhamento de tendências com base no cruzamento de EMA

Visão geral

Esta estratégia permite a negociação de seguimento de tendências através da determinação da direção da tendência do mercado, através da computação do cruzamento entre a média EMA rápida e a média EMA lenta. Quando a EMA rápida atravessa a EMA lenta, faz mais; Quando o preço cai abaixo da EMA rápida, faz uma posição mais baixa.

Princípio da estratégia

A estratégia calcula o EMA rápido e o EMA lento, respectivamente, inserindo o período médio do EMA rápido i_shortTerm e o período médio do EMA lento i_longTerm. Quando o EMA de curto prazo usa o EMA de longo prazo (condição goLongCondition1) e o preço é maior do que o EMA de curto prazo (condição goLongCondition2), faz-se uma entrada maior. Quando o preço cai abaixo do EMA de curto prazo (condição exitCondition2), a posição de equilíbrio é retirada.

A estratégia baseia-se no princípio do cruzamento dourado da média EMA, julgando a tendência principal do mercado e seguindo a tendência através do cruzamento de EMAs rápidas e lentas. Quando o curto prazo EMA atravessa o longo prazo EMA, indica a tendência de entrada no mercado. Quando o preço é superior ao curto prazo EMA, indica que o mercado está atualmente em fase de tendência ascendente.

Análise de vantagens

A estratégia tem as seguintes vantagens:

  1. Captured Usar a EMA para determinar a direção das principais tendências do mercado, evitando a interferência de flutuações de curto prazo no mercado e bloqueando as principais tendências.

  2. A configuração do parâmetro de EMA rápida e lenta permite ajustar a sensibilidade ao julgamento de tendências e a flexibilidade de adaptação a diferentes situações.

  3. A lógica da estratégia é simples, clara e fácil de entender, adequada para iniciantes em negociação quantitativa.

  4. Pode-se personalizar os parâmetros do ciclo EMA, adaptar os parâmetros para diferentes variedades e mercados, otimizar o efeito da estratégia.

  5. O uso de preços quebrando a EMA para sair do stop loss pode efetivamente controlar o risco e proteger o capital.

Análise de Riscos

A estratégia também apresenta alguns riscos:

  1. Quando a tendência se inverte, o sinal de cruzamento EMA é mais lento do que o preço, o que pode levar a maiores perdas.

  2. A entrada em uma EMA de curto prazo pode ser prejudicada por falhas de brecha.

  3. A configuração incorreta dos paramedic parameters também pode afetar a eficácia da estratégia.

  4. Os efeitos são fortemente ligados à evolução do mercado e não são adequados para todas as variedades e fases.

As medidas de gestão de risco correspondentes incluem:

  1. Optimizar os parâmetros da EMA para aumentar a sensibilidade à reversão de tendência.

  2. Adicionar filtros de outros indicadores para determinar a hora de entrada.

  3. Os parâmetros de debug são constantemente otimizados, adaptados à variedade e ao mercado.

  4. Conheça bem as situações em que a estratégia se aplica e evite o uso cego.

Direção de otimização

A estratégia pode ser melhorada em vários aspectos:

  1. O MACD, KD e outros indicadores são usados para filtrar os sinais e otimizar o tempo de entrada.

  2. Adição de stop loss móvel, rastreamento de lucros e controle de risco adicional.

  3. Combinando o indicador de volatilidade ATR para otimizar a posição de parada.

  4. Testar métodos mais científicos de definição de parâmetros do EMA e otimizar os parâmetros.

  5. Verificação de sinais em múltiplos intervalos de tempo para melhorar a precisão do sinal.

  6. A partir de agora, você pode tentar melhorar a estratégia BREAKOUT para capturar a tendência maior durante a aceleração.

Resumir

Esta estratégia julga a direção da principal tendência do mercado através do cruzamento da média da EMA, permitindo o rastreamento de tendências simples e eficazes. A lógica da estratégia é clara e fácil de implementar, o risco é controlável e é adequado para a prática de iniciantes em negociação quantitativa.

Código-fonte da estratégia
/*backtest
start: 2023-02-15 00:00:00
end: 2024-02-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © pradhan_abhishek

//@version=5
strategy('EMA cross-over strategy by AP', overlay=true, shorttitle='EMACS-AP', initial_capital=100000, default_qty_value=100, default_qty_type=strategy.percent_of_equity, commission_value=0.025)

// inputs
i_shortTerm = input(title='Fast EMA', defval=21)
i_longTerm = input(title='Slow EMA', defval=55)
// select backtest range: if this is not given, then tradingview goes back since inception / whereever it finds data
i_from = input(defval = timestamp("01 Jan 2023 00:00"), title = "From")
i_to = input(defval = timestamp("31 Dec 2033 23:59"), title = "To")
i_showBg = input(defval = true, title = "Show In-trade / Out-trade background")

// create date function "within window of time"
date() => true

// exponential moving average (EMA) variables, derived from input parameters
shortTermEMA = ta.ema(close, i_shortTerm)
longTermEMA = ta.ema(close, i_longTerm)
atr = ta.atr(14)

// ### Trade strategy: begins ###
inTrade = strategy.position_size > 0
notInTrade = strategy.position_size <= 0

goLongCondition1 = shortTermEMA > longTermEMA
goLongCondition2 = close > shortTermEMA

// exitCondition1 = shortTermEMA < midTermEMA
exitCondition2 = close < shortTermEMA

// enter if not in trade and long conditions are met
if date() and goLongCondition1 and goLongCondition2 and notInTrade
    strategy.entry('long', strategy.long)
    // exit on stop-Loss hit
    stopLoss = close - atr * 3
    strategy.exit('exit', 'long', stop=stopLoss)

// exit if already in trade and take profit conditions are met
if date() and exitCondition2 and inTrade
    strategy.close(id='long')
// ###Trade strategy: ends ###

// plot emas & background color for trade status
plot(shortTermEMA, color=color.new(color.blue, 0))
plot(longTermEMA, color=color.new(color.green, 0))
trade_bgcolor = notInTrade ? color.new(color.red, 75) : color.new(color.green, 75)
bgcolor(i_showBg ? trade_bgcolor : color.new(color.white, 75))