Mira cómo descargar robots gratis
¡Búscanos en Telegram!
Pon "Me gusta" y sigue las noticias
¿Es interesante este script?
Deje un enlace a él, ¡qué los demás también lo valoren!
¿Le ha gustado el script?
Evalúe su trabajo en el terminal MetaTrader 5
Visualizaciones:
19
Ranking:
(2)
Publicado:
\MQL5\Include\SAX\
SAXAnalogs.mqh (21.01 KB) ver
SAXTransform.mqh (14.53 KB) ver
SAXAnalog.mq5 (13.41 KB) ver
MQL5 Freelance ¿Necesita un robot o indicador basado en este código? Solicítelo en la bolsa freelance Pasar a la bolsa

Resumen

Casi todas las herramientas que creamos para interpretar un gráfico se quedan en el mundo de los números. Esta se sale de él. La «aproximación simbólica agregada» (SAX), presentada por Jessica Lin, Eamonn Keogh y sus colegas en 2003, toma un intervalo de precios y lo convierte en una breve cadena de letras, algo así como bddcbbba. Una vez que una parte del mercado se convierte en una palabra, se le puede aplicar todo lo que la informática ya sabe hacer con el texto: compararla, contarla, generarle un hash, buscarla.

Esta publicación aplica este enfoque a una cuestión práctica: el mercado se está comportando así ahora; ¿cuándo se ha comportado de manera similar anteriormente y qué ocurrió después? El indicador codifica la ventana actual, analiza el historial en busca de ventanas pasadas de forma similar, lee el futuro conocido de cada coincidencia y traza la distribución resultante de resultados como un cono de previsión en el gráfico, con un panel de valoración que muestra las estadísticas subyacentes.

La transformación en sí consta de tres pasos, cada uno de ellos con una razón de ser:

  • Normalizar la ventana según la distribución Z, de modo que lo que quede sea la forma pura. Una subida del EUR/USD y una subida del oro se corresponden con la misma curva normalizada si suben de la misma manera.
  • Aproximación agregada por tramos: dividir la ventana normalizada en w segmentos iguales y sustituir cada uno por su media. Una ventana de 48 barras con w = 8 se convierte en ocho números, lo que supone una reducción de la dimensionalidad que suaviza el ruido a lo largo del proceso.
  • Discretización: asignar a cada media de segmento una letra utilizando puntos de ruptura que dividen la distribución normal estándar en bandas de probabilidad igual, de modo que cada letra tiene, a priori, la misma probabilidad.

Los tres pasos de la transformación SAX en una ventana de precios

El proceso SAX: normalizar la ventana en z, calcular su media en celdas y, a continuación, asignar cada celda a una letra utilizando puntos de ruptura gaussianos.

Lo que hace que la búsqueda SAX sea precisa, y no solo rápida, es MINDIST, una distancia entre dos palabras que establece de forma demostrable un límite inferior de la verdadera distancia euclidiana entre las series normalizadas en z. Dado que solo puede subestimar la distancia real, puede utilizarse para descartar candidatos sin riesgo de descartar una coincidencia verdadera. Eso es lo que justifica la búsqueda en dos etapas que se utiliza aquí: descartar con la distancia entre palabras, que es una medida sencilla, y luego clasificar las coincidencias que quedan según la distancia euclidiana real. El conjunto de pruebas de validación publicado confirma que el proceso devuelve exactamente las mismas coincidencias que el método de fuerza bruta, al tiempo que se omite gran parte del trabajo.

Lee esto antes de utilizarla: el paso de normalización z que hace que SAX sea tan elegante descarta deliberadamente el nivel de precios y la volatilidad, y en el ámbito bursátil esos son a menudo precisamente los aspectos que más te importan. Esta herramienta compensa en la medida de lo posible, midiendo cada resultado en unidades de la volatilidad que prevalecía en ese momento, pero la limitación es real y no se ha eliminado mediante ajustes. Es de esperar que el veredicto indique «sin ventaja» con más frecuencia que cualquier otra cosa. En mercados cercanos a un paseo aleatorio, esa es la respuesta correcta, no un fallo de funcionamiento.


Lo que representa el indicador

Dos objetos, ambos reconstruidos cuando se cierra una nueva barra.

El cono de abanico proyecta la distribución prospectiva de los valores análogos hacia el futuro a partir de la última barra cerrada. Una línea continua traza el movimiento prospectivo mediano en cada paso, y las líneas punteadas por encima y por debajo trazan los percentiles 25 y 75, de modo que el cono se ensancha a medida que disminuye la concordancia entre los precedentes. La distribución por paso se mantiene en unidades de ATR y se multiplica por el ATR actual para situarse en el eje de precios reales, lo que permite que los precedentes de regímenes tranquilos y violentos contribuyan al mismo cono. El cono solo se dibuja cuando el veredicto es alcista o bajista, por lo que la ausencia de cono es en sí misma información, más que un fallo de representación.

El panel de veredicto muestra las cifras que oculta el cono:

