English Русский 中文 Deutsch 日本語 Português
ZUP - zigzag universal con patrones Pesavento. Búsqueda de patrones

ZUP - zigzag universal con patrones Pesavento. Búsqueda de patrones

MetaTrader 5Integración | 5 marzo 2018, 16:55
3 101 0
Eugeni Neumoin
Eugeni Neumoin

Introducción

La búsqueda de patrones en los gráficos de precio interesa a muchos tráders. Esto se puede realizar en la plataforma de indicador ZUP. Existen diversas variantes de trabajo con la plataforma. En primer lugar, podemos buscar los patrones conocidos, cuyos parámetros se establecen rigurosamente. En segundo lugar, podemos ajustar los parámetros según nuestras necesidades. Y en tercer lugar, podemos crear nuestros propios patrones con la ayuda de la interfaz gráfica ZUP y guardar sus parámetros en un archivo. Esto nos da la posibilidad de comprobar rápidamente si se encuentran nuevos patrones en los gráficos.

Los patrones ya han sido descritos por numerosos autores. Entre ellos, hay que mencionar a Harold Hartley. Ya en 1935 publicó el libro "Los ingresos en el mercado de valores". En una de sus páginas se mostraba una imagen con un patrón y una breve descripción sobre cómo se lo podía utilizar para comerciar. Este tema comenzó a desarrollarse ampliamente en tan solo unas décadas: se describieron muchos nuevos patrones. Entre los autores de uno de los más famosos se encuentra Scott Carney. Él desarrolló los patrones the Gartley, the Bat, the Butterfly, the Crab y otros. Sobre todos ellos, Scott Carney estableció sus derechos de autor en 2016.

Hay muchos algoritmos de búsqueda de patrones. Por ejemplo, es posible elegir los extremos en el gráfico, "trazar" entre ellos una cuadrícula y determinar la presencia del patrón de Fibonacci al alcanzar los niveles característicos de mercado. Este algoritmo se utiliza para la búsqueda manual, y también en algunos programas. La otra opción es puramente programática. El algoritmo, incorporado en el programa, encuentra los extremos, comprueba su posición mutua, y si se corresponde con algún patrón, muestra un mensaje sobre su localización.

La plataforma de indicador ZUP ofrece muchas oportunidades para buscar patrones. Puede construirlos manualmente. Sin embargo, el algoritmo básico consiste en la búsqueda automatizada de patrones en los extremos del mercado definidos por una serie de zigzags. En las versiones ZUP hasta 151 inclusive, los modos de búsqueda de patrones se han establecido con la ayuda de parámetros. Sin embargo, los parámetros que pueden influir en los patrones de búsqueda son más de 100, y su abundancia dificulta el trabajo. En la versión 152 ahora existe la oportunidad de trabajar con una interfaz gráfica personalizada. Los ajustes básicos se establecen utilizando los parámetros, mientras que con la ayuda de la interfaz gráfica se consigue conectar rápidamente los patrones de búsqueda.

Todos los parámetros se dividen en grupos, para una mayor facilidad de uso. Vamos a enumerar los grupos de parámetros que influyen en la búsqueda de los patrones.

  1. Parámetros de configuración de los zigzags.
  2. Parámetros de ajuste de los niveles de Fibonacci (1 - Parameters for fibo Levels).
  3. Parámetros para los patrones de Pesavento (2 - Parameters for Pesavento Patterns).
  4. Parámetros para los patrones de Gartley (3 - Parameters for Gartley Patterns).
  5. Parámetros generales (15 - Common Parameters).

Asimismo, existen multitud de instrumentos gráficos integrados, que ayudan en la búsqueda de patrones.

En la primera parte de este artículo vamos a hablar de cómo hemos implementado la conexión a los patrones de búsqueda utilizando una interfaz gráfica personalizada con la ayuda de la versión 152 de ZUP. A continuación, hablaremos sobre las variantes de búsqueda de los patrones Gartley, y por último, como conclusión del artículo, analizaremos brevemente los diferentes patrones.

Primera parte. Interfaz gráfica personalizada para trabajar con patrones

En la versión 152 se han añadido elementos de interfaz gráfica para trabajar con patrones. Con la ayuda de la interfaz gráfica, ahora es posible:

  1. conectar diferentes patrones a la búsqueda o desconectar estos de la misma;
  2. visualizar las imágenes con plantillas de patrones de cinco puntos;
  3. crear nuevos patrones de cinco puntos;
  4. editar los parámetros del patrón de cinco puntos;
  5. guardar un patrón editado en lugar de uno antiguo o en un archivo *.CSV aparte;
  6. guardar un patrón nuevamente creado en un archivo *.CSV nuevo u otro elegido;
  7. incluir en la búsqueda patrones del archivo elegido;
  8. crear listas de patrones para la búsqueda.

Para trabajar con la interfaz gráfica ZUP, al final de la lista de parámetros de la plataforma de indicador tenemos el parámetro ExtPanel. ExtPanel=true permite trabajar con la interfaz gráfica.

