Indicadores: Harmonic Pattern Finder V3 - página 2

 

Busco ayuda para ajustar los valores del patrón de cifrado. He encontrado en el código donde se define el patrón a través de una serie de 14 números enteros. He extrapolado que los 14 números son los siguientes:

(1)Nombre 0=XA

(2)Nombre 1=AB

(3)Nombre 2=BC

(4)Nombre 3=CD

(5)Nombre 4=XAB

(6)Nombre 5=XAD

(7)Nombre 6=ABC

(8)Nombre 7=BCD

(8)Triángulo XB

(9)Triángulo BD

(10) Punto X

(11) Punto A

(12) Punto B

(13) Punto C

(14) Punto D


Aquí está el código basado en estos para el patrón de cifrado:

0.382, 0.618, 0, 0, 0, 0, 0, 0, 0.786, 0.786, 1.13, 1.414, 0, 0


Actualmente el patrón de cifrado dibuja incorrectamente. Para calificar como cifrado, el punto B debe alcanzar el retroceso de Fibonacci de 0,382 de X-A pero no cerrar por debajo de 0,618, el punto C debe alcanzar la extensión de Fibonacci de 1,272 de X-A pero no cerrar por encima de 1,41, y el punto D debe alcanzar el retroceso de Fibonacci de 0,786 de X-C. Actualmente el patrón de cifrado dibuja incorrectamente.


Actualmente parece que el 80%-90% de los patrones de cifrado de esta herramienta dibuja en realidad no se ajustan a los criterios. La mayoría nunca llegan a un punto D adecuada y muchos van muy por encima de la zona para el punto C. Cualquier ayuda apreciada !!!

 
Tenga en cuenta que por encima hay 14 números en la secuencia, pero he utilizado 8 dos veces por lo que en realidad hay 15 en el código que pensé que se aplica a la secuencia de 14 números....Puedo estar equivocado en los que incluso se aplican a los 14 números....ahora estoy realmente perdido
 
jojo151579:
Tenga en cuenta que arriba hay 14 números en la secuencia, pero he utilizado 8 dos veces por lo que en realidad hay 15 en el código que pensé que se aplica a la secuencia de 14 números....Puedo estar equivocado en los que incluso se aplican a los 14 números....ahora estoy realmente perdido

Los patrones son descritos por una estructura de 18 dobles definidos en "HPFMatcher.mqh":

struct PATTERN_DESCRIPTOR
  {
   double            ab2xa_min;
   double            ab2xa_max;
   double            bc2ab_min;
   double            bc2ab_max;
   double            cd2bc_min;
   double            cd2bc_max;
   double            ad2xa_min;
   double            ad2xa_max;
   double            cd2xc_min;
   double            cd2xc_max;
   double            xc2xa_min;
   double            xc2xa_max;
   double            cd2ab_min;
   double            cd2ab_max;
   double            bc2xa_min;
   double            bc2xa_max;
   double            cd2ad_min;
   double            cd2ad_max;
  };

Así que los nombres de las variables son bastante explicativos; la primera es la relación mínima aceptada entre AB y XA ("B debe llegar a ... de XA"), la siguiente es la relación máxima aceptada ("B no debe tocar ... de XA"), y así sucesivamente. Debido a esto, no es sencillo realizar un cambio para que se compruebe el criterio "B no debe cerrar por debajo de ... de XA", ya que el casador sólo utiliza máximos y mínimos para los cálculos.

Si realmente lo desea, una forma posible es establecer el ratio máximo un poco más abajo, digamos 0,618 + 0,1, alternativamente el siguiente nivel armónico, y comprobar en un filtro ad-hoc si el precio de cierre realmente estuvo por encima de 0,618 o no. Tenga en cuenta también que, con la configuración predeterminada del indicador, se aplicará una holgura de 0,05 a esta restricción, lo que significa que mientras el máximo/mínimo de una barra de punto B no toque 0,668, se seguirá encontrando el patrón. A partir de ese momento, le corresponde a usted verificar el criterio del precio de cierre.


El descriptor del patrón de Cypher ({0,382,0,618,0,0,0,0,0,0,0,0,0,786,0,786,1,13,1,414,0,0}) tiene

  • ab2xa_min = 0,382
  • ab2xa_max = 0,618
  • cd2xc_min = 0,786
  • cd2xc_max = 0,786
  • xc2xa_min = 1,13
  • xc2xa_max = 1,414

En lenguaje llano esto significa:

  • B debe alcanzar el retroceso de 0,382 XA, pero no tocar 0,618
  • D debe alcanzar el retroceso de 0,786 XC, pero también revertir allí
  • C debe alcanzar la extensión 1.13 XA, pero no tocar 1.414
