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

Múltiplas estratégias de rastreamento de tendências com 200 EMA filtros - apenas mais

Autora:ChaoZhang, Data: 23 de maio de 2024 18:07:50
Tags:EMA

多时间框架与200EMA过滤器的趋势跟踪策略 - 仅做多

Resumo

A estratégia é uma estratégia de rastreamento de tendências baseada em uma média móvel de índices de vários quadros de tempo (EMA) e um filtro de EMA de 200 períodos. Sua ideia principal é usar EMAs de diferentes quadros de tempo para identificar a direção do mercado e estabelecer vários posições quando o preço está acima da EMA de 200 períodos. Isso garante que o mercado seja negociado apenas em uma tendência forte de alta, para capturar a ascensão contínua, enquanto usa mecanismos de stop-loss e stop-gap para controlar o risco.

A estratégia usa três prazos de 5 minutos, 15 minutos e 30 minutos para calcular a EMA rápida e a EMA lenta. Comparando a EMA rápida e a EMA lenta de cada prazo, é possível determinar a direção da tendência desse prazo. Em seguida, somamos os sinais de tendência dos três prazos para obter um sinal de tendência global.

Princípios estratégicos

  1. A EMA rápida (default 9 period) e a EMA lenta (default 21 period) são calculadas em intervalos de tempo de 5 minutos, 15 minutos e 30 minutos, respectivamente.
  2. Calcule o EMA de 200 dias em um período de 5 minutos como um filtro de tendência.
  3. Para cada quadro de tempo, compare o tamanho do EMA rápido e do EMA lento, com o rápido em ascensão (+1) e o lento em descensão (-1).
  4. Somando os sinais de tendência dos três quadros de tempo, obtém-se um sinal de tendência integral com intervalo em [-3, 3].
  5. Quando o sinal de tendência global é igual a 3 (aumento de força) e o preço de fechamento atual está acima do EMA de 200 minutos em 5 minutos, a posição é aberta.
  6. Quando o sinal de tendência global é menor que 3 (a tendência de alta está a enfraquecer) ou o preço cai abaixo da EMA de 5 minutos de 200 segundos, a paragem é realizada.
  7. No momento da abertura, o stop loss é de 1% abaixo do preço de abertura e o stop loss é de 3% acima do preço de abertura.

Análise de vantagens

  1. O uso de sinais de tendência em vários quadros de tempo permite um julgamento mais abrangente das tendências do mercado e reduz os falsos sinais.
  2. O filtro EMA de 200 dias garante que as negociações sejam feitas apenas em tendências fortes, aumentando assim a probabilidade de sucesso.
  3. As condições mais rigorosas de liquidação e o bloqueio do stop loss ajudam a controlar o risco e a aumentar o risco de retorno.
  4. Os parâmetros são ajustáveis para diferentes mercados e estilos de negociação.

Análise de riscos

  1. A reação pode ser mais lenta no ponto de inflexão da tendência, perdendo o melhor momento para a construção do armazém.
  2. A abertura frequente de posições de liquidação pode aumentar os custos de negociação.
  3. A posição de stop loss é fixa e pode ser interrompida antecipadamente em mercados com maior volatilidade.
  4. O julgamento da tendência baseia-se em dados históricos e pode ser um rápido e rápido reação às flutuações de preços causadas por eventos inesperados.

Optimização

  1. Introduzir mais marcos de tempo ou opções para otimizar os marcos de tempo existentes, melhorando a precisão e o timeliness dos julgamentos de tendências.
  2. Otimizar as posições de stop loss e stop brake, como a introdução de stop loss ou stop dynamic, para adaptar-se a diferentes condições de mercado.
  3. Além dos sinais de tendência, a introdução de outros sinais, como volume de transações, força, etc., cria condições de equilíbrio multifatoria, aumentando a solidez da estratégia.
  4. Otimizar os parâmetros para encontrar a combinação de parâmetros mais adequada ao mercado atual.
  5. A ideia é que o país possa se juntar a um mecanismo de vaga para ampliar a sua aplicação.

Resumo

A estratégia determina a direção da tendência através da comparação de EMAs em vários quadros de tempo, usando a EMAs de 200 períodos como filtro de tendência, estabelecendo vários posições quando a tendência é claramente superior e o preço está acima da linha média de longo prazo, para captar a posição de alta e forte. Condições de abertura de liquidação rígidas e parâmetros de stop loss fixos ajudam a controlar o risco. No futuro, a adaptabilidade e a solidez das estratégias podem ser melhoradas através da introdução de mais marcos de tempo, otimização do stop loss, adição de mais sinais de negociação, otimização de parâmetros, etc., permitindo que elas captem melhor as oportunidades do mercado e controlem os riscos.


/*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")


Relacionado

Mais informações