Alerta: El terminal MT4 duplica las órdenes enviadas por los expertos

 

Algo incómodo está ocurriendo con las cuentas de trading de MT4 en todas partes (puede ocurrir con cualquier broker, por lo que veo). La plataforma a veces, aunque rara vez, duplica las órdenes enviadas por los expertos.

He visto que esto ocurre al menos 3 veces con la build 500 de MT4. Las dos primeras fueron en cuentas demo, y la última, ayer, en una cuenta real. El problema ha ocurrido

1)En diferentes instalaciones de MT4.

2) Endiferentes ordenadores.

3)Con diferentes brokers.

4)Utilizando diferentes asesores expertos.

Además de todo lo anterior, el hecho que me indica que es un problema del terminal es muy fácil de comprobar. Cuando la orden duplicada ocurre:

1)Se produce inmediatamente después de la orden legítima, con exactamente el mismo tamaño de lote, símbolo y comentario.

2)La primera operación, como es habitual, se muestra en la pestaña de expertos, así como en la pestaña de diario. Sin embargo, el duplicado aparece en el diario, pero NO aparece en la pestaña de expertos. Esto es una prueba fehaciente de que el duplicado NO fue enviado por el experto.

Insto a Metaquotes a solucionar este problema lo antes posible. Ayer tuve que cerrar la operación duplicada manualmente, y perdí dinero, aunque no demasiado. Pero este problema puede causar verdaderos estragos en una cuenta automatizada.

Por favor, si alguno de vosotros ha visto este problema, informadlo para que tengamos pruebas adicionales y se solucione rápidamente el fallo correspondiente.

 
Ricardo1:

Creo que la cuestión aquí es que tus EAs están diseñados para trabajar en base a un tick por tick, así que por ejemplo si el EA está en media cruzando en M5, durante esos 5 minutos el precio fluye y podría hacer que tus condiciones de envío de órdenes sucedan más de una vez.


La solución sería establecer un filtro en el envío de órdenes para comprobar si está abierto o tiene órdenes en el mercado o no. O trabajar en base a la barra. Lo siento pero soy un novato y puedo pensar en cuál es el problema pero no puedo publicar ningún código :).

Espero que esto ayude.

 
Ricardo1: Insto a Metaquotes a solucionar este problema lo antes posible.
¿Por qué crees que el problema es con MT4 y no con tu EA? Publica tu código.
 
Ricardo1:

Algo incómodo está ocurriendo con las cuentas de trading de MT4 en todas partes (puede ocurrir con cualquier broker, por lo que veo). La plataforma a veces, aunque rara vez, duplica las órdenes enviadas por los expertos.

He visto que esto ocurre al menos 3 veces con la build 500 de MT4. Las dos primeras fueron en cuentas demo, y la última, ayer, en una cuenta real. El problema ha ocurrido

1)En diferentes instalaciones de MT4.

2) Endiferentes ordenadores.

3)Con diferentes brokers.

4)Utilizando diferentes asesores expertos.

Necesita salir de la otra copia de su EA que se está ejecutando en el otro gráfico... si este no es el caso, por favor demuéstrelo publicando el archivo de registro de expertos que muestra el inicio del experto y las órdenes duplicadas. Este error se ha cometido antes....

 

Ustedes me sorprenden un poco. Asumís que debo estar haciendo algo mal, que es imposible que MT4 tenga bugs. Aquí voy a abordar sus respuestas.


xavilin:


Esto no es un problema del EA. El EA que estoy usando tiene más de un año funcionando en diferentes plataformas. Además, este problema ha sucedido con 3 EA diferentes, dos míos y uno comercial.


WHRoeder:

No puedo publicar mi código, pero como he dicho, el problema ha ocurrido en 3 EAs diferentes. Nunca ocurre en el backtesting por supuesto. Como te dije, *esto ocurre muy raramente*. De hecho, si sumas el tiempo que lleva funcionando mi EA (el que estaba usando ayer), sumando todas las cuentas llevaría unos cuantos años funcionando. Y ayer ocurrió por *primera* vez. ¿Crees que puede ser un error en mi código?