Por tanto, para que el comparador requiera que un punto C alcance la extensión de 1,272, simplemente cambie la entrada nº 11 de 1,13 a 1,27. De nuevo, cambiar el máximo de un "no puede tocar" a un "cierre por debajo" no es tan sencillo, y se aplicará la misma holgura de 0,05.

 
Andre Enger:

Los patrones se describen mediante una estructura de 18 dobles definida en "HPFMatcher.mqh":

Así, los nombres de las variables son bastante explicativos; la primera es la relación mínima aceptada entre AB y XA ("B debe alcanzar ... de XA"), la siguiente es la relación máxima aceptada ("B no debe tocar ... de XA"), y así sucesivamente. Debido a esto, no es sencillo realizar un cambio para que se compruebe el criterio "B no debe cerrar por debajo de ... de XA", ya que el casador sólo utiliza máximos y mínimos para los cálculos.

Si realmente lo desea, una forma posible es establecer el ratio máximo un poco más abajo, digamos 0,618 + 0,1, alternativamente el siguiente nivel armónico, y comprobar en un filtro ad-hoc si el precio de cierre realmente estuvo por encima de 0,618 o no. Tenga en cuenta también que, con la configuración predeterminada del indicador, se aplicará una holgura de 0,05 a esta restricción, lo que significa que mientras el máximo/mínimo de una barra de punto B no toque 0,668, se seguirá encontrando el patrón. A partir de ese momento, le corresponde a usted verificar los criterios del precio de cierre.


El descriptor del patrón de Cypher ({0,382,0,618,0,0,0,0,0,0,0,0,0,0,786,0,786,1,13,1,414,0,0}) tiene

  • ab2xa_min = 0,382
  • ab2xa_max = 0,618
  • cd2xc_min = 0,786
  • cd2xc_max = 0,786
  • xc2xa_min = 1,13
  • xc2xa_max = 1,414

En lenguaje llano esto significa:

  • B debe alcanzar el retroceso de 0,382 XA, pero no tocar 0,618
  • D debe alcanzar el retroceso de 0,786 XC, pero también revertir allí
  • C debe alcanzar la extensión 1.13 XA, pero no tocar 1.414
Por tanto, para que el comparador requiera que un punto C alcance la extensión de 1,272, simplemente cambie la entrada nº 11 de 1,13 a 1,27. De nuevo, cambiar el máximo de "no puede tocar" a "cierre por debajo" no es tan sencillo, y se aplicará la misma holgura de 0,05.

Gracias por la respuesta. Me imaginé que establecer un cierre por debajo sería bastante difícil, así que puedo saltarme eso (el patrón sigue siendo válido si sube por encima de 0,618, sólo que no puede cerrar por encima, así que puedo filtrarlo yo mismo). Cambiando los parámetros para llegar a 1,27 (C) y para llegar a .786 pero que no se detenga ahí (cambiaré el max a 0 ya que el patrón siempre va más allá del .786 ya que el .786 es el mínimo y no se requiere revertir ahí así que cambiar eso espero que arregle ese problema también) Probaré estos y actualizaré como funciona ¡Gracias!
 
Andre Enger:

Los patrones se describen mediante una estructura de 18 dobles definida en "HPFMatcher.mqh":

Así, los nombres de las variables son bastante explicativos; la primera es la relación mínima aceptada entre AB y XA ("B debe alcanzar ... de XA"), la siguiente es la relación máxima aceptada ("B no debe tocar ... de XA"), y así sucesivamente. Debido a esto, no es sencillo realizar un cambio para que se compruebe el criterio "B no debe cerrar por debajo de ... de XA", ya que el casador sólo utiliza máximos y mínimos para los cálculos.

Si realmente lo desea, una forma posible es establecer el ratio máximo un poco más abajo, digamos 0,618 + 0,1, alternativamente el siguiente nivel armónico, y comprobar en un filtro ad-hoc si el precio de cierre realmente estuvo por encima de 0,618 o no. Tenga en cuenta también que, con la configuración predeterminada del indicador, se aplicará una holgura de 0,05 a esta restricción, lo que significa que mientras el máximo/mínimo de una barra de punto B no toque 0,668, se seguirá encontrando el patrón. A partir de ese momento, le corresponde a usted verificar los criterios del precio de cierre.


El descriptor del patrón de Cypher ({0,382,0,618,0,0,0,0,0,0,0,0,0,0,786,0,786,1,13,1,414,0,0}) tiene

  • ab2xa_min = 0,382
  • ab2xa_max = 0,618
  • cd2xc_min = 0,786
  • cd2xc_max = 0,786
  • xc2xa_min = 1,13
  • xc2xa_max = 1,414

