Estrategia de trading de reversión y centro de gravedad basada en la integración de múltiples estrategias


Fecha de creación: 2024-01-03 16:51:03 Última modificación: 2024-01-03 16:51:03
Copiar: 1 Número de Visitas: 599
1
Seguir
1621
Seguidores

Estrategia de trading de reversión y centro de gravedad basada en la integración de múltiples estrategias

Descripción general

Esta estrategia permite tomar decisiones comerciales más estables y eficientes mediante la integración de señales de doble negociación. La primera es una estrategia de reversión combinada con una señal de reversión de precios y un indicador aleatorio, y la segunda es una estrategia de ruptura de la línea central y el canal de precios.

Principio de estrategia

La parte de la estrategia de reversión, genera una señal de negociación cuando el precio tiene una forma de reversión de dos días de negociación consecutivos, y el indicador aleatorio ha entrado en la zona de sobreventa y sobreventa. Así, se puede utilizar al mismo tiempo la señal de reversión de valor y la señal de doble confirmación de sobreventa y sobreventa. La parte de la línea central central es la construcción de un canal ascendente y descendente en el precio alrededor de la línea central de retorno lineal del precio, y la ruptura del canal genera una señal de negociación.

Las dos estrategias capturan oportunidades de valor y de tendencia respectivamente. La posición se abre cuando las dos estrategias emiten señales simultáneas, es decir, la lógica de la señal de la estrategia. Esto puede filtrar eficazmente algunas señales no válidas y hacer que la estrategia final sea más confiable.

Análisis de las ventajas

La mayor ventaja de esta estrategia es la estabilidad y fiabilidad de la señal. La combinación de la estrategia de reversión y la estrategia de tendencia, al tiempo que contempla las dos oportunidades de negociación de reversión y tendencia, no se pierde ninguna situación de mercado grande. La lógica y el funcionamiento filtran algunas señales no válidas, lo que hace que la estrategia final sea más confiable y evite ser engañada por el ruido.

Además, la combinación de estrategias de reversión y estrategias de tendencia también permite una operación estable en múltiples marcos de tiempo. Las estrategias de reversión utilizan la sobrecompra y la sobreventa a corto plazo para generar señales, y las estrategias de línea central basada en la línea media y media, complementadas por marcos de tiempo, pueden generar oportunidades de negociación estables y continuas.

Análisis de riesgos

El mayor riesgo de esta estrategia es que las señales de doble estrategia no se puedan combinar, lo que impide la generación de suficientes señales de negociación. Esto puede ocurrir cuando las acciones se ordenan horizontalmente. Cuando los precios están en movimiento durante mucho tiempo y no hay una orientación obvia, las señales de reversión y las señales de tendencia no se producen fácilmente, lo que reduce las oportunidades de negociación.

Además, la lógica y el funcionamiento de las estrategias duales también pueden perder parte de las oportunidades de una sola estrategia. No se abrirá una posición cuando solo una estrategia genere una señal de negociación efectiva. Esto puede generar un cierto grado de costo de oportunidad.

Para reducir el riesgo, se puede flexibilizar adecuadamente algunos parámetros para que las señales estratégicas se ajusten más fácilmente y así abrir posiciones. También se puede considerar la introducción de un mecanismo de selección de acciones, la elección de un patrón de tendencia más evidente para comerciar para obtener más oportunidades de negociación.

Dirección de optimización

La continuidad de esta estrategia se puede optimizar principalmente desde dos dimensiones:

La primera es la optimización de parámetros. Se puede seguir probando la optimización de los parámetros, incluidos los parámetros de los indicadores aleatorios de Stoch, los parámetros del canal de la línea central, etc., para obtener una señal más compatible. Esto se puede lograr mediante más respuestas.

El segundo es la introducción de un mecanismo de operación similar a la opción de acciones. Debido a que esta estrategia es más adecuada para los indicadores con una tendencia evidente. Por lo tanto, si se puede elegir un indicador calificado para el comercio en función de ciertos indicadores, también se puede mejorar significativamente el rendimiento general de la estrategia. Esto requiere la combinación de la rotatividad de la industria, el sistema de línea uniforme y otros métodos para diseñar el módulo de selección de acciones.

Resumir

La estrategia logra la doble confirmación de las decisiones de negociación y la correspondencia de múltiples marcos de tiempo a través de la integración de la estrategia de reversión y la estrategia de tendencia. También existe el problema de la dificultad de la correspondencia de señales que reduce las oportunidades de negociación. La optimización del siguiente paso puede comenzar en dos niveles de combinación de parámetros y módulos para obtener un rendimiento estratégico más fuerte y estable.

Código Fuente de la Estrategia
/*backtest
start: 2023-12-03 00:00:00
end: 2024-01-02 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 18/07/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 indicator is based on moving averages. On the basis of these, the 
// "center" of the price is calculated, and price channels are also constructed, 
// which act as corridors for the asset quotations.
//
// 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

CenterOfGravity(Length, m,Percent, SignalLine) =>
    pos = 0
    xLG = linreg(close, Length, m)
    xLG1r = xLG + ((close * Percent) / 100)
    xLG1s = xLG - ((close * Percent) / 100)
    xLG2r = xLG + ((close * Percent) / 100) * 2
    xLG2s = xLG - ((close * Percent) / 100) * 2
    xSignalR = iff(SignalLine == 1, xLG1r, xLG2r)
    xSignalS = iff(SignalLine == 1, xLG1s, xLG2s)
    pos :=  iff(close > xSignalR, 1,
             iff(close < xSignalS, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Center Of Gravity", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthCoF = input(20, minval=1)
m = input(5, minval=0)
Percent = input(1, minval=0)
SignalLine = input(1, minval=1, maxval = 2, title = "Trade from line (1 or 2)")
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(LengthCoF, KSmoothing, DLength, Level)
posCenterOfGravity = CenterOfGravity(Length, m,Percent, SignalLine)
pos = iff(posReversal123 == 1 and posCenterOfGravity == 1 , 1,
	   iff(posReversal123 == -1 and posCenterOfGravity == -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 )