Error número 6 - página 28

 
Esto es lo que recibí ayer. La beta de la compilación 183 de 7/10. Después de reiniciar manualmente todo está bien.

18:29:55 TradeContext: iniciar conexión
18:29:55 'Alpari-Demo': iniciar conexión
18:29:56 '67794' - error de conexión (6, 10054)
18:29:56 '67794': no se puede iniciar sesión [No hay conexión]
18:30:35 'TradeContext': iniciar conexión
18:30:35 'Alpari-Demo': iniciar conexión
18:30:35 '67794' - error de conexión (6, 10054)
18:30:35 '67794': no se puede iniciar sesión [No hay conexión]
18:31:03 'TradeContext': iniciar conexión
18:31:03 'Alpari-Demo': iniciar conexión
18:31:03 '67794' - error de conexión (6, 10054)
18:31:03 '67794': no se puede iniciar sesión [No hay conexión]
18:31:10 'TradeContext': iniciar conexión
18:31:10 'Alpari-Demo': iniciar conexión
18:31:10 '67794' - error de conexión (6, 10054)
18:31:10 '67794': no se puede iniciar sesión [No hay conexión]
18:31:11 'TradeContext': iniciar conexión
18:31:11 'Alpari-Demo': iniciar conexión
18:31:11 '67794' - error de conexión (6, 10054)
18:31:11 '67794': no se puede iniciar sesión [No hay conexión]
18:31:20 'TradeContext': iniciar conexión
18:31:20 'Alpari-Demo': iniciar conexión
18:31:20 '67794' - error de conexión (6, 10054)
18:31:20 '67794': no se puede iniciar sesión [No hay conexión]
18:31:27 'TradeContext': iniciar conexión
18:31:27 'Alpari-Demo': iniciar conexión
18:31:27 '67794' - error de conexión (6, 10054)
18:31:27 '67794': no se puede iniciar sesión [No hay conexión]
 
xxx
 
Resultados de la prueba de expertos propuesta por Slava "tómala de este hilo y ejecútala".
"Lo ejecuté en dos ordenadores con diferentes versiones de MT4 desde las 18:00 hasta las 24:00 del 11.10.2005.
Primer ordenador: versión de registro extendido del 05.10.2005: 114 errores 146 y 1 error 138.
Segundo ordenador: versión oficial del 07.10.2005: 278 errores número 146

Explica, Slava...
 
Primera comp: versión con registro ampliado del 05.10.2005: 114 ошибок номер 146 и 1 номер 138
Segunda comp: versión oficial del 07.10.2005: 278 errores número 146

Explica, Slava...

déjame explicarte. para excluir el error 146 (el contexto de
comercio
está ocupado), necesitas hacer una pausa antes de liberar el semáforo. en lugar de
if(!IsTesting()) GlobalVariableSet(strTradeSemaphore, 0.0);


escribir

	if(!IsTesting()) { Sleep(1000); GlobalVariableSet(strTradeSemaphore, 0.0); }


el tamaño del retardo debe ajustarse "organolépticamente". puede ser diferente para distintos ordenadores

 
<br / translate="no"> el tamaño del retardo debe ser ajustado "organolépticamente". puede ser diferente para diferentes ordenadores
¡Genial!
"Algo en mi motor comenzó a golpear
Oigámoslo
Y hay un olor a gasolina que sale de la cabina.
Vamos a olerlo".
 
Sleep(1000); - el error no ha desaparecido
Sleep(10000); - el error no ha desaparecido
¿Cómo se hace "organolépticamente"?
 
Sleep(1000); - el error no ha desaparecido<br / translate="no"> Sleep(10000); - el error no ha desaparecido
¿Cuál es la forma "organoléptica" de hacerlo?

por favor, encuentre el valor cuando el error desaparece. informe este valor y envíe los registros del Asesor Experto del valor anterior (todavía erróneo) a stringoATmetaquotesDOTru
 
Después de pensar un poco resultó que hay un método exacto. Voy a tratar de formularlo
while(!IsStopped() && !IsTradeAllowed()) Sleep(1000); GlobalVariableSet(strTradeSemaphore, 0.0);


es decir, estamos esperando a que se libere nuestro propio contexto comercial

y esta situación es extremadamente extraña. después de que se ejecute una operación comercial, el contexto se libera instantáneamente. de lo contrario, sería imposible cerrar posiciones en el bucle

 
Sleep(1000); - el error no ha desaparecido<br/ translate="no"> Sleep(10000); - el error no ha desaparecido
¿Qué es para hacerlo "organolépticamente"?

otra pregunta. ¿no tienes otros Asesores Expertos que comercian? puede que no sepan nada de nuestro semáforo comercial. entonces el error 146 es muy explicable
 
registros enviados.
¿Dónde debo poner este código?
while(!IsStopped() && !IsTradeAllowed()) Sleep(1000); GlobalVariableSet(strTradeSemaphore, 0.0);