[ARCHIVO]Cualquier pregunta de novato, para no saturar el foro. Profesionales, no lo dejéis pasar. No puedo ir a ningún sitio sin ti - 5. - página 376

 
Integer:

Sí, pero sólo si la primera orden es de mercado. Si está pendiente, no pasa nada.
Sí, exactamente. - Es una aclaración importante. Me lo perdí.
 
Chiripaha:

Esa es la cuestión (para la corrección de los parámetros del experimento). Por eso hago las preguntas, porque estoy inseguro de mí mismo y, por lo tanto, trato de identificar: tal vez he hecho algo mal si estos resultados son divergentes. Esto se refiere más bien a las pruebas: en esos momentos, un programa aparentemente escrito correctamente falla y uno se da cuenta de que tiene que buscar en algún sitio.

Conseguí estos "experimentos" por accidente. También escribí programas para el trabajo en paralelo - ahora dejé este método porque no aumentaba mi eficiencia (puede que se realice en otros proyectos). El resultado fue tal, que hasta que no se procesara el primer programa -no se obtendrían datos- el segundo no se iniciaría (o, más exactamente, fallaría). Esta secuencia dependía de la ventana en la que había colocado (es decir, en qué orden) los bloques de EA. - Por lo tanto, concluimos que la secuencia de las ventanas es importante, es decir, que los Asesores Expertos se procesan secuencialmente, no en paralelo. Y esta secuencia depende de la numeración de las ventanas en la lista del terminal.

Esta es la esencia de nuestra experiencia.

Pero, de nuevo, quizá sea una interpretación incorrecta de mis resultados. Por eso ahora estoy intentando insistentemente resolver esta cuestión, y no sólo con el "resbalón".

Me refería al funcionamiento en línea de los EA. Y tú hablas de pruebas. ¿Se trata del probador? ¿Cómo pueden funcionar varios EAs en el probador al mismo tiempo?
 
TarasBY:
Me refería al funcionamiento en línea de los EA. Y tú hablas de pruebas. ¿Se trata del probador? ¿Cómo pueden funcionar varios EAs en el probador al mismo tiempo?

No, lo he dicho mal (fuera de secuencia). - Por probar, no me refiero a un probador, sino a probadores de programas en la fase de depuración e identificación de sus características. En este caso, debido a la falta de información documentada, estaba identificando peculiaridades de mt4. (tengo que recurrir a esto de vez en cuando).

Por supuesto, también estoy hablando de los EA que trabajan en línea ahora.

 
Chiripaha:

No - eso fue incorrectamente (con pérdida de coherencia). - Por probar no me refería a los probadores, sino a los probadores de programas en la fase de depuración y revelación de las peculiaridades de su trabajo. En este caso, debido a la falta de información documentada, estaba identificando peculiaridades de mt4. (tengo que recurrir a esto de vez en cuando).

Por supuesto, ahora también hablo de los EA que trabajan en línea.

Si el desarrollador declara la posibilidad de que el terminal dé varias órdenes comerciales al servidor al mismo tiempo, ¿cómo puede hacerse trabajando de forma secuencial?
 

Gracias a todos por sus respuestas. Intentaré cambiar el código para que el EA no salga hasta que OrdersTotal muestre una orden abierta. Entonces el 2º verá definitivamente que hay una orden. Eso espero.

Por cierto, en mi experiencia, los EAs se ejecutan secuencialmente e incluso crean una cola de alguna manera, a juzgar por las impresiones.

 
Arles:

Gracias a todos por sus respuestas. Intentaré cambiar el código para que el EA no salga hasta que OrdersTotal muestre una orden abierta. Entonces el 2º verá definitivamente que hay una orden. Eso espero.

Por cierto, en mi experiencia, los EAs se ejecutan secuencialmente e incluso crean una cola de alguna manera, a juzgar por las impresiones.

Print() no puede servir de base para tales conclusiones. ¿Has visto el código fuente de esta función? Para estar seguros, ¿en qué momento la impresora imprime la hora? La salida al archivo es exactamente secuencial, y la impresora puede escribir la hora exactamente en el momento de la salida al archivo, pero no en el momento en que ocurre el evento que describe.
 
TarasBY:
Si el desarrollador declara la posibilidad de que el terminal dé varias órdenes comerciales al servidor al mismo tiempo, ¿cómo puedo hacerlo trabajando de forma secuencial?

Es difícil para mí decir algo sobre esto. No tengo mucha idea de cómo comunicarme directamente con estos desarrolladores para entender lo que reclaman.

Pero como alguien acostumbrado a basarse no en lo que dicen, sino en lo que saco del experimento, lo que veo es lo que canto. - Lo que no veo, lo pregunto y aclaro mi posición.

