Los sistemas de negociación adaptativos son estrategias diseñadas para "aprender" de los datos históricos del mercado y de los activos, lo que les permite ajustar sus reglas para adaptarse a la nueva dinámica del mercado. Un sistema de negociación autoadaptativo o autoadaptativo puede modificar sus reglas de compra y venta basándose en el rendimiento de estas reglas en el pasado.
En la negociación algorítmica, los operadores se basan en diversas estrategias e indicadores técnicos para tomar decisiones basadas en datos sobre cuándo entrar o salir de las operaciones. Un componente clave de estas estrategias es el uso de bloques de comparación, que son herramientas esenciales para identificar las condiciones del mercado y generar señales de negociación. Uno de los nuevos bloques de comparación avanzados es el bloque "Cruces por encima de Adaptable/Cruces por debajo de Adaptable".
Este artículo profundiza en el concepto de bloques de comparación, explicando su función e importancia en el trading automatizado. También ofrece un análisis detallado del bloque Cruces por encima del adaptativo, explorando la lógica que subyace a su naturaleza adaptativa, cómo responde a las condiciones cambiantes del mercado y cómo su incorporación puede mejorar su estrategia general de negociación.
Comprender los bloques de comparación en las estrategias de negociación
En StrategyQuant X, los bloques de comparación son herramientas esenciales que se utilizan para comparar diferentes indicadores, precios o valores en un gráfico. Ayudan a definir las condiciones que pueden desencadenar señales de compra o venta en una estrategia de negociación automatizada. Por ejemplo, un bloque de comparación puede comprobar si una media móvil a corto plazo cruza por encima de una media móvil a largo plazo, señalando una posible oportunidad de compra.
Los bloques de comparación actúan como puntos de control en la toma de decisiones, respondiendo a preguntas como "¿Es un valor superior a otro?" o "¿Ha cruzado un indicador un umbral clave?". Combinando varios bloques de comparación, los operadores pueden crear reglas sofisticadas para perfeccionar sus estrategias y mejorar la toma de decisiones en función de las condiciones del mercado.
Existen varios tipos de bloques de comparación diseñados para ayudar a los operadores a crear estrategias de negociación automatizadas mediante la comparación de distintos indicadores, precios o valores personalizados. Estos bloques permiten un control flexible y preciso sobre cuándo se cumplen determinadas condiciones. Estos son los principales tipos de bloques de comparación disponibles en StrategyQuant X:
- Cruces arriba / Cruces abajo
- Mayor que / Menor que
- Igual a / No igual a
- Mayor recuento / Menor recuento
- Percentil superior / Percentil inferior
- Mayor o igual que / Menor o igual que
- Es Verdad / Es Falso
Aunque los bloques de comparación básicos se utilizan mucho en las estrategias de negociación, tienen una limitación importante: no tienen en cuenta la fiabilidad de la señal. Por ejemplo, el mero hecho de que un indicador cruce por encima de otro no garantiza una operación rentable. Esto nos lleva a los bloques de comparación adaptativos, que ofrecen un enfoque más sofisticado al considerar el rendimiento histórico y las condiciones del mercado antes de confirmar una señal.
Introducción a las Señales de Cruce Adaptativas: "Cruces por Encima de Adaptable/Cruces por Debajo de Adaptable"
En Cruces por encima de Adaptable es un tipo avanzado de bloque de comparación. A diferencia del cruce simple, que sólo tiene en cuenta las condiciones actuales del mercado, la versión adaptativa profundiza más y no se limita a comprobar si un indicador ha cruzado por encima de otro, sino que también evalúa el rendimiento pasado de cruces similares y determina si la señal es estadísticamente fiable.
El objetivo de este bloque es proporcionar señales más inteligentes, es decir, señales que tengan una mayor probabilidad de éxito basándose en datos históricos, en lugar de basarse únicamente en cruces en tiempo real, que a menudo pueden dar lugar a señales falsas.
Cómo funcionan las señales de trading adaptativas
Empecemos por los conceptos básicos de una señal de cruce. Un cruce se produce cuando un indicador (a menudo una media móvil a corto plazo) cruza por encima o por debajo de otro indicador. Un cruce por encima puede indicar que el impulso está cambiando al alza, lo que sugiere una oportunidad de compra.
En una estrategia de cruce simple, los operadores reaccionarían inmediatamente cuando se produjera dicho cruce. Sin embargo, esto suele llevar a operar en exceso o a reaccionar ante señales que no son rentables porque los mercados son dinámicos y están llenos de ruido.
Las limitaciones de las señales cruzadas simples
Aunque los cruces son sencillos y fáciles de entender, no siempre son fiables. En los mercados volátiles, los precios pueden moverse rápidamente en una dirección, desencadenar un cruce y, poco después, dar marcha atrás. Esto hace que los operadores realicen operaciones basadas en señales que pueden no conducir a movimientos sostenidos del mercado.
En otras palabras, las estrategias de cruce simples son rígidas. No tienen en cuenta la tasa de éxito histórica de cruces similares. Aquí es donde los bloques de comparación adaptativos como Cruces por encima de Adaptable entran en juego.
Cómo funciona el mecanismo de adaptación
El bloque Cruces por encima de Adaptable / Cruces por debajo de Adaptable mejora las estrategias tradicionales de cruce integrando una capa adicional de evaluación. Así es como funciona:
- Evento transversal básico
El primer paso consiste en detectar la aparición de un cruce básico. Esto sucede cuando el Indicador A se cruza por encima del Indicador B, como cuando una media móvil de 20 periodos se cruza por encima de una media móvil de 50 periodos, o cuando el RSI(14) se cruza por encima de 50.
- Evaluación histórica de resultados
Una vez identificado el evento de cruce, el sistema evalúa su rendimiento histórico. Comprueba cómo se han comportado eventos de cruce similares en el pasado, basándose en un número especificado de barras históricas (X-bars) y operaciones (X-trades). Esto actúa como una prueba retrospectiva dentro de una prueba retrospectiva, analizando el rendimiento pasado para calibrar la fiabilidad potencial de la señal actual.
- Métricas y umbrales definidos por el usuario
A continuación, se compara el rendimiento del cruce con los umbrales definidos por el usuario. El usuario puede elegir diferentes métricas de evaluación, como:
- Factor de beneficio
- Porcentaje de victorias
- Rendimiento medio
- Factor de ajuste interno Pro
- Decisión final: Adaptación a las condiciones del mercado
Tras evaluar el rendimiento histórico y compararlo con los umbrales definidos por el usuario, el sistema comprueba si las condiciones actuales del mercado se asemejan a aquellas en las que la señal obtuvo históricamente buenos resultados. Si las condiciones y las métricas coinciden (por ejemplo, factor de beneficio > 1,5), se confirma la operación. En caso contrario, el sistema se abstiene de realizar la operación, reduciendo así el riesgo de señales falsas.
Parámetros importantes del bloque de comparación