RaptorUK:

¿De verdad crees que soy tan ingenuo como para tener más de un EA en la cuenta y luego reportar esto como un problema?


Como he dicho antes, la prueba principal es que la pestaña de diario tiene la orden, pero la pestaña de expertos *no*. ¡Es literalmente imposible que un EA esté enviando la orden y sin embargo la pestaña de expertos no lo reporte!

Podría publicar aquí tanto el log de los expertos como el del diario, pero por razones de privacidad no me es posible. Pero no creo que sea necesario. Si crees que puedo leer ambos archivos y decirte lo que dicen, entonces cree que la orden falsa está contenida en el registro del diario y no está contenida en el registro de los expertos, así que no fue iniciada por ningún experto en absoluto. Y por supuesto no fue iniciada por mí.

Es cierto que me gustaría que me apoyaran, pero es por el bien de todos nosotros los usuarios. Si crees que no hay ningún error, Metaquotes tardará más en reconocer el fallo.

Me he sentido obligado a compartir esto con vosotros, y espero que Metaquotes al menos haga alguna comprobación.

 
Ricardo1: Ustedes me sorprenden un poco. Asumís que debo estar haciendo algo mal, que es imposible que MT4 tenga bugs. Aquí voy a abordar sus respuestas.

No sé cómo decir esto amablemente sin que alguien como tú se enfade. Pero tienes que cambiar tu actitud. Cuando alguien afirma que algo es un bug, significa que es reproducible. No tienes forma de reproducir el fallo, afirmas que ocurre "a la *primera* vez", sea lo que sea que eso signifique, y no proporcionas ningún código para excluir que el código no es el problema. ¿Cómo se supone que alguien va a rastrear esto?

Por no hablar de los millones de personas que utilizan este software para colocar el señor sabe cuántos millones de operaciones diarias; usted es la única persona que está sucediendo a. Créeme, cuando se trata de dinero, si esto le ocurriera a todo el mundo (raramente) todos en este foro estaríamos oyendo hablar de ello a menudo. Mucha gente viene aquí llorando por un error y el 99% de las veces el problema está en sus códigos. Una vez que dejé de echar la culpa, logré resolver muchos de mis problemas de codificación más rápidamente.

Ps: RaptorUK no representa a MetaQuotes, es un moderador social y sus comentarios tienen tanto peso como los tuyos/míos. ¿Por qué no podría ser un problema con el Broker? Hasta que otros comiencen a reportar este error suyo, IMO la carga de la prueba está en usted.

 
Ricardo1:


RaptorUK:

¿Realmente crees que soy tan ingenuo como para tener más de un EA en la cuenta y luego reportar esto como un problema?


Como he dicho antes, la prueba principal es que la pestaña de diario tiene la orden, pero la pestaña de expertos *no*. ¡Es literalmente imposible que un EA esté enviando la orden y sin embargo la pestaña de expertos no lo reporte!

Podría publicar aquí tanto el log de los expertos como el del diario, pero por razones de privacidad no me es posible. Pero no creo que sea necesario. Si crees que puedo leer ambos archivos y decirte lo que dicen, entonces cree que la orden falsa está contenida en el registro del diario y no está contenida en el registro de los expertos, así que no fue iniciada por ningún experto en absoluto. Y por supuesto no fue iniciada por mí.

Es cierto que me gustaría que me apoyaran, pero es por el bien de todos nosotros los usuarios. Si crees que no hay ningún error, Metaquotes tardará más en reconocer el fallo.

Me sentí obligado a compartir esto con ustedes, y espero que Metaquotes al menos haga alguna comprobación.


Como he dicho... ya se ha hecho antes (he buscado el post y mis respuestas pero no las he encontrado) y el OP también suponía un problema de MT4....