En lenguaje llano esto significa:

  • B debe alcanzar el retroceso de 0,382 XA, pero no tocar 0,618
  • D debe alcanzar el retroceso de 0,786 XC, pero también revertir allí
  • C debe alcanzar la extensión 1.13 XA, pero no tocar 1.414
Por tanto, para que el comparador requiera que un punto C alcance la extensión de 1,272, simplemente cambie la entrada nº 11 de 1,13 a 1,27. De nuevo, cambiar el máximo de un "no puede tocar" a un "cierre por debajo" no es tan simple, y se aplicará la misma holgura de 0.05. ¡Lo tengo funcionando!

Lo tengo funcionando! Cambié el 1.13 a 1.27 y cambié el segundo 0.786 a 1.000 (cambiar a 0 tuvo resultados desastrosos :) ) ¡Funciona con mucha más precisión ahora! Gracias por la ayuda con el código. Ahora puedo darle sentido a todo esto! Eres un salvavidas! ¡Felices fiestas!
 

¡me encanta este indicador! (especialmente ahora que puedo personalizar los niveles de fibo!)

Si quiero configurar un escáner para utilizar esta herramienta y escanear automáticamente todas las acciones que figuran en mi ventana de vigilancia del mercado, supongo que tendría que crear un EA correcto? No soy un codificador ... ¿Se requiere saber y ser capaz de escribir código para construir este EA?Me gustaría decir que sólo la búsqueda de un nuevo patrón de cifrado en el último 150 bares más o menos. Esta sería una configuración guardada que podría ser cargado como normal en el indicador. ¿Es esto posible y fácil de crear o estoy demasiado deseo de no ser un codificador?

O tal vez hay una manera más fácil de cargar todas las acciones en forma de gráfico a la vez y simplemente aplicar esta herramienta? Carga de todas las acciones de uno en uno para buscar a través de toma mucho tiempo! (Soy nuevo en MT todos juntos así que todavía tengo que resolver todos los problemas :) )

Apreciar cualquier entrada



Además, he visto en el patrón cypher donde la línea de X a D muestra el retroceso fibo de XA ... ¿cómo puedo cambiar esto a XC en su lugar? XA retroceso sólo se aplica al punto B y es irrelativa al punto D. Gracias y trabajo impresionante! (Lo siento por todas las preguntas también)

 
jojo151579:

¡me encanta este indicador! (especialmente ahora que puedo personalizar los niveles de fibo!)

Si quiero configurar un escáner para utilizar esta herramienta y escanear automáticamente todas las acciones que figuran en mi ventana de vigilancia del mercado, supongo que tendría que crear un EA correcto? No soy un codificador ... ¿Se requiere saber y ser capaz de escribir código para construir este EA?Me gustaría decir que sólo la búsqueda de un nuevo patrón de cifrado en los últimos 150 bares más o menos. Esta sería una configuración guardada que podría ser cargado como normal en el indicador. ¿Es esto posible y fácil de crear o estoy demasiado deseo de no ser un codificador?

O tal vez hay una manera más fácil de cargar todas las acciones en forma de gráfico a la vez y simplemente aplicar esta herramienta? Carga de todas las acciones de uno en uno para buscar a través de toma mucho tiempo! (Soy nuevo en MT todos juntos, así que todavía tengo que resolver todos los problemas :) )

Apreciar cualquier entrada



Además, he visto en el patrón de cifrado donde la línea de X a D muestra el retroceso fibo de XA ... ¿cómo puedo cambiar esto a XC en su lugar? XA retroceso sólo se aplica al punto B y es irrelativa al punto D. Gracias y buen trabajo! (Lo siento por todas las preguntas también)

Parece que la última versión de MT tiene una función para desacoplar los gráficos. Es posible abrir un gráfico para cada acción, cargar el indicador y minimizar el gráfico hasta la próxima vez que se necesite. Todavía requiere hacer clic manualmente a través de cada ventana para la búsqueda, pero al menos es menos engorroso que cargar el gráfico y el indicador cada vez. MT no tiene un escáner incorporado o características para esto. Se requeriría de codificación para hacer uno, que se podría hacer como una secuencia de comandos por cierto.

La línea de X a D se dibuja utilizando el mismo procedimiento para todos los patrones. En realidad es más un error que no tiene en cuenta las especificidades de Cypher (o los otros patrones en los que el punto C excede al A), pero nunca se llegó a ello.

Para arreglarlo para Cypher, primero añade esta línea cerca del número de línea 880 en "HarmonicPatternFinderV3.mq5":

string xcd=IntegerToString((int) MathRound(100*MathAbs(D-C)/MathAbs(X-C)));

Luego reemplaza la línea actual 992 que dice:

