Estratégia de fuga inteligente

Autora:ChaoZhang, Data: 2023-10-08 15:17:51
Tags:

Resumo

A Estratégia de Breakout Inteligente Double Tops é uma estratégia combinada que incorpora a Estratégia de Reversão 123 e a Estratégia de Oscilador do Detector Pivot. Ele usa principalmente padrões de duplo topo para identificar pontos de reversão de tendência potenciais e usa o indicador do detector de pivô para filtrar falsos breakouts, a fim de capturar inversões de tendência em níveis técnicos críticos.

Princípios

A estratégia consiste em duas partes:

  1. 123 Estratégia de reversão

    A 123 Reversal Strategy é originária do livro How I Tripled My Money in the Futures Market de Ulf Jensen, página 183.

    A lógica é: quando o preço de fechamento é superior ao preço de fechamento anterior por 2 dias consecutivos, e a linha Stochastic Slow de 9 dias está abaixo de 50, vá longo; quando o preço de fechamento é inferior ao preço de fechamento anterior por 2 dias consecutivos, e a linha Stochastic Fast de 9 dias está acima de 50, vá curto.

  2. Estratégia do oscilador do detector pivô

    A Estratégia de Oscilador de Detector de Pivot foi proposta por Giorgos E. Siligardos.

    Esta estratégia utiliza uma combinação de médias móveis e do indicador RSI para medir a oscilação quando o preço se aproxima das faixas superiores ou inferiores.

    When price > moving average:
        Indicator value = (RSI value - 35) / (85 - 35)
    When price <= moving average: 
        Indicator value = (RSI value - 20) / (70 - 20)
    
    If indicator value > 50, go long
    If indicator value < 50, go short
    

Ao combinar as duas estratégias, quando surge um padrão de duplo topo, se o indicador emitir um sinal na mesma direção, uma operação de ruptura é executada. Isso permite capturar novas tendências em níveis técnicos críticos, evitando falsas rupturas dentro dos intervalos de consolidação.

Análise das vantagens

  • Utiliza indicadores duplos para sinais mais confiáveis
  • Capta novos surtos de tendências nos principais níveis técnicos
  • As operações de ruptura permitem um maior potencial de lucro
  • Combinando inversões e filtros de indicador evita whipssaws em intervalos
  • Aplicável a múltiplos produtos com flexibilidade

Análise de riscos

  • A dupla cobertura não pode eliminar completamente os riscos de falha de liquidação
  • Configuração do indicador requer experiência, parâmetros inadequados podem causar sinais errados
  • São necessárias estratégias de stop loss eficazes para controlar perdas individuais
  • Fracassadas fuga podem levar a grandes perdas
  • O desempenho depende do ajuste de parâmetros para diferentes produtos

Gestão e otimização dos riscos:

  • Otimizar os parâmetros do indicador para reduzir os falsos sinais
  • Adotar paradas em movimento ou em atraso para limitar as perdas
  • Avaliar a sustentabilidade das rupturas para evitar reversões
  • Ajustar os parâmetros com base nas diferentes características do produto

Orientações de otimização

A estratégia pode ser otimizada nos seguintes aspectos:

  1. Teste diferentes sistemas de médias móveis para encontrar combinações ideais de parâmetros

  2. Otimizar os parâmetros do RSI para reduzir os falsos sinais

  3. Adicionar filtro de volume para garantir quebra válida

  4. Incorporar indicadores determinantes de tendência para evitar rupturas de tendência contrária

  5. Usar aprendizado de máquina para ajuste automático de parâmetros

  6. Adicionar estratégias de stop loss para controlar os riscos

  7. Avaliação da sustentabilidade da ruptura e fixação de metas de lucro

  8. Analisar diferentes características do produto para ajustamentos de parâmetros

Através da otimização de parâmetros, da avaliação dos efeitos de ruptura, do ajuste das estratégias de stop loss, etc., a estratégia pode ser continuamente melhorada para obter lucros constantes em diferentes ambientes de mercado.

Conclusão

A Estratégia de Breakout Inteligente Double Tops combina padrões de reversão e mecanismos de confirmação de indicadores para capturar pontos de reversão de tendência em níveis técnicos críticos. Em comparação com a busca pura de breakouts, seu tempo de execução é mais preciso, evitando problemas em mercados variados. Enquanto isso, a estratégia enfatiza o controle de risco e deve ser usada com mecanismos de stop loss. Através da otimização de parâmetros e da combinação de indicadores técnicos, sinais de breakout constantes podem ser obtidos para capturar surtos e alcançar grandes lucros em pontos de reversão de tendência.


/*backtest
start: 2023-09-30 00:00:00
end: 2023-10-03 00:00:00
period: 45m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 20/04/2021
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// The Pivot Detector Oscillator, by Giorgos E. Siligardos
// The related article is copyrighted material from Stocks & Commodities 2009 Sep
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos


PDO(Length_MA,Length_RSI,UpBand,DownBand,MidlleBand) =>
    pos = 0.0
    xMA = sma(close, Length_MA)
    xRSI = rsi(close, Length_RSI)
    nRes = iff(close > xMA, (xRSI - 35) / (85-35), 
             iff(close <= xMA, (xRSI - 20) / (70 - 20), 0))
    pos:= iff(nRes * 100 > 50, 1,
    	   iff(nRes * 100 < 50, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Pivot Detector Oscillator)", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- Pivot Detector Oscillator ----")
Length_MA = input(200, minval=1)
Length_RSI = input(14, minval=1)
UpBand = input(100, minval=1)
DownBand = input(0)
MidlleBand = input(50)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posPDO = PDO(Length_MA,Length_RSI,UpBand,DownBand,MidlleBand)
pos = iff(posReversal123 == 1 and posPDO == 1 , 1,
	   iff(posReversal123 == -1 and posPDO == -1, -1, 0)) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1 , 1, pos))	   
if (possig == 1 ) 
    strategy.entry("Long", strategy.long)
if (possig == -1 )
    strategy.entry("Short", strategy.short)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )

Mais.