
La estrategia de sincronización de tendencias dinámicas es una estrategia de negociación que combina el índice de dinámica relativa (RMI) y un indicador de tendencia actual personalizado. La estrategia utiliza un método de varios niveles que combina el análisis de la dinámica con el juicio de tendencias, lo que ofrece a los operadores una estructura de negociación más flexible y sensible.
El indicador RMI es una variante del índice de fuerza relativa (RSI), que mide la magnitud de la dinámica de las subidas y bajadas de los precios en relación con el cambio de precios en el período anterior. Su fórmula de cálculo es:
RMI = 100 - 100/{1 + promedio de subidas / promedio de bajadas)
El índice RMI tiene un valor entre 0 y 100, el más alto indica el mayor impulso al alza y el más bajo indica el mayor impulso a la baja.
El indicador presentTrend combina el rango de fluctuación real (ATR) y la media móvil para determinar la dirección de la tendencia y el soporte o resistencia dinámicos. Su fórmula de cálculo es:
En la vía superior: promedio móvil + (ATR × F)
Baja línea: media móvil - (ATR × F)
El promedio móvil es el promedio de los precios de cierre del último ciclo M
ATR es el rango de fluctuaciones reales promedio en el pasado ciclo M
F es el multiplicador de ajuste de la sensibilidad
Cuando el precio rompe la vía ascendente o descendente de la tendencia actual, indica que la tendencia ha cambiado, y puede ser un punto de entrada o salida.
Condiciones de entrada:
Condiciones de salida ((con deterioro dinámico):
La fórmula para el cálculo de la pérdida dinámica:
La ventaja de esta estrategia es que combina el juicio dinámico de RMI con la tendencia y el stop dinámico de presentTrend, lo que permite controlar el riesgo de manera efectiva mientras se sigue la tendencia.
La estrategia tiene las siguientes ventajas:
La estrategia también tiene ciertos riesgos:
Se puede reducir el riesgo mencionado por la flexibilización adecuada de las condiciones de entrada, la optimización de la combinación de parámetros, en combinación con el juicio de tendencias.
La estrategia puede ser optimizada en las siguientes direcciones:
La estrategia de sincronización de tendencias dinámicas es una estrategia de negociación de varios niveles, que considera los indicadores de tendencia y los indicadores de tendencia, con excelentes características de precisión de juicio y control de riesgo. La estrategia se puede ajustar con flexibilidad según las preferencias personales, y después de la optimización en profundidad, puede aprovechar al máximo las ventajas de la captura de tendencias, es una estrategia de negociación recomendable.
/*backtest
start: 2024-01-19 00:00:00
end: 2024-02-18 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © PresentTrading
//@version=5
strategy("PresentTrend RMI Synergy - Strategy [presentTrading]", shorttitle="PresentTrend RMI Synergy - Strategy [presentTrading]", overlay=false)
// Inputs
tradeDirection = input.string("Both", title="Trade Direction", options=["Long", "Short", "Both"])
lengthRMI = input.int(21, title="RMI Length")
lengthSuperTrend = input.int(5, title="presentTrend Length")
multiplierSuperTrend = input.float(4.0, title="presentTrend Multiplier")
// RMI Calculation
up = ta.rma(math.max(ta.change(close), 0), lengthRMI)
down = ta.rma(-math.min(ta.change(close), 0), lengthRMI)
rmi = 100 - (100 / (1 + up / down))
// PresentTrend Dynamic Threshold Calculation (Simplified Example)
presentTrend = ta.sma(close, lengthRMI) * multiplierSuperTrend // Simplified for demonstration
// SuperTrend for Dynamic Trailing Stop
atr = ta.atr(lengthSuperTrend)
upperBand = ta.sma(close, lengthSuperTrend) + multiplierSuperTrend * atr
lowerBand = ta.sma(close, lengthSuperTrend) - multiplierSuperTrend * atr
trendDirection = close > ta.sma(close, lengthSuperTrend) ? 1 : -1
// Entry Logic
longEntry = rmi > 60 and trendDirection == 1
shortEntry = rmi < 40 and trendDirection == -1
// Exit Logic with Dynamic Trailing Stop
longExitPrice = trendDirection == 1 ? lowerBand : na
shortExitPrice = trendDirection == -1 ? upperBand : na
// Strategy Execution
if (tradeDirection == "Long" or tradeDirection == "Both") and longEntry
strategy.entry("Long Entry", strategy.long)
strategy.exit("Exit Long", stop=longExitPrice)
if (tradeDirection == "Short" or tradeDirection == "Both") and shortEntry
strategy.entry("Short Entry", strategy.short)
strategy.exit("Exit Short", stop=shortExitPrice)
// Visualization
plot(rmi, title="RMI", color=color.orange)
hline(50, "Baseline", color=color.white)
hline(30, "Baseline", color=color.blue)
hline(70, "Baseline", color=color.blue)