Si al establecer el parámetro ExtPanel=true, la interfaz gráfica no aparece o ha sido eliminada pulsando la tecla ESC, la combinación de teclas SHIFT-Z mostrará su panel en la pantalla.

Después pulsamos el botón Insert. En el siguiente menú, clicamos sobre el símbolo de la "mariposa" —  butterfly.  Aparecerá el menú para trabajar con los patrones:

menu

En él, en comparación con la versión 151, se ha añadido el botón Select. Si lo pulsamos, aparecerá un menú con la lista:

menu vieving

Con su ayuda podemos incluir en la búsqueda o excluir de la misma los patrones de la lista sin usar el panel de parámetros del indicador. Para ello, basta con pulsar sobre el botón correspondiente. Los valores de los parámetros de los patrones activados se establecen en la lista de parámetros de ZUP.

El botón Vieving of 5 dot patterns invoca el panel para trabajar con patrones de cinco puntos. Pulsando sobre él, verá esta pantalla con un gráfico:

chart

Tenga en cuenta que la imagen con la plantilla del patrón se muestra con la ayuda del lenguaje MQL4. Las coordenadas de los puntos del patrón — XABCD — usan la hora de las barras condicionales en el gráfico. La hora límite que se puede establecer está restringida aproximadamente al año 2033. Por eso, al trabajar con este elemento de la interfaz, no se recomienda comprimir el gráfico al máximo en el marco temporal mensual. La hora de las barras condicionales, a las que se "vinculan" los patrones al comprimir el gráfico no pueden ser superiores al año 2033. Esto provocará un error. Con el gráfico comprimido al máximo, la plantilla del patrón o bien se deformará, o bien no se mostrará en absoluto.

¿Qué podemos hacer con la ayuda de la ventana obtenida?

La línea     duplica/sustituye el valor del parámetro SelectPattern, que establece grupos de patrones de 5 puntos para la búsqueda.


Al trabajar con la interfaz gráfica, se usarán los valores de los parámetros indicados con la ayuda de esta interfaz gráfica. Si la interfaz gráfica ha sido desactivada ExtPanel=false, se usarán los valores establecidos a través de la pestaña de cambio de parámetros del indicador. En este caso, además, en cada gráfico tendremos nuestras propios ajustes de los parámetros.

El botón Bullish en la línea Bullish/Bearish establece la muestra de la imagen con la plantilla del patrón en la interpretación alcista o bajista (la primera vez se muestra por defecto la alcista) y el nombre del parámetro representado.

La línea visible pattern corresponde al parámetro visiblePattern, que establece una lista de los patrones conectados a la búsqueda.

Cada posición en esta línea se corresponde con uno de los patrones incorporados en el código de ZUP. Si en la posición del patrón elegido se establece la cifra 1, el patrón se incluirá en la búsqueda, si se indica 0, no será incluido.

Es posible cambiar de varias formas la lista de patrones incluidos en la búsqueda.

  1. Podemos acercar el cursor a la posición elegida y pulsar el botón izquierdo del ratón. La primera pulsación muestra en la pantalla una imagen con la plantilla del patrón. La segunda pulsación cambia 1 a 0 o 0 a 1.
  2. Con la ayuda de la línea select. En ella 1 of 33 muestra en cuál de las 33 posiciones se ha colocado el cursor. El cursor también muestra qué patrón se ha elegido para la manipulación. Con la ayuda de las flechas podemos elegir la nueva posición del cursor. Con el botón Yes/No podemos cambiar 1 por 0 o al contrario, 0 por 1.

    Con el botón Hide todas las pociciones se ponen en el valor 0, es decir, todos los patrones son excluidos de la búsqueda. Aquí tenemos que advertir algo de inmediato. Puede haber más de 33 patrones conectados. Pero la línea de unidades y ceros tiene solo 33 posiciones. Al llevar el cursor rosa a la posición situada más a la izquierda y pulsar sobre la flecha << se llamarán los anteriores 33 patrones. Al llevar el cursor rosa a la posición situada más a la derecha (la 33-era) y pulsar sobre la flecha >> se llamarán los siguientes 33 patrones.

    Para depurar el programa, se ha incluido un archivo con aproximadamente 265 patrones, creados por uno de los usuarios de ZUP en versiones anteriores del indicador, y usado solo en la búsqueda. Anteriormente, los patrones se creaban con la ayuda de los programas externos de creación de archivos en el formato *.CSV. Se trata de un trabajo bastante complejo. Ahora podemos crear patrones anotando sus parámetros en un archivo del formato CSV. Pero, a pesar de todo, es más simple usar la interfaz gráfica.

  3. Con la ayuda de las flechas en la línea select patern podemos elegir los grupos de patrones establecidos en el código de ZUP, usando el parámetro SelectPattern para incluirlo en la búsqueda. Pero el funcionamiento de este parámetro depende de si están conectados a la búsqueda solo de patrones de ZUP, o también los de un archivo externo. Con la ayuda de las flechas en la línea read from file list pattern se elige el valor del parámetro readFromFileListPatterns - "Patterns from ZUP/"Patterns from external file"/"Patterns from ZUP and from file". Usando este parámetro se elige el lugar para el guardado de los patrones. Con las flechas en la línea file se elige el archivo externo con los parámetros de los patrones. En esta línea se muestra que podemos conectar un archivo 1 de dos 1/2, llamado M. Este es el archivo con los parámetros de los patrones de Merrill.

