Servicedesk. Quejas, sugerencias. - página 3

 
Alexey Kozitsyn:

Aunque sólo sea porque lo dice la documentación y quiero utilizarlo.

Para descargar y comprobar el historial, similar a MT5: https://www.mql5.com/ru/docs/series/timeseries_access

Repito la pregunta, ¿sabéis cómo conseguir esta fecha mediante el antiguo mql4?

Para mí la presencia de una función en la documentación no es razón suficiente para ocuparme del service desk y del foro, perdiendo tiempo y esfuerzo si en principio no la necesito. Y por qué puede ser necesario usted, en mi opinión, nunca ha sido capaz de argumentar.

Personalmente no recomiendo a nadie que utilice en MT4 las funciones de la API de MT5, porque llevan mucho tiempo dando fallos así, desde la "modernización" de MQL4. Y no recomendaré su uso a partir de ahora a menos que alguien demuestre su absoluta necesidad.

 
Ilya Malev:

Para mí, la presencia de una función en la documentación no es razón suficiente para tratar con servicedesk y en el foro, perdiendo tiempo y esfuerzo si en principio no la necesito. Y en mi opinión, no has podido argumentar por qué podrías necesitarlo.

Personalmente no recomiendo a nadie que utilice en MT4 las funciones de la API de MT5, porque llevan mucho tiempo dando fallos así, desde la "modernización" de MQL4. Y no recomendaré su uso en el futuro a menos que alguien demuestre su absoluta necesidad.

Todavía no has respondido a mi pregunta. Pero me he dado cuenta de que no te importa y estás satisfecho.

Ah, y un argumento más: la portabilidad de los programas de MT4 a MT5 y viceversa.

 
Alexey Kozitsyn:

Todavía no has respondido a mi pregunta. Pero he entendido que no te importa y que te parece bien.

Ah, y un argumento más: la portabilidad de los programas de MT4 a MT5 y viceversa.

Si tiene una restricción en el número de barras en la ventana de MT4, no sabrá cuántas barras hay en el servidor. Y no me he encontrado con una situación habitual en la que fuera necesario. Por supuesto, se pueden inventar muchas cosas exóticas, pero en el 99,9% de los casos podemos prescindir de ellas.

En cuanto a la portabilidad, se trata de plataformas totalmente diferentes con una metodología de trabajo con datos y pedidos fundamentalmente distinta. Por lo tanto, su metodología de programación es completamente diferente. Para la portabilidad, existe la directiva __MQL4__ y las bibliotecas con compilación condicional.

 
Ilya Malev:

No es posible saber cuántas barras hay en el servidor si tiene un límite en el número de barras en la ventana de MT4. Y no me he encontrado con una situación habitual en la que fuera necesario. Por supuesto, se pueden inventar todo tipo de exóticos, pero en el 99,9% de las tareas de los comerciantes, prácticamente se puede prescindir de ellos.

En cuanto a la portabilidad, se trata de plataformas totalmente diferentes con una metodología de trabajo con datos y pedidos fundamentalmente distinta. Por lo tanto, su metodología de programación es completamente diferente. Para la portabilidad, existe la directiva __MQL4__ y las bibliotecas con compilación condicional.

¿La organización del acceso a los datos es "exótica"? Ejem. Bien.

Al trader no le importa el idioma, el trader necesita operar, y los Asesores Expertos/indicadores/scripts deben funcionar correctamente. Cómo funcionan es problema del programador. Pero el programador, para escribir un producto de calidad para el comerciante, debe prestar atención a detalles tan pequeños como el acceso a los datos.

Y si usted no se ha encontrado con algo, no significa que otros no lo hayan hecho.

 
Alexey Kozitsyn:

¿Organizar el acceso a los datos es "exótico"? Ejem. Bien.

A los operadores no les importa realmente el idioma, el operador necesita operar, y los Asesores Expertos/indicadores/scripts deben funcionar correctamente. Cómo funcionan es problema del programador. Pero el programador, para escribir un producto de calidad para el comerciante, debe prestar atención a cosas tan pequeñas como el acceso a los datos.

Nunca has citado una sola tarea real para la que se requiera esta función. Sólo palabras bonitas como "acceso a los datos" y la admisión de que necesitas esta función sólo porque está descrita en la documentación.

Hay suficientes funciones en la API de MT4 para el acceso a los datos, en mi opinión, no hay absolutamente ninguna necesidad de entrar en funciones para MT5. No es necesario averiguar el número de barras en el servidor en MT4, porque no es necesario cargar el historial de forma programada - el propio terminal lo hace antes de acceder a las funciones de acceso a datos de MT4 (iHigh, iLow, MarketInfo, etc.).

Lo cual es muy conveniente y es una pena que se haya cambiado en MT5, lo cual creó muchas dificultades con el acceso a los datos allí

 
Ilya Malev:

