Pronóstico de reversión y estrategia combinada de osciladores

El autor:¿ Qué pasa?, Fecha: 2023-10-10 10:39:44
Las etiquetas:

Resumen general

Esta estrategia combina estrategias de inversión y oscilador para obtener señales comerciales más confiables.

Estrategia lógica

  1. Estrategia de predicción de reversión

    • Utilice el oscilador estocástico para identificar las condiciones de sobrecompra y sobreventa

    • Tome operaciones contra-direccionales cuando el precio cierra la inversión por encima de 2 barras mientras que el oscilador estocástico alcanza niveles de sobrecompra o sobreventa

  2. Estrategia del oscilador de pronóstico de Chande

    • Usar el análisis de regresión lineal para pronosticar precios

    • El oscilador representa la diferencia porcentual entre el precio de cierre y el precio de previsión.

    • Generar señales comerciales cuando el precio real se desvía significativamente del precio previsto

  3. Reglas de estrategia

    • Calcular simultáneamente las señales de ambas estrategias

    • Generar señales comerciales reales solo cuando ambas estrategias acuerden comprar o vender

    • La combinación filtra las señales falsas de las estrategias individuales, mejorando la confiabilidad

Análisis de ventajas

  1. La combinación de múltiples estrategias proporciona una evaluación del mercado más sólida

  2. Filtra las señales falsas que pueden aparecer en indicadores individuales

  3. La estrategia de inversión captura las oportunidades de inversión a corto plazo

  4. El oscilador de Chande juzga con precisión las tendencias a largo plazo

  5. Parámetros del oscilador estocástico flexibles y adaptables a los cambios de los mercados

  6. Combina técnicas de análisis para capitalizar las diversas perspectivas comerciales

Análisis de riesgos

  1. Aunque más confiables, las estrategias combinadas reducen la frecuencia de la señal

  2. Requiere una optimización compleja de múltiples parámetros de estrategia

  3. Dificultad para revertir el tiempo, existen riesgos de pérdidas

  4. Previsión de regresión lineal ineficaz cuando los precios son volátiles

  5. Esté atento a la divergencia de precios con respecto al oscilador estocástico

  6. Los datos de las pruebas de retroceso son insuficientes, el rendimiento en vivo es incierto

Oportunidades de mejora

  1. Optimizar el oscilador estocástico reduciendo los períodos K y D

  2. Prueba más períodos de regresión lineal para encontrar el óptimo

  3. Añadir stop loss para limitar las pérdidas

  4. Modificar la lógica para esperar que el oscilador estocástico alcance extremos

  5. Analizar las propiedades estadísticas de los instrumentos de negociación

  6. Incorporar más indicadores como el MACD para la robustez

Resumen de las actividades

Esta estrategia sintetiza múltiples técnicas analíticas y mejora la calidad de la señal a través de la combinación, capturando tanto las reversiones a corto plazo como las tendencias a largo plazo. Pero el rendimiento en vivo necesita ser validado y los parámetros ajustados en consecuencia.


/*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 )

Más.