El botón Newpermite activar la creación de un nuevo patrón. Si se incluyen los patrones de un archivo externo, entonces pueden aparecer los botones Edit y Delete dependiendo del valor elegido en la línea read from file list pattern. Si no existen archivos externos, podemos activar el botón Edit también para los patrones incorporados en ZUP. Esto se ha hecho para que podamos crear nuestros propios patrones basándonos en uno solo de los 33, editando simplemente los parámetros.

Más abajo pueden aparecer una add parametr o varias líneas con los valores de los parámetros adicionales característicos para el patrón mostrado en la imagen de la derecha.

Pulsando el botón New se muestra una lista de 8 líneas con los parámetros que se pueden establecer para los patrones de cinco puntos.

list parametrs

Pulsando de nuevo el botón New , se retornará el anterior valor de la pantalla. En la interfaz gráfica de ZUP es posible cancelar la acción de cualquiera de los botones pulsando de nuevo el mismo botón o pulsando la tecla ESC.

Pulsando en una de las líneas con la lista de parámetros, se invocará la siguiente ventana:

En este caso, hemos pulsado sobre la quinta línea. En la imagen se muestra un ejemplo de patrón que se puede crear con la ayuda de los parámetros elegidos. Además, al crearlo, se tomarán por defecto los valores de los parámetros del patrón del ejemplo. Los parámetros se pueden cambiar. En particular, a partir de este parámetro se creó otro nuevo, pero de broma, llamado Baba-Yaga no está de acuerdo:

baba yaga

Pulsando de nuevo sobre la quinta línea, se invoca la siguiente imagen:

La línea parametrs pattern muestra qué parámetros se pueden cambiar.

La línea parametr muestra el valor elegido del parámetro. Con las flechas se invoca el nuevo valor del parámetro. Es posible editarlo manualmente pulsando el botón 0.382 y editando el valor del parámetro. Al cambiar el valor del parámetro, cambia también la representación gráfica del patrón.

El botónNext fija el valor elegido, y nosotros, entre tanto, pasaremos al establecimiento del valor del siguiente parámetro.

Además, en la línea parametrs pattern se reducirá el número de parámetros aún no establecidos y aparecerá el siguiente elemento del patrón: BC.

Después de fijar el valor del parámetro la primera vez con la ayuda del botón Next, aparecerá el botón Back, que permite retroceder y editar los anteriores valores de los parámetros.

Hay dos botones  que permiten incluir parámetros en cualquier momento: el filtro de la línea XB y la proporción de las longitudes de las alas del patrón. Esta proporción se indica con la ayuda de flechas. Al pulsar la cifra elegida con la ayuda de las flechas, podemos indicar manualmente su proporción. ¡ATENCIÓN! Para desactivarlos, debemos introducir el valor.


Al terminar de crear un nuevo patrón, se nos propondrá darle un nombre:

edit name pattern

Llamémoslo, por ejemplo, AA.

A continuación, se nos propondrá elegir el nombre del archivo en el que se guardará el patrón creado de nuevo. Por defecto, se elegirá el archivo que se ha incluido como archivo externo con los patrones. Pero podemos editar el nombre del archivo, así, el patrón se guardará en el archivo con el nombre editado. Si este archivo ya se ha creado con anterioridad, el patrón se acabará de escribir al final de la lista. Si no existe un archivo con el nombre elegido, se creará uno nuevo.

Choose/edit file

La edición de los parámetros de los patrones tiene lugar de forma análoga a la creación de un nuevo patrón. Al final de la edición se nos propondrá guardar el patrón obtenido en lugar del redactado, o bien guardarlo como uno nuevo en el archivo *.csv indicado. O, si hemos editado un patrón de la lista de patrones incorporados en ZUP, se nos ofrecerá guardar el patrón como nuevo en el archivo elegido.

Los archivos *.csv se guardan en la carpeta MQL4\Files\ZUP\ListPatterns.

Vamos a saltarnos la descripción detallada de algunos botones. Sus acciones se pueden comprender por lo descrito anteriormente.

Al crear/editar algunos parámetros, podemos mostrar el valor máximo posible del parámetro. Ya no será posible modificarlo en lo sucesivo. Esto se ha hecho para que no sea posible establecer valores de parámetros con los cuales para un valor de acceso elegido ExtDeltaGartley y con los valores de los parámetros ya indicados, el patrón no tenga sentido. Es decir, nunca vamos a encontrar en el gráfico patrones con esos valores. Aparece el botón Ignore. El botón permite indicar cualquier valor de parámetro: y es que en lo sucesivo podríamos querer, por ejemplo, aumentar el valor de ExtDeltaGartley, después de lo cual, los valores de los parámetros prohibidos funcionarán.


