A estratégia de reversão de tendência de longo prazo é um sistema de negociação mecânico que combina tendência seguindo e reversões de curto prazo. Ele usa o máximo e o mínimo de 7 dias para construir um canal e a média móvel de 200 dias para determinar a direção da tendência de longo prazo.
A estratégia baseia-se principalmente nos seguintes princípios:
Use o máximo de 7 dias para julgar a alta e a queda da última semana.
A média móvel de 200 dias determina a direcção da tendência a longo prazo.
Quando o preço ultrapassa a baixa de 7 dias e está acima da média móvel de 200 dias, é gerado um sinal de compra.
Quando o preço ultrapassa a máxima de 7 dias e está abaixo da média móvel de 200 dias, é gerado um sinal de venda.
Utilize 2x ATR stop loss para controlar o risco por transação.
A chave é considerar os prazos de curto e longo prazo. O canal de 7 dias julga a ação recente do preço e o MA de 200 dias julga a tendência de vários meses. Os sinais de negociação são gerados apenas quando ambos indicam a mesma direção. Isso evita sinais falsos de correções de curto prazo.
As principais vantagens desta estratégia são:
Sinais simples e claros baseados no preço e na média móvel.
Considera as tendências a curto e a longo prazo, filtra o ruído de forma eficaz.
Seguir a tendência e reverter a média combinados suavizam os retornos.
O ATR controla o risco, reduz a redução máxima.
Aplicável a ações, forex, criptomoedas em todos os mercados.
Pode funcionar em ambientes de alta e baixa frequência.
Os principais riscos são:
Pode perder grandes tendências em mercados de forte tendência.
O stop loss pode desencadear frequentemente em mercados agitados.
Parâmetros inadequados podem levar a uma troca excessiva.
Métricas de tendência de curto e longo prazo incorretas podem filtrar muitos sinais.
Falha do modelo devido a falta de dados da amostra.
As principais técnicas de gestão de riscos:
Otimizar os parâmetros para um stop loss e uma frequência de negociação razoáveis.
Testes de retrospectiva robustos em todos os mercados e prazos.
Diversificação da carteira para reduzir o risco da estratégia única.
O valor da posição em risco deve ser calculado em função do valor da posição em risco.
A estratégia pode ser melhorada em:
Otimizar o comprimento do canal para melhor métrica de tendência a curto prazo.
Otimizar o comprimento do MA para obter uma melhor métrica de tendência a longo prazo.
Tente outras técnicas de stop loss como percentagem, trailing.
Adicionar a condição de volume. inversões de tendência muitas vezes ver aumento de volume.
Aprendizagem automática para encontrar parâmetros ótimos a curto e longo prazo.
Regras dinâmicas de saída baseadas em fundamentos e sentimentos.
Otimizar o stop loss para algoritmos exponenciais ou de bloqueio de lucros.
A otimização e combinações de parâmetros podem melhorar ainda mais os retornos e as métricas de risco.
A estratégia de reversão de tendência de longo prazo combina a tendência de seguir e a reversão média. Ao julgar as tendências de curto e longo prazo, gera sinais em pontos de reversão de tendência. Em comparação com a tendência pura ou estratégias de reversão média, ele filtra o ruído do mercado e alcança retornos estáveis e controle de risco.
/*backtest start: 2023-11-05 00:00:00 end: 2023-11-12 00:00:00 period: 45m basePeriod: 5m 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/ // © racer8 //@version=4 // This Algo Strategy Has Only 3 rules and 62% Win Rate (Youtube) strategy("Trend Bounce", overlay=true) nn = input(7,"Channel Length") hi = highest(high,nn) lo = lowest(low,nn) n2 = input(200,"Ma Length") ma = sma(close,n2) if close>ma and close<lo[1] strategy.entry("Buy",strategy.long) if close>hi[1] strategy.close("Buy") if close<ma and close>hi[1] strategy.entry("Sell",strategy.short) if close<lo[1] strategy.close("Sell") plot(hi,"high",color=color.aqua) plot(lo,"low",color=color.aqua) plot(ma,"sma",color=color.yellow) //-----------------------------------------Stop Loss------------------------------------------------------- atr = sma(tr,10)[1] bought = strategy.position_size[0] > strategy.position_size[1] sold = strategy.position_size[0] < strategy.position_size[1] slm = input(2.0,"ATR Stop Loss",minval=0) StopPrice_Long = strategy.position_avg_price - slm*atr // determines stop loss's price StopPrice_Short = strategy.position_avg_price + slm*atr // determines stop loss's price FixedStopPrice_Long = valuewhen(bought,StopPrice_Long,0) // stores original StopPrice FixedStopPrice_Short = valuewhen(sold,StopPrice_Short,0) // stores original StopPrice plot(FixedStopPrice_Long,"ATR Stop Loss Long",color=color.blue,linewidth=1,style=plot.style_cross) plot(FixedStopPrice_Short,"ATR Stop Loss Short",color=color.red,linewidth=1,style=plot.style_cross) if strategy.position_size > 0 strategy.exit(id="Stop", stop=FixedStopPrice_Long) // commands stop loss order to exit! if strategy.position_size < 0 strategy.exit(id="Stop", stop=FixedStopPrice_Short) // commands stop loss order to exit!