Estrategia de seguimiento de reversión cuantificada de doble conductor

El autor:¿ Qué pasa?, Fecha: 2024-02-18 10:03:14
Las etiquetas:

img

Resumen general

La estrategia de seguimiento de la inversión cuantificada de doble conductor combina indicadores simples de promedio móvil e indicadores aleatorios para lograr una estrategia de negociación a corto plazo eficiente y estable que puede capturar rápidas inversiones del mercado al tiempo que reduce los costos de oportunidad de las señales faltantes.

Principio de la estrategia

La estrategia consta de dos partes: 123 parte de patrón de reversión y la parte de media móvil adaptativa. La parte de patrón de reversión 123 juzga si hay una oportunidad de reversión mediante el cálculo de la relación de precio de cierre entre los dos días de negociación anteriores. Si el precio de cierre del día anterior es menor que el del día anterior 2 y el precio de cierre del día de negociación actual es mayor que el del día anterior, y la línea aleatoria lenta está por debajo de 50, se genera una señal de compra. Si el precio de cierre del día anterior es mayor que el del día anterior 2 y el precio de cierre del día de negociación actual es menor que el del día anterior, y la línea rápida está por encima de 50, se genera una señal de venta aleatoria. Esto puede capturar oportunidades de reversión a corto plazo. La otra parte es la media móvil, que responde rápidamente cuando el mercado está inactivo y responde de manera efectiva, lo que puede evitar el ruido y las señales de choque cuando las posiciones principales coinciden y cuando se cierran, se filtran y se combinan.

Ventajas de la estrategia

La mayor ventaja de la estrategia de seguimiento de reversión cuantificada de doble conductor es que combina patrones de reversión y filtrado de tendencia para que pueda capturar reversiones rápidas mientras evita quedar atrapado en un mercado de choque.

Riesgos de la estrategia

El principal riesgo de esta estrategia es que la configuración inadecuada de parámetros puede conducir a una frecuencia de negociación excesivamente alta o una capacidad de identificación de señales insuficiente. Si los parámetros del patrón 123 son demasiado sensibles, puede conducir a una negociación frecuente en condiciones de mercado volátiles, lo que resulta en más pérdidas de cierre. Si los parámetros de media móvil adaptativa se establecen demasiado lentamente, se pueden perder oportunidades de reversión. Además, perseguir nuevos máximos y vender mínimos en un mercado de tendencia también conducirá a mayores fluctuaciones de capital.

Optimización de la estrategia

La estrategia se puede optimizar de varias maneras: primero, ajustar los parámetros del patrón 123 para identificar inversiones claras sin ser demasiado sensibles a generar señales falsas. Segundo, optimizar los parámetros de promedio móvil adaptativo para encontrar el mejor equilibrio entre estabilidad y sensibilidad. Tercero, se pueden introducir estrategias de stop loss para controlar pérdidas individuales. Cuarto, se pueden combinar indicadores de sentimiento del mercado para mejorar la calidad de la decisión.

Resumen de las actividades

La estrategia de seguimiento de reversión cuantificada de doble conductor integra con éxito las dos partes indispensables del comercio de reversión y el filtrado de tendencias, y las ventajas combinadas son significativas.


/*backtest
start: 2024-01-18 00:00:00
end: 2024-02-17 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 08/12/2020
// 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
// Everyone wants a short-term, fast trading trend that works without large
// losses. That combination does not exist. But it is possible to have fast
// trading trends in which one must get in or out of the market quickly, but
// these have the distinct disadvantage of being whipsawed by market noise
// when the market is volatile in a sideways trending market. During these
// periods, the trader is jumping in and out of positions with no profit-making
// trend in sight. In an attempt to overcome the problem of noise and still be
// able to get closer to the actual change of the trend, Kaufman developed an
// indicator that adapts to market movement. This indicator, an adaptive moving
// average (AMA), moves very slowly when markets are moving sideways but moves
// swiftly when the markets also move swiftly, change directions or break out of
// a trading range.
//
// 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

KAMA(Length) =>
    pos = 0.0
    nAMA = 0.0
    xPrice = close
    xvnoise = abs(xPrice - xPrice[1])
    nfastend = 0.666
    nslowend = 0.0645
    reverse = input(false, title="Trade reverse")
    nsignal = abs(xPrice - xPrice[Length])
    nnoise = sum(xvnoise, Length)
    nefratio = iff(nnoise != 0, nsignal / nnoise, 0)
    nsmooth = pow(nefratio * (nfastend - nslowend) + nslowend, 2) 
    nAMA := nz(nAMA[1]) + nsmooth * (xPrice - nz(nAMA[1]))
    pos := iff(close[1] > nAMA, 1,
    	     iff(close[1] < nAMA, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Kaufman Moving Average Adaptive", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthKAMA = input(21, minval=2)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posKAMA = KAMA(LengthKAMA)
pos = iff(posReversal123 == 1 and posKAMA == 1 , 1,
	   iff(posReversal123 == -1 and posKAMA == -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.