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.
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
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
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
Combinação de estratégias, avaliação global do mercado, maior confiabilidade
Eliminação de falsos sinais de um único indicador técnico
Uma estratégia de previsão de reversão pode capturar oportunidades de reversão de curto prazo
Chande prevê que os osciladores sejam precisos para discernir tendências de longo prazo
Parâmetros do indicador do oscilador estocástico são ajustáveis e adaptáveis
Fusão de métodos analíticos para aproveitar oportunidades de negócios em diferentes dimensões
Estratégias combinadas aumentam a confiabilidade, mas reduzem a frequência de geração de sinais
Otimizar todos os parâmetros da estratégia ao mesmo tempo é mais complexo
A reversão é incerta, com risco de prejuízo
A previsão de regressão linear não é válida para mercados com fortes flutuações de preços
Atenção para a ocorrência de desvios do oscilador estocástico
Dados insuficientes de detecção, efeitos em disco rígido questionáveis
Otimizar os parâmetros do oscilador estocástico, reduzindo os períodos de linha K e linha D
Ajustar o ciclo de regressão linear para testar mais parâmetros de ciclo
Aumentar as estratégias de suspensão de perdas e reduzir as perdas individuais
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
Aumentar a análise estatística das variedades comercializadas
Combinado com mais indicadores, como o MACD, para dar mais dimensão ao julgamento
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.
/*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 )