La estrategia de negociación de la combinación de doble SuperTrend y MACD combina dos indicadores de seguimiento de tendencias (SuperTrend 1 y SuperTrend 2) con un indicador de oscilación dinámica (MACD) con el objetivo de proporcionar un método de negociación de sistema coherente sin necesidad de juicio subjetivo.
Las ventajas clave de esta estrategia son:
Verificación doble de SuperTrend: Con el uso de dos indicadores de SuperTrend, con diferentes períodos y factores de ATR, se puede confirmar la dirección de la tendencia, y el mecanismo de doble verificación reduce las señales erróneas.
Confirmación de la potencia: La línea MACD actúa como un filtro de potencia para confirmar entradas y salidas, aumentando el nivel de verificación.
Entradas y salidas objetivas: la estrategia genera señales de compra y venta en función de la dirección de la tendencia y la combinación de dinámicas, sin espacio para la interpretación subjetiva.
Gestión automatizada de las operaciones: configuración de comisiones, puntos de deslizamiento y capital inicial en la estrategia, ejecución automatizada de las operaciones.
Personalización: todos los parámetros se pueden personalizar fácilmente para adaptarse a las necesidades de diferentes operadores y a los cambios en el entorno del mercado.
La estrategia funciona con un conjunto de reglas claras, centrándose en la dirección de la tendencia confirmada por las dos SuperTrends y en la dinámica representada por las líneas columnares MACD.
Entrada múltiple: dos indicadores de SuperTrend son múltiple y la columna MACD es mayor que 0.
Entrada en blanco: dos indicadores de SuperTrend en blanco y la línea MACD es menor que 0.
Punto de cambio: cualquiera de los giros de SuperTrend o giros de la línea de columnas MACD.
Posiciones a la par: cualquiera de las líneas columnares de la SuperTrend se vuelve más cara o MACD se corrige.
Las estrategias utilizan proporciones de comisiones fijas y parámetros de puntos de deslizamiento.
La función de gestión de riesgos automática incorporada evita el exceso de apertura.
La estrategia permite muchas operaciones de dos vías con vacío. El usuario puede elegir la dirección de la operación según su propia opinión del mercado: “solo más, solo vacío o con más vacío”.
Es el período de tiempo en el que la tendencia es más evidente.
El usuario puede ajustar el ciclo ATR, el factor y los parámetros MACD de SuperTrend según sea necesario.
SuperTrend 1 ATR ciclo: 10
SuperTrend 1 Factor:3.0 (en inglés)
El ciclo ATR de SuperTrend 2 es de 20:
SuperTrend 2 Factor 5.0 (en inglés)
El MACD tiene un ciclo de 12
El ciclo de la línea lenta del MACD: 26
El MACD tiene un ciclo de suavizado de nueve.
Porcentaje de comisiones: 0.1%
Punto de deslizamiento: 1
Dirección de las transacciones: bidireccional
Los parámetros predeterminados proporcionan un método de negociación equilibrado, pero se pueden personalizar según las preferencias personales.
La estrategia tiene las siguientes ventajas:
El uso de dos indicadores SuperTrend para la verificación de tendencias reduce considerablemente las señales erróneas causadas por un solo indicador. El mecanismo de doble confirmación aumenta la estabilidad.
La línea MACD como criterio auxiliar de juicio, puede filtrar algunas señales de negociación no deseadas, mejorando la precisión de la entrada.
La combinación de indicadores de doble tendencia, que pueden detenerse rápidamente cuando la tendencia cambia, ayuda a controlar el retroceso.
Reglas claras de entrada y salida, configuración de administración de operaciones incorporada, sin necesidad de juicio subjetivo, reduciendo el error humano.
Los parámetros del indicador son ajustables y se pueden optimizar para diferentes variedades y preferencias comerciales, con un amplio rango de uso.
La estrategia también tiene los siguientes riesgos:
La combinación de indicadores de doble tendencia, la conversión de múltiples espacios es relativamente difícil y no es adecuada para un mercado que cambia de dirección con frecuencia.
En un escenario de fuerte tendencia, el precio de parada podría retroceder, retrasando el riesgo de expansión.
La falta de una respuesta rápida ante el caso de los cisnes negros aumenta el riesgo de un retiro.
La dirección de la optimización:
Optimización de los parámetros indicadores para adaptarse a las diferentes variedades.
Aumentar los mecanismos de detención de pérdidas, como el movimiento de la detención, para controlar aún más la retirada.
En combinación con otros indicadores, identifica incidentes y reduce las retiradas.
En resumen, la estrategia de combinación de doble SuperTrend y MACD combina las ventajas del seguimiento de tendencias y el análisis de la dinámica, la claridad de las reglas, el alto grado de automatización, la capacidad de filtrar eficazmente las señales de negociación de ruido, y una gran utilidad. Sin embargo, también hay que tener en cuenta el control de retroceso y la optimización de los parámetros. En general, la estrategia es uno de los mejores representantes del comercio de tendencias sistémicas.
/*backtest
start: 2023-09-18 00:00:00
end: 2023-09-25 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © PresentTrading
//@version=5
// Define the strategy settings
// strategy("Dual-Supertrend with MACD - Strategy [presentTrading]", overlay=true, precision=3, default_qty_type=strategy.cash,
// commission_value= 0.1, commission_type=strategy.commission.percent, slippage= 1,
// currency=currency.USD, default_qty_type = strategy.percent_of_equity, default_qty_value = 10, initial_capital= 10000)
// Trading Direction Dropdown
tradeDirection = input.string("both", "Trading Direction", options=["long", "short", "both"])
// MACD Inputs
fast_length = input(12, "Fast Length")
slow_length = input(26, "Slow Length")
signal_length = input(9, "Signal Smoothing")
sma_source = input.string("EMA", "Oscillator MA Type", options=["SMA", "EMA"])
sma_signal = input.string("EMA", "Signal Line MA Type", options=["SMA", "EMA"])
// MACD Calculation
fast_ma = sma_source == "SMA" ? ta.sma(close, fast_length) : ta.ema(close, fast_length)
slow_ma = sma_source == "SMA" ? ta.sma(close, slow_length) : ta.ema(close, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal == "SMA" ? ta.sma(macd, signal_length) : ta.ema(macd, signal_length)
hist = macd - signal
// Input Parameters for Supertrend 1
atrPeriod1 = input(10, "ATR Length for Supertrend 1")
factor1 = input.float(3.0, "Factor for Supertrend 1", step=0.01)
// Supertrend Calculation for 1
[supertrend1, direction1] = ta.supertrend(factor1, atrPeriod1)
// Input Parameters for Supertrend 2
atrPeriod2 = input(20, "ATR Length for Supertrend 2")
factor2 = input.float(5.0, "Factor for Supertrend 2", step=0.01)
// Supertrend Calculation for 2
[supertrend2, direction2] = ta.supertrend(factor2, atrPeriod2)
// Combined Conditions
isBullish = direction1 < 0 and direction2 < 0 and hist > 0
isBearish = direction1 > 0 and direction2 > 0 and hist < 0
exitLong = direction1 > 0 or direction2 > 0 or hist < 0
exitShort = direction1 < 0 or direction2 < 0 or hist > 0
// Strategy Entry and Exit based on Trading Direction
if (tradeDirection == "both" or tradeDirection == "long")
strategy.entry("Buy", strategy.long, when=isBullish)
strategy.close("Buy", when=exitLong)
if (tradeDirection == "both" or tradeDirection == "short")
strategy.entry("Sell", strategy.short, when=isBearish)
strategy.close("Sell", when=exitShort)
bodyMiddle1 = plot((open + close) / 2, display=display.none)
upTrend1 = plot(direction1 < 0 ? supertrend1 : na, "Up Trend", color = color.green, style=plot.style_linebr)
downTrend1 = plot(direction1 < 0? na : supertrend1, "Down Trend", color = color.red, style=plot.style_linebr)
fill(bodyMiddle1, upTrend1, color.new(color.green, 90), fillgaps=false)
fill(bodyMiddle1, downTrend1, color.new(color.red, 90), fillgaps=false)
bodyMiddle2 = plot((open + close) / 2, display=display.none)
upTrend2 = plot(direction2 < 0 ? supertrend2 : na, "Up Trend", color = color.green, style=plot.style_linebr)
downTrend2 = plot(direction2 < 0? na : supertrend2, "Down Trend", color = color.red, style=plot.style_linebr)
fill(bodyMiddle2, upTrend2, color.new(color.green, 90), fillgaps=false)
fill(bodyMiddle2, downTrend2, color.new(color.red, 90), fillgaps=false)