Com base na estratégia de dupla reversão


Data de criação: 2024-02-26 12:07:32 última modificação: 2024-02-26 12:07:32
cópia: 0 Cliques: 611
1
focar em
1617
Seguidores

Com base na estratégia de dupla reversão

Visão geral

A estratégia de dupla reversão é uma estratégia quantitativa que combina a reversão de 123 e a reversão de três dias para melhorar a qualidade do sinal de negociação e reduzir o risco. A estratégia usa uma combinação de indicadores de diferença de preço com indicadores de forma k-line para negociar quando os dois indicadores emitem sinais ao mesmo tempo, aumentando a precisão do sinal.

Princípio da estratégia

A estratégia de retorno duplo combina dois tipos diferentes de estratégias de negociação, a estratégia de retorno 123, que utiliza um indicador de diferença de preço, que retorna o preço de fechamento em dois dias consecutivos e emite um sinal quando o indicador aleatório desencadeia uma depreciação. A outra estratégia é a estratégia de retorno de três dias, que observa a linha k de três dias e emite um sinal quando o preço de fechamento é mais baixo no meio do dia e no último dia é superior ao preço máximo do dia anterior.

Especificamente, a estratégia de inversão de 123 usa um indicador aleatório de 9 dias para avaliar o fenômeno de sobrecompra e sobrevenda. Se o preço cair por dois dias consecutivos e o indicador aleatório estiver abaixo de 50, é um sinal de compra; Se ele subir por dois dias consecutivos e o indicador aleatório estiver acima de 50, é um sinal de venda. A estratégia de reversão de três dias detecta se o preço aparece em um padrão de alta seguida de baixa e alta em três dias.

A estratégia de dupla reversão requer que ambas as estratégias emitam sinais ao mesmo tempo para abrir posições. Isso reduz significativamente a taxa de falso sinal, fazendo com que o sistema opere apenas em oportunidades de alta probabilidade.

Análise de vantagens

Em comparação com uma única estratégia, a dupla inversão tem as seguintes vantagens:

  1. Melhorar a qualidade do sinal e reduzir falhas
  2. Verificação de duplo indicador, menor probabilidade de retirada
  3. Explorar as oportunidades de reversão a curto e médio prazo
  4. É fácil de entender e de implementar.

Riscos e soluções

O principal risco de uma estratégia de dupla inversão é perder parte da oportunidade. Devido às exigências rigorosas do sinal, algumas oportunidades de negociação de indicadores individuais serão perdidas. Pode ser resolvido ajustando os parâmetros, relaxando as condições de um dos indicadores e aumentando parcialmente a frequência de negociação.

Outro risco é que, em alguns casos extremos, a probabilidade de falha simultânea dos dois indicadores é maior. Para esse caso, o mecanismo de parada de perdas pode ser aumentado, eliminando rapidamente as posições e reduzindo os prejuízos.

Recomendações de otimização

A estratégia de dupla inversão pode ser melhorada em vários aspectos:

  1. Ajustar os parâmetros aleatórios do indicador para melhorar a precisão de julgamento de sobrecompra e sobrevenda
  2. Testar a eficácia em diferentes variedades de negócios para encontrar o melhor candidato
  3. Aumentar o julgamento assistido por modelos de aprendizagem de máquina, aumentando a precisão do sinal
  4. Combinando mais características estatísticas do mercado, como mudanças no volume de negócios, flutuações diárias, etc., para encontrar o melhor momento para abrir uma posição

Resumir

A estratégia de dupla reversão combina com sucesso o pensamento de negociação de reversão com a análise da forma k linear. Ela explora plenamente a lei da natureza do retorno de preços a curto e médio prazo e aproveita efetivamente as oportunidades oferecidas pela reversão. Em comparação com a abordagem simples de acompanhar a tendência, esta estratégia encontra um ponto de equilíbrio entre o controle dos riscos e os ganhos.

Código-fonte da estratégia
/*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=3
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 17/04/2019
// This is combo strategies for get 
// a cumulative signal. Result signal will return 1 if two strategies 
// is long, -1 if all strategies is short and 0 if signals of strategies is not equal.
//
// 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.
//
// Secon strategy
// This startegy based on 3-day pattern reversal described in "Are Three-Bar 
// Patterns Reliable For Stocks" article by Thomas Bulkowski, presented in 
// January,2000 issue of Stocks&Commodities magazine.
// That pattern conforms to the following rules:
// - It uses daily prices, not intraday or weekly prices;
// - The middle day of the three-day pattern has the lowest low of the three days, with no ties allowed;
// - The last day must have a close above the prior day's high, with no ties allowed;
// - Each day must have a nonzero trading range. 
//
// 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

BarReversalPattern() =>
    pos = 0.0
    pos := iff(open[2] > close[2] and high[1] < high[2] and low[1] < low[2] and low[0] > low[1] and high[0] > high[1], 1,
	         iff(open[2] < close[2] and high[1] > high[2] and low[1] > low[2] and high[0] < high[1] and low[0] < low[1], -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Strategies 123 Reversal and 3-Bar-Reversal-Pattern", shorttitle="Combo Backtest", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
pos3BarReversalPattern = BarReversalPattern()
pos = iff(posReversal123 == 1 and pos3BarReversalPattern == 1 , 1,
	   iff(posReversal123 == -1 and pos3BarReversalPattern == -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 ? red: possig == 1 ? green : blue )