El problema de la transferencia de MT4 a MT5. O, más precisamente, la incapacidad de ejecutar algunos algoritmos en MT5 sin'err.

 

En primer lugar, una cita de la guía lingüística de MQL5. En el apartado Organización del acceso a los datos.

"...Accesibilidad de los datos

La disponibilidad de datos en formato HCC o incluso en formato HC ready no siempre significa la accesibilidad incondicional de estos datos para su visualización en gráficos o para su uso en programas mql5.

Cuando acceda a los datos de precios o a los valores de los indicadores desde los programas mql5, debe recordar que no se garantiza que estén disponibles en un momento determinado, o desde un punto determinado...".

Inmediatamente, por favor, no dé consejos sobre cómo sortear el problema descrito. Esto está escrito principalmente para los desarrolladores de MQL5.

En el ZUP para MT4 se implementa el algoritmo de filtrado fractal. ElZUP es un zigzag universal con patrones Pesavento. La interfaz gráfica está un poco escrita. Pero aquí describiré el algoritmo una vez más.

Al mostrar las herramientas gráficas en un gráfico con la unión de las herramientas gráficas seleccionadas (por ejemplo, Andrew's Pitchfork, o cualquier otra) a los extremos de los zigzags o a los patrones de las ondas utilizando la interfaz gráfica, se activa el algoritmo de filtrado fractal.

El filtrado fractal elimina la herramienta gráfica creada en aquellos marcos temporales en los que la salida de esta herramienta gráfica pierde su significado.

Por ejemplo, no hay cotizaciones para el extremo seleccionado en algunos marcos temporales (esto es relevante para los marcos temporales inferiores) o aparecen dos o más extremos en el cuerpo de una barra en marcos temporales superiores con diversas variaciones de ubicación dentro de la barra.

No tiene sentido mostrar una herramienta gráfica creada previamente en esos plazos. Pierde su funcionalidad. En estos casos, el filtrado fractal evita automáticamente la visualización de herramientas gráficas "en problemas". Añadiré para los de redes neuronales a medida que vaya avanzando... hay algunas ideas muy interesantes sobre la implementación en redes neuronales... ...pero ese es otro tema.

El problema con MQL5 es que incluso habiendo generado series temporales en todos los marcos temporales para todos los extremos adjuntos a una herramienta de gráficos, hay momentos en los que el acceso a algunos marcos temporales para el extremo seleccionado se interrumpe debido a las peculiaridades del acceso a los datos (ver arriba). Como resultado, se generan datos incorrectos sobre los plazos para el algoritmo de filtrado fractal. Es decir, por ejemplo, cuando se accede a todos los marcos temporales, la cf superior de los datos para el filtrado fractal da el valor de la cf superior del marco temporal mensual. Pero en el momento en quela accesibilidad no está garantizada, el tf superior para este extremo se limita al marco temporal actual.

Un usuario hace clic en el símbolo al que está vinculada una herramienta gráfica. Se mostrará el símbolo del gráfico. El usuario pasa a la franja horaria más antigua. El algoritmo del filtro fractal elimina la herramienta gráfica. El usuario está desconcertado. Los extremos son visibles, pero la herramienta gráfica desaparece.

Y aquí es imposible organizar la espera de la vinculación del símbolo del gráfico después de que un usuario haga clic en un símbolo seleccionado hasta el momento del acceso a las series de tiempo diferentes del marco de tiempo actual.

En MT4 no existen estos problemas.

Esta situación es el problema que me ha impedido, en este caso, desarrollar programas para MT5. Este problema estaba claro incluso cuando se introdujo MT5 en el mercado...

El código ZUP fue traducido a MT5. Y lo colocó en mi Mercado. Pero el problema descrito anteriormente está presente allí. No construí muletas para evitar el problema. Si conoce este problema, puede simplemente eliminar la herramienta gráfica creada. Y mostrarlo de nuevo. Pero esto es, cómo decirlo tan suavemente....

Creo que el problema descrito anteriormente sigue siendo una imperfección del lenguaje MQL5 o del terminal MT5. DEBERÍA!!! ser un acceso garantizado a las series temporales ya generadas en cualquier momento!

En una nota lateral. Cuando se crea una partición de onda en ZUP, se habilita el filtrado fractal. Aquí tenemos lo siguiente. Cuando tengo acceso a todas las series temporales de todos los marcos temporales los patrones de onda son correctos. Pero con la terminación repentina del acceso a las series temporales, los patrones de onda pueden salir de forma impredecible. Así, cuando se creaba la partición de la onda, todo estaba ordenado. Y en algún momento posterior cuando se creó la partición de la onda en la transición a otros marcos temporales se mostró de forma impredecible. Y no es fácil crear muletas para eliminar el funcionamiento erróneo del terminal.

 
Olvídate de los objetos gráficos. Es muy incómodo y limitado. Con kanvas, todo funcionará más fácil, más rápido y con posibilidades gráficas ilimitadas.
 

Por cierto, ayer mismo estaba escribiendo un indicador en el que tenía que copiar periódicamente los datos en trozos de un año desde W1. Muy a menudo se producen intentos infructuosos de copia. Al final no funcionó, tuve que hacer todo por un principio diferente.

 
Eugeni Neumoin:

...

También desacostumbrado e inconveniente con el acceso a los datos después de 4.

El acceso a los datos en el 5 está limitado a la TF.

Si se dibuja una línea de tendencia bastante larga en TF D1 o en W1, al pasar a M1 o M5 no se verá debido a la limitación de acceso al punto de tendencia lejano.

Puedes comprobarlo fácilmente.

Tenemos que lidiar con el lienzo. Pero es posible que esa emboscada también le espere allí.

 
¿Puede demostrar de forma reproducible la indisponibilidad de los datos?

Afirmas sin pruebas reproducibles.
 
¡Genial! Quería preparar el indicador, quitar lo superfluo para mostrar lo principal. Lo hice. Pero, de repente, funcionó como un reloj suizo.
 
Uladzimir Izerski:

También es desacostumbrado e inconveniente con el acceso a los datos después de 4.

El acceso a los datos en el 5 está limitado a la TF.

Si se dibuja una línea de tendencia bastante larga en TF D1 o en W1, al pasar a M1 o M5 no se verá debido a la limitación de acceso al punto de tendencia lejano.

Puedes comprobarlo fácilmente.

Tenemos que lidiar con el lienzo. Pero tal vez también haya una emboscada esperando allí.

Es una historia completamente diferente. El punto más lejano debería tener el historial de precios pequeños para mostrar la tendencia.

Vamos a dibujar con la horquilla W1 con referencia a ella. El plazo mínimo es m20. Así lo demuestra el algoritmo de filtrado fractal. En este caso se muestra en el tooltip. No tiene sentido construir algo con referencia al primer punto de la horquilla en el tf inferior.

El punto que muestra la flecha hacia arriba en la siguiente imagen de m20 está marcado por una línea vertical. Todo se muestra bien. Pero en marcos más superficiales esas horquillas no se mostrarán por el filtrado fractal. La historia va más allá deTERMINAL_MAXBARS en marcos más superficiales. Por eso no se mostrará en TF menos de m20.

Todo está perfectamente expuesto. No hay turnos. Y funciona bien en MT5. Sin embargo, para poder visualizarlo de esa manera, hay que fijar el tiempo exacto del extremo en el marco temporal más pequeño, en nuestro caso en m20, al visualizar las horquillas.

Por cierto, puedes ver que la línea SLM318 (línea punteada) funcionó bien el 09-11-2018. Es como la técnica del francotirador, que promueve la academia de forex de Minsk. Pero aquí el mercado "vio" la línea SLM318 y simplemente funcionó magistralmente...

 
Renat Fatkhullin:
¿Puede demostrar de forma reproducible la inaccesibilidad de los datos?

Afirmas sin pruebas reproducibles.

No he guardado la foto. Pero publicaré las fotos cuando se dé la situación. No podré reproducirlo con un código de prueba. Es demasiado código para crear.

Me limitaré a describir la forma en que fue. Dibujé la horquilla en H3. También lo he vinculado a los extremos disponibles en los marcos superiores. He pasado a H4. Las horquillas desaparecieron. Empecé a entender por qué sucedía. He comprobado la información sobre la herramienta en la que se encuentra el límite del TF de la filtración fractal. Parecía queel límite superior estaba en H3. He borrado la horquilla del gráfico. Vuelve a enlazar la horquilla con los mismos extremos. He comprobado el límite superior. Resultó ser en un plazo de un mes. Y estas situaciones se repiten. Pero no con frecuencia.

El programa accede a todas las cajas fuertes de los 10 primeros extremos al mostrar un zigzag. Cada vez el zigzag se vuelve a dibujar. El zigzag se vuelve a dibujar sólo cuando el precio sale de la barra cero. No en todos los casos.

Voy a cerrar la terminal. Lo descargo de la memoria del ordenador. Accedo a la carpeta con el historial donde se encuentran los archivos *.hc. Los archivos de series temporales para todos los plazos tienen la fecha y la hora del momento en que el terminal se descargó de la memoria del ordenador. Es decir, se forman todas las series temporales.

 
No me interesa la imagen, se deriva de su código.

Lo que interesa es la negativa a proporcionar datos con registros claros.
 
Renat Fatkhullin:
No es la imagen que me interesa, se deriva de su código.

Lo que interesa es la negativa a proporcionar datos con registros claros.

Esto tiene que ser modelado. Para crear registros. Pensaré en cómo hacerlo.

 
Renat Fatkhullin:
¿Puede demostrar de forma reproducible la inaccesibilidad de los datos?

Afirmas sin pruebas reproducibles.

¿Si es una pregunta para mí?

A continuación, reproducimos un ejemplo sencillo.

D1.

v1

Ir a H4

H4


Ir a H1

H1


Habrá un gráfico claro en una pequeña TF.

Los objetos están en las listas, pero no están en el gráfico.

m1