Estrategia de reversión de colisión de varios indicadores

El autor:¿ Qué pasa?, Fecha: 2024-01-04 18:02:12
Las etiquetas:

img

Resumen general

Esta estrategia está diseñada como una estrategia de reversión eficiente mediante la combinación de señales de doble indicador. Integra una señal de reversión basada en indicadores estocásticos y un sistema que rastrea el número de días al alza consecutivos. La estrategia solo colocará órdenes cuando ambas señales activen la compra o la venta simultáneamente. Este mecanismo de colisión de múltiples indicadores puede filtrar efectivamente algunas señales inválidas y mejorar la tasa de ganancia.

Principio

La estrategia consta de dos partes. La primera parte es el sistema de reversión 123, que observa el cambio en los precios de cierre en los últimos dos días, así como el valor de un indicador estocástico lento de 3 períodos. Específicamente, cuando el cierre de ayer es menor que los 2 días anteriores y el cierre de hoy es mayor que el de ayer, y el estocástico lento de 9 períodos está por debajo de 50, vaya largo; a la inversa, cuando el cierre de hoy está por debajo de ayer y el estocástico rápido está por encima de 50, vaya corto.

El segundo indicador rastrea el número de días ascendentes consecutivos recientemente durante n días. Si los últimos n días están en aumento, sale 1, de lo contrario 0.

Finalmente, la estrategia solo ejecutará operaciones cuando la señal de reversión 123 y el número de días ascendentes consecutivos muestren simultáneamente el estado de compra o venta.

Análisis de ventajas

La mayor ventaja de esta estrategia de combinación de múltiples indicadores es que puede mejorar la fiabilidad de las señales filtrando algunas de las que no son válidas.

  1. La inversión 123 en sí tiene cierta capacidad de detección para evitar interferencias de ruido.

  2. Los parámetros estocásticos de la comparación de líneas rápidas y lentas de 9 y 3 días pueden suavizar los cambios de parámetros y evitar fluctuaciones a corto plazo y mejorar la estabilidad.

  3. Los parámetros personalizables, incluidos los parámetros de stock, número de días de subida, permiten la adaptación a diferentes mercados.

  4. Negociable en ambos sentidos, ofreciendo más oportunidades de cortocircuito.

Análisis de riesgos

Esta estrategia también presenta algunos riesgos:

  1. La combinación de múltiples indicadores, aunque mejora la precisión de la señal, también puede perder algunas oportunidades y limitar las ganancias.

  2. Las señales de reversión tienen riesgos inherentes de ser atrapadas, lo que requiere que se detengan las pérdidas para controlar el riesgo.

  3. La configuración incorrecta de los parámetros puede afectar al rendimiento que requiere un ajuste entre mercados.

  4. La tenencia de posiciones a largo plazo sin un stop loss oportuno o la búsqueda de inversiones de acciones también conlleva riesgos.

En consecuencia, pueden adoptarse las siguientes medidas para mitigar los riesgos:

  1. Relajar adecuadamente las condiciones de los parámetros para retener más oportunidades comerciales.

  2. Establezca puntos de stop loss para limitar la pérdida por operación.

  3. Optimizar los parámetros y establecer reglas de parámetros para diferentes mercados.

  4. Evite mantener acciones a largo plazo y mantenga la liquidez.

Direcciones de optimización

Todavía existe un gran potencial para optimizar esta estrategia de reversión de múltiples indicadores, principalmente por los siguientes aspectos:

  1. Prueba más combinaciones de indicadores para encontrar mejores coincidencias.

  2. Utilice algoritmos de aprendizaje automático para optimizar los parámetros.

  3. Agregue condiciones de stop loss y take profit para una mayor robustez.

  4. Prueba diferentes marcos de tiempo en la parte del indicador de tendencia.

  5. Evaluar la aplicabilidad en todos los índices bursátiles, divisas, materias primas, criptomonedas.

  6. Diseñar estrategias de composición que ajusten dinámicamente las asignaciones en múltiples mercados simultáneamente.

Resumen de las actividades

Esta estrategia combina hábilmente múltiples indicadores para diseñar una estrategia de inversión eficiente pero estable. En comparación con los indicadores individuales, el mecanismo de colisión de múltiples indicadores filtra eficazmente las señales falsas. Mientras tanto, esta estrategia también actualiza los métodos de inversión tradicionales agregando nuevos indicadores de tendencia para la confirmación de señales. Con la optimización de parámetros, los stop losses, la adaptación a través de los mercados y más, se convierte en un poderoso conjunto de herramientas de trading cuantitativo.


/*backtest
start: 2022-12-28 00:00:00
end: 2024-01-03 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 26/03/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
// Evaluates for n number of consecutive higher closes. Returns a value 
// of 1 when the condition is true or 0 when false.
//
// 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


NBU(nLength) =>
    pos = 0.0
    nCounter = 0
    nCounter :=  iff(close[1] >= open[1], nz(nCounter[1],0)+1,
                  iff(close[1] < open[1], 0, nCounter))
    C1 = iff(nCounter >= nLength, 1, 0)
    posprice = 0.0
    posprice := iff(C1== 1, close, nz(posprice[1], 0)) 
    pos := iff(posprice > 0, 1, 0)
    pos

strategy(title="Combo Backtest 123 Reversal & N Bars Up", 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, "---- N Bars Up ----")
nLength = input(4, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posNBU = NBU(nLength)
pos = iff(posReversal123 == 1 and posNBU == 1 , 1,
	   iff(posReversal123 == -1 and posNBU == -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.