Estrategia de trading ponderada por EMA de reversión combinada doblemente optimizada


Fecha de creación: 2023-12-07 16:39:50 Última modificación: 2023-12-07 16:39:50
Copiar: 0 Número de Visitas: 579
1
Seguir
1619
Seguidores

Estrategia de trading ponderada por EMA de reversión combinada doblemente optimizada

Descripción general

La estrategia es una estrategia de negociación de reversión EMA ponderada de combinación de doble optimización. Combina dos tipos diferentes de estrategias, la estrategia de reversión y la estrategia de ponderación EMA, para generar una señal de negociación más confiable al juzgar si las señales de las dos estrategias coinciden.

Principio de estrategia

La parte inversa utiliza la estrategia inversa 123. Esta estrategia determina la relación de precios de cierre de los dos días anteriores y genera una señal con una combinación de indicadores aleatorios. Las reglas específicas son:

  • El precio de cierre de hoy es más alto que el de ayer, y el precio de cierre de ayer es más bajo que el del día anterior; al mismo tiempo, cuando la línea lenta al azar del día 9 es inferior a 50, se hace más;
  • El precio de cierre de hoy es más bajo que el de ayer, y el precio de cierre de ayer es más alto que el del día anterior; al mismo tiempo, cuando la línea rápida al azar del día 9 es más alta que 50, se hace una brecha.

La parte ponderada de la EMA utiliza el cálculo ponderado de las medias móviles del índice y el volumen de transacciones. La fórmula de cálculo es la siguiente:

xMAVolPrice = ema(volume * close, Length)
xMAVol = ema(volume, Length)  
nRes = xMAVolPrice / xMAVol

Las reglas de negociación específicas son: hacer más / hacer menos cuando el indicador nRes está por debajo / por encima del precio de cierre de ayer.

Finalmente, la estrategia determina si las señales de las dos partes son consistentes, y si son consistentes, se generará una señal de negociación real.

Análisis de las ventajas

La estrategia combina dos tipos diferentes de estrategias que se pueden verificar mutuamente, aumentando la fiabilidad de la señal y reduciendo las falsas señales. Al mismo tiempo, la parte inversa puede capturar los puntos de inflexión y la parte ponderada por EMA puede seguir la tendencia, y ambas pueden alcanzar ventajas complementarias.

Análisis de riesgos

La estrategia tiene un cierto retraso en el tiempo y es fácil perder oportunidades de negociación en líneas cortas. Además, la fiabilidad de las señales de reversión también necesita ser examinada.

Se pueden reducir adecuadamente los parámetros y acelerar la velocidad de reacción. Se agregan paradas para controlar el riesgo. Se introducen más factores para verificar la señal de reversión.

Dirección de optimización

  1. Prueba más combinaciones de factores de inversión para encontrar el parámetro óptimo.
  2. Prueba con diferentes tipos de ponderación de EMA.
  3. Acompañar a la parada y seguir la parada.
  4. Optimización de parámetros para una respuesta más rápida.

Resumir

La estrategia integra las ventajas de dos tipos diferentes de estrategias, mejora la calidad de la señal y supera en cierta medida los inconvenientes de una sola estrategia. Pero también existe un cierto retraso que requiere una optimización adicional. En general, la estrategia ofrece nuevas ideas para el comercio cuantitativo y vale la pena optimizar y aprovechar las oportunidades de mercado.

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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 18/10/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 related article is copyrighted material from Stocks & Commodities 2009 Oct 
//
// 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

fFilter(xSeriesSum, xSeriesV, Filter) =>
    iff(xSeriesV > Filter, xSeriesSum, 0)

EMA_VW(Length) =>
    pos = 0.0
    xMAVolPrice = ema(volume * close, Length)
    xMAVol = ema(volume, Length)
    nRes = xMAVolPrice / xMAVol
    pos := iff(nRes < close[1], 1,
             iff(nRes > close[1], -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & EMA & Volume Weighting", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthEMA_VM = input(22, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posEMA_VW = EMA_VW(LengthEMA_VM)
pos = iff(posReversal123 == 1 and posEMA_VW == 1 , 1,
	   iff(posReversal123 == -1 and posEMA_VW == -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 )