Segunda parte. Parámetros para la búsqueda de los patrones de Gartley

La activación de la búsqueda de Gartley se realiza con la ayuda del parámetro ExtIndicator=11. Además, tiene lugar el escaneo del gráfico a una distancia de ExtMaxBar barras. Esta es la primera variedad de búsqueda. Se llama "Búsqueda de patrones con la ayuda de escaneo".

Es posible buscar patrones con otros valores del parámetro ExtIndicator. Para ello, se activa el parámetro ExtGartleyOnOff y se realiza la búsqueda en un zigzag establecido por el parámetro ExtIndicator. Esta es la segunda variante de búsqueda: "Búsqueda de patrones en el zigzag".

Al pasar a otros marcos temporales, los patrones hallados con la ayuda de las dos primeras variantes serán eliminados del gráfico, y la búsqueda comenzará de nuevo.

Existe una tercera variante de búsqueda de patrones. Esta variante se describe en el artículo "ZUP - zigzag universal con patrones Pesavento. Interfaz gráfica".

Los patrones mostrados en el gráfico con la ayuda de la tercera variante, se guardan al pasar a otros marcos temporales. Pero en ciertos marcos temporales, el filtrado fractal puede "prohibir" su muestra.

Los patrones creados con la ayuda de la interfaz gráfica se pueden usar en las tres variantes de búsqueda.