En la imagen superior, puede ver la configuración del bloque Comparación Cruza por encima de Adaptable.
Una vez detectado un cruce, la señal sólo se confirma si se cumplen unas condiciones clave. Los siguientes parámetros son esenciales para configurar el proceso de toma de decisiones:
- Los oficios miran hacia atrás: Especifica cuántas operaciones históricas examina el sistema para calcular métricas de rendimiento como el factor de beneficio y el porcentaje de ganancias. Por ejemplo, si se establece en 50, el sistema analizará las últimas 50 operaciones cruzadas para tomar una decisión informada.
- Salida después de las barras: Este parámetro define el tiempo que el sistema supervisa la operación después de la entrada (en términos de barras o periodos) antes de determinar una salida. Por ejemplo, si se establece en 5 barras, el sistema evalúa el rendimiento de la operación después de 5 periodos, lo que garantiza que la operación está limitada en el tiempo y no se mantiene indefinidamente.
- Métricas : Puedes elegir entre varias métricas de evaluación para determinar la fiabilidad de la señal, como:
- 1TP9Factor de ajuste: La relación entre los beneficios totales y las pérdidas totales de operaciones anteriores similares. Un valor más alto indica una señal más fiable.
- Porcentaje de victorias: Porcentaje de operaciones anteriores provocadas por cruces similares que terminaron con beneficios. Un porcentaje de ganancias de 60% o más se considera normalmente fuerte.
- Rendimiento medio: La ganancia o pérdida media absoluta resultante de cruces similares, independientemente de la dirección (alcista o bajista). Esto proporciona una medida neutral del riesgo potencial.
- Interno 1TP9Factor de ajuste: Perfecciona el factor de beneficio tradicional calculándolo como la suma de los beneficios de cada barra durante una posición, dividida por la suma de las pérdidas de cada barra, lo que proporciona una medida más granular y realista del rendimiento.
- Umbral de rendimiento: Esto establece un nivel de rendimiento mínimo que debe cumplirse antes de que se confirme la señal. Si el rendimiento anterior de la señal no alcanza este umbral -como un factor de beneficio de 1,5 o superior-, el sistema ignora la operación, filtrando las señales poco fiables y minimizando el riesgo.
-
TS Max Bars Volver es un parámetro utilizado exclusivamente para backtesting en el motor de TradeStation o MultiCharts. Este parámetro debe coincidir con el valor exacto establecido directamente en el ajuste TradeStation o MultiCharts TS Max Bars Back.
Cómo utilizarlo Cruces por encima de Adaptable / Cruces por debajo de Adaptable en StrategyQuant X
Importación del bloque: Encontrará una guía sobre cómo importar el fragmento en la sección Docs aquí
Una vez realizada la importación, podrá utilizar los nuevos bloques de comparación en :
Constructor
En el Constructor, puede activar este bloque en Constructor / Bloques. Al realizar un análisis ciego de datos, se recomienda utilizar la métrica Rendimiento medio, que no es direccional y calcula la intensidad media absoluta de una señal. El nivel de detalle y especificidad en la configuración depende de cada usuario.
AlgoWizard - Bloques personalizados

