
Esta estrategia es una estrategia de comercio de línea corta basada en un sistema de evaluación de confirmación y clasificación de múltiples indicadores. Evalúa la fuerza de la señal de comercio mediante el análisis del tamaño del gráfico, el cambio en el volumen de transacciones y el indicador RSI, dividiendo la señal en tres niveles A, B y C, donde la señal A es la más fuerte y la señal C es la más débil.
El principio central de la estrategia se basa en una combinación de los siguientes elementos clave:
Juzgar las tendenciasUtiliza 200 EMA como principal herramienta de determinación de tendencias. El precio busca oportunidades de hacer más por encima de 200 EMA y busca oportunidades de hacer menos por debajo de 200 EMA.
Señales de cruce de línea media: La estrategia utiliza el EMA y el SMA de 20 ciclos, que producen una señal inicial cuando se cruzan las dos líneas equiláteras. Hacer más señales requiere pasar por el SMA en el EMA, y hacer más señales requiere pasar por el SMA en el EMA.
RSI confirmóUtiliza el indicador RSI de 9 ciclos, requiere un RSI mayor a 50 en el tiempo de pluralidad y menos de 50 en el tiempo de vacío.
Evaluación del tamaño del cuerpo: Análisis estratégico del tamaño de la barrica comparado con el volumen promedio de las últimas 20 barricas, para determinar el movimiento actual de los precios.
Confirmación de la transacciónRequiere que el volumen de transacciones actuales sea mayor que el volumen de transacciones del ciclo anterior para asegurar una participación suficiente en el mercado.
Sistemas de clasificación de señales:
Gestión de riesgos: Contiene niveles de stop (default 0.5%) y stop (default 0.3%) ajustables, configurados en porcentaje del precio de entrada.
La estrategia utiliza estas condiciones de confirmación múltiple para asegurar que las operaciones de entrada se realicen solo cuando hay suficiente movimiento del mercado y confirmación de tendencias, reduciendo así las falsas señales.
Sistema de evaluación por gradosLa mayor ventaja reside en su exclusivo sistema de clasificación de señales, que permite a los operadores elegir solo las señales de mayor intensidad para operar (Clases A) o incluir más oportunidades de negociación (Clases B y C) según sus preferencias de riesgo.
Mecanismo de confirmación múltiple: Confirmación múltiple combinada con indicadores técnicos (RSI, línea media), comportamiento de precios (tamaño de la casilla) y participación en el mercado (volumen de transacciones) reduce efectivamente la probabilidad de falsas señales.
Gestión de riesgos integradaLa configuración automática de stop-loss asegura que el riesgo de cada transacción sea controlado y evita que una sola transacción cause una pérdida excesiva.
Sistema de retroalimentación visual: La señal de negociación se marca automáticamente en la tabla cuando se activa, mostrando claramente la dirección de la operación y la intensidad de la señal, para facilitar la identificación rápida del comerciante.
Función de alertaEl sistema de alertas de TradingView está integrado, lo que permite a los operadores recibir avisos por pop-up, correo electrónico o teléfono móvil.
Adaptación a las diferentes condiciones del mercado: Confirmación de la estrategia de mantener un rendimiento relativamente estable en diferentes entornos de volatilidad a través de la clasificación de señales y múltiples indicadores.
Personalización: Ofrece opciones personalizadas para varios parámetros clave, incluida la longitud del RSI, el ciclo de la línea media, el índice de stop loss y el nivel de señal para operar, lo que permite que la estrategia se adapte a las preferencias personales y las condiciones del mercado.
Seguimiento de la tendencia junto con el impulso: La estrategia combina eficazmente el seguimiento de la tendencia (la línea media) y la confirmación de la dinámica (el RSI, el tamaño de la barra), formando un sistema de negociación más completo.
El exceso de filtraciónEl mecanismo de confirmación múltiple puede conducir a la pérdida de algunas oportunidades de negociación efectivas, especialmente cuando se negocian solo señales de clase A, lo que puede reducir considerablemente la frecuencia de las transacciones.
Sensibilidad de los parámetrosLa estrategia utiliza varios indicadores y parámetros técnicos, cuyas pequeñas variaciones pueden causar grandes diferencias de rendimiento. Por ejemplo, la longitud del RSI, el ciclo de la línea media y el tamaño del casco pueden necesitar ajustes para adaptarse a las diferentes condiciones del mercado.
Porcentaje fijo de stop lossLa estrategia utiliza un stop loss de porcentaje fijo, que puede no ser adecuado para todas las condiciones del mercado. En un entorno de alta volatilidad, el nivel de stop loss fijo puede ser demasiado pequeño, y en un entorno de baja volatilidad, puede ser demasiado grande.
El impacto del ruido en el mercadoEn el marco de tiempo de 1 minuto, el ruido del mercado es mayor, lo que puede conducir a más falsas señales, especialmente en períodos de mercado horizontal o baja volatilidad.
Riesgo de liquidez: Durante los períodos de no negociación o de baja liquidez, la calidad de la señal de negociación puede disminuir y el riesgo de deslizamiento aumenta.
Riesgo de pérdidas continuas: Incluso con un sistema de clasificación, los cambios bruscos en el mercado pueden ocasionar pérdidas continuas, lo que requiere una estrategia adecuada de administración de fondos.
Riesgo de una contra-tendenciaLa estrategia se basa principalmente en el cruce de la línea media a corto plazo y la confirmación del RSI, lo que puede generar señales erróneas en situaciones de fuerte contratrend.
Los métodos para mitigar estos riesgos incluyen: el uso de condiciones de filtración en un marco de tiempo más largo, el ajuste dinámico de los niveles de stop-loss, el comercio en períodos de mercado específicos (como períodos de gran volatilidad o suficiente liquidez), la medición y optimización periódica de los parámetros y el control estricto de la brecha de riesgo en cada transacción.
atr = ta.atr(14)
longSL = close - atr * slMultiplier
longTP = close + atr * tpMultiplier
timeFilter = (hour >= 14 and hour < 16) or (hour >= 9 and hour < 11)
higherTimeframeTrend = request.security(syminfo.ticker, "15", close > ta.ema(close, 200))
longCondition = longBase and higherTimeframeTrend
consecutiveLongSignals = longBase and longBase[1]
adaptiveLength = math.round(ta.atr(14) / ta.atr(14)[20] * baseLength)
adaptiveRsi = ta.rsi(close, math.max(2, adaptiveLength))
if setupGrade == "A"
tpMultiplier = 2.0
else if setupGrade == "B"
tpMultiplier = 1.5
else
tpMultiplier = 1.0
volatilityFilter = ta.atr(14) > ta.sma(ta.atr(14), 20) * 0.8
if (strategy.position_size > 0 and close > entryPrice * (1 + partialTpPerc/100))
strategy.exit("Partial", "Long", qty_percent=50)
Estas orientaciones de optimización se centran en resolver la adaptabilidad de la estrategia en diferentes condiciones de mercado, mejorar la calidad de la señal y gestionar mejor el riesgo, mientras se mantiene la lógica central de la estrategia.
La estrategia de gestión de riesgo y confirmación de tendencias de US30 es un sistema de trading de línea corta que combina múltiples indicadores técnicos, confirmación de tendencias y análisis de la dinámica. Su característica es la evaluación de la calidad de la señal de negociación mediante el uso de un sistema de evaluación por gradación (niveles A, B y C) que permite al comerciante elegir la calidad de la señal de acuerdo con sus preferencias de riesgo. La estrategia mejora la fiabilidad de la señal mediante el cruce de la línea media, la confirmación del RSI, el análisis multidimensional del tamaño del cubo y el cambio en el volumen de la operación.
La función de gestión de riesgos incorporada y la clara retroalimentación visual lo convierten en un sistema de negociación relativamente completo. Sin embargo, la estrategia puede enfrentarse a desafíos como el ruido del mercado, la sensibilidad a los parámetros y la falta de flexibilidad de los stop-loss fijos cuando se ejecuta en un marco de tiempo corto. Mediante la integración de direcciones de optimización como la gestión de riesgos dinámicos, el análisis de marcos temporales múltiples y la filtración de condiciones de mercado, la estrategia tiene el potencial de mejorar aún más la adaptabilidad y la estabilidad en diferentes entornos de mercado, mientras se mantienen las ventajas centrales.
El sistema ofrece un buen punto de partida para los operadores que prefieren una estrategia de negociación de línea corta con reglas claras y control de riesgo, que puede ser personalizada a través de la retroalimentación y la optimización, según el estilo de negociación individual y las características del mercado objetivo.
/*backtest
start: 2025-02-01 00:00:00
end: 2025-03-31 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("US30 1-min Strategy with TP/SL, Grades, Alerts", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// === Inputs ===
rsiLength = input.int(9, title="RSI Length")
maLength = input.int(20, title="MA Length (SMA & EMA)")
ema200Length = input.int(200, title="200 EMA Length")
tpPerc = input.float(0.5, title="Take Profit %", step=0.1)
slPerc = input.float(0.3, title="Stop Loss %", step=0.1)
// Grade filters
allowA = input.bool(true, title="Trade A-Grade Setups")
allowB = input.bool(true, title="Trade B-Grade Setups")
allowC = input.bool(false, title="Trade C-Grade Setups")
// === Indicators ===
rsi = ta.rsi(close, rsiLength)
sma = ta.sma(close, maLength)
ema = ta.ema(close, maLength)
ema200 = ta.ema(close, ema200Length)
volumeRising = volume > volume[1]
// === Candle Size Helpers ===
avgBody = ta.sma(math.abs(close - open), 20)
candleBody = math.abs(close - open)
candleLarge = candleBody > avgBody
candleVeryLarge = candleBody > avgBody * 2
// === Setup Grade Conditions ===
gradeA = candleVeryLarge and volumeRising and rsi > 55 or rsi < 45
gradeB = candleLarge and volumeRising
gradeC = candleLarge
// === Setup Conditions ===
// --- Long ---
longBase = close > ema200 and ta.crossover(ema, sma) and rsi > 50 and close > ema and close > sma
// --- Short ---
shortBase = close < ema200 and ta.crossunder(ema, sma) and rsi < 50 and close < ema and close < sma
// === Determine Grade ===
setupGrade = ""
isTrade = false
if longBase
if gradeA and allowA
setupGrade := "A"
isTrade := true
else if gradeB and allowB
setupGrade := "B"
isTrade := true
else if gradeC and allowC
setupGrade := "C"
isTrade := true
if shortBase
if gradeA and allowA
setupGrade := "A"
isTrade := true
else if gradeB and allowB
setupGrade := "B"
isTrade := true
else if gradeC and allowC
setupGrade := "C"
isTrade := true
// === Entry & TP/SL ===
longTP = close * (1 + tpPerc / 100)
longSL = close * (1 - slPerc / 100)
shortTP = close * (1 - tpPerc / 100)
shortSL = close * (1 + slPerc / 100)
// Entry
if longBase and isTrade and (setupGrade == "A" or setupGrade == "B" or setupGrade == "C")
strategy.entry("Long " + setupGrade, strategy.long)
strategy.exit("TP/SL", "Long " + setupGrade, limit=longTP, stop=longSL)
label.new(bar_index, high, "Long " + setupGrade, style=label.style_label_up, color=color.green, textcolor=color.white)
alert("LONG " + setupGrade + " setup triggered!", alert.freq_once_per_bar)
if shortBase and isTrade and (setupGrade == "A" or setupGrade == "B" or setupGrade == "C")
strategy.entry("Short " + setupGrade, strategy.short)
strategy.exit("TP/SL", "Short " + setupGrade, limit=shortTP, stop=shortSL)
label.new(bar_index, low, "Short " + setupGrade, style=label.style_label_down, color=color.red, textcolor=color.white)
alert("SHORT " + setupGrade + " setup triggered!", alert.freq_once_per_bar)
// === Plotting MAs ===
plot(ema, title="20 EMA", color=color.red)
plot(sma, title="20 SMA", color=color.blue)
plot(ema200, title="200 EMA", color=color.green)