Esta estrategia es una combinación de la estrategia de reversión y la estrategia de oscilante, con el objetivo de obtener una señal de negociación más confiable. Combina la estrategia de pronóstico de reversión y la estrategia de oscilante de predicción de Chande para ejecutar operaciones cuando ambas estrategias emiten una señal de compra o venta al mismo tiempo.
Estrategias de juicio previo inverso
El uso del indicador del oscilador estocástico para determinar el fenómeno de sobrecompra y sobreventa
Cuando el precio se invierte en dos barras de cierre consecutivas y el indicador del oscilador estocástico muestra una señal de sobreventa o sobreventa, realice una operación inversa
Chande predice estrategias para el oscilador
Previsión de precios mediante análisis de regresión lineal
La curva del oscilador es igual a la diferencia entre el precio de cierre y el precio de previsión
Se produce una señal de negociación cuando el precio real se desvía significativamente del precio previsto
Lógica de estrategia
Simultáneamente se calcula la señal de la estrategia de pronóstico inverso y la estrategia de pronóstico del oscilador de Chande
La señal de negociación real se genera solo cuando las señales de las dos estrategias coinciden, es decir, cuando ambas son señales de compra o venta.
Mejorar la fiabilidad de la señal mediante la combinación de filtración de posibles falsas señales de una sola estrategia
Combinación de varias estrategias para juzgar el mercado de manera integral y con mayor fiabilidad
Eliminación de señales falsas que pueden aparecer en un solo indicador técnico
Las estrategias de pronóstico de reversión pueden capturar oportunidades de reversión a corto plazo
Chande predice que los osciladores son muy precisos en las tendencias a largo plazo
Los parámetros del indicador del oscilador estocástico son ajustables y adaptables
Fusión de múltiples métodos de análisis para aprovechar las diferentes dimensiones de las oportunidades de negocio
Las estrategias combinadas aumentan la fiabilidad, pero la frecuencia de generación de señales disminuye
Optimización simultánea de los parámetros de las estrategias, más compleja
El tiempo de la reversión es incierto y existe el riesgo de pérdidas
Las previsiones de regresión lineal no son válidas para mercados con fuertes fluctuaciones de precios
Se debe tener en cuenta si el precio de las acciones se desvía del oscilador estocástico
La detección de datos es insuficiente, la eficacia del disco duro es dudosa
Optimización de los parámetros del oscilador estocástico para reducir los períodos de las líneas K y D
Ajuste el ciclo de regresión lineal para probar más parámetros de ciclo
Aumentar las estrategias de detener las pérdidas y reducir las pérdidas individuales
Modificación de la lógica de apertura de posición para esperar que el indicador del oscilador estocástico entre completamente en la zona de sobreventa
Aumentar el análisis estadístico de las variedades comercializadas
Combinado con más indicadores, como el MACD, para dar una visión más dimensional
La estrategia utiliza una combinación de varios métodos de análisis para mejorar la calidad de la señal, al mismo tiempo que contempla la detección de reversiones a corto plazo y la evaluación de tendencias generales, lo que permite aprovechar una oportunidad de negociación más completa. Sin embargo, se debe prestar atención al efecto del disco real y ajustar los parámetros adecuadamente.
/*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 )