Estratégia de reversão de ruptura de momento binomial

Autora:ChaoZhang, Data: 2024-02-28 17:20:02
Tags:

img

Resumo

A estratégia de reversão de ruptura de momento binomial combina o indicador estocástico e o indicador Bull Power para implementar filtragem dupla de sinais e negociação de reversão em pontos de virada do mercado para perseguir situações de sobrevenda e sobrecompra.

Estratégia lógica

A estratégia consiste em duas partes:

  1. 123 Estratégia de reversão

    Ele usa a estratégia de reversão proposta por Ulf Jensen em seu livro How I Tripled My Money in the Futures Market. Ele vai longo quando o preço de fechamento é maior do que o fechamento anterior por 2 dias consecutivos e o estocástico lento de 9 dias está abaixo de 50; ele vai curto quando o preço de fechamento é menor do que o fechamento anterior por 2 dias consecutivos e o estocástico rápido de 9 dias está acima de 50.

  2. Indicador de potência de touro

    Ele usa o indicador de momentum proposto por Vadim Gimelfarb em seu livro Bull and Bear Balance Indicator. Ele julga o poder de alta/baixa calculando a relação entre a linha K atual e a linha K anterior e gera sinais de negociação.

A estratégia combina as duas estratégias de sinal único acima, gerando sinais de negociação apenas quando os sinais de duas estratégias são consistentes para implementar a filtragem dupla de sinais.

Análise das vantagens

A estratégia combina as vantagens das estratégias de reversão e estratégias de rastreamento. Ela pode capturar sinais de reversão em tempo hábil quando o mercado mostra sinais de reversão, enquanto reduz sinais falsos através de filtragem de sinal duplo para evitar perseguir altos e vender baixos. As principais vantagens são:

  1. Usando o padrão 123 para determinar pontos de virada do mercado e identificar situações de sobrevenda e sobrecompra.
  2. O mecanismo de filtragem dupla de sinais evita sinais falsos gerados por indicadores únicos e melhora a qualidade dos sinais de negociação.
  3. Negociação de reversão para aproveitar as oportunidades de tendência trazidas pelas reversões de mercado.
  4. Grande espaço de otimização de parâmetros para se adaptar a diferentes ambientes de mercado através do ajuste dos parâmetros do indicador.

Análise de riscos

A estratégia apresenta também alguns riscos:

  1. Risco de falha de reversão. Identificar sinais de reversão tem alguma dificuldade. A probabilidade de os preços continuar a tendência original depois de dar sinais de reversão também é muito alta.
  2. Perda de oportunidade quando existem sinais inconsistentes entre dois indicadores.
  3. Identificação imprecisa dos sinais de inversão devido a parâmetros inadequados.
  4. A estratégia é mais adequada para negociações de médio e longo prazo.

As contra-medidas:

  1. Adotar estratégias de stop loss para controlar perdas individuais.
  2. Otimizar os parâmetros. Podem ser seleccionadas diferentes combinações para diferentes variedades.
  3. Combinar outros indicadores como julgamento auxiliar.

Orientações de otimização

A estratégia pode ser ainda melhorada nos seguintes aspectos:

  1. Teste o impacto de diferentes parâmetros no desempenho da estratégia para encontrar a combinação ideal de parâmetros. Por exemplo, ajuste os parâmetros do ciclo do indicador estocástico, os parâmetros de suavização do indicador KDJ, etc.
  2. Pode definir pontos de stop loss combinados com o indicador ATR.
  3. Combinar outros indicadores para verificação de sinais. Por exemplo, MACD, KD, RSI e outros indicadores podem ser considerados ao gerar sinais de negociação.
  4. Usar algoritmos de aprendizagem de máquina para otimizar parâmetros e obter ajustes dinâmicos de parâmetros.

Resumo

A estratégia de reversão de ruptura de momento binomial combina o indicador estocástico e o indicador Bull Power para alcançar filtragem de sinal duplo e negociação de reversão. Pode aproveitar as oportunidades de reversão do mercado e evitar o ruído gerado por sinais únicos. É uma estratégia quantitativa estável e eficaz. A estratégia pode ser melhorada através de otimização de parâmetros, estratégias de stop loss, verificação de sinal, etc., tornando-a adequada para mais variedades e ambientes de mercado.


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 05/07/2019
// 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
//  Bull Power Indicator
//  To get more information please see "Bull And Bear Balance Indicator" 
//  by Vadim Gimelfarb. 
//
// 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

BullPower(SellLevel, BuyLevel) =>
    pos = 0
    value = iff (close < open ,  
             iff (close[1] < open ,  max(high - close[1], close - low), max(high - open, close - low)),
              iff (close > open, 
               iff(close[1] > open,  high - low, max(open - close[1], high - low)), 
                 iff(high - close > close - low, 
                  iff (close[1] < open, max(high - close[1], close - low), high - open), 
                   iff (high - close < close - low, 
                     iff(close[1] > open,  high - low, max(open - close, high - low)), 
                      iff (close[1] > open, max(high - open, close - low),
                       iff(close[1] < open, max(open - close, high - low), high - low))))))
    pos := iff(value > SellLevel, -1,
	         iff(value <= BuyLevel, 1, nz(pos[1], 0)))
    pos

strategy(title="Combo Backtest 123 Reversal & Bull Power", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
SellLevel = input(15, step=1)
BuyLevel = input(3, step=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posBullPower = BullPower(SellLevel, BuyLevel)
pos = iff(posReversal123 == 1 and posBullPower == 1 , 1,
	   iff(posReversal123 == -1 and posBullPower == -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.