![MQL5 - Lenguaje de estrategias comerciales para el terminal de cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Todavía no se sabe qué EA está causando esto.
Todo lo que hemos visto hasta ahora son los síntomas y algunas teorías. Necesitamos los registros de los expertos en la carpeta experts/logs de los 4 terminales que cubren el mismo período de tiempo para hacer cualquier otra conclusión. Estos registros podrían apoyar o descartar mi teoría y mostrarán quién está enviando las órdenes de cierre.
pensé que estaba ejecutando cada EA en una cuenta/terminal diferente?
//Después de releer el hilo he visto que está ejecutando 30 EAs en 4 terminales.
//z.
pensé que estaba ejecutando cada EA en una cuenta/terminal diferente?
necesitamos tantos registros como terminales haya. Recuerdo que mencionó 4 terminales, cada una ejecutando unos cuantos EAs. Pero realmente no importa cuántos, lo más importante es mirar los registros de todos los terminales al mismo tiempo.
Una operación abierta por el EA1 en la terminal1 podría ser cerrada por el EA2 que se ejecuta en la terminal2. El EA1 reabriría inmediatamente la operación y el EA2 volvería a cerrar inmediatamente esta operación ad infinitum.
El registro de expertos del terminal1 se llenaría de entradas sobre OPEN y el registro de expertos del terminal2 se llenaría de entradas sobre CLOSE. En el historial de la cuenta todas las pérdidas se atribuirán al EA1 porque es el que abre la operación y el EA2 permanecerá completamente bajo el radar, su nombre no se mencionará en el historial de la cuenta. Sólo en el registro de expertos del terminal en el que se está ejecutando.
Lo prometo: Si finalmente se encuentra el EA infractor será el único que no sufrió todo esto, el único que parecía comportarse bien todo el tiempo, el menos sospechoso será el culpable.
Una vez, uno de mis EA tuvo un problema similar, el código culpable fue:
Esto ocurrió sólo una vez... tuve la suerte de cerrar sólo las operaciones rentables... así que mi EA hizo 100 operaciones y las cerró tan pronto como fueron positivas.
En ese momento culpé al EA, pensando que el problema sólo ocurría con ese EA.
*** En el campo Comentarios del registro de transacciones del servidor puedo decir que el mismo EA (Callibre en este ejemplo) abrió las operaciones y luego las cerró directamente.Desde el campo Comentarios en el registro de transacciones del servidor puedo decir que el mismo EA (Callibre en este ejemplo) abrió las operaciones, y luego las cerró inmediatamente.
Pedro: Como ya he explicado, el campo de comentarios muestra quién abrió la operación, pero no muestra quién la cerró. Esto puede ser engañoso y contraintuitivo y es la razón por la que está buscando en el lugar equivocado. El campo de comentarios se establece con el octavo parámetro en la función OrderSend(). Esto es cuando se abre el pedido. Después de este momento el campo de comentario es fijo y no se puede cambiar más. OrderClose() no permite especificar ninguna información textual. No importa cómo o quién cierre la orden, ésta mantendrá su comentario o se le añadirá [sl] o [tp] o algunas otras cadenas para indicar el stoploss o el takeprofit o el cierre parcial o el margin call, etc.
Una orden cerrada por OrderClose() mantendrá su comentario original. El único lugar donde se puede averiguar quién llamó a OrderClose() es buscándolo en los registros de expertos de todos los terminales que estaban funcionando en ese momento.
Por favor, adjunte los 4 logs de expertos de los 4 terminales que se encuentran en la carpeta experts/logs/ en cada máquina en la que tenga un terminal funcionando (este es el log de la pestaña "expertos" de cada uno de estos terminales) para averiguar quién cerró las operaciones. No es el calibre EA.
Hola 7bit, en breve subiré los logs.
Una cosa que noté en los logs de los días de infracción fue un montón de estos errores:
00:11:16 Gestor de memoria: no puede asignar 160308896 bytes de memoria
00:11:16 HistoryBase: no hay suficiente memoria para 'EURGBP1' en AddTick()
Haciendo una búsqueda en Google se ve que esto es causado por demasiadas barras en un gráfico. Tenía el parámetro Max Bars configurado en un valor alto para poder descargar más historial, pero desde entonces he reducido esta configuración.
Me pregunto si estos errores han jodido las señales de los indicadores, causando problemas a los EAs.
¡¡¡Ahora mismo esta es mi teoría favorita !!!
00:11:16 Manejador de memoria: no puede asignar 160308896 bytes de memoria
00:11:16 HistoryBase: no hay suficiente memoria para 'EURGBP1' en AddTick()
No creo que esto sea relevante. Y tampoco dice quién hizo realmente la llamada a OrderClose().
Sigo sospechando que la falta de recursos de memoria fastidió un indicador, provocando la apertura y el cierre de las operaciones. Si es el caso, será muy difícil probarlo.
A continuación hay extractos de las dos carpetas de Logs que son un ejemplo de lo que está sucediendo.
Este EA es FAP Turbo LT. que he estado ejecutando durante años y siempre se ha comportado bien.
La carpeta Logs muestra lo que hace MT4, que es abrir y luego cerrar la operación, en este caso la operación # 2662451
Lo extraño es que en el archivo de registro de Expertos, la operación se abre, luego se modifica para establecer el SL + TP, pero no hay ningún registro que muestre que se cerró.
He mirado otros registros en el registro de Expertos cuando el FAP Turbo está funcionando bien, y este EA definitivamente genera un registro de Cierre normalmente, pero no en este caso.
He mirado todos los archivos de registro que he podido encontrar para otras instancias de MT4, pero no hay otras referencias a esta operación.
Carpeta MT4\Logs:
17:28:49 '103028': la orden fue abierta : #2662451 comprar 0.20 EURUSDFXF a 1.2909 sl: 0.0000 tp: 0.0000
17:28:49 '103028': modificar la orden #2662451 comprar 0.20 EURUSDFXF a 1.2909 sl: 0.0000 tp: 0.0000 -> sl: 1.2407 tp: 1.2929
17:29:02 '103028': cerrar la orden #2662451 comprar 0.20 EURUSDFXF a 1.2909 sl: 1.2407 tp: 1.2929 al precio 1.2906
17:29:02 '103028': solicitud aceptada por el servidor
Carpeta MT4\Experts\Logs:
17:28:48 FapTurbo50 EURUSDFXF,M5: open #2662451 buy 0.20 EURUSDFXF at 1.2909 ok
17:28:49 FapTurbo50 EURUSDFXF,M5: modificar #2662451 comprar 0.20 EURUSDFXF a 1.2909 sl: 1.2407 tp: 1.2929 ok