
Esta estrategia se llama estrategia de comercio de la combinación de indicadores de fluctuación y SuperTrend. La idea principal de esta estrategia es combinar los indicadores de fluctuación con los indicadores de SuperTrend, aprovechando las ventajas de los dos indicadores para lograr entradas y salidas más precisas.
En concreto, los indicadores de dinámica se utilizan para determinar la aceleración o desaceleración del movimiento de los precios, para determinar los cambios en la tendencia. La SuperTrend se utiliza para determinar si los precios han roto el canal ascendente o descendente, para determinar los cambios en la tendencia. La combinación de ambos puede capturar con mayor precisión el punto de inflexión de la tendencia.
Calcule el valor de la dinámica de N días del precio, y calcule la dinámica de 1 días del valor de la dinámica. Cuando la dinámica de N días es > 0 y la dinámica de 1 días es > 0, haga una señal de más; cuando la dinámica de N días es < 0 y la dinámica de 1 días es < 0, haga una señal de vacío.
Calcula el valor ATR del precio y traza una línea de canal ascendente y una línea de canal descendente de acuerdo con el ATR. Hacer una señal de más cuando el precio rompe el canal ascendente desde abajo y una señal de falta cuando el precio rompe el canal descendente desde arriba.
El indicador de dinámica hace más señales y el indicador de SuperTrend hace más señales para hacer más y más operaciones, al mismo tiempo que ocurre la señal de entrada final; el indicador de dinámica hace más y más operaciones con la señal de entrada final cuando ocurre la señal de entrada final.
Utiliza el indicador de dinámica para determinar la aceleración o desaceleración del movimiento de los precios y captar los puntos de cambio de tendencia.
Utiliza el indicador SuperTrend para determinar los canales de ruptura de precios y capturar los puntos de ruptura.
Los dos indicadores se verifican mutuamente, lo que reduce las falsas señales y mejora la precisión de las entradas.
La lógica de salida, combinada con los dos indicadores, permite el seguimiento de la tendencia y evita la salida prematura.
La configuración incorrecta de los parámetros del indicador de la dinámica de N días puede causar un punto de inflexión de tendencia erróneo.
Los parámetros de SuperTrend están mal configurados, el trazado del canal es inexacto y puede generar falsas señales.
Los dos indicadores se corroboran mutuamente y es posible que se pierdan algunas oportunidades.
Se necesita ajustar la combinación de parámetros para encontrar el par de parámetros óptimo y maximizar el potencial de la estrategia.
La solución es la siguiente:
Utiliza el método de análisis de marcha adelante para encontrar los parámetros óptimos.
Se añade un módulo de optimización de parámetros, optimizando los parámetros en tiempo real.
Ajuste de la lógica combinada de los dos indicadores, consideración integral.
Aumentar el módulo de optimización de la adaptabilidad de los parámetros para que los parámetros se ajusten en tiempo real al entorno del mercado
Aumentar los modelos de aprendizaje automático para ayudar a determinar la precisión de las señales indicadoras
Extensión de más indicadores, composición de conjuntos de indicadores, y uso de mecanismos de votación para generar señales de entrada
Utiliza modelos de aprendizaje profundo en lugar de indicadores tradicionales para determinar el tiempo de entrada y salida de manera impulsada por datos
Esta estrategia combina las ventajas de los indicadores de dinámica y los indicadores de SuperTrend para mejorar la precisión de la entrada a través de la doble verificación y usar los indicadores para determinar el momento de la salida. En comparación con el uso de un solo indicador, se puede reducir las señales falsas y obtener una mayor tasa de éxito.
/*backtest
start: 2022-12-20 00:00:00
end: 2023-12-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Momentum + SuperTrend Strategy", overlay=true)
// Momentum Strategy
length = input(12)
price = close
momentum(seria, length) =>
mom = seria - seria[length]
mom
mom0 = momentum(price, length)
mom1 = momentum(mom0, 1)
momLongCondition = mom0 > 0 and mom1 > 0
momShortCondition = mom0 < 0 and mom1 < 0
// SuperTrend Strategy
Periods = input(10)
Multiplier = input(3.0)
changeATR = input(true)
src = input(hl2)
atr2 = sma(tr, Periods)
atr = changeATR ? atr(Periods) : atr2
up = src - (Multiplier * atr)
up1 = nz(up[1], up)
up := close[1] > up1 ? max(up, up1) : up
dn = src + (Multiplier * atr)
dn1 = nz(dn[1], dn)
dn := close[1] < dn1 ? min(dn, dn1) : dn
trend = 1
trend := nz(trend[1], trend)
trend := trend == -1 and close > dn1 ? 1 : trend == 1 and close < up1 ? -1 : trend
buySignal = trend == 1 and trend[1] == -1
sellSignal = trend == -1 and trend[1] == 1
// Combined Entry Conditions
longCondition = momLongCondition and buySignal
shortCondition = momShortCondition and sellSignal
// Strategy Entries
if (longCondition)
strategy.entry("MomLE", strategy.long, stop=high+syminfo.mintick, comment="MomLE")
else
strategy.cancel("MomLE")
if (shortCondition)
strategy.entry("MomSE", strategy.short, stop=low-syminfo.mintick, comment="MomSE")
else
strategy.cancel("MomSE")
// Plot SuperTrend on the chart
upPlot = plot(trend == 1 ? up : na, title="SuperTrend Up", color=color.green, linewidth=2)
dnPlot = plot(trend == -1 ? dn : na, title="SuperTrend Down", color=color.red, linewidth=2)
// Highlight the SuperTrend region
fill(upPlot, dnPlot, color = trend == 1 ? color.new(color.green, 90) : color.new(color.red, 90), title="SuperTrend Highlight")
// Plot SuperTrend Buy/Sell signals on the chart
plotshape(series=buySignal, title="SuperTrend Buy Signal", color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=sellSignal, title="SuperTrend Sell Signal", color=color.red, style=shape.triangledown, size=size.small)
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © naveen1119