Mt4 Fin de soporte. - página 21

 
Andrei:

... Una interfaz única es totalmente inaplicable a la programación de cualquier tarea computacional...

Es diferente cuando tienes 1000's de tareas similares que pueden ser combinadas bajo una bandera y crear manejadores universales para cada función para cualquiera de estas muchas tareas.

Sinceramente.

 
Реter Konow:

Pido disculpas por el ligero retraso.

Esta es la primera versión de la función. Puedes perfeccionarla y desarrollarla aún más. Si alguien se da cuenta de un error, por favor, coméntelo.

Ohhhh... No entré en ello, por supuesto - es muy difícil para mí leer tal código. Supongamos que hipotéticamente devuelve lo que se supone que debe devolver.

¿Y cómo se sabe el hecho de la nueva barra en EURUSD y USDCAD - para cada uno de ellos en tres marcos de tiempo - M5, H1 y D1?

 
Andrey Kisselyov:

es diferente cuando tienes 1.000 tareas de estructura similar

No creo que haya ni siquiera 2 tareas similares. :) Puedes llamar a una función 1000 veces, pero es una tarea, no 1000.

 
Artyom Trishkin:

Ohhhh... No me metí en ello, por supuesto - es muy difícil para mí leer tal código. Supongamos que hipotéticamente devuelve lo que se supone que debe devolver.

¿Y cómo se sabe el hecho de la nueva barra en EURUSD y USDCAD - en cada uno de ellos en tres marcos de tiempo - M5, H1 y D1?

Si las cotizaciones provienen de un servidor, no importa el instrumento. Al fin y al cabo, las barras se abren para cada símbolo al mismo tiempo.

Otra cosa es que las fuentes de citas se encuentren en diferentes partes del mundo. Para los minutos no importa, pero puede haber un problema con los plazos más altos. Tal vez haya que estudiar con más detalle las funciones temporales y realizar una corrección horaria precisa. Pero esa es la siguiente etapa en el desarrollo de esta solución...

Tienes que hacer una calibración para esta función...

 
Реter Konow:

Si las cotizaciones proceden del mismo servidor, da igual el instrumento. Al fin y al cabo, las barras se abren simultáneamente en cada instrumento.

Es diferente si las fuentes de las citas están en diferentes partes del mundo. Para los minutos no importa, pero puede haber un problema con los plazos más altos. Quizá haya que estudiar con más detalle las funciones temporales y hacer una corrección horaria precisa. Pero esa es la siguiente etapa en el desarrollo de esta solución...

Es necesario hacer una calibración para esta función...


hay una diferencia ....

 
Andrei:

No creo que haya ni siquiera 2 tareas similares. :) La función puede ser llamada 1000 veces, pero es una tarea, no 1000.

No estamos hablando de llamar a una función en el EA, sino de escribir interfaces universales (handlers).

Tienes 1000 tareas para escribir un robot. Cada una de ellas consiste esencialmente en
1 función de obtener una señal para abrir
2. función de apertura de pedidos
3 función del seguimiento de pedidos
4) La función de recibir una señal para cerrar una orden.
y así sucesivamente.
Estas funciones son diferentes para cada robot, pero dentro de 1000 proyectos se repiten. En consecuencia, puede combinar las funciones en módulos versátiles y, según la tarea, llamar a la adecuada.

Saludos cordiales.
 
Vladimir Pastushak:

hay una diferencia ....

Explícate.
 
Реter Konow:

Si las cotizaciones proceden del mismo servidor, da igual el instrumento. Al fin y al cabo, las barras se abren simultáneamente en cada instrumento.

Es diferente si las fuentes de las citas están en diferentes partes del mundo. Para los minutos no importa, pero puede haber un problema con los plazos más altos. Tal vez haya que estudiar con más detalle las funciones temporales y realizar una corrección horaria precisa. Pero esta es la siguiente etapa en el desarrollo de esta solución...

Es necesario hacer una calibración para esta función...

Una nueva barra se forma cuando llega el primer tick de la barra, el instrumento juega un papel.


con respeto.

 
Реter Konow:

Si las cotizaciones proceden del mismo servidor, da igual el instrumento. Al fin y al cabo, las barras se abren simultáneamente en cada instrumento.

Es diferente si las fuentes de las citas están en diferentes partes del mundo. Para los minutos no importa, pero puede haber un problema con los plazos más altos. Tal vez haya que estudiar con más detalle las funciones temporales y realizar una corrección horaria precisa. Pero esta es la siguiente etapa en el desarrollo de esta solución...

Es necesario hacer una calibración para esta función...

Lo que se necesita es el hecho de abrir una nueva barra en cualquiera de los símbolos sugeridos en tres marcos temporales.

Si no hay cotización para ninguno de los símbolos, no veremos la apertura de una nueva barra. Y la nueva barra aparecerá sólo con la llegada de un nuevo tick. Si hay una nueva barra en el EURUSD, pero el USDCAD aún no ha recibido una nueva cotización correspondiente a la nueva barra, la nueva barra no se construirá. Pero necesitamos saber el hecho exacto de la apertura del nuevo bar sin ninguna reserva sobre su tiempo. Es necesario conocer el hecho del inicio del nuevo bar:

si hay una nueva barra en M5 en EURUSD, entonces...
si hay una nueva barra en H1 en EURUSD, entonces...
si hay una nueva barra en D1 en EURUSD, entonces...
--------
si hay una nueva barra en M5 en USDCAD...
si hay una nueva barra en H1 en USDCAD, entonces ...
si hay una nueva barra en D1 en USDCAD, entonces ...

 
...y Time[0] debe ser reemplazado por iTime(_Symbol,PERIOD_M1,0)
porque los minutos no cuentan
Razón de la queja: