Estrategia de negociación integrada de inversión y centro de gravedad basada en estrategias múltiples

El autor:¿ Qué pasa?, fecha: 2024-01-03 16:51:03
Las etiquetas:

img

Resumen general

Esta estrategia realiza decisiones comerciales más estables y eficientes mediante la integración de señales comerciales duales. Una es la estrategia de inversión que combina señales de inversión de precios e indicadores estocásticos, y la otra es la estrategia de ruptura de la línea central y el canal de precios. Las señales comerciales de las dos estrategias se ANDarán lógicamente, es decir, la posición solo se abrirá cuando las dos estrategias emitan señales en la misma dirección al mismo tiempo. Este tipo de integración de múltiples estrategias puede filtrar algunas señales inválidas y lograr decisiones comerciales más confiables.

Principio de la estrategia

La parte de la estrategia de reversión genera señales comerciales cuando el precio muestra un patrón de reversión durante dos días de negociación consecutivos y el indicador estocástico ha entrado en el área de sobrecompra o sobreventa. Esto permite el uso de señales de reversión de precios y señales de sobrecompra / sobreventa para doble confirmación.

Las dos estrategias capturan oportunidades de valor y tendencia respectivamente. Al ANDar lógicamente las señales de la estrategia, la posición solo se abre cuando las dos estrategias emiten señales en la misma dirección al mismo tiempo. Esto puede filtrar efectivamente algunas señales inválidas y hacer que la estrategia final sea más confiable.

Análisis de ventajas

La mayor ventaja de esta estrategia es la estabilidad y confiabilidad de las señales. La combinación de estrategias de inversión y tendencia captura oportunidades comerciales de inversión y tendencia al mismo tiempo sin perder ningún movimiento importante. Mientras tanto, la operación lógica AND filtra algunas señales inválidas, haciendo que la estrategia final sea más confiable y evite ser engañada por el ruido.

Además, la combinación de estrategias de inversión y tendencia también logra operaciones estables en múltiples marcos de tiempo. La estrategia de inversión utiliza señales de sobrecompra / sobreventa a corto plazo, mientras que el centro de gravedad de la estrategia se basa en promedios móviles a mediano y largo plazo. Los marcos de tiempo complementarios pueden generar oportunidades comerciales sostenidas y estables.

Análisis de riesgos

El mayor riesgo de esta estrategia es el fracaso en la coincidencia de señales de las estrategias duales, lo que conduce a señales comerciales insuficientes. Esto puede suceder cuando el precio está limitado y se consolida sin una tendencia direccional clara. Cuando el precio oscila en un patrón lateral durante un período prolongado de tiempo, es difícil que se generen señales de inversión y señales de tendencia, lo que resulta en menos oportunidades comerciales.

Además, el funcionamiento lógico AND de las estrategias duales también puede perder algunas oportunidades de una sola estrategia. Cuando solo una estrategia genera una señal comercial válida, no se abrirá ninguna posición.

Para mitigar los riesgos, los parámetros podrían ser moderadamente relajados para facilitar el emparejamiento de las señales de estrategia y la apertura de posiciones.

Direcciones de optimización

Hay dos dimensiones principales en las que esta estrategia podría optimizarse:

Primero es la optimización de parámetros. Los parámetros, incluidos los de los indicadores de Stoch y los canales de línea central, se pueden probar y optimizar para obtener señales más alineadas. Esto se puede lograr a través de más backtests.

El segundo es introducir mecanismos similares a las operaciones de selección de acciones. Debido a que esta estrategia es más adecuada para las acciones con tendencias claras. Por lo tanto, si las acciones que cumplen ciertas condiciones pueden seleccionarse para el comercio en función de indicadores específicos, mejoraría significativamente el rendimiento general de la estrategia. Esto requiere el diseño de un módulo de selección de acciones combinado con tendencias de rotación de la industria, sistemas de promedios móviles, etc.

Resumen de las actividades

Esta estrategia logra la doble confirmación y el emparejamiento de decisiones comerciales en múltiples marcos de tiempo mediante la integración de estrategias de inversión y tendencia, al tiempo que enfrenta el problema de las oportunidades comerciales reducidas debido a la dificultad en el emparejamiento de señales.


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

Más.