Estratégia de previsão de reversão e combinação de osciladores


Data de criação: 2023-10-10 10:39:44 última modificação: 2023-10-10 10:39:44
cópia: 1 Cliques: 651
1
focar em
1617
Seguidores

Visão geral

Esta estratégia é uma combinação de estratégia de reversão com a estratégia de oscilador, com o objetivo de obter um sinal de negociação mais confiável. Combina a estratégia de predisposição de reversão com a estratégia de oscilador de previsão de Chande, executando a negociação quando ambas as estratégias emitem sinais de compra ou venda ao mesmo tempo.

Princípio da estratégia

  1. Estratégia de preconceito inverso

    • O uso do indicador do oscilador estocástico para avaliar o fenômeno de sobrevenda

    • Quando o preço retrocede em duas barras de fechamento consecutivas e o indicador do oscilador estocástico mostra sinais de supercompra ou supervenda, execute a operação de reversão

  2. Chande prevê estratégias para osciladores

    • Previsão de preços usando análise de regressão linear

    • A curva do oscilador é igual à diferença entre o preço de fechamento e o preço de previsão

    • Um sinal de negociação é gerado quando há um desvio significativo entre o preço real e o preço previsto

  3. Estratégia Lógica

    • Simultaneamente computação de sinais para a estratégia de previsão de reversão e para a estratégia de previsão de osciladores de Chande

    • Somente quando os sinais das duas estratégias coincidem, ou seja, quando ambos são sinais de compra ou venda, é que os sinais de negociação reais são gerados

    • Aumentar a confiabilidade do sinal através da combinação de filtragem de falsos sinais que podem surgir em uma única estratégia

Análise de vantagens estratégicas

  1. Combinação de estratégias, avaliação global do mercado, maior confiabilidade

  2. Eliminação de falsos sinais de um único indicador técnico

  3. Uma estratégia de previsão de reversão pode capturar oportunidades de reversão de curto prazo

  4. Chande prevê que os osciladores sejam precisos para discernir tendências de longo prazo

  5. Parâmetros do indicador do oscilador estocástico são ajustáveis e adaptáveis

  6. Fusão de métodos analíticos para aproveitar oportunidades de negócios em diferentes dimensões

Análise de Riscos

  1. Estratégias combinadas aumentam a confiabilidade, mas reduzem a frequência de geração de sinais

  2. Otimizar todos os parâmetros da estratégia ao mesmo tempo é mais complexo

  3. A reversão é incerta, com risco de prejuízo

  4. A previsão de regressão linear não é válida para mercados com fortes flutuações de preços

  5. Atenção para a ocorrência de desvios do oscilador estocástico

  6. Dados insuficientes de detecção, efeitos em disco rígido questionáveis

Direção de otimização da estratégia

  1. Otimizar os parâmetros do oscilador estocástico, reduzindo os períodos de linha K e linha D

  2. Ajustar o ciclo de regressão linear para testar mais parâmetros de ciclo

  3. Aumentar as estratégias de suspensão de perdas e reduzir as perdas individuais

  4. Modificar a lógica de abertura de posição e esperar que o indicador do oscilador estocástico entre completamente na zona de sobrecompra e sobrevenda

  5. Aumentar a análise estatística das variedades comercializadas

  6. Combinado com mais indicadores, como o MACD, para dar mais dimensão ao julgamento

Resumir

A estratégia utiliza vários métodos de análise para melhorar a qualidade do sinal através de combinações, ao mesmo tempo em que contempla a descoberta de reversões de curto prazo e o julgamento de grandes tendências, permitindo a captura de oportunidades de negociação mais abrangentes. Contudo, é necessário prestar atenção ao efeito do disco real e ajustar adequadamente os parâmetros. Esta estratégia pode ser expandida para mais indicadores e combinações de estratégias, e também pode ser usada para orientar as operações de negociação reais.

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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 08/08/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
// The Chande Forecast Oscillator developed by Tushar Chande The Forecast 
// Oscillator plots the percentage difference between the closing price and 
// the n-period linear regression forecasted price. The oscillator is above 
// zero when the forecast price is greater than the closing price and less 
// than zero if it is below.
//
// 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

ChandeForecastOscillator(Length, Offset) =>
    pos = 0
    xLG = linreg(close, Length, Offset)
    xCFO = ((close -xLG) * 100) / close
    pos := iff(xCFO > 0, 1,
           iff(xCFO < 0, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Chande Forecast Oscillator", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthCFO = input(14, minval=1)
Offset = input(0)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posChandeForecastOscillator = ChandeForecastOscillator(LengthCFO, Offset)
pos = iff(posReversal123 == 1 and posChandeForecastOscillator == 1 , 1,
	   iff(posReversal123 == -1 and posChandeForecastOscillator == -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 )