Trabajo finalizado
![](https://c.mql5.com/i/avatar/avatar_na2.png)
![](https://c.mql5.com/i/avatar/avatar_na2.png)
Tarea técnica
Necesito modificar las siguientes características de un Robot forex que tengo en formato MQL4.
1. Actualmente el Robot solo se puede usar en una gráfica a la vez porque en los parámetros no se le puede cambiar el número mágico. Lo que necesito es poder usar el Robot en diferentes gráficas al mismo tiempo, ya sean gráficas de diferentes pares de divisas o inclusive en diferentes gráficas que tengan el mismo par de divisas. Incluir el número mágico como un parámetro de entrada.
2. Actualmente el Robot tiene un botón llamado “Stop” para cerrar todas las operaciones (incluyendo ordenes abiertas y ordenes pendientes), pero dicho botón debe ser arrastrado a la gráfica para que se active y empieza a cerrar todas las posiciones incluyendo las ordenes pendientes de una en una hasta cerrarlas todas. Lo que necesito es que el botón de “stop” se active al hacer un click sobre él (sin que sea necesario arrastrarlo hasta la gráfica) y que todas las posiciones incluyendo las que están abiertas y las ordenes pendientes, se cierren de forma instantánea, es decir que todas se cierren en el mismo instante. Al dar click sobre ese botón “Stop” se debe parar el funcionamiento del Robot, es decir que el robot debe dejar de poner más ordenes (tanto ordenes abiertas como ordenes pendientes), pero no solo se debe parar el robot de la gráfica en la que hicimos click sobre el botón de “stop” también se deben parar todos los robots que se tienen activos en las demás gráficas y simultáneamente se deben cerrar todas las posiciones (incluyendo las ordenes abiertas y ordenes pendientes) que se tengan en todos los gráficos de forma instantánea, de tal forma que al final no debe quedar ninguna orden ni abierta ni pendiente en el Metatrader y todos los robots parados.
Se programa un método que cierra todas las órdenes abiertas o pendientes, sin cotejar que pertenezcan a determinado EA o MagicNumber. Cierra todas las órdenes asociadas a la cuenta de MetaTrader activa.
- Ese método se enlaza a un indicador que tiene sólo ese botón, nada más.
- Ese indicador se adjunta a una plantilla a la que se asigna el papel de plantilla por defecto.
- El método, además de cerrar órdenes, cierra todos los EAs activos en esa cuenta de MT4.
El botón que ejecuta las acciones mencionadas anteriormente debe ser un botón nuevo, diferente a los que ya tiene mi EA, que solo con un clic primero me pare todos los EAs y de forma inmediata me cierre instantáneamente todas las ordenes y esa función de cierre se ejecute N cantidad de veces de forma instantánea hasta que no quede ninguna orden ni abierta ni pendiente.
3. En los parámetros de entrada incluir los parámetros ProfitCuenta o LossCuenta, los cuales se podrán ingresar en una cantidad fija dada en USD.
El ProfitCuenta y LossCuenta tendrían que tener en cuenta el valor de profit (que se muestra como información cuando el EA está funcionando) total, es decir tendría que sumar el profit que se muestra en la gráfica 1 (en donde tendré puesto el EA) y el profit que se muestra en la gráfica 2 en donde tambien estará puesto el EA. y al calcular el valor de profit final es decir la sumatoria de esos dos profits me daría el profit neto y ese sería el valor a tener en cuenta para parar los dos EAs y cerrar todas las ordenes abiertas y pendientes. De igual forma debería funcionar el LossCuenta.
Con la entrega del trabajo, El Ejecutor deberá entregar el trabajo contratado en formato MQL4 y el .ex4