Estrategia de trading combinada basada en la inversión de patrones y el indicador MACD


Fecha de creación: 2023-09-19 17:17:30 Última modificación: 2023-09-19 17:17:30
Copiar: 0 Número de Visitas: 715
1
Seguir
1617
Seguidores

Descripción general

La estrategia consiste en combinar la inversión de forma 123 y el indicador MACD para lograr un filtro de señal de negociación más fuerte. La inversión de forma 123 capta oportunidades de reversión en el corto plazo, mientras que el MACD proporciona un juicio de tendencia a medio y largo plazo. La señal combinada puede encontrar con eficacia puntos de negociación de alta probabilidad.

Principio de estrategia

  1. 123 estrategia de reversión de la forma, que determina la caída de los dos días anteriores y la subida de los precios de cierre hoy, y compra cuando el indicador estocástico está por debajo de la depreciación; la subida de los dos días y la caída de hoy, y la venta cuando el estocástico está por encima de la depreciación.

  2. Estrategia del indicador MACD, hacer más cuando la línea rápida es superior a la línea lenta, hacer un vacío cuando la línea rápida es inferior a la línea lenta.

  3. Solo se puede negociar cuando las dos señales de estrategia coinciden, de lo contrario no se puede negociar. Se puede cambiar a negociar de manera inversa.

Análisis de las ventajas

La estrategia tiene las siguientes ventajas:

  1. La combinación de señales puede filtrar eficazmente las brechas falsas y aumentar la tasa de éxito.

  2. La forma 123 capta oportunidades de reversión a corto plazo, y el MACD determina la dirección de la tendencia de la línea media larga.

  3. El indicador estocástico combinado con la forma 123 evita el exceso de comercio después de la reversión de la tendencia.

  4. Las dos estrategias comparten diferentes tareas de negociación y se pueden verificar entre sí, lo que reduce el riesgo de que una sola estrategia se optimice demasiado.

  5. Puede ser fácilmente cambiado en varias direcciones para adaptarse a una variedad de entornos de mercado.

Análisis de riesgos

Los principales riesgos de esta estrategia son:

  1. La combinación de señales es demasiado conservadora y podría perder una oportunidad.

  2. La forma inversa es susceptible a eventos bruscos y puede fallar.

  3. Sin contar con un mecanismo de amortización, existe el riesgo de grandes pérdidas.

  4. Las señales de doble filtro pueden perder oportunidades de tendencia.

  5. Sin considerar la optimización de los parámetros, los parámetros predeterminados no siempre son adecuados para todas las variedades.

Dirección de optimización

Se puede optimizar en los siguientes aspectos:

  1. Prueba diferentes combinaciones de parámetros para encontrar el mejor.

  2. Aumentar las estrategias de stop loss y controlar las pérdidas individuales.

  3. Añade más filtros para mejorar la calidad de la señal.

  4. Agrega modelos de aprendizaje automático para optimizar los parámetros.

  5. La estabilidad de las estrategias se puede evaluar en más variedades de operaciones.

  6. Combinación de parámetros de cambio según el entorno del mercado.

Resumir

En general, la combinación de dos señales evita el problema de la optimización de una sola estrategia. Con la adición de más indicadores de filtración y mejoras como el mecanismo de parada de pérdidas, puede ser una estrategia de comercio cuantitativa más sólida y práctica.

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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 24/07/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
// This is one of the techniques described by William Blau in his book
// "Momentum, Direction and Divergence" (1995). If you like to learn more,
// we advise you to read this book. His book focuses on three key aspects
// of trading: momentum, direction and divergence. Blau, who was an electrical
// engineer before becoming a trader, thoroughly examines the relationship 
// between price and momentum in step-by-step examples. From this grounding,
// he then looks at the deficiencies in other oscillators and introduces some
// innovative techniques, including a fresh twist on Stochastics. On directional 
// issues, he analyzes the intricacies of ADX and offers a unique approach to help 
// define trending and non-trending periods.
// Blau`s indicator is like usual MACD, but it plots opposite of meaningof
// stndard MACD indicator.  
//
// 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

fADX(Len) =>
    up = change(high)
    down = -change(low)
    trur = rma(tr, Len)
    plus = fixnan(100 * rma(up > down and up > 0 ? up : 0, Len) / trur)
    minus = fixnan(100 * rma(down > up and down > 0 ? down : 0, Len) / trur)
    sum = plus + minus 
    100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), Len)

EMACD(r,SmthLen,LengthMACD) =>
    pos = 0
    source = close
    fastMA = ema(source, r)
    slowMA = ema(source, LengthMACD)
    xmacd = fastMA - slowMA
    xMA_MACD = ema(xmacd, SmthLen)
    pos := iff(xmacd < xMA_MACD, -1,
    	     iff(xmacd > xMA_MACD, 1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Ergodic MACD", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
r = input(14, minval=1)
LengthMACD = input(21, minval=1)
SmthLen = input(5, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posEMACD = EMACD(r,SmthLen,LengthMACD)
pos = iff(posReversal123 == 1 and posEMACD == 1 , 1,
	   iff(posReversal123 == -1 and posEMACD == -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 )