Vamos a mostrar la lista completa de los parámetros usados al buscar los patrones de Gartley y al trabajar con la interfaz gráfica descrita en la primera parte del artículo.

  • AlgorithmSearchPatterns — elección del algoritmo de escaneo de patrones para el modo de búsqueda de patrones ExtIndicator=11:
    • 0 - corresponde al algoritmo ExtIndicator=0 – zigzag estándar;
    • 1 - corresponde al algoritmo ExtIndicator=1 - zigzag Álex, el tamaño del rayo se indica en puntos;
    • 2 - corresponde al algoritmo ExtIndicator=1 - zigzag Álex, el tamaño del rayo se indica en tanto por ciento;
    • 3 - corresponde al algoritmo ExtIndicator=2;
    • 4 - corresponde al algoritmo ExtIndicator=4;
    • 5 - corresponde al algoritmo ExtIndicator=5;
    • 6 - corresponde al algoritmo ExtIndicator=12. 
  • PotencialsLevels_retXD - permite mostrar los niveles de retroceso XD de los patrones potenciales de cinco puntos. En el modo ExtIndicator=11 se aplica solo si se encuentra un patrón y después los niveles se muestran a partir de su punto С:
    • 0 - la muestra de niveles potenciales está desactivada;
    • 1 - los niveles potenciales se muestran junto con los patrones con ExtGartleyOnOff=true;
    • 2 - los niveles potenciales se muestran. En esta caso, se desactiva la muestra de patrones.
  • visibleLevelsABCD - indica las diferentes variantes de muestra de niveles del punto potencial D de los patrones potenciales de cinco puntos:
    • 0 - no se muestran los niveles adicionales;
    • 1 - se muestran en el gráfico todas las variantes de los niveles de retroceso BD;
    • 2 - se muestran en el gráfico todos los niveles de las diferentes variantes AB=CD;
    • 3 - se muestran de forma conjunta los niveles de retroceso BD y las variantes AB=CD.
  • maxDepth - valor Depth máximo (minBars) hasta el que puede cambiar el parámetro Depth del zigzag en el escaneo activo para la búsqueda de patrones Gartley. Se usa con AlgorithmSearchPatterns=0.
  • minDepth - establece el valor Depth mínimo para la búsqueda de patrones Gartley.
  • FiboStep - activa durante la búsqueda de patrones el cálculo del valor del parámetro Backstep según la fórmula Backstep=Depth*1.618.
  • IterationStepDepth - salto del cambio del parámetro del zigzag Depth al buscar los patrones Gartley.
  • maxSize_ - valor máximo del tamaño del rayo en puntos. Se usa en el escaneo de patrones con los valores del parámetro AlgorithmSearchPatterns=1, AlgorithmSearchPatterns=3, AlgorithmSearchPatterns=4, AlgorithmSearchPatterns=6.
  • minSize_ - valor mínimo del tamaño del rayo en puntos.
  • IterationStepSize - salto del cambio del parámetro del zigzag Size de los patrones Gartley.
  • maxPercent_ - valor máximo del tanto por ciento para el cálculo del zigzag de Álex. Se usa en el escaneo de los patrones con un valor del parámetro AlgorithmSearchPatterns=2.
  • minPercent_ - valor mínimo del tanto por ciento para el cálculo del zigzag de Álex.
  • IterationStepPercent - salto (en tanto por ciento) del cambio del parámetro del zigzag Percent.
  • DirectionOfSearchMaxMin - establece la dirección de la búsqueda de patrones:
    • false - de minDepth hacia maxDepth;
    • true - de maxDepth hacia minDepth;
  • SelectPattern - elige los patrones de cinco puntos para la búsqueda:
    • 0 - buscar todos los patrones;
    • 1 - buscar solo los patrones clásicos - Gartle, Butterfly, Bat, Crab, excepto TOTAL;
    • 2 - buscar los patrones clásicos y anticlásicos, excepto TOTAL;
    • 3 - buscar patrones exóticos y antipatrones exóticos, excepto TOTAL;
    • 4 - buscar solo antipatrones, excepto TOTAL;
    • 5 - buscar todos los patrones, excepto TOTAL;
    • 6 - buscar solo TOTAL;
    • 7 - elegir de forma aleatoria patrones de cinco puntos para la búsqueda con la ayuda de visiblePattern;
    • 8 - la búsqueda de patrones de cinco puntos está desactivada;
    • "Gartley";
    • "Bat";
    • "Alternate Bat";
    • "Butterfly";
    • "Crab";
    • "Deep Crab";
    • "Leonardo";
    • "Shark";
    • "Cypher";
    • "Nen STAR";
    • "5-0";
    • "A Gartley";
    • "A Bat";
    • "A Alternate Bat";
    • "A Butterfly";
    • "A Crab";
    • "A Deep Crab";
    • "A Leonardo";
    • "A Shark";
    • "A Cypher";
    • "A Nen STAR";
    • "A 5-0";
    • "Black Swan";
    • "White Swan";
    • "Navarro 200";
    • "max Bat";
    • "max Gartley";
    • "max Butterfly";
    • "TOTAL 1";
    • "TOTAL 2";
    • "TOTAL 3";
    • "TOTAL 4";
    • "TOTAL".
  • visiblePattern - establece qué patrones buscar. Por defecto se desactiva la búsqueda de todos los patrones.
  • NumberPattern - número del patrón según el cual se calibra el zigzag y cuyos parámetros se muestran con InfoTF. При NumberPattern = 0 se muestra el zigzag con los parámetros como en el modo ExtIndicator=0.
  • ExtGartleyTypeSearch - modo de búsqueda de patrones:
    • 0 - la búsqueda se termina tras el primer patrón encontrado;
    • 1 - se muestran todos los patrones en el segmento indicado con el parámetro maxBarToD. La búsqueda se repite en cada recálculo del zigzag. Modo "Juguete chino 1";
    • 2 - se muestran todos los patrones en el segmento incado con el parámetro maxBarToD. La búsqueda se realiza solo una vez. Modo "Juguete chino 2";
  • ExtHiddenPP - modo de representación del zigzag para ExtIndicator=11:
    • 0 - el zigzag no se muestra. Se muestran solo los puntos de los picos del zigzag. Los patrones de Pesavento no se muestran;
    • 1 - se muestra el zigzag calibrado con el patrón indicado con el parámetro NumberPattern. Los patrones de Pesavento se muestran de la forma habitual;
    • 2 - el zigzag no se muestra. Se muestran solo los puntos de los picos del zigzag. Los patrones de Pesavento se muestran solo para los picos de los patrones Gartley.
  • ExtGartleyOnOff - activa la muestra de los patrones Gartley. No se da en el modo de escaneo.
  • maxBarToD - indica el número máximo de barras desde la barra cero hasta el punto D del patrón.
  • patternInfluence:
    • 0 - se muestran los patrones en los que desde la barra cero hasta la barra con el punto D no hay más de maxBarToD barras;
    • 1 - se tiene en cuenta la influencia del patrón, en este caso, además, la acción del parámetro maxBarToD se cancela;
    • 2 - la búsqueda de patrones se realiza en todo el trazado del zigzag.
  • patternTrue = true - se muestran los patrones que satisfacen la condición:

para los patrones alcistas en el segmento desde el punto D hasta la barra cero no deberá haber barras cuyo máximo de barra esté por encima del marco de la zona de desarrollo del punto D;

