Tener activos varios bots en la misma cuenta

 

Buenas tardes. Recientemente he puesto en real un bot, programado por mi mismo, en 6 activos diferentes, con distintas configuraciones. Tengo abiertos los 6 gráficos de los activos(5 divisas y el xauusd) a la vez, y en los 6 está activo el bot con su correspondiente configuración. Sin embargo, cuando entra la primera operación en uno de los activos, los demás se apagan.

En el código no he puesto ninguna línea que haga que un bot se apague. Los 6 bots tienen números mágicos disjuntos(las operaciones del bot en un activo nunca tendrán el mismo numero mágico que las operaciones de otro de los activos). Tampoco hay problemas de margin. ¿Alguien sabe a qué se debe este problema? 

Gracias

Un saludo

Alejandro

 
investwithalejandro:

Buenas tardes. Recientemente he puesto en real un bot, programado por mi mismo, en 6 activos diferentes, con distintas configuraciones. Tengo abiertos los 6 gráficos de los activos(5 divisas y el xauusd) a la vez, y en los 6 está activo el bot con su correspondiente configuración. Sin embargo, cuando entra la primera operación en uno de los activos, los demás se apagan.

En el código no he puesto ninguna línea que haga que un bot se apague. Los 6 bots tienen números mágicos disjuntos(las operaciones del bot en un activo nunca tendrán el mismo numero mágico que las operaciones de otro de los activos). Tampoco hay problemas de margin. ¿Alguien sabe a qué se debe este problema? 

Gracias

Un saludo

Alejandro

Amigo se apagan los robots (cada uno se quita de su  grafico) o se apaga el trading automatico de la MT?




Mira, suponiendo que el autoTrading permanece encendido, el problema Puede ser que  en tu codigo haces un rastreo de ordenes activas, y cuando aparece una nueva orden (porque alguna operacion ingresa por cualquier robot), ese codigo de rastreo de ordenes crahsea o falla (mal codificado)( puede ser que estas manejando mal los indices, por ejemplo de un "for")

Para entender mejor el problema, dirigete a la informacion que hay en estas pestañas, "experts" y "diario [Journal]" (justo despues del fallo).





Ahora, si el "autotrading " no esta encendido, entonces si es que estas "apagando" eso de manera automática, con tu expert.


Retroalimentanos cuando avances!

Saludos!!!

 

Gracias por la ayuda!! Pero creo que el problema es otro. El bot (en los 6 activos) lo tengo en un VPS de contabo, y cada cierto tiempo, me aparece en el journal que se ha perdido la conexión a darwinex, y tras varios segundos se recupera. Eso sucede más o menos cada hora. Siempre que me ha pasado esto, la primera orden pendiente ha sufrido un error del tipo [Request timeout] que he visto que se debe a que el broker no ha aceptado la operación lo suficientemente rápido, y por ello te la cancelan.

En mi codigo, hago un seguimiento constante a todas las posibles entradas, las ordenes, y las posiciones, y siempre que entra, sale o se cancela alguna mi código lo contempla. Incluso en el caso de que OrderSend sea false, yo contemplo esa posibilidad, y mi código ''sabe'' que la orden no ha entrado. Sin embargo, no contemplo el caso en el OrderSend sea true pero que tras unos segundos/minutos el broker no la haya aceptado. Si ocurre eso, mi código cree que la orden ha entrado corectamente y actúa en consecuencia, pero si en realidad la orden no ha entrado va a dar error. De esta manera, lo que ocurre es que, por ejemplo, si tengo un máximo de velas que puede estar la orden activa, y la orden no ha entrado todavía, mi codigo quiere cancelarla, pero como en realidad esa orden nunca ha entrado, falla todo. Así ue dicho esto, creo que surgen 3 preguntas

1-¿A qué se debe que pierda la conexión con darwinex constantemente? He de añadir que tengo en el vps, a la vez otra plataforma de mt5 abierta haciendo optimizaciones, a lo mejor es eso lo que me causa el lag. El vps que uso me digeron que tenía capacidad suficiente, pero ahora tengo dudas.

2-¿Cómo puedo saber si el broker ha aceptado una orden enviada de manera correcta mediante ordensend?(Siendo ordersend=true).

Gracias por la ayuda, espero poder solucionarlo pronto.

Alejandro

 

Amigo, de seguro que usar el vps para ademas hacer optimizaciones no es buena idea, a no ser que sea un VPS dedicado, (pero al ser tan caro, casi que seria mejor hacerlo en casa)
De seguro que eso te esta causando algun problema.

Ahora, orderSend en MQL5  devuelve valores en la estructura "MqlTradeResult" y  y alli, puedes recibir el precio que te da el broker, por ejemplo, o el numero id de la transacción.

Documentación para MQL5: Constantes, Enumeraciones y Estruturas / Estructuras de datos / Estructura de resultado de solicitud comercial
Documentación para MQL5: Constantes, Enumeraciones y Estruturas / Estructuras de datos / Estructura de resultado de solicitud comercial
  • www.mql5.com
Respondiendo a una solicitud comercial acerca de colocación de una orden en el sistema comercial, el servidor comercial devuelve los datos que contienen la información sobre el resultado de procesamiento de la solicitud comercial en forma de la estructura especial predefinida MqlTradeResult. Código de error que es retornado por el sistema...
Razón de la queja: