Estratégia de combinação de indicadores de oscilador de reversão e reavivamento


Data de criação: 2023-11-02 16:43:41 última modificação: 2023-11-02 16:43:41
cópia: 1 Cliques: 434
1
focar em
1166
Seguidores

Estratégia de combinação de indicadores de oscilador de reversão e reavivamento

Visão geral

A estratégia é uma combinação de estratégias de inversão e ressurreição de indicadores de oscilação, com o objetivo de obter sinais de negociação mais confiáveis.

Princípio da estratégia

A estratégia consiste em duas partes:

  1. Estratégia de reversão

A estratégia de reversão vem do livro de Ulf Jensen, How I Doubled My Money in the Futures Market, p. 183. A estratégia pertence ao tipo de reversão, cuja lógica é:

  • Quando o preço de fechamento for superior ao preço de fechamento do dia anterior, dois dias consecutivos, e o indicador de Stoch lento do dia 9 estiver abaixo de 50, faça mais entrada.

  • Quando o preço de fechamento for inferior ao do dia anterior, por dois dias consecutivos, e o índice de Stoch Rapido for superior a 50 no dia 9, faça uma entrada de shorting.

  1. Estratégia de ressurreição dos indicadores de oscilação

O indicador de ressurreição da oscilação calcula o diferencial das menores flutuações no mercado, cujo valor geralmente oscila entre -1 e 1. Quanto maior o valor do indicador, mais forte é a tendência, seja uma tendência de alta ou de baixa.

Quando o indicador atinge um valor mais alto, faça mais; quando o indicador atinge um valor mais baixo, faça um curto. O indicador é adequado para negociação diária.

Finalmente, quando dois sinais de estratégia estão em sincronia, é possível negociar em direções relacionadas.

Análise de vantagens

  • A combinação de estratégias de inversão e estratégias de tendência pode filtrar alguns sinais falsos e aumentar a confiabilidade dos sinais de negociação.

  • A estratégia de reversão pode capturar oportunidades de reversão de curto prazo; a estratégia de ressurreição de indicadores de oscilação pode capturar tendências de linha média e longa.

  • Os parâmetros do indicador Stoch são bem otimizados e podem filtrar de forma eficaz os falsos sinais de turbulência no mercado.

  • Os indicadores de ressurreição e oscilação são mais sensíveis às pequenas flutuações do mercado e podem ser usados para capturar mudanças de tendência mais cedo.

Riscos e soluções

  • A estratégia de reversão é facilmente absorvida pela reversão de tendências gigantescas e pode ser ajustada de acordo com os parâmetros ou usada em combinação com a estratégia de tendência.

  • A estratégia de indicador é propensa a produzir excesso de sinais de negociação, e pode ser ajustada de acordo com os parâmetros, ou usada em combinação com outros indicadores de filtragem.

  • Os dois sinais de estratégia podem não ser consistentes e podem conflitar. Os parâmetros podem ser ajustados com base nos dados de retrospecção histórica para otimizar a combinação.

  • Pode-se introduzir estratégias de stop loss para controlar perdas individuais.

Direção de otimização

  • Teste diferentes combinações de inversão para encontrar o melhor.

  • Teste diferentes parâmetros do indicador de ressurreição para encontrar o parâmetro ideal.

  • Tente diferentes métodos de otimização de parâmetros de indicadores, como algoritmos genéticos, florestas aleatórias, etc.

  • Adicionar outros indicadores auxiliares para filtragem adicional.

  • Aumentar os modelos de aprendizagem de máquina para melhorar a precisão do sinal.

  • Introdução de mecanismos de gestão de riscos, como stop loss, gestão de posições, etc.

Resumir

A estratégia, combinando a estratégia de reversão e a estratégia de ressurreição do indicador de oscilação, aproveitando integralmente os benefícios de dois tipos diferentes de estratégias, pode melhorar a qualidade do sinal de negociação e ter um bom desempenho na retomada. A estratégia pode obter melhores resultados no mercado real com otimização de parâmetros, adição de outros indicadores e gerenciamento de risco.

Código-fonte da estratégia
/*backtest
start: 2023-10-02 00:00:00
end: 2023-10-26 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 07/10/2020
// 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 value of Fractal Chaos Oscillator is calculated as the difference between 
// the most subtle movements of the market. In general, its value moves between 
// -1.000 and 1.000. The higher the value of the Fractal Chaos Oscillator, the 
// more one can say that it follows a certain trend – an increase in prices trend, 
// or a decrease in prices trend.
//
//   Being an indicator expressed in a numeric value, traders say that this is an 
// indicator that puts a value on the trendiness of the markets. When the FCO reaches 
// a high value, they initiate the “buy” operation, contrarily when the FCO reaches a 
// low value, they signal the “sell” action. This is an excellent indicator to use in 
// intra-day trading.
//
// 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

fractalUp(pattern) =>
    p = high[pattern+1]
    okl = 1
    okr = 1
    res = 0.0
	for i = pattern to 1
		okl := iff(high[i] < high[i+1] and okl == 1 , 1, 0)
	for i = pattern+2 to pattern*2+1
		okr := iff(high[i] < high[i-1] and okr == 1, 1, 0)
	res := iff(okl == 1 and okr == 1, p, res[1])
    res

fractalDn(pattern) =>
    p = low[pattern+1]
    okl = 1
    okr = 1
    res = 0.0
	for i = pattern to 1
		okl := iff(low[i] > low[i+1] and okl == 1 , 1, 0)
	for i = pattern+2 to pattern*2+1
		okr := iff(low[i] > low[i-1] and okr == 1, 1, 0)
	res := iff(okl == 1 and okr == 1, p, res[1])
    res

FCO(Pattern) =>
    pos = 0.0
    xUpper = fractalUp(Pattern) 
    xLower = fractalDn(Pattern)
    xRes = iff(xUpper != xUpper[1], 1, 
             iff(xLower != xLower[1], -1, 0))
    pos := iff(xRes == 1, 1,
             iff(xRes == -1, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Fractal Chaos Oscillator", shorttitle="Combo", overlay = true)
Length = input(15, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
Pattern = input(1, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posFCO = FCO(Pattern)
pos = iff(posReversal123 == 1 and posFCO == 1 , 1,
	   iff(posReversal123 == -1 and posFCO == -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 )