Los bloques personalizados en StrategyQuant X permiten a los operadores crear bloques de construcción personalizados para sus estrategias de negociación sin necesidad de codificar. Estos bloques pueden utilizarse para definir condiciones específicas, indicadores o lógica adaptada a las necesidades del usuario. Una vez creados, los bloques personalizados pueden integrarse perfectamente en AlgoWizard, el creador visual de estrategias de StrategyQuant, para construir estrategias de negociación complejas y adaptables.
Los bloques personalizados aumentan la flexibilidad al permitirle parametrizar métricas clave como los periodos de los indicadores, los factores de beneficio y los porcentajes de ganancia, proporcionando un mayor control sobre el comportamiento de su estrategia. En resumen, los bloques personalizados permiten un control más preciso, dinámico y sofisticado de la estrategia.
Cruces por encima de Adaptable / Cruces por debajo de Adaptable son bloques muy recomendables para utilizar en AlgoWizard, ya sea como bloques personalizados o como plantillas entre sitios. Dado que estos bloques requieren una configuración cuidadosa, es beneficioso crear bloques personalizados en los que cada ajuste siga una estructura lógica. Aunque la creación de plantillas de estrategia es un tema un poco más avanzado, estos bloques son ideales para este tipo de estrategias avanzadas. En el próximo artículo, ofreceremos un tutorial detallado sobre cómo utilizarlos."
Por ahora, he preparado varios bloques personalizados basados en esta condición. Puede descargarlos utilizando este enlace
enlace e impórtalos siguiendo estos pasos.
AlgoWizard - Plantillas
Este es un tema más avanzado que trataremos en mayor profundidad en un próximo artículo. Combinando bloques personalizados y grupos aleatorios, puede crear un prototipo de estrategia e indicar a SQX que busque tipos específicos de estrategias y mantenga su capacidad de adaptación.
Ejemplos de mejora de la estrategia
Las siguientes estrategias son ejemplos de cómo la lógica de Cruces por Encima Adaptable puede mejorar el rendimiento en comparación con el enfoque clásico de Cruces por Encima.
Original sin lógica adaptativa
La estrategia se basa en la lógica de ruptura utilizando las Bandas de Bollinger, con una salida después de 10 barras. En su configuración clásica, muestra un rendimiento positivo, pero experimenta largos periodos de estancamiento y fluctuaciones significativas en la curva de renta variable.

Lógica adaptativa aplicada
En la versión adaptativa, estas grandes fluctuaciones se estabilizan y el rendimiento mejora notablemente.

Original sin lógica adaptativa
Esta estrategia se basa en una ruptura del máximo/bajo diario con una salida después de 10 barras. Su rendimiento ha sido bueno en los últimos años, pero en años anteriores fue marginal. En otras palabras, la estrategia ha sido inconsistente a lo largo del tiempo.

Lógica adaptativa aplicada
Cuando se aplica la lógica adaptativa, el número de operaciones disminuye considerablemente, lo que se traduce en una curva de renta variable mucho más suave.

Ambos ejemplos muestran estrategias generadas a partir de bloques personalizados que preparé y que puede descargar aquí. Recomiendo utilizar este bloque exclusivamente como bloque personalizado. Si tiene indicadores habilitados en el constructor y utiliza bloques de comparación adaptativos, le sugiero que configure el bloque de comparación de forma muy conservadora, como se indica a continuación.

