Características del lenguaje mql5, sutilezas y técnicas - página 34

 
Alexey Kozitsyn:
¿Cómo puedo obtener datos del símbolo/TF correcto? CopyBuffer sólo funciona con asas.

Así es como funciona en MT4:

//+------------------------------------------------------------------+
double GetDataAO(string symbol_name, int timeframe, int shift) {
   return(iAO(symbol_name,timeframe,shift));
}
//+------------------------------------------------------------------+

Los datos que se envían a la función son los que se obtienen. Inmediatamente, sin crear 21 asas del mismo indicador.


 
Artyom Trishkin:

Así es como funciona en MT4:

Los datos que se envían a la función son los que se obtienen. Inmediatamente, sin crear previamente 21 asas del mismo indicador.

Sé cómo recibir datos de MT4. Puedes resistirte a hacerlo en MT5, pero no cambiará.
 
Alexey Kozitsyn:
Sé cómo recibir datos de MT4. Puedes resistirte a hacerlo en MT5, pero no cambiará.

No me resisto, ni intento cambiar. Quiero conseguir el mismo resultado en MT5 que en el vídeo, que muestra la obtención de datos de cualquier traf en MT4 sin retrasos visibles.

¿Cómo?

Al ejecutar el indicador, recojo todos los datos de todas las corrientes en matrices y luego leo de ellas según el índice? Pero la memoria no es de goma.

Pedir en un momento los datos de una barra del precio requerido - pero dice que no hay datos y ¿qué debo hacer para tenerlos?

¿Lo entiendes? No estoy criticando MT5, quiero entender y obtener el resultado tan bueno como MT4.

 
Artyom Trishkin:

No me resisto, ni intento cambiar. Quiero conseguir el mismo resultado en MT5 que en el vídeo, que muestra la obtención de datos de cualquier traf en MT4 sin retrasos visibles.

¿Cómo?

Al ejecutar el indicador, recojo todos los datos de todas las corrientes en matrices y luego leo de ellas según el índice? Pero la memoria no es de goma.

Solicitar en un momento los datos sobre una barra del precio requerido - pero el indicador dice que no hay datos, y ¿qué hacer para su disponibilidad?

¿Lo entiendes? No estoy criticando MT5, quiero entender y obtener el resultado tan bueno como MT4.

Si lo desea, sin retrasos, inicie el temporizador cada 60-90s para el símbolo/TF requerido para mantener los datos actualizados. Aunque... No estoy seguro de que este método funcione para los datos de los indicadores del símbolo extranjero/TF. Hay que probarlo.
 

28 caracteres por 6 TF = 168 asas (MA). Se inicia en 8 segundos, se actualiza cada 4 segundos sin ningún problema

Pero en el probador, por desgracia, un tubo

 
Alexey Kozitsyn:
No quiero retrasos - el temporizador debe iniciarse cada 60-90s para el símbolo/TF deseado para mantener los datos actualizados.
¿Qué hacer en el primer lanzamiento? En el vídeo no hay retrasos al ejecutar el indicador. En MT5 todo se cuelga sin dar señales de vida cuando se inicia el indicador. Si el usuario espera, verá cómo se dibujan los datos. Pero pueden decidir que el indicador no funciona. Mensaje para el gráfico con pantalla grande: "Espera, estoy descargando datos en el marco temporal 21". Muleta.
 
Alexander Puzanov:

28 caracteres por 6 TF = 168 asas (MA). Se inicia en 8 segundos, se actualiza cada 4 segundos sin ningún problema

Pero en el probador, por desgracia, un tubo.

Ejecútelo en un símbolo que nunca se haya utilizado y del que no tenga ningún dato.

Y, sí, es bueno que hayas obtenido un resultado, eso es lo que quiero conseguir. Recogiendo mis opiniones sobre cómo mejorarlo.

 
Artyom Trishkin:
¿Qué hacer en el primer lanzamiento? No hay retraso en el lanzamiento del indicador en vídeo. Todo se cuelga en MT5 sin dar señales de vida al inicio del indicador. Si el usuario espera, verá cómo se dibujan los datos. Pero pueden decidir que el indicador no funciona. Mensaje para el gráfico con pantalla grande: "Espera, estoy descargando datos en el marco temporal 21". Muleta.

Si el usuario es tan impaciente, que se compre una plancha más rápido, pero para el resto es un comportamiento normal y razonable:

1. Establezca un número adecuado de barras en la ventana y en el historial;

2. Para los cálculos serios informar al usuario de que todo está bien, sólo tiene que esperar. Puede crear un indicador de la historia añadiendo.

 
Alexey Kozitsyn:

Si el usuario es tan impaciente, que se compre una plancha más rápido, pero para el resto es un comportamiento normal y razonable:

1. Establezca un número adecuado de barras en la ventana y en el historial;

2. Para los cálculos serios informar al usuario de que todo está bien, sólo tiene que esperar. Para que quede más bonito, se puede crear un indicador de sub-seguimiento de la historia.

He establecido 5000 barras de historia tanto en MT4 como en MT5. Cuando utilizo MT4 consigo un arranque instantáneo, mientras que MT5 tiene que esperar entre 20 y 30 segundos. Y eso suponiendo que se utilice repetidamente el símbolo EURUSD para las pruebas - hay un historial en ambos terminales.

No es necesario informar por todos los medios a un usuario "impaciente" de que debe esperar. Quiere evitar retrasos injustificados en el lanzamiento y el cambio del calendario actual.

Por eso me interesan las posibles formas de resolver este problema. Por ahora. Luego experimentaré con ellos: lo que realmente funcione.

 
Artyom Trishkin:

He establecido 5000 barras de historia tanto en MT4 como en MT5. Mi MT4 muestra un inicio instantáneo, mientras que MT5 muestra un periodo de espera de 20 a 30 segundos. Y eso suponiendo que se utilice repetidamente el símbolo EURUSD para las pruebas - hay un historial en ambos terminales.

No es necesario decirle a un usuario "impaciente" que espere. Es necesario evitar los retrasos injustificados en el lanzamiento y el cambio de plazos.

Por eso me interesan las posibles formas de resolver este problema. Por ahora. Experimentaré con ellos más tarde - lo que realmente sucede.

¿¡20-30 segundos!? .... Omg... Creo que has hecho algo mal... Mis indicadores de garrapatas cuentan muchas veces más rápido. Unos cuantos a la vez en un gráfico.