A estratégia de rastreamento de reversão é uma estratégia de rastreamento de tendências que combina médias móveis como filtros de mercado.
A lógica central desta estratégia é: estabelecer posições longas quando o fechamento é inferior à baixa de N dias atrás; fechar posições longas quando o fechamento é superior à alta de N dias atrás.
Esta estratégia baseia-se na teoria da reversão de preços, que acredita que as tendências nos preços das ações mostrarão repetidamente altos e baixos.
Em especial, os módulos essenciais desta estratégia são:
Filtro de mercado
Usar a média móvel simples de 200 dias para julgar as tendências do mercado. Permitir o estabelecimento de posições apenas quando os preços das ações estão acima da linha de 200 dias. Isso evita o estabelecimento de posições curtas em um mercado de alta ou o estabelecimento de posições longas em um mercado de baixa.
Julgamento do sinal de inversão
Lógica: Fechar < Preço mais baixo N dias atrás
Se o fechamento for inferior ao preço mais baixo há N dias (default 5 dias), indica uma desagregação do preço para baixo e desencadeia um sinal de compra.
Tome o julgamento do sinal de lucro
Lógica: Fechar > Preço mais alto N dias atrás
Se o fechamento for superior ao preço mais elevado há N dias (default 5 dias), indica que a tendência de reversão ascendente terminou e desencadeia um sinal de take profit.
5% Stop Loss
Defina uma linha de stop loss de 5% a partir do preço de entrada para evitar perdas excessivas.
As principais vantagens desta estratégia são:
Há também alguns riscos com esta estratégia:
A estratégia pode ser otimizada nos seguintes aspectos:
A estratégia de rastreamento de reversão combina indicadores de média móvel para determinar as condições do mercado e utiliza a teoria de reversão para selecionar o momento de entrada. Os mecanismos de controle de risco de lucro e stop loss visam retornos excessivos comprando baixo e vendendo alto. A estratégia pode ser melhorada através da otimização de parâmetros, adicionando filtros auxiliares, etc. Pode alcançar bons retornos em mercados de tendência.
/*backtest start: 2024-01-06 00:00:00 end: 2024-02-05 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // @version=4 // © HermanBrummer // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // BUYS WHEN THE CLOSE IS SMALLER THAN THE LOW OF 5 DAYS AGO // SELLS WHEN THE CLOSE IS HIGHER THEN THE HIGH OF 5 DAYS AGO // USES A 200 MOVING AVERGE AS A FILTER, AND DOESN'T TAKE TRADES IF THE MARKET IS BELOW IT'S 200 MA // USES A 5% STOP LOSS FROM ENTRIES strategy("REVERSALS", overlay=true) StopLoss = input(.95, step=0.01) HowManyBars = input( 5 ) /// EXITS if close > sma(high,HowManyBars)[1] strategy.close_all() /// ENTRIES MarketFilter = sma(close, 200) F1 = close < sma(low,HowManyBars)[1] F2 = close > MarketFilter plot(MarketFilter, "MarketFilter", color.yellow) strategy.entry("Long", true, 1, when=F1 and F2) /// STOP LOSS StopLossLine = strategy.position_avg_price * StopLoss plot(StopLossLine, "StopLossLine", #FF0000) strategy.exit("Exit", stop=StopLossLine)