Fila
Qué te indica
palabra
La codificación SAX de la ventana actual, la consulta sobre la que se ejecutó realmente la búsqueda.
análogos
Cuántos precedentes se han encontrado y su distancia media de coincidencia. Un número elevado de resultados con una distancia media alta es un caso menos sólido que un número reducido de coincidencias cercanas.
fwd H
Mediana del movimiento hacia adelante más allá del horizonte, en múltiplos del ATR y en porcentaje.
banda
El rango comprendido entre el percentil 25 y el 75 de esos movimientos hacia adelante: la anchura del cono, expresada en una cifra.
tasa de subida
La proporción de precedentes que subieron en algún momento, y su dispersión. Una mediana que se inclina al alza con una tasa de subida del 51 % es fruto de la suerte de un solo precedente, no una tendencia.
VEREDICTO
Al alza, a la baja, sin ventaja, muy pocos casos similares o sin datos.

El veredicto es deliberadamente difícil de obtener. Primero se decide si hay muy pocos casos análogos, luego se evalúa el caso de «cara o cruz», y solo una muestra que supere ambas bandas de convicción obtiene una dirección: el movimiento de la mediana debe superar el umbral de ventaja en términos de ATR, y la tasa de subida debe salir de la banda en torno a 0,5. Si no se cumple cualquiera de estas condiciones, la respuesta es «sin ventaja», independientemente de lo que indique la mediana.

El indicador analógico SAX en el EURUSD M30: cono de abanico y panel de valoración

El pronosticador del EURUSD, M30: el cono de abanico que proyecta la mediana y la banda intercuartílica de los análogos, con el panel de veredicto que indica la muestra que hay detrás.


Características principales

Honestidad por diseño

  • Sin anticipación. La ventana de resultados de una coincidencia debe finalizar estrictamente antes de que comience la ventana de consulta, de modo que nada del propio futuro de la consulta pueda filtrarse en su conjunto de precedentes. Esta es la única salvaguarda que distingue una búsqueda de análogos de un ajuste de curvas.
  • Resultados normalizados por el ATR. Los movimientos futuros se expresan en múltiplos del ATR vigente en el momento del partido, de modo que un precedente de un tramo tranquilo y otro de un tramo violento se sitúan en pie de igualdad. Esta es la compensación por lo que la normalización por z descartó.
  • Un veredicto al que se le permite decir «no». La herramienta se abstiene de ofrecer una previsión y suprime el cono siempre que la muestra sea demasiado pequeña o la tendencia no sea decisiva en ambos parámetros.

Una biblioteca SAX real, no una aproximación

  • Normalización Z, PAA (análisis de autoasociaciones) que incluye el caso fraccionario en el que la longitud de la ventana no se divide uniformemente por la longitud de la palabra, puntos de ruptura gaussianos mediante el probit de Acklam, codificación y una función MINDIST que establece de forma demostrable un límite inferior para la distancia real. Ninguno de estos elementos existía antes en la plataforma.
  • Se admiten tamaños de alfabeto del 2 al 10, con puntos de ruptura calculados una sola vez en el momento de la configuración y almacenados en caché.
  • Una ventana plana se indica como tal en lugar de codificarse de forma silenciosa: con una desviación estándar cercana a cero no hay forma que normalizar, y inventar una produciría una palabra sin sentido.
  • Se incluye una métrica euclidiana de fuerza bruta junto con el proceso de producción como opción, de modo que la poda se puede contrastar con la respuesta que se supone que debe reproducir, en lugar de darla por buena.

Práctico en un gráfico en tiempo real

  • La búsqueda se ejecuta una vez por barra cerrada, no por tick, y lee el historial a partir de la barra 1, de modo que la barra en formación nunca entra ni en la consulta ni en el conjunto precedente.
  • El tamaño del cuadro del panel se calcula a partir del texto realmente renderizado, por lo que nada queda recortado con ningún tamaño de fuente ni contenido, y se proporcionan un tema claro y otro oscuro para que se lea bien sobre cualquier fondo del gráfico.
  • Cada objeto del gráfico lleva un prefijo común y se elimina al desinicializarse, sin dejar objetos huérfanos.


Configuración recomendada

Parámetro
Valor recomendado
Notas
Símbolo
Cualquier instrumento líquido
La coincidencia de formas es independiente de la escala por su propia naturaleza. En el desarrollo y en la captura de pantalla se ha utilizado el par EUR/USD.
Marco temporal
De M30 a H4
Se necesita un historial suficiente para que el conjunto de precedentes sea significativo. La ventana, el horizonte y el análisis del historial se miden en barras, por lo que se transfieren entre marcos temporales sin cambios.
Historial
6000 barras
Profundidad de análisis predeterminada. Un historial más amplio implica más precedentes y una distribución más sólida, a costa de un aumento lineal del tiempo de búsqueda.
Tema del panel
Ajusta tu gráfico
Oscuro por defecto. Cambia a claro en un gráfico blanco o el texto del cuerpo no se leerá.


Estructura de archivos

Un indicador y dos encabezados. Los encabezados se incluyen como <SAX\...>, por lo que deben ubicarse en su propia subcarpeta SAX.