para los patrones bajistas en el segmento desde el punto D hasta la barra cero no deberá haber barras cuyo mínimo de barra esté por debajo del marco de la zona de desarrollo del punto D;

  • AllowedBandPatternInfluence - se establece el coeficiente a partir de la magnitud de la distancia entre los puntos X y D del patrón. Este coeficiente indica la distancia desde el punto D hasta el punto donde la influencia del patrón supuestamente se acaba.
  • RangeForPointD - permite mostrar la zona de desarrollo del punto D.
  • OldNewRangeForPointD - elegir la variante de construcción de la zona de desarrollo del punto del patrón.
  • ExtColorRangeForPointD - color del marco de la zona de desarrollo del punto D.
  • VectorOfAMirrorTrend  = 1 se muestra el Vector de la tendencia.
  • VectorOfAMirrorTrend  = 2 se muestra el Vector de la tendencia inversa.
  • VectorOfAMirrorTrendColor - establece el color de la línea de tendencia opuesta.
  • VectorOfAMirrorTrendStyle - establece el estilo de la línea de la tendencia opuesta.
  • shortNamePatterns - permite mostrar los nombres abreviados de los patrones.
  • visibleLineOrTriangle - permite mostrar los patrones en forma de línea o en forma de triángulo, excepto los patrones AB=CD.
  • PatternLineStyle - establece el estilo de la línea de los patrones de cinco puntos y AB=CD.
  • PatternLineWidth - establece el grosor de la línea de los patrones de cinco puntos y AB=CD.
  • ExtColorPatternsBullish - color de los patrones alcistas.
  • ExtColorPatternsBearish - color de los patrones bajistas.
  • ExtColorPatternList - establece la lista de los colores para los patrones de Gartley en el modo "Juguete chino". Los nombres de los colores se enumeran usando la coma. Si algún color se anota erróneamente, para este color se elegirá el rojo.
  • ExtDeltaGartley - acceso a la desviación del precio para la búsqueda de patrones por defecto 9% - 0.09.
  • ExtDeltaGartleyPRZ  - acceso especial para la construcción del marco de desarrollo del punto D del patrón.
  • levelD - activa la muestra en el gráfico de los niveles de retroceso XD de las posibles variantes de los patrones de puntos para la combinación actual.
  • colorLevelD - establece el color de los niveles de los retrocesos XD.
  • Equilibrium - activa la muestra de las líneas Equilibrium, Reaction1 y Reaction2.
  • ReactionType — establece el tipo de líneas de reacción.
  • EquilibriumStyle — establece el estilo de las líneas.
  • EquilibriumWidth — establece el grosor de las líneas.
  • ColorEquilibrium — establece el color para Equilibrium.
  • ColorReaction — establece el color para Reaction1 y Reaction2.
  • Ext_3Drives - permite mostrar el patrón 3 Drives.
  • Ext_xO - esteblece el coeficiente para la búsqueda del patrón de 7 puntos 3 Drives.
  • Dragon — permite mostrar el patrón Dragon.
  • PeakZZDragon — establece el número del extremo del zigzag hasta el que se realiza la búsqueda del patrón Dragon.
  • Ext_4PointPattern - permite buscar el patrón de 4 puntos de continuación.
  • _maxXB - establece el valor máximo del retroceso XB para el patrón The 4 Point Pattern. Podrá obtener más información sobre este patrón de la mano de su autor aquí: http://kanetrading.com/.
  • ABCD — permite buscar los patrones AB=CD:
    • 0 - los patrones AB=CD no se muestran;
    • 1 - se muestra cualquier AB=CD;
    • 2 - se muetran solo los AB=CD armónicos, cuya proporción dentro de los límites del acceso se corresponde con la serie de Fibonacci. 
  • searchABCDAlternate — permite mostrar patrones AB=CD alternativos.
  • ABCDAlternate — establece la lista de patrones AB=CD alternativos. En esta lista se enumeran con coma los coeficientes X de la fórmula X*AB=CD.
  • visibleABCDrayZZ — permite mostrar los patrones AB=CD en forma de línea.
  • Ext_noname - permite buscar patrones desconocidos de cinco puntos, en los que los cuatro retrocesos son iguales a algún nivel de Fibonacci.
  • CustomPattern — determina si mostrar o no los patrones personalizados:
    • 0 - no se muestra el patrón personalizado;
    • 1 - se muestra junto con otros patrones;
    • 2 - se muestra solo el patrón personalizado.
  • NameCustomPattern — nombre del patrón personalizado.
  • minXB — establece el valor mínimo del retroceso XB.
  • maxXB — establece el valor máximo del retroceso XB.
  • minAC — establece el valor mínimo del retroceso AC.
  • maxAC — establece el valor máximo del retroceso AC.
  • minBD — establece el valor mínimo del retroceso BD.
  • maxBD — establece el valor máximo del retroceso BD.
  • minXD — establece el valor mínimo del retroceso XD.
  • maxXD — esteblece el valor máximo de Equilibrium del retroceso XD.

El máximo y el mínimo del retroceso establecen el rango para la búsqueda.

  • filtrEquilibrium — incluye como filtro una línea que pasa a través de los puntos X y B del patrón. Si el filtro está activado, el patrón se dibujará cuando el precio rompa esta línea al moverse del punto C del patrón en dirección al punto D. Funciona solo con los patrones personalizados y los patrones noname.
  • readFromFileListPatterns — establece la lectura de una lista de patrones desde el archivo \\ZUP\ListPatterns\listpatterns.csv:
    • 0 - se prohíbe la lectura de la lista de patrones desde el archivo;
    • 1 - se usa para buscar patrones de cinco puntos solo de aquellos patrones cuya lista se ha cargado desde un archivo;
    • 2 - en la lista de patrones de cinco puntos incorporada en ZUP se termina de escribir la lista de patrones del archivo. En este caso, obtenemos una lista compuesta de patrones.