Conclusión
Esto es sólo el principio. Hay varias formas de ampliar esta lógica. Por ejemplo, podemos simular la lógica de compra/venta dentro del sistema de negociación, realizando efectivamente un backtest dentro de un backtest. Además, podemos analizar la rentabilidad de estas reglas en múltiples mercados simultáneamente (¡sí, esto es posible!).
Agradecemos cualquier comentario o sugerencia para mejorar estos fragmentos. En un futuro próximo, tengo previsto ofrecer más fragmentos como estos y, con el tiempo, integrarlos directamente en SQX.
Estos bloques de comparación se aplican para MetaTrader 4, MetaTrader 5, TradeStationy MultiCharts. Puede descargar todos los fragmentos en codebase aquí.

En principio, la idea de mejorar el sistema utilizando bloques personalizados me parece atractiva a primera vista. Sin embargo, si más tarde quiero ejecutar la estrategia a través del SQX improver, estas estrategias son rechazadas por el SQX improver. Por lo tanto, la ventaja sólo tiene una duración limitada hasta que quiero mejorar automáticamente las estrategias utilizando el mejorador SQX.
Espero que esto, y muchas más cosas de este tipo se integren y sean totalmente compatibles en las próximas versiones de SQX. Muchos indicadores tienen funciones claras en el trading profesional.
Algunos son para el punto de entrada, algunos son para la salida en su mayoría, y algunos son para coger una tendencia.
No tiene sentido mezclarlos de forma puramente aleatoria en la mayoría de los casos.
Disponer de más reglas inteligentes de este tipo integradas en SQX, evitará que SQX genere un gran porcentaje de estrategias inutilizables y ayudará a mejorar los resultados.
Especialmente para las personas con ordenadores lentos esto ayudará mucho.
Sí, entiendo perfectamente lo que quieres decir, y no podría estar más de acuerdo. Una lógica más inteligente integrada en SQX cambiaría las reglas del juego. Los indicadores no son sólo herramientas al azar, cada uno tiene un propósito. Algunos son excelentes para las entradas, otros funcionan mejor para las salidas, y algunos ayudan con la identificación de tendencias. Mezclarlos al azar no tiene mucho sentido y a menudo conduce a estrategias débiles que no se sostienen en el comercio real. Si SQX pudiera reconocer y aplicar estas funciones de forma más inteligente, reduciría el número de estrategias inútiles y haría que todo el proceso fuera mucho más eficiente. Y para las personas más lentas... Leer más "
Hola, Primero, ¡Increíble trabajo del equipo SQx! Me encantan estos bloques de comparación adaptativa. Estoy usando estos bloques Adaptive Cross en Algowizard para construir manualmente la lógica de mis estrategias con muy buenos resultados hasta ahora. Pulgares arriba. No se utiliza en Builder. Pregunta: ¿Son las métricas de rendimiento de las señales Adaptive Cross backtested con sesgo direccional como un "cruce por encima" implica señales de compra alcistas, por ejemplo 3SMA cruza por encima de 10SMA. Simplemente, devolvería Profit Factor etc para el escenario de compra, ¿verdad? Pero, ¿qué pasa si queremos utilizar un 3SMA 'Cruzar por debajo' 10SMA como una señal de compra alcista también? ¿El Adaptativo... Leer más "
Hola Tony, Genial, gracias por tu respuesta, te lo agradezco. Permíteme responder a tu pregunta. Los bloques personalizados, tal y como están diseñados, tienen un sesgo. Esto significa que cuando usamos cruces por encima de adaptable con un indicador, inherentemente tiene un sesgo largo. Desafortunadamente, este problema no se puede arreglar fácilmente después. La única forma de eliminar este sesgo es utilizando métricas no direccionales, como el rendimiento medio, que mide el movimiento medio absoluto después de una señal, ya sea al alza o a la baja. También recomiendo mirar en está por encima está por debajo de adaptación. Estos bloques proporcionan aún mejores resultados para mí en comparación con cruces por encima de... Leer más "
Para aclarar el problema en detalle, el error es muy específico de la interfaz de usuario de AlgoWizard al editar la condición “Cruza por encima de Adaptable”. En AlgoWizard: El parámetro llamado “Performance Threshold” se muestra incorrectamente como un campo Entero. Muestra los botones [ - ] y [ + ] y no acepta valores decimales. (Por ejemplo, al escribir 1,5 se redondea automáticamente a 2, y 1,3 se redondea a 1). Esto hace imposible establecer un Factor Profit o un umbral de Win Rate adecuados. La Prueba Clave: Este error sólo existe en la interfaz de AlgoWizard. Si entro en la configuración del Constructor (en la pestaña “Valores de los parámetros” para este mismo bloque), el parámetro “Umbral de rendimiento” se identifica CORRECTAMENTE como doble y me permite establecer valores decimales y un paso: 0,1. Esto confirma... Leer más "