if(k!=FIVEO) ObjectSetString(0,name5,OBJPROP_TOOLTIP,prefix+_patternNames[k]+" XAD="+xad);

por esto:

if(k!=FIVEO && k!=CYPHER)
  ObjectSetString(0,name5,OBJPROP_TOOLTIP,prefix+_patternNames[k]+" XAD="+xad);
else if(k!=FIVEO)
  ObjectSetString(0,name5,OBJPROP_TOOLTIP,prefix+_patternNames[k]+" XCD="+xcd);

Esto añadirá el tooltip más significativo para los patrones confirmados. Para tenerlo adicionalmente en las proyecciones, haga lo mismo en el procedimiento de dibujo de la proyección, es decir, añada la primera línea aproximadamente en la línea número 1130, y sustituya la actual 1180.


 
Andre Enger:

Parece que la versión más reciente de MT tiene una función para desacoplar los gráficos. Es posible abrir un gráfico para cada acción, cargar el indicador y minimizar el gráfico hasta la próxima vez que se necesite. Todavía requiere hacer clic manualmente a través de cada ventana para la búsqueda, pero al menos es menos engorroso que cargar el gráfico y el indicador cada vez. MT no tiene un escáner incorporado o características para esto. Se requeriría la codificación para hacer uno, que se podría hacer como una secuencia de comandos por cierto.

La línea de X a D se dibuja utilizando el mismo procedimiento para todos los patrones. Más de un error en realidad que no tiene en cuenta las características específicas de Cypher (o los otros patrones donde el punto C supera a la A para el caso), pero nunca se consiguió en torno a.

Para arreglarlo para Cypher, primero añade esta línea cerca de la línea 880 en "HarmonicPatternFinderV3.mq5":

Luego reemplaza la línea actual 992 que dice:

por esto:

Esto añadirá el tooltip más significativo para los patrones confirmados. Para tenerlo adicionalmente en las proyecciones, haga lo mismo en el procedimiento de dibujo de la proyección, es decir, añada la primera línea aproximadamente en la línea número 1130, y reemplace la actual 1180.


Gracias por la ayuda de nuevo! Desafortunadamente copié y pegué todo lo anterior (introduje el primer código en la línea 881 y reemplacé la línea original 992, compilé y reinicié) y nada cambió. No es gran cosa... Puedo rastrear por mi cuenta si es necesario. Puede tener algo que ver con que no hay línea en zig zag que va de x a c para empezar. Gracias por toda la ayuda!

Me imaginaba que un escáner tendría que ser código escrito ... MT5 es grande y terrible al mismo tiempo :). Ni siquiera se puede obtener una herramienta de dibujo xabcd como tradingview ha construido automáticamente en ... De todos modos, este indicador seguirá siendo grande para backtesting. Puede que sólo tenga que comprar un escáner de un día (y cuando encuentro uno que no es tan maldito caro!)

 
jojo151579:

Gracias por la ayuda de nuevo! Desafortunadamente copié y pegué todo lo anterior (introduje el primer código en la línea 881 y reemplacé la línea original 992, compilé y reinicié) y nada cambió. No es gran cosa... Puedo rastrear por mi cuenta si es necesario. Puede tener algo que ver con que no hay línea en zig zag que va de x a c para empezar. Gracias por toda la ayuda!

Me imaginaba que un escáner tendría que ser código escrito ... MT5 es grande y terrible al mismo tiempo :). Ni siquiera se puede obtener una herramienta de dibujo xabcd como tradingview ha construido automáticamente en ... De todos modos, este indicador seguirá siendo grande para backtesting. Puede que sólo tenga que comprar un escáner de un día (y cuando encuentro uno que no es tan maldito caro!)

Sí lo siento por eso **facepalm**, se debe hacer en "HPFDrawingObserver.mqh" en su lugar, a continuación, añadir en la línea 300 reemplazar la línea 410. O usted podría descargar una actualización que se empuja ahora arreglarlo para todos los patrones. Si sólo descargas el archivo "HPFDrawingObserver.mqh" ni siquiera es necesario volver a introducir el descriptor de patrones modificado para el Cypher.
 
Andre Enger:
Sí, lo siento por eso **facepalm**, se debe hacer en "HPFDrawingObserver.mqh" en su lugar, a continuación, añadir en la línea 300 reemplazar la línea 410. O usted podría descargar una actualización que se empuja ahora arreglarlo para todos los patrones. Si sólo descargas el archivo "HPFDrawingObserver.mqh" ni siquiera es necesario volver a introducir el descriptor de patrones modificado para el Cypher.
Oh ok.... gracias.....tried todo lo anterior también y ningún cambio. Sigue dando la información para XAD. Gracias de todas formas