Los archivos *.csv se encuentran en la carpeta MQL4\Files\ZUP\ListPatterns.

  • NameFileListPatterns — esteblece el nombre del archivo .csv desde el que se lee la lista de parámetros de los patrones.
  • writeToFileListPatterns — permite la anotación de la lista de patrones de cinco puntos:
    • 0 - la anotación se realiza en el archivo \\ZUP\ListPatterns\listpatternsdefault.csv;
    • 1 - la anotación se realiza en el archivo \\ZUP\ListPatterns\listpatternscustom.csv;
    • 2 - la anotación se realiza en el archivo \\ZUP\ListPatterns\listpatternsmixt.csv.
  • picture — permite mostrar en el archivo las imágenes del gráfico con el patrón.

Los archivos con la imagen del patrón encontrado se encuentran en la carpeta MQL4\Files\ZUP\PicturePatterns.

  • writeInfoPatternsToFileXML — permite mostrar en un archivo .XML los parámetros del actual patrón de cinco puntos:
    • 0 - prohibido mostrar los parámetros en el archivo;
    • 1 - los parámetros de tiempo se muestran de forma expandida;
    • 2 - los parámetros de tiempo de muestran en segundos.

Los archivos *.xml con los parámetros del patrón localizado se encuentran en la carpeta MQL4\Files\ZUP\XML.

  • writeInfoPatternsToFileCSV — permite mostrar en un archivo .CSV los parámetros del actual patrón de cinco puntos:
    • 0 - prohibido mostrar los parámetros en el archivo;
    • 1 - los parámetros de tiempo se muestran de forma expandida;
    • 2 - los parámetros de tiempo de muestran en segundos.

Los archivos *.csv con los parámetros del patrón localizado se encuentran en la carpeta MQL4\Files\ZUP\CSV.

  • namefileSymbolPeriod = true — se establece el nombre de los archivos con las imágenes de los patrones y con los parámetros en forma de Symbol()+"_"+Period()+"_Patterns.
  • InfoPointD — permite mostrar la información sobre el punto D del patrón en letra grande.
  • MonitorPatterns — activa el monitor de los patrones.
  • TextSize — establece el tamaño de la fuente en el monitor de los patrones.
  • ExtGlobalVariableSet — permite anotar la información sobre los patrones en las variables globales del terminal.

La información sobre el patrón localizado se puede mostrar en la variable global con el nombre "ZUP"+_Symbol+_Period . Ejemplo de nombre de variable global — ZUPGBPUSD240. Si encontramos el patrón, en la variable se anotará la cifra 1.

Vamos a aclarar ciertas capacidades de ZUP implementadas en los modos de búsqueda de los patrones Gartley


Monitor de patrones

Más abajo se muestra el funcionamiento de los patrones usando el ejemplo del modo "juguete chino". En este modo, en el gráfico se muestran multitud de patrones localizados:

monitor patterns

Las líneas en la esquina superior izquierda del gráfico constituyen el monitor. Cada línea se corresponde con uno de los patrones destacados en el gráfico. El color de las tres primeras columnas se corresponde con el color del patrón correspondiente. Color de la cuarta columna: azul — el patrón es alcista y se ha establecido con el parámetro ExtColorPatternsBullish, rojo — el patrón es bajista y se ha establecido con el parámetro ExtColorPatternsBearish .

En la primera columna se muestra el número de la barra en la que se encuentra el punto D del patrón.

En la segunda columna se muestran los parámetros minBars/ExtBackstep del zigzag en el que se ha encontrado el parámetro correspondiente.

En la tercera columna se muestra la desviación condicional de los retrocesos XC-XB-AD-CD con respecto al valor ideal. Vamos a analizar este momento en mayor profundidad usando el ejemplo del patrón Bullish Butterfly [1.414/.786/.786/2.0] en la quinta línea del monitor de patrones. Los valores ideales de los retrocesos se muestran entre corchetes después del nombre del patrón. ¿De qué manera se forman las desviaciones condicionales? ¿Y qué indican?

Cuanto mayor sea el número, mayor será la desviación con respecto al valor ideal.

  • Valor 0: la desviación deberá ser menor al parámetro establecido ExtDeltaGartleyPRZ. Por defecto, el valor del parámetro es igual al 2%.
  • Valor 1: la desviación puede ser menor al parámetro establecido ExtDelta. Por defecto es del 4%.
  • Valor 2: la desviación deberá ser menor al parámetro establecido ExtDeltaGartley. Por defecto es del 9%.
  • Valor * : la desviación es mayor que con el valor 2. El patrón encontrado se corresponderá con el patrón que haya sido localizado con las primeras versiones de ZUP.

La línea de equilibrio y la línea de vector de la tendencia inversa

El parámetro Equilibrium activa la muestra de la línea de equilibrio que pasa a través del punto XB del patrón y de las dos líneas de reacción (líneas rojas punteadas):

