
La estrategia de seguimiento de tendencias de la dinámica cruzada es un sistema de negociación simple y eficiente que combina hábilmente dos indicadores técnicos, el promedio móvil (SMA) y el índice de fuerza relativa (RSI), para formar un sistema automático de generación de señales de compra y venta. La estrategia utiliza el precio y el punto de cruce de la SMA de 20 ciclos como condición principal para la activación de la señal, mientras que combina la confirmación de la dinámica del indicador RSI para filtrar algunas señales de negociación de baja calidad.
El principio central de la estrategia es capturar los puntos de cambio de tendencia a través de la intersección del precio con la línea media, mientras se utiliza el indicador de dinámica RSI para la confirmación de la señal, como se indica a continuación:
Condiciones de compraCuando el precio cruza el SMA de 20 ciclos hacia arriba y el RSI es mayor que 60, el sistema genera una señal de compra. Esta condición combina las dos dimensiones de la tendencia y la dinámica: la ruptura de la línea media del precio indica la posibilidad de formar una tendencia alcista, mientras que un valor del RSI superior a 60 confirma la existencia de energía ascendente.
Condiciones de venta: Cuando el precio cruza el SMA de 20 ciclos hacia abajo y el RSI es inferior a 40, el sistema genera una señal de venta. Del mismo modo, esta condición identifica una posible reversión de tendencia y confirma la dinámica bajista con un RSI inferior a 40.
Mecanismo de seguimiento de rendimientoLa estrategia incluye un sistema de monitoreo del rendimiento de las transacciones que se basa en los siguientes indicadores:
VisualizaciónLa estrategia consiste en marcar los puntos de compra y venta con “B” (Buy) y “S” (Sell) en el gráfico y mostrar las estadísticas de rendimiento en tiempo real a través de la tabla.
Es sencillo y eficiente.El uso de solo dos indicadores técnicos comunes (SMA y RSI) para construir un sistema de negociación completo reduce el riesgo de optimización excesiva y sobreajuste.
Mecanismo de doble confirmación: La combinación de un indicador de tendencia (SMA) y un indicador de dinámica (RSI) mejora la fiabilidad de la señal. El precio debe no solo romper la línea media, sino también tener suficiente energía dinámica para desencadenar una operación.
Alta automatizaciónLa estrategia es totalmente automatizada para generar señales de compra y venta, reduce la interferencia emocional humana y es adecuada para el uso de los operadores sistematizados.
Evaluación de rendimiento integrada: Seguimiento en tiempo real de los indicadores clave de rendimiento, que permite a los operadores evaluar objetivamente el rendimiento de la estrategia, ajustar los parámetros a tiempo o salir de la estrategia de bajo rendimiento.
Consciencia de control de riesgosA través de la monitorización del comportamiento de los precios durante los 7 ciclos posteriores a la compra, ayuda a identificar los puntos de parada potenciales y fomenta la conciencia de gestión de riesgos.
La visualización intuitivaA través de las etiquetas gráficas y las tablas de rendimiento, los comerciantes pueden comprender de forma intuitiva la ejecución de la estrategia, facilitando el análisis de retroalimentación y la mejora de la estrategia.
Riesgo de una falsa brechaA pesar de la filtración con el RSI, la estrategia puede generar una gran cantidad de falsas brechas en el mercado de liquidación, lo que lleva a operaciones frecuentes y costos innecesarios.
Sensibilidad de los parámetrosEl rendimiento de la estrategia depende en gran medida de la elección del ciclo SMA (20) y el ciclo RSI (8) y su umbral (60⁄40). Estos parámetros fijos pueden funcionar mal en diferentes entornos o variedades de mercado.
Falta de adaptabilidadLas estrategias no tienen la capacidad de identificar el entorno del mercado, se desempeñan bien en mercados de tendencia, pero pueden perder frecuentemente en mercados de crisis.
Mecanismo de detención de pérdidas simpleLa estrategia sigue los fallos, pero no implementa la función de parada de pérdidas dinámica, lo que puede conducir a pérdidas excesivas en situaciones extremas.
Falta de gestión de posicionesEstrategia de entrada y salida con posiciones fijas, sin ajustar el tamaño de las posiciones en función de la volatilidad del mercado o la intensidad de las señales, sin optimizar la utilización de los fondos.
Limitaciones de las evaluaciones de rendimientoEl éxito se define como un incremento del 2% en el precio. Este incremento fijo puede no aplicarse en todos los entornos de mercado, y las variedades con mucha volatilidad pueden requerir un incremento mayor.
Un filtro para el entorno del mercadoIntroducción de indicadores de volatilidad (como el ATR) o indicadores de intensidad de tendencia (como el ADX) para ayudar a identificar el estado del mercado, reducir la frecuencia de negociación o ajustar los parámetros en mercados convulsos.
Mecanismo de adaptación de parámetros: Realización de ajustes dinámicos de los parámetros SMA y RSI, optimización automática de los ciclos y devaluaciones según el rendimiento reciente del mercado, mejora de la adaptabilidad de la estrategia.
Optimización de la gestión de posicionesDiseñar un sistema de asignación de posiciones dinámico basado en la intensidad de la señal (por ejemplo, la desviación del RSI), la volatilidad del mercado o el riesgo de la cuenta para controlar el riesgo de una sola operación.
Mejora en el mecanismo de suspensión de pérdidas: Implementación de un stop loss dinámico basado en ATR o un stop loss de seguimiento para un control más preciso del riesgo de cada transacción.
Aumentar el tiempo de filtradoConsidere los factores de tiempo del mercado, evite las operaciones en momentos de volatilidad anormal o baja liquidez, y mejore la calidad de la señal.
Confirmación de varios ciclos: se incorpora el análisis de múltiples períodos, que requiere que la dirección de la tendencia en períodos de tiempo más largos coincida con la dirección de la operación, filtrando las señales de negociación de tendencias inversas.
Evaluación de la optimización del rendimientoMejorar la definición de éxito/fracaso, considerando la adopción de indicadores de evaluación más completos, como el beneficio ajustado al riesgo o el beneficio/riesgo.
La estrategia de seguimiento de tendencias de dinámica cruzada es un sistema de negociación simple y práctico que filtra eficazmente algunas señales de baja calidad mediante la combinación de indicadores SMA y RSI para realizar confirmación de la dinámica al mismo tiempo que se identifica el punto de inflexión de la tendencia. La estrategia es especialmente adecuada para los inversores que recién han estado en contacto con el comercio cuantitativo, ya que ofrece una señal de negociación clara y una función de seguimiento de rendimiento incorporada para ayudar a los operadores a evaluar objetivamente el rendimiento de la estrategia.
Aunque la estrategia es relativamente simple de diseño, refleja los principios importantes en el comercio cuantitativo: seguimiento de tendencias, confirmación de señales y monitoreo de rendimiento. Mediante la orientación de optimización sugerida, como filtración de entornos de mercado, adaptación de parámetros y perfeccionamiento de mecanismos de suspensión de pérdidas, el comerciante puede mejorar significativamente la estabilidad y adaptabilidad de la estrategia, mientras se mantiene la lógica central de la estrategia.
Estas estrategias simples, combinadas con indicadores técnicos clásicos, suelen ser más fiables y vitales que los algoritmos complejos, especialmente cuando incorporan mecanismos de gestión de riesgos y evaluación de rendimiento. Para los operadores que buscan estrategias de cuantificación de nivel de entrada, es un punto de partida ideal, ya que ofrece experiencia en el campo y sienta las bases para el desarrollo de estrategias posteriores.
/*backtest
start: 2024-07-05 00:00:00
end: 2025-02-23 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"SOL_USDT"}]
*/
//@version=5
strategy("STOCKS TO BUY", overlay=true, fill_orders_on_standard_ohlc=true)
// Define 20-period SMA
sma20 = ta.sma(close, 20)
// RSI Calculation (8-period)
rsiValue = ta.rsi(close, 8)
// Buy Condition: Close crosses above 20-SMA and RSI > 60
buyCondition = ta.crossover(close, sma20) and rsiValue > 60
// Sell Condition: Close crosses below 20-SMA and RSI < 40
sellCondition = ta.crossunder(close, sma20) and rsiValue < 40
// Tracking Performance Metrics
var int totalSignals = 0 // Total number of 'B' signals
var int successCount = 0 // Times price rose >2% from 'B' candle close
var int failureCount = 0 // Times price fell below 'B' candle low within 7 bars
// Store entry price and low when signal occurs
var float entryPrice = na
var float entryLow = na
var int barCounter = na // Bar counter for tracking 7-candle window
if buyCondition
strategy.entry("Buy", strategy.long)
totalSignals := totalSignals + 1 // Increment 'B' count
entryPrice := close
entryLow := low
barCounter := 0 // Reset counter when new 'B' signal appears
if sellCondition
strategy.close("Buy") // Close the buy position on sell signal
// Monitor for 7 candles only
if not na(barCounter)
barCounter := barCounter + 1
// Check for Success (Price rises >2%)
success = high >= entryPrice * 1.02
if success
successCount := successCount + 1
entryPrice := na // Reset entry price after success
// Check for Failure (Price falls below entryLow within 7 candles)
failure = low < entryLow and barCounter <= 7
if failure
failureCount := failureCount + 1
entryLow := na // Reset entry low after failure
// Stop tracking after 7 candles
if barCounter > 7
barCounter := na
// Plot 'B' on chart when buy condition is met
plotshape(series=buyCondition, location=location.belowbar, color=color.green, style=shape.labelup, text="B")
// Plot 'S' on chart when sell condition is met
plotshape(series=sellCondition, location=location.abovebar, color=color.red, style=shape.labeldown, text="S")
// Display Performance Metrics Table
var table performanceTable = table.new(position=position.top_right, columns=2, rows=4, bgcolor=color.gray, border_width=1)
if bar_index % 10 == 0 // Update table every 10 bars for efficiency
table.cell(performanceTable, 0, 0, "Metric", text_color=color.white, bgcolor=color.blue)
table.cell(performanceTable, 1, 0, "Value", text_color=color.white, bgcolor=color.blue)
table.cell(performanceTable, 0, 1, "Total 'B' Signals", text_color=color.white)
table.cell(performanceTable, 1, 1, str.tostring(totalSignals), text_color=color.white)
table.cell(performanceTable, 0, 2, "Price Rose >2%", text_color=color.white)
table.cell(performanceTable, 1, 2, str.tostring(successCount), text_color=color.green)
table.cell(performanceTable, 0, 3, "Price Fell Below 'B' Low (7 bars)", text_color=color.white)
table.cell(performanceTable, 1, 3, str.tostring(failureCount), text_color=color.red)