Esta estrategia combina la estrategia de reversión 123 y la estrategia de intersección de regresión lineal para lograr una estrategia de negociación combinada impulsada por múltiples factores. La estrategia de reversión 123 determina la relación de precios de los últimos dos días de negociación, combinada con el indicador Stoch para determinar la señal de reversión. La estrategia de intersección de regresión lineal utiliza el análisis de regresión lineal para determinar la relación entre el precio y la línea de tendencia, generando operaciones.
La estrategia se basa en los siguientes principios:
Si la relación entre los precios de cierre de los dos últimos días de negociación es que el cierre de hoy es más alto que el de ayer, y la línea rápida de Stoch está por debajo de la línea lenta, se considera que existe una señal de reversión de la tendencia alcista
Si la relación entre el precio de cierre de los dos últimos días de negociación es que el precio de cierre de hoy es inferior al de ayer, y la línea rápida de Stoch es superior a la línea lenta, se considera que existe una señal de reversión bajista
Las reglas de juicio son las siguientes:
Si el precio de cierre de hoy > precio de cierre de ayer y la línea rápida de Stoch configura el parámetro, se genera una señal de compra
Si el precio de cierre de hoy es < precio de cierre de ayer y la línea rápida de Stoch > línea lenta de Stoch y la línea rápida de Stoch < configuración de parámetros, genera una señal de venta
La estrategia requiere la configuración de parámetros para el indicador de Stoch, que incluyen: calcular el ciclo de longitud de la línea K de Stoch, el ciclo de suavizado de la línea rápida de Stoch, KSmoothing, el ciclo de suavizado de la línea lenta de Stoch, DLength, y el nivel de la línea rápida de Stoch.
La estrategia se basa en el análisis de regresión lineal para determinar la relación entre el precio y la línea de tendencia de regresión lineal, y sus reglas de determinación son las siguientes:
Si el precio de cierre es mayor que el recorte de regreso lineal, se genera una señal de compra
Si el precio de cierre es menor que el intervalo de retorno lineal, se genera una señal de venta
La estrategia requiere la configuración de un ciclo de regresión lineal LengthLRI, y una regresión lineal de la fuente de datos xSeria.
Esta combinación de estrategias requiere que se cumplan las señales de compra/venta de la estrategia de inversión 123 y la estrategia de recorte de distancia de regresión lineal para generar instrucciones de negociación reales, lo que elimina eficazmente las señales falsas y mejora la eficacia de la negociación.
La estrategia tiene las siguientes ventajas:
La combinación de dos tipos diferentes de estrategias, que deben generar señales simultáneamente, es la única forma de realizar un pedido. Este mecanismo de verificación multifactorial puede filtrar las señales erróneas que ocasionalmente se generan en una estrategia, reducir las transacciones innecesarias y mejorar la calidad de la señal.
El intervalo de regresión lineal puede reflejar en tiempo real la relación entre el precio y la línea de tendencia, y si el precio se ha desviado considerablemente de la tendencia, puede indicar a la estrategia la dirección de ajuste de la posición. De esta manera, se pueden detener los pérdidas a tiempo y evitar quedar atrapados en la tendencia histórica.
Las estrategias de regresión lineal son mejores para identificar puntos de venta y compra de tendencias, mientras que las estrategias de inversión 123 se centran en la identificación de puntos de reversión. Ambas estrategias pueden combinar muy bien las ventajas de las operaciones de tendencia y las inversiones.
Ambos tipos de estrategias ofrecen ciertos parámetros para la personalización, que se pueden optimizar para diferentes variedades y diferentes tendencias, para optimizar el efecto de la estrategia combinada.
La estrategia también tiene los siguientes riesgos:
Las señales de negociación que deben satisfacer las dos estrategias se pierden en parte de las oportunidades de obtener ganancias con una sola estrategia. Si la eficacia de una estrategia se debilita, se retrasa la eficacia de la negociación en general.
La regresión lineal requiere un cierto número de datos históricos para su cálculo, no se puede hacer una reacción en tiempo real a los eventos repentinos, existe un cierto retraso. Si el precio se dispara, la línea de tendencia de regresión lineal requiere un cierto período de tiempo para ajustarse, y este período de tiempo puede generar una señal errónea.
Ambas estrategias requieren la elección de los parámetros adecuados, que pueden necesitar ajustes independientes para algunas variedades. Si los parámetros se eligen incorrectamente, el efecto de la estrategia se verá reducido considerablemente.
El riesgo puede reducirse de la siguiente manera:
Disminuir adecuadamente las condiciones de activación de la señal combinada para evitar demasiadas oportunidades perdidas
Regresión lineal alternativa combinada con indicadores de tendencia para obtener un juicio de tendencia en tiempo real
Optimización de parámetros auxiliares con métodos como el aprendizaje automático para mejorar la selección de parámetros
La estrategia puede ser optimizada en los siguientes aspectos:
Se pueden recopilar datos históricos, diseñar objetivos de optimización de parámetros y buscar la mejor combinación de parámetros utilizando algoritmos de aprendizaje automático como algoritmos genéticos, optimización de Bayes, etc.
Se pueden establecer reglas de stop loss en combinación con ATR, indicadores de tendencia, etc. para controlar la máxima pérdida en una sola operación.
Se pueden agregar condiciones auxiliares para la entrada en el mercado, como el filtro de línea media, el juicio de la banda de Brin, etc., en base a la señal de negociación, lo que reduce la frecuencia de ajuste de posiciones y evita la estafa.
El uso de la tecnología de procesamiento de lenguaje natural para evaluar el estado de ánimo de los participantes en el mercado y ayudar a la toma de decisiones comerciales.
El uso de modelos de aprendizaje profundo como LSTM, GRU y otros para hacer predicciones de precios como una base de referencia importante para la toma de decisiones estratégicas.
Esta estrategia, a través de la combinación de la estrategia de reversión 123 y la estrategia de recorte de distancia de regreso lineal, permite el comercio cuantitativo impulsado por múltiples factores. El mecanismo de verificación puede filtrar eficazmente las señales falsas, al tiempo que capta las oportunidades de inversión y comercio de tendencias.
/*backtest
start: 2023-09-18 00:00:00
end: 2023-09-19 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 25/01/2021
// 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
// Linear Regression Intercept is one of the indicators calculated by using the
// Linear Regression technique. Linear regression indicates the value of the Y
// (generally the price) when the value of X (the time series) is 0. Linear
// Regression Intercept is used along with the Linear Regression Slope to create
// the Linear Regression Line. The Linear Regression Intercept along with the Slope
// creates the Regression line.
//
// 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
LRI(Length,xSeria) =>
pos = 0.0
xX = Length * (Length - 1) * 0.5
xDivisor = xX * xX - Length * Length * (Length - 1) * (2 * Length - 1) / 6
xXY = 0.0
for i = 0 to Length-1
xXY := xXY + (i * xSeria[i])
xSlope = (Length * xXY - xX * sum(xSeria, Length)) / xDivisor
xLRI = (sum(xSeria, Length) - xSlope * xX) / Length
pos:= iff(close > xLRI, 1,
iff(close < xLRI, -1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Reversal & Line Regression Intercept", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- Line Regression Intercept ----")
LengthLRI = input(14, minval=1)
xSeria = input(title="Source", type=input.source, defval=close)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posLRI = LRI(LengthLRI,xSeria)
pos = iff(posReversal123 == 1 and posLRI == 1 , 1,
iff(posReversal123 == -1 and posLRI == -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 )