Archivo
Función
Descripción
Include\SAX\SAXTransform.mqh
La transformación
Normalización Z, PAA, puntos de ruptura gaussianos, codificación de palabras y MINDIST de límite inferior. Reutilizable en cualquier serie, sin dependencia de gráficos ni operaciones bursátiles.
Include\SAX\SAXAnalogs.mqh
La búsqueda
Coincidencia en dos etapas («podar y luego clasificar»), el filtro «no-lookahead», resultados normalizados por ATR, la distribución por paso detrás del cono y la clasificación del veredicto.
Indicators\SAX\SAXAnalog.mq5
El indicador
Ejecuta la búsqueda en cada nueva barra y dibuja el cono de previsión y el panel de veredicto. No traza nada en los búferes; todo son objetos del gráfico.


Parámetros de entrada

Entrada
Por defecto
Qué controla
InpWinLen
48 barras
Longitud de la ventana de consulta: qué parte de la forma reciente debe coincidir para que una barra se considere un precedente.
InpHorizon
12 barras
Horizonte de previsión: hasta qué punto del futuro conocido de cada precedente se mide el resultado, y hasta dónde se extiende el cono.
InpWordLen, InpAlphabet
8, 4
La resolución de SAX. Las palabras más largas y los alfabetos más amplios discriminan con mayor precisión y, por lo tanto, coinciden con menos frecuencia; los más cortos y menos precisos recopilan más precedentes con un parecido más vago.
InpMaxAnalogs, InpMinAnalogs
50, 10
Cuántos precedentes más cercanos se deben conservar, y la muestra mínima por debajo de la cual el veredicto se ve obligado a indicar «demasiado pocos», independientemente de lo que digan esos pocos.
InpEdgeATR
0,25
Umbral de convicción: el movimiento medio al alza debe superar una cuarta parte del ATR para que se considere una tendencia.
InpMetric
MINDIST
El proceso de dos etapas «podar y luego clasificar», que es la configuración de producción. Cambia a Euclid para aplicar un método de fuerza bruta sobre cada candidato: misma clasificación, sin poda, útil como referencia de corrección y velocidad.
InpATRPeriod
14
El ATR utilizado para normalizar los resultados y escalar el cono en el eje de precios.
InpMaxHistory
6000 barras
Hasta qué punto en el pasado se deben buscar precedentes.
Colores, esquina, tema
Azul / rojo / gris, arriba a la izquierda, oscuro
Colores de acento del cono y del panel según el veredicto, el color de la línea de la banda, la esquina de anclaje del panel y el tema claro u oscuro.


Base de la investigación

La implementación sigue el trabajo original sobre SAX de Jessica Lin, Eamonn Keogh y sus colegas, cuya página sobre SAX recopila los artículos.

SAX no es una bola de cristal para predecir precios, y esta herramienta informará de la ausencia de una tendencia con más frecuencia que de cualquier otra cosa. Su valor reside en las raras ocasiones, bien fundamentadas, en las que muchos precedentes genuinos apuntan en la misma dirección, y en la disciplina de una herramienta que se niega a fingir lo contrario. La misma biblioteca invita a seguir investigando: las palabras de SAX como características categóricas para un modelo de aprendizaje automático, el descubrimiento de motivos y discordancias para la detección de anomalías, o un modelo de transición de Markov sobre el diccionario de palabras.

Un artículo complementario deriva la transformación y el límite inferior, repasa la búsqueda y sus condiciones de seguridad, y muestra que el conjunto de pruebas de validación se supera: «Aproximación agregada simbólica (SAX) en MQL5: búsqueda de analogías históricas y previsión».

Traducción del inglés realizada por MetaQuotes Ltd.
Artículo original: https://www.mql5.com/en/code/75543

Trade Journal and Performance Analytics Dashboard Trade Journal and Performance Analytics Dashboard

Un panel de control ligero integrado en el gráfico que analiza tu historial de operaciones cerradas y muestra la tasa de acierto, el factor de beneficio, las rachas y la curva de capital: sin necesidad de introducir estrategias, solo tus propias cifras, que se actualizan automáticamente.

SHK Heikin Ashi MACD Signal Arrows SHK Heikin Ashi MACD Signal Arrows

Un indicador gráfico para MetaTrader 5 que dibuja velas Heikin Ashi, flechas de compra y venta confirmadas, filtrado opcional de divergencias en el histograma del MACD y alertas configurables.

Global Macro Soros Global Macro Soros

Global Macro Soros. Un indicador de coincidencia de tendencias en múltiples marcos temporales inspirado en el estilo de trading macro de George Soros.

Trade Manager Panel Simple Interactive Chart Trading Tool with Risk Management for MT5 Trade Manager Panel Simple Interactive Chart Trading Tool with Risk Management for MT5

Un sencillo panel de gestión de operaciones en MQL5 que incluye líneas en los gráficos mediante la función de «arrastrar y soltar», cálculo dinámico del tamaño del lote en función del porcentaje de riesgo, modos de stop loss ATR/por punto y seguimiento en tiempo real de las ganancias y pérdidas variables.