A Estratégia de Reversão de 3 Dias do Turtle Trading é uma modificação da Estratégia de Reversão Média de 3 dias do livro High Probability ETF Trading de Larry Connors e Cesar Alvarez.
Através da prática e backtesting, eu descobri que a estratégia funciona consistentemente melhor quando se usa uma EMA em vez de uma SMA para a linha de tendência.
A estratégia funciona do seguinte modo:
A EMA de saída é a EMA de 5 dias, o seu comprimento é ajustável.
A estratégia de reversão de preços é uma estratégia de reversão de curto prazo, que consiste em identificar as oportunidades de reversão de curto prazo, verificando se os preços diminuíram por 3 dias consecutivos abaixo da EMA de curto prazo.
Em comparação com as estratégias tradicionais de cruzamento das médias móveis, esta estratégia apresenta as seguintes vantagens:
Usar o estreitamento de 3 dias consecutivos para identificar reversões melhora a qualidade do sinal.
A filtragem com EMAs longas e curtas evita a negociação em mercados de tendência.
Usar a EMA em vez da SMA para a linha de tendência é mais sensível na captura de reversões.
A extensão da EMA de saída ajustável permite personalizar a estratégia de stop loss com base nas condições de mercado.
A baixa frequência de negociação com períodos de retenção de 1-2 dias evita os riscos associados às apostas direcionais longas.
A estratégia apresenta igualmente os seguintes riscos:
Risco de reversão fracassada. O preço pode não recuperar e continuar a diminuir após o sinal de reversão.
O preço pode atingir repetidamente o stop loss em mercados agitados.
O risco de otimização de parâmetros. A EMA de saída e outros parâmetros precisam de testes e ajustes contínuos com base na evolução dos mercados. O desempenho pode degradar-se sem ajuste.
O risco de sobreajuste. A otimização deve evitar o sobreajuste. Os parâmetros devem ser robustos.
Os riscos podem ser reduzidos:
Seguir rigorosamente as regras de stop loss para controlar a perda de uma única transação.
Ajuste robusto de parâmetros durante a otimização para equilibrar risco e retorno.
Ajustar o tamanho das posições para reduzir o risco por transação.
A estratégia pode ser melhorada nos seguintes aspectos:
Teste diferentes comprimentos EMA para entrada e saída para encontrar parâmetros ideais.
Adicione outros filtros como o volume para garantir que os sinais de inversão sejam mais confiáveis.
Melhore o stop loss com métodos como ATR ou trailing stops para mais flexibilidade.
Incorporar um filtro de tendência para evitar a captação de sinais de reversão nas tendências existentes.
Combinar com outras estratégias de otimização e diversificação do portfólio.
Empregar aprendizado de máquina para ajuste de parâmetros adaptativos.
A Estratégia de Reversão de 3 dias de Turtle Trading identifica oportunidades de reversão de curto prazo detectando padrões de estreitamento de 3 dias abaixo de uma EMA curta. Em comparação com as estratégias tradicionais de média móvel, ela tem sinais de entrada mais confiáveis e EMA de saída ajustável para otimização de stop loss. A estratégia funciona bem para mercados agitados de faixa e captura de saltos curtos. Mas há outras oportunidades para melhorar os parâmetros, stop loss e filtros de tendência. Combinando-se com outras estratégias pode melhorar ainda mais o desempenho.
/*backtest start: 2023-10-05 00:00:00 end: 2023-10-12 00:00:00 period: 10m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // @version = 5 // Author = TradeAutomation strategy(title="ETF 3-Day Reversion Strategy", shorttitle="ETF 3-Day Reversion Strategy", process_orders_on_close=true, overlay=true, commission_type=strategy.commission.cash_per_order, commission_value=1, initial_capital = 10000000, default_qty_type=strategy.percent_of_equity, default_qty_value=100) // Backtest Date Range Inputs // StartTime = input(defval=timestamp('01 Jan 2012 05:00 +0000'), title='Start Time') EndTime = input(defval=timestamp('01 Jan 2099 00:00 +0000'), title='End Time') InDateRange = true // Strategy Rules // DayEMA5 = ta.ema(close, 5) Rule1 = close>ta.ema(close, 200) Rule2 = close<DayEMA5 Rule3 = high<high[1] and low<low[1] and high[1]<high[2] and low[1]<low[2] and high[2]<high[3] and low[2]<low[3] ExitEMA = ta.ema(close, input.int(5, "EMA Length For Exit Strategy", tooltip = "The strategy will sell when the price crosses over this EMA")) plot(DayEMA5) plot(ExitEMA, color=color.green) // Entry & Exit Functions // if (InDateRange) strategy.entry("Long", strategy.long, when = Rule1 and Rule2 and Rule3) // strategy.close("Long", when = ta.crossunder(close, ATRTrailingStop)) strategy.close("Long", when = ta.crossover(close, ExitEMA)) if (not InDateRange) strategy.close_all()