El caso es que esta posición (de trabajo sucesivo) es, en mi opinión, bastante natural y correcta. Por eso nunca había especificado esta pregunta. Es correcto por el hecho de que, de lo contrario, puede haber errores en la contabilidad financiera de las posiciones. Pero, sin embargo, esto puede ser cortado a nivel del servidor - comprobará si algo es correcto o no. Pero incluso en este caso, al trabajar con Asesores Expertos y el terminal, habría demasiados comandos innecesarios y erróneos que obstruirían el flujo de operaciones con "basura" innecesaria. Y así sucesivamente.

 
Chiripaha:

Es difícil para mí decir algo sobre esto. No tengo mucha idea de cómo comunicarme directamente con estos desarrolladores para entender lo que reclaman.

Pero como alguien acostumbrado a basarse no en lo que dicen, sino en lo que saco del experimento, lo que veo es lo que canto. - Lo que no puedo ver, hago preguntas, aclaro mi posición.

La cuestión es que esa posición (con un trabajo consistente) es, en mi opinión, bastante natural y correcta. Por eso, antes no me he explayado en este tema de alguna manera. Es correcto porque, de lo contrario, puede haber errores en la contabilidad financiera de las posiciones. Pero, sin embargo, esto puede ser cortado a nivel del servidor - comprobará si algo es correcto o no. Pero incluso en este caso, al trabajar con Asesores Expertos y el terminal, habría demasiados comandos innecesarios y erróneos que obstruirían el flujo de operaciones con "basura" innecesaria. Y así sucesivamente.

Léase: con un procesamiento consistente, no habría necesidad de hacer tal "huerto". (Y no olvides que cualquier artículo es moderado por los desarrolladores).

P.D. Yo también solía basarme en mi propia experiencia y lógica, en lugar de en las palabras de otra persona. :)

 
TarasBY:

Léalo: con un tratamiento coherente, no habría necesidad de hacer ese "huerto". (Y no olvides que cualquier artículo es moderado por los desarrolladores).

P.D. Yo también acostumbro a basarme en mi propia experiencia y lógica, más que en las palabras de otros. :)

Ten en cuenta que no estoy haciendo una afirmación. Por el contrario, pregunto si es cierto o no. : )) Y citar como argumento lo que consigo en la práctica.

Y la cuestión del "resbalón" sigue sin confirmarse para mí. Es decir, abierto. : ))

Supongo que sobre la moderación. - Pero, de nuevo, adivinar no significa afirmar. Si es así, espero sinceramente obtener un comentario oficial sobre el sueño. Porque en el foro hay un montón de argumentos como mis suposiciones y los oficiales son difíciles de encontrar (excepto libro de referencia, por supuesto - pero exactamente en él hay escasa e incomprensible información sobre el tema. De lo contrario, no se hablaría tanto aquí). Y al mismo tiempo, que se aclaren sobre la secuencia y el paralelismo. - También sería útil para mí entenderlo.

 
Chiripaha:

Es difícil para mí decir algo sobre esto. No tengo mucha idea de cómo comunicarme directamente con estos desarrolladores para entender lo que reclaman.

Pero como alguien acostumbrado a basarse no en lo que dicen, sino en lo que saco del experimento, lo que veo es lo que canto. - Lo que no veo, lo pregunto, aclaro mi posición.

El caso es que esta posición (con un trabajo constante) es, en mi opinión, bastante natural y correcta. Por eso nunca he especificado esta pregunta. Es correcto porque, de lo contrario, puede haber errores en la contabilidad financiera de las posiciones. Pero, sin embargo, esto puede ser cortado a nivel de servidor - comprobará si algo es correcto o no. Pero incluso en este caso, al trabajar con Asesores Expertos y el terminal, habría demasiados comandos innecesarios y erróneos que obstruirían el flujo de operaciones con "basura" innecesaria. Y así sucesivamente.

Todos los scripts y Asesores Expertos trabajan en sus propios hilos. Las órdenes comerciales se recogen de ellos en una cola separada. Luego se distribuyen entre los flujos de libre comercio. El número de flujos comerciales libres puede ser igual a 8.

Print() muestra lo que está disponible para la salida en el momento de la salida. La presencia de múltiples hilos puede determinarse a través del registro. La salida se muestra al principio de la función start() y al final. Poner un retraso entre ellos. Ejecute varios Asesores Expertos en diferentes herramientas. Mira el registro. Verá que entre la salida de un Asesor Experto hay salidas de otros Asesores Expertos.

void start()
 {
  Print(Symbol(), " Start");
  Sleep(3000);
  Print(Symbol(), " End");
 }