Si no publicas ninguna prueba para investigar y no publicas ningún método para reproducir el problema, ¿cómo esperas que alguien investigue y ayude? por todos los medios, plantea un problema en el Servicio de Atención al Cliente, pero no pareces querer ofrecer ninguna información útil para ayudar a identificar/diagnosticar el problema. ¿Qué problemas de privacidad le preocupan? Puede editar/eliminar (buscar y reemplazar) sus números de cuenta... no necesita publicar todo el registro, sólo lo suficiente desde que se inicia el EA hasta que aparece el pedido duplicado...

Mire en su historial de órdenes, ¿está la orden ahí? escriba un pequeño script para interrogar a la orden en el historial para ver si tiene un número mágico, ¿su EA utiliza un número mágico? hay cosas que puede hacer para investigar... . querrás saber si este problema es causado por ti o por los EAs que has estado ejecutando, tú y todos los demás querrán saber si es causado por MT4. Está en tus manos, tú tienes la información, nosotros no.

 

ubzen y RaptorUK: Muchas gracias por vuestras respuestas.

ubzen, tienes razón cuando dices: "Por no hablar de los millones de personas que utilizan este software para colocar ya sabe Dios cuántos millones de operaciones diarias; usted es la única persona a la que le ocurre esto". No puedo responder a esa objeción. Yo ejecuto bastantes EA's en varias cuentas y he visto que esto sucede 3 veces con build 500, en 2 plataformas de brokers diferentes. Sin embargo, como he visto las pruebas en sí, no lo dudo, aunque otros cientos o miles no se hayan pronunciado todavía.

Sin embargo, cuando dices "Cuando alguien afirma que algo es un bug, significa que es reproducible", tengo que decir que te equivocas. Los bugs más difíciles son precisamente los que no son reproducibles por el usuario. Ocurren raramente y, como saben los gigantes del software, puede llevar mucho tiempo y esfuerzo localizarlos. Ocurren raramente porque requieren un conjunto de condiciones definidas que no siempre están bajo el control del usuario. Cualquiera que utilice ampliamente algo como Microsoft Office puede dar fe de ello.

RaptorUK, gracias por la oferta de publicar los archivos omitiendo los datos personales. Los publicaré en esta misma ventana, omitiendo mis datos personales. (ubzen: No creo que la carga de la prueba recaiga sobre mí, ya que no tengo necesidad de demostrar nada, pero quiero mostrarlo, por si a alguien le interesa).


Registro de expertos para el 2013.06.11:

22:32:05 Asesor experto 1 EURCHF,M15: Precio de apertura solicitado para la orden de COMPRA: 1.2307

22:32:07 Asesor de Expertos 1 EURCHF,M15: abrir #20212520 comprar 0.01 EURCHF a 1.2307 sl: 1.2232 tp: 1.2320 ok

Registro del diario para 2013.06.11:

05:14:12 '000000': login

05:14:30 '000000': inicio de sesión

05:14:31 '000000': autorización previa realizada con éxito desde 201.141.75.152

08:10:12 '000000': inicio de sesión

08:10:17 '000000': inicio de sesión

08:10:19 '000000': autorización previa realizada con éxito desde 201.141.75.152

20:33:35 '000000': inicio de sesión

20:33:43 '000000': falla la conexión del Centro de Datos [2]

20:33:44 '000000': autorización previa realizada con éxito desde 201.141.75.152

22:32:06 '000000': orden instantánea de compra 0.01 EURCHF a 1.2307 sl: 1.2232 tp: 1.2320

22:32:07 '000000': la solicitud fue aceptada por el servidor

22:32:07 '000000': solicitud en proceso

22:32:07 '000000': se ha abierto la orden : #20212520 comprar 0.01 EURCHF a 1.2307 sl: 1.2232 tp: 1.2320

22:32:08 '000000': orden instantánea comprar 0.01 EURCHF a 1.2307 sl: 1.2232 tp: 1.2320

22:32:08 '000000': la solicitud fue aceptada por el servidor