Todavía no has citado una sola tarea real para la que se necesite esta función. Sólo palabras bonitas como "acceso a los datos" y la admisión de que necesitas esta función sólo porque está descrita en la documentación.

Hay suficientes funciones en la API de MT4 para el acceso a los datos, en mi opinión, no hay absolutamente ninguna necesidad de entrar en funciones para MT5. No hay necesidad de averiguar el número de barras en el servidor en MT4, porque no hay necesidad de cargar el historial programáticamente - el terminal hace eso.

Lo cual es muy conveniente y es una pena que se haya cambiado en MT5, lo cual creó muchos problemas con el acceso a los datos allí

Incluso te he dado el enlace:

Foro sobre comercio, sistemas de comercio automatizados y prueba de estrategias de comercio

Servicio de atención al cliente. Si tiene alguna pregunta o comentario sobre el Servicio de Atención al Cliente, no dude en ponerse en contacto con nosotros.

Alexey Kozitsyn, 2015.10.30 17:11

Por lo menos porque está indicado en la documentación y quiero utilizarlo.

Para descargar y comprobar el historial, similar a MT5: https://www.mql5.com/ru/docs/series/timeseries_access

Tengo una función de comprobación/carga del historial escrita en mql5 similar a como se describe en el enlace. Todo funciona como debería. Y quería usar lo mismo en el programa mql4. He copiado el código y he comprobado que la función SeriesInfoInteger() funciona incorrectamente. Escribí una solicitud a Sersidesk. ¿Por qué no debería utilizar el código existente si todas las funciones están duplicadas en ambos idiomas?

Por lo que entendí, al principio estabas escribiendo para mql4, y luego cambiaste a mql5. Por el contrario, he empezado a escribir activamente en mql5, y luego - en mql4. Por lo tanto, para mí es más conveniente utilizar nuevas funciones.

 
Y si se compara la documentación para organizar el acceso a los datos de mql4 y mql5, queda claro que el acceso es el mismo. Es que la documentación de mql5 está ampliada con un ejemplo de acceso. Por lo tanto, sigue siendo una gran pregunta si este acceso es tan diferente.
 
Alexey Kozitsyn:
Y si comparamos la documentación para el acceso a los datos de mql4 y mql5, quedaría claro que el acceso es el mismo. Es que la documentación de mql5 está ampliada con un ejemplo de acceso. Por lo tanto, sigue siendo una gran pregunta si este acceso es tan diferente.

Un ejemplo sencillo es que un indicador llame a otro por iCustom. Y este otro indicador, a su vez, llama al tercero y al cuarto también. Y todos estos indicadores se construyen un poco más de unos milisegundos. Cuando se ejecuta una construcción de este tipo en el fin de semana, el usuario no esperará a que se cree el indicador hasta que termine el fin de semana, a menos que pulse regularmente el botón "Actualizar" en el gráfico. Debido a este problema tuve que hacer todo un sistema de clases en lugar de iCustom para llamarse unos a otros con indicadores, obviando iCustom. En MT4 no existía este tipo de molestias.

En MT4, primero se construye el indicador y luego se llama al código que utiliza sus datos. Lo mismo se hace sobre todo con las series temporales. En MT5 todo cambió no para mejor.

 
Ilya Malev:

Un ejemplo sencillo es que un indicador llame a otro por iCustom. Y este otro indicador, a su vez, también llama al tercero y al cuarto. Y todos estos indicadores se construyen un poco más de unos milisegundos. Cuando se ejecuta una construcción de este tipo en el fin de semana, el usuario no esperará a que se cree el indicador hasta que termine el fin de semana, a menos que pulse regularmente el botón "Actualizar" en el gráfico. Debido a este problema tuve que hacer todo un sistema de clases en lugar de iCustom para llamarse unos a otros con indicadores, obviando iCustom. En MT4 no existía este tipo de molestias.

En Mt4, primero se construye el indicador y luego se llama al código que utiliza sus datos.

Intenta utilizar los eventos del temporizador. Es decir, iniciar la lógica de todos los cálculos en la salida del temporizador. A continuación, si el indicador no aparece en la ventana, pulse actualizar una vez. Todo debería funcionar.
 

Alexey Kozitsyn:

Tratade usar eventos con temporizador.

Los eventos de temporizador son en realidad una subclase de ChartEvent, y se llaman sólo cuando el indicador se lanza directamente en el gráfico. En los indicadores llamados a través de iCustom, no se esperará a la llamada de OnTimer o OnChartEvent

Allí, un indicador comienza a dibujarse sólo después de que el otro se haya dibujado. Tienes que pulsar refrescar una vez para construir el primero, el más lejano de la cadena, y luego una vez más para construir el que utiliza sus datos :)

Porque, el indicador en su hilo no puede esperar la construcción de datos de otro indicador, sin volver de OnCalculate. También es una buena característica. Así, el usuario siempre se enfrentará al menú del gráfico en lugar de trabajar con los datos.