
El sistema de seguimiento de tendencias de ATR-RSI es una estrategia de trading de alta cuantía que combina el rango real medio (ATR), el indicador relativamente fuerte (RSI) y el promedio móvil del índice (EMA). La estrategia utiliza el sistema de alertas de UT Bot como núcleo para identificar oportunidades de comercio potenciales a través del seguimiento de paradas de ATR, filtración de RSI y cruce de EMA. El sistema también integra la opción de la línea K (Heikin Ashi) para reducir el ruido del mercado y mejorar la calidad de la señal.
ATR tracking stop: utiliza ATR para calcular el nivel de stop dinámico, ajustado a las fluctuaciones del mercado. Esto proporciona una base flexible para el seguimiento de tendencias.
El filtro RSI: solo se permite comprar cuando el RSI está por encima de 50, y se permite vender cuando está por debajo de 50. Esto ayuda a garantizar que la dirección de la operación coincida con la dinámica general del mercado.
EMA cruzado: utiliza el cruce de la línea de stop loss seguido por el EMA de un ciclo y el ATR para generar una señal de negociación. Esto proporciona una confirmación de tendencia adicional.
Opción Heikin Ashi: Se puede elegir el uso de líneas K lisas para reducir las falsas señales y mejorar la precisión de la identificación de tendencias.
Porcentaje de salida: establece un porcentaje fijo de nivel de ganancias y pérdidas de acuerdo con el precio de entrada para administrar el riesgo y la rentabilidad de cada operación.
Diseño sin replanteo: La estrategia utiliza un diseño sin replanteo para asegurar que los resultados de la retroalimentación histórica coincidan con el rendimiento de las operaciones en tiempo real.
Fusión de múltiples indicadores: combinación de ATR, RSI y EMA para evaluar de manera integral la situación del mercado y mejorar la fiabilidad de la señal.
Gestión de riesgos dinámica: ATR rastrea los pérdidas y se ajusta a las fluctuaciones del mercado, ofreciendo un control de riesgo flexible.
Confirmación de tendencias: El filtro RSI y el cruce EMA actúan juntos para ayudar a confirmar tendencias fuertes y reducir las falsas rupturas.
Flexibilidad: el modelo Heikin Ashi es opcional y se adapta a diferentes condiciones de mercado y estilos de negociación.
Exit Precise: Establecimiento de ganancias y pérdidas basado en porcentajes, asegurando que cada operación tenga una estrategia de gestión de riesgos clara.
Características de no replanteo: garantiza que las estrategias se muestran de manera consistente en la retrotracción y en el disco real, lo que aumenta la credibilidad.
Automatización: diseño completamente sistemático, reducción de la interferencia emocional humana y mejora de la eficiencia de la ejecución.
Trataciones excesivas: Las falsas señales pueden ser frecuentes en mercados convulsionados, lo que lleva a la sobreventa y a la erosión de comisiones.
Retraso: debido al uso de varios indicadores, puede ser más lento en los puntos de cambio de tendencia, lo que afecta a las ganancias.
Sensible a los parámetros: la eficacia de la estrategia depende en gran medida de los parámetros como el ciclo ATR, la configuración del RSI, etc. La elección incorrecta de los parámetros puede causar un mal rendimiento.
Adaptabilidad al mercado: puede tener un buen desempeño en ciertas condiciones de mercado, pero no en otras.
Un porcentaje fijo de salida: Es posible que se salga demasiado pronto de una gran tendencia y se pierda más oportunidades de ganar dinero.
Término de RSI dinámico: Considere ajustar el Término de compra y venta del RSI en función de la dinámica de la volatilidad del mercado para adaptarse a las diferentes fases del mercado.
Análisis de múltiples marcos de tiempo: Introducción de análisis de marcos de tiempo más largos para mejorar la precisión de las tendencias.
Ajuste de la volatilidad: ajuste del tamaño de la operación y el porcentaje de nivel de salida en función de la dinámica de los valores ATR para adaptarse mejor a la volatilidad del mercado.
Integración de aprendizaje automático: utiliza algoritmos de aprendizaje automático para optimizar la selección de parámetros y el proceso de generación de señales y mejorar la adaptabilidad de las estrategias.
Integración de indicadores de sentimiento: Considere la inclusión de indicadores de sentimiento en el mercado, como VIX o el índice de volatilidad implícita de opciones, para mejorar el tiempo del mercado.
Indicadores de adaptación: desarrollo de indicadores que se ajusten automáticamente a las condiciones del mercado, como las medias móviles de adaptación.
Precio de equilibración de riesgo: aplicación del método de precio de equilibración de riesgo, según la volatilidad dinámica de los fondos en los diferentes mercados.
El sistema de seguimiento de tendencias de ATR-RSI es una estrategia de comercio integral y cuantitativa, diseñada para capturar tendencias fuertes y continuas mediante la fusión de varios indicadores técnicos y técnicas de gestión de riesgos. Su principal ventaja radica en la gestión de riesgos dinámicos, la detección de múltiples tendencias y la configuración de parámetros flexibles. Sin embargo, los usuarios deben prestar atención a la importancia de los riesgos potenciales de exceso de comercio y la optimización de los parámetros.
//@version=5
strategy("UT Bot Alerts - Non-Repainting with RSI Filter", overlay=true)
// Inputs
a = input.int(1, title="Key Value. 'This changes the sensitivity'")
c = input.int(10, title="ATR Period")
h = input.bool(false, title="Signals from Heikin Ashi Candles")
percentage = input.float(0.002, title="Percentage for Exit (0.2% as decimal)")
// RSI Inputs
rsiPeriod = input.int(14, title="RSI Period")
rsiSource = input.source(close, title="RSI Source")
// ATR Calculation
xATR = ta.atr(c)
nLoss = a * xATR
// Heikin Ashi Calculation
haClose = request.security(syminfo.tickerid, timeframe.period, close, lookahead=barmerge.lookahead_on)
haOpen = request.security(syminfo.tickerid, timeframe.period, open, lookahead=barmerge.lookahead_on)
haHigh = request.security(syminfo.tickerid, timeframe.period, high, lookahead=barmerge.lookahead_on)
haLow = request.security(syminfo.tickerid, timeframe.period, low, lookahead=barmerge.lookahead_on)
haCloseSeries = (haOpen + haHigh + haLow + haClose) / 4
src = h ? haCloseSeries : close
// RSI Calculation
rsiValue = ta.rsi(rsiSource, rsiPeriod)
// Non-repainting ATR Trailing Stop Calculation
var float xATRTrailingStop = na
if (barstate.isconfirmed)
xATRTrailingStop := src > nz(xATRTrailingStop[1], 0) and src[1] > nz(xATRTrailingStop[1], 0) ? math.max(nz(xATRTrailingStop[1]), src - nLoss) : src < nz(xATRTrailingStop[1], 0) and src[1] < nz(xATRTrailingStop[1], 0) ? math.min(nz(xATRTrailingStop[1]), src + nLoss) : src > nz(xATRTrailingStop[1], 0) ? src - nLoss : src + nLoss
// Position Calculation
var int pos = 0
if (barstate.isconfirmed)
pos := src[1] < nz(xATRTrailingStop[1], 0) and src > nz(xATRTrailingStop[1], 0) ? 1 : src[1] > nz(xATRTrailingStop[1], 0) and src < nz(xATRTrailingStop[1], 0) ? -1 : nz(pos[1], 0)
xcolor = pos == -1 ? color.red : pos == 1 ? color.green : color.blue
ema = ta.ema(src, 1)
above = ta.crossover(ema, xATRTrailingStop)
below = ta.crossover(xATRTrailingStop, ema)
// Track entry prices
var float entryPrice = na
// Buy and sell conditions with RSI filter
buy = src > xATRTrailingStop and above and barstate.isconfirmed and rsiValue > 50
sell = src < xATRTrailingStop and below and barstate.isconfirmed and rsiValue < 50
// Calculate target prices for exit
var float buyTarget = na
var float sellTarget = na
if (buy)
entryPrice := src
buyTarget := entryPrice * (1 + percentage)
sellTarget := entryPrice * (1 - percentage)
strategy.entry("Buy", strategy.long)
if (sell)
entryPrice := src
buyTarget := entryPrice * (1 + percentage)
sellTarget := entryPrice * (1 - percentage)
strategy.entry("Sell", strategy.short)
// Exit conditions
var bool buyExit = false
var bool sellExit = false
if (strategy.position_size > 0 and barstate.isconfirmed)
if (src >= buyTarget)
strategy.exit("Take Profit", "Buy", limit=buyTarget)
buyExit := true
if (src <= sellTarget)
strategy.exit("Take Profit", "Buy", limit=sellTarget)
sellExit := true
if (strategy.position_size < 0 and barstate.isconfirmed)
if (src <= sellTarget)
strategy.exit("Take Profit", "Sell", limit=sellTarget)
sellExit := true
if (src >= buyTarget)
strategy.exit("Take Profit", "Sell", limit=buyTarget)
buyExit := true
// Plotting
plotshape(buy, title="Buy", text='Buy', style=shape.labelup, location=location.belowbar, color=color.green, textcolor=color.white, size=size.tiny)
plotshape(sell, title="Sell", text='Sell', style=shape.labeldown, location=location.abovebar, color=color.red, textcolor=color.white, size=size.tiny)
barcolor(src > xATRTrailingStop ? color.green : na)
barcolor(src < xATRTrailingStop ? color.red : na)
alertcondition(buy, "UT Long", "UT Long")
alertcondition(sell, "UT Short", "UT Short")
alertcondition(buyExit, "UT Long Exit", "UT Long Exit")
alertcondition(sellExit, "UT Short Exit", "UT Short Exit")