22:32:08 '000000': solicitud en proceso

22:32:10 '000000': se ha abierto la orden : #20212521 comprar 0.01 EURCHF a 1.2307 sl: 1.2232 tp: 1.2320

23:07:26 '000000': se ha habilitado la negociación con un solo clic

23:07:31 '000000': cerrar la orden #20212521 comprar 0.01 EURCHF a 1.2307 sl: 1.2232 tp: 1.2320 al precio 1.2291

23:07:32 '000000': la solicitud fue aceptada por el servidor

23:07:32 '000000': solicitud en proceso

23:07:32 '000000': orden #20212521 comprar 0.01 EURCHF a 1.2307 sl: 1.2232 tp: 1.2320 cerrado a precio 1.2291


Como puede ver, la orden 20212520 fue iniciada por el experto. Sin embargo, la orden 20212521 NO lo fue. Esta orden falsa se cerró manualmente (las últimas 5 líneas del archivo de diario corresponden a operaciones manuales).

Estoy siendo redundante aquí, pero lo diré de nuevo: Dado que la orden falsa 20212521 no aparece en el registro de expertos, no fue iniciada por ningún experto, por lo que el código del experto es irrelevante a estos efectos.

 

Ricardo1:

...

Como puede ver, la orden 20212520 fue iniciada por el experto. Sin embargo, la orden 20212521 NO lo fue. Esta orden falsa se cerró manualmente (las últimas 5 líneas del archivo del diario corresponden a operaciones manuales).

Estoy siendo redundante aquí, pero lo diré de nuevo: Dado que la orden falsa 20212521 no aparece en el registro de expertos, no fue iniciada por ningún experto, por lo que el código del experto es irrelevante a estos efectos.

¿Su EA utiliza un número mágico?

Si es así, entonces puede comprobar si su orden "falsa" tiene un número mágico. Usted puede ver que en la pestaña de la historia: desplazar las ventanas para ver el orden, a continuación, coloque el ratón en este orden (sin hacer clic), una información sobre herramientas debe ser mostrado con algo así como :

#20212521, id 12345

Si no hay número mágico, entonces falta el campo de identificación.

 
Ricardo1:


22:32:06 '000000': orden instantánea de compra de 0,01 EURCHF a 1,2307 sl: 1,2232 tp: 1,2320

22:32:07 '000000': la solicitud fue aceptada por el servidor
22:32:07 '000000': solicitud en proceso
22:32:07 '000000': se ha abierto la orden : #20212520 comprar 0.01 EURCHF a 1.2307 sl: 1.2232 tp: 1.2320

22:32:08 '000000': orden instantánea comprar 0.01 EURCHF a 1.2307 sl: 1.2232 tp: 1.23 20
22:32:08 '000000': la solicitud fue aceptada por el servidor
22:32:08 '000000': solicitud en proceso
22:32:10 '000000': se ha abierto la orden : #20212521 comprar 0.01 EURCHF a 1.2307 sl: 1.2232 tp: 1.2320


Como puede ver, la orden 20212520 fue iniciada por el experto. Sin embargo, la orden 20212521 NO lo fue.

Lo que veo es que el EA abrió una orden y un segundo después abrió otra. No es que salieran dos paquetes juntos.

Pon una sentencia print antes y después del OrderSend y prueba que lo llamas dos veces.

 
angevoyageur:

¿Su EA utiliza un número mágico?

Si es así, entonces puede comprobar si su orden "falsa" tiene un número mágico. Puede verlo en la pestaña del historial: desplace las ventanas para ver la orden, luego coloque el ratón sobre esta orden (sin hacer clic), debe aparecer un tooltip con algo como :

#20212521, id 12345

Si no hay número mágico, entonces falta el campo de identificación.



Todo en la orden falsa es igual que en la orden original, incluyendo el comentario y el número mágico. Sin embargo, el EA no la envió; como he dicho, el registro de expertos lo demuestra.