Estratégia de acompanhamento de tendência de vários períodos com filtro 200EMA - somente longo

EMA
Data de criação: 2024-05-23 18:07:50 última modificação: 2024-05-23 18:07:50
cópia: 3 Cliques: 826
1
focar em
1617
Seguidores

Estratégia de acompanhamento de tendência de vários períodos com filtro 200EMA - somente longo

Visão geral

A estratégia é uma estratégia de acompanhamento de tendências baseada na média móvel do índice de vários períodos (EMA) e no filtro de EMA de 200 dias. Sua principal idéia é usar EMAs de diferentes períodos para identificar a direção da tendência do mercado e estabelecer uma posição múltipla quando a tendência é ascendente e o preço está acima da EMA de 200 dias. Isso garante que a negociação seja feita apenas em uma forte tendência ascendente para capturar a tendência ascendente contínua e, ao mesmo tempo, usar mecanismos de stop loss e stop loss para controlar o risco.

A estratégia usa três períodos de tempo de 5 minutos, 15 minutos e 30 minutos para calcular EMAs rápidas e lentas, respectivamente. Comparando as EMAs rápidas e lentas de cada período de tempo, a direção da tendência desse período de tempo pode ser determinada.

Princípio da estratégia

  1. O EMA rápido (default 9) e o EMA lento (default 21) são calculados em intervalos de tempo de 5 minutos, 15 minutos e 30 minutos, respectivamente.
  2. Calculação de EMAs de 200 em um período de 5 minutos como um filtro de tendência.
  3. Para cada período de tempo, compare o tamanho do EMA rápido e do EMA lento, o rápido em alta tendência ascendente ((+1), o lento em alta tendência descendente ((-1) ).
  4. Somando os sinais de tendência dos três períodos de tempo, obtemos um intervalo de[-3, 3] um sinal de tendência integrada.
  5. Quando o sinal de tendência global é igual a 3 (forte aumento) e o preço de fechamento atual está acima da EMA de 5 minutos de 200, abrir uma posição é mais.
  6. Quando o sinal de tendência global é menor do que 3 (a tendência ascendente enfraquece) ou quando o preço cai abaixo da EMA de 5 minutos de 200, a posição é fechada.
  7. Quando abrimos uma posição, o stop loss é 1% abaixo do preço de abertura e o stop loss é 3% acima do preço de abertura.

Análise de vantagens

  1. O uso de sinais de tendência em vários períodos de tempo permite um julgamento mais abrangente das tendências do mercado, reduzindo os sinais falsos.
  2. O filtro EMA de 200 dias garante a negociação somente em fortes tendências ascendentes, aumentando a taxa de sucesso.
  3. As rigorosas condições de abertura de posição e o stop loss ajudam a controlar o risco e a aumentar a taxa de retorno do risco.
  4. Os parâmetros são ajustáveis para diferentes mercados e estilos de negociação.

Análise de Riscos

  1. No momento da mudança de tendência, a reação pode ser lenta, perdendo o melhor momento para posicionar.
  2. A frequência de posições baixas pode aumentar os custos de transação.
  3. A posição de stop loss é fixa e pode ser interrompida antecipadamente em situações de grande volatilidade.
  4. A análise de tendências baseia-se em dados históricos e pode não reagir rapidamente a flutuações de preços provocadas por eventos inesperados.

Direção de otimização

  1. A introdução de mais quadros temporais ou a optimização das opções de quadros temporais existentes para melhorar a precisão e a atualidade do julgamento de tendências.
  2. Optimizar as posições de stop loss e stop loss, por exemplo, introduzindo tracking stop loss ou stop loss dinâmico para adaptar-se a diferentes condições de mercado.
  3. Além do sinal de tendência, a introdução de outros sinais, como volume de transação, dinâmica, etc., forma condições de abertura de posição livre por vários fatores, aumentando a estabilidade da estratégia.
  4. Otimizar os parâmetros para encontrar a combinação de parâmetros mais adequada para o mercado atual.
  5. Considerar a inclusão de um mecanismo de anulação para ampliar a sua aplicação.

Resumir

A estratégia julga a direção da tendência através da comparação de EMAs em vários períodos de tempo, enquanto usa a EMA de 200 como um filtro de tendência, estabelecendo múltiplas posições quando a tendência é claramente ascendente e o preço está acima da média de longo prazo, para capturar a tendência ascendente forte. As condições de abertura de posição rigorosas e o stop loss fixo ajudam a controlar o risco. No futuro, a adaptabilidade e robustez das estratégias podem ser aumentadas através da introdução de mais marcos de tempo, da otimização dos stop-loss, da adição de mais sinais de negociação e da otimização de parâmetros, permitindo melhor aproveitar as oportunidades de mercado e controlar os riscos.

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

//@version=5
strategy("Multi-Timeframe Trend Following with 200 EMA Filter - Longs Only", shorttitle="MTF_TF_200EMA_Longs", overlay=true, initial_capital=1000, default_qty_type=strategy.fixed, default_qty_value=1)

// Inputs
fast_length = input.int(9, title="Fast EMA Length", minval=1)
slow_length = input.int(21, title="Slow EMA Length", minval=1)
filter_length_200 = input.int(200, title="200 EMA Length", minval=1)
stop_loss_perc = input.float(1.0, title="Stop Loss Percentage", minval=0.1) / 100
take_profit_perc = input.float(3.0, title="Take Profit Percentage", minval=0.1) / 100

// Calculate EMAs for 5-minute, 15-minute, and 30-minute timeframes
ema_fast_5min = request.security(syminfo.tickerid, "5", ta.ema(close, fast_length), lookahead=barmerge.lookahead_on)
ema_slow_5min = request.security(syminfo.tickerid, "5", ta.ema(close, slow_length), lookahead=barmerge.lookahead_on)

ema_fast_15min = request.security(syminfo.tickerid, "15", ta.ema(close, fast_length), lookahead=barmerge.lookahead_on)
ema_slow_15min = request.security(syminfo.tickerid, "15", ta.ema(close, slow_length), lookahead=barmerge.lookahead_on)

ema_fast_30min = request.security(syminfo.tickerid, "30", ta.ema(close, fast_length), lookahead=barmerge.lookahead_on)
ema_slow_30min = request.security(syminfo.tickerid, "30", ta.ema(close, slow_length), lookahead=barmerge.lookahead_on)

// Calculate 200 EMA for the 5-minute timeframe
ema_200_5min = ta.ema(close, filter_length_200)

// Determine the trend for each timeframe
trend_5min = ema_fast_5min > ema_slow_5min ? 1 : -1
trend_15min = ema_fast_15min > ema_slow_15min ? 1 : -1
trend_30min = ema_fast_30min > ema_slow_30min ? 1 : -1

// Combine trend signals
combined_trend = trend_5min + trend_15min + trend_30min

// Define entry and exit conditions with 200 EMA filter
enter_long = combined_trend == 3 and close > ema_200_5min
exit_long = combined_trend < 3 or close < ema_200_5min

// Plot EMAs for the 5-minute timeframe
plot(ema_fast_5min, color=color.blue, linewidth=2, title="Fast EMA 5min")
plot(ema_slow_5min, color=color.red, linewidth=2, title="Slow EMA 5min")
plot(ema_200_5min, color=color.green, linewidth=2, title="200 EMA 5min")

// Strategy execution
if (enter_long)
    strategy.entry("Long", strategy.long, stop=close * (1 - stop_loss_perc), limit=close * (1 + take_profit_perc))
if (exit_long)
    strategy.close("Long")