equilibrium / vector of a mirror trend

La línea de reacción 1 es paralela a la línea de equilibrio, y se encuentra de ella a una distancia igual a la distancia desde el punto C del patrón hasta la línea de equilibrio.

La línea de reacción 2 es paralela a la línea de equilibrio, y se encuentra de ella a una distancia igual a la distancia desde el punto A del patrón hasta la línea de equilibrio.

Al aproximarnos a las líneas de reacción, podemos esperar o bien una corrección, o bien la finalización de la formación del patrón.

El vector de la tendencia inversa se activa con el parámetro VectorOfAMirrorTrend . Después comienza a mostrarse una línea punteada. En la imagen mostrada más arriba, la línea del vector de tendencia inversa se muestra en color verde pálido. Se ha trazado siguiendo la diagonal en la zona potencial de viraje, mostrada en forma de rectángulo rojo del punto D del patrón.


Tercera parte. Brevemente sobre otros patrones

Aparte de los patrones de Gartley, ZUP permite trabajar con patrones Pesavento y otros tipos.

Existen, por ejemplo, los llamados patrones de Merrill. Se utilizan en conjunción con las franjas de Bollinger. ZUP permite identificarlos en el zigzag ya construido. En los gráficos no se muestran: se muestra solo su nombre. En los cuatro primeros rayos de la derecha del zigzag se encontrarán los patrones dinámicos de Merrill, en los rayos del segundo al quinto, los estáticos.

La información sobre los patrones de Merrill se activa con la ayuda del parámetro infoMerrillPattern=true. La información sobre el patrón se muestra en la línea en la esquina superior izquierda de la pantalla, en letra pequeña. Podemos mostrar el nombre del patrón con letra grande, con la ayuda del parámetro bigText=true. El nombre con letra grande se muestra en la esquina superior derecha de la pantalla.

Merrill pattern

En los cuatro primeros rayos se ha formado un patrón dinámico de Merrill, llamado Triángulo.

En los rayos del segundo al quinto vemos un patrón estático con el nombre M13.

Los patrones de Merrill son de cinco puntos. Podemos crear su representación gráfica con la ayuda de la interfaz gráfica. Por ejemplo, esto ya lo ha hecho un miembro del foro, Stanislav Trivaylo, con el nick poruchik.

Al activar el parámetro bigText=true, también podremos mostrar con letra grande la información sobre el patrón de Gartley encontrado. Esta información y el monitor pueden mostrarse solo con las dos primeras variantes de búsqueda de patrones.


Conclusión

Esta breve descripción que hemos adjuntado permitirá comprobar cómo usar ZUP para buscar patrones.

Podrá descargar la plataforma de indicador ZUP en el Mercado: https://www.mql5.com/es/market/product/19758



Traducción del ruso hecha por MetaQuotes Ltd.
Artículo original: https://www.mql5.com/ru/articles/2990

Visualizando la optimización de una estrategia comercial en MetaTrader 5 Visualizando la optimización de una estrategia comercial en MetaTrader 5
En el artículo se ha implementado una aplicación MQL con interfaz gráfica para la visualización ampliada del proceso de optimización. La interfaz gráfica ha sido creada con la ayuda de la última versión de la biblioteca EasyAndFast. En ocasiones, a muchos usarios les surge la siguiente pregunta: ¿para qué necesitamos las interfaces gráficas en las aplicaciones MQL? En este artículo se muestra uno de los numerosos casos en los que pueden resultar útiles para los tráders.
Neuroredes profundas (Parte V). Optimización bayesiana de los hiperparámetros de las DNN Neuroredes profundas (Parte V). Optimización bayesiana de los hiperparámetros de las DNN
En el artículo se analizan las posibilidades de la optimización bayesiana de los hiperparámetros de las neuroredes profundas obtenidas con diferentes formas de entrenamiento. Se compara la calidad de la clasificación de las DNN con los hiperparámetros óptimos en diferentes variedades de entrenamiento. Se ha comprobado mediante forward tests la profundidad de la efectividad de los hiperparámetros óptimos de la DNN. Se han definido los posibles campos de mejora de la calidad de la clasificación.
Cómo crear una Tarea Técnica al encargar un indicador Cómo crear una Tarea Técnica al encargar un indicador
Los tráders buscan leyes en el comportamiento del mercado que indiquen los momentos adecuados para realizar transacciones comerciales. Muy a menudo, el primer paso en el desarrollo de un sistema comercial es la creación de un indicador técnico que le ayude a ver en el gráfico de precios la información que necesita. Este artículo le ayudará a componer la Tarea Técnica para encargar un indicador.
LifeHack para tráders: cocinamos ForEach usando #define LifeHack para tráders: cocinamos ForEach usando #define
Un escalón intermedio para aquellos que aún escriben en MQL4, pero todavía no han dado el salto a MQL5. Vamos a continuar buscando posibilidades para escribir código en el estilo MQL4. En esta ocasión, analizaremos la macrosustitución del preprocesador - #define.