Desarrollar un Expert Advisor (EA) en MQL5 denominado "ButtonEA" que permita realizar operaciones de compra, venta, cierre de trades de compra, cierre de trades de venta y cierre total mediante la interacción con botones gráficos en MetaTrader 5. Además, implementar una función de trailing stop para gestionar un grupo de trades por símbolo específico o de forma global.
Para asegurar el correcto desarrollo de cada función y evitar retrabajos o malentendidos, el desarrollo se realizará en bloques. Cada bloque será entregado y validado de forma independiente:
Cada bloque incluirá una serie de pruebas específicas para validar las funcionalidades desarrolladas:
Este enfoque por bloques permitirá una implementación y validación sistemática, asegurando que el desarrollo final cumpla con todas las especificaciones y requisitos establecidos.






| Función/Acción | Resultado Esperado | Escenario Simple |
| Configuración de Trailing Start | Colocar el stop-loss inicial cuando se alcanza el trailingstop. | Configurar trailingstart a 1% y trailingstop a 5%, abrir una posición y verificar que el stop-loss se coloca al 1% de profit cuando se alcanza el 5% del profit por símbolo y/o por grupo de símbolos. |
| Activación del Trailing Stop | Activar el stop-loss cuando se alcanza el trailingstop, este es el nivel del precio en dónde se alcanza el nivel profit de la equidad y es el que activa el stoploss al nivel de Trailing Start | Configurar trailingstart a 1% y trailingstop a 5%, abrir una posición y verificar que el stop-loss se coloca al 1% de profit cuando se alcanza el 5% del profit por símbolo y/o por grupo de símbolos. |
| Actualización del Stop-Loss | Actualizar el stop-loss de acuerdo al trailingstep si el precio sigue a favor del trade. | Configurar trailingstart a 1%, trailingstop a 5% y trailingstep a 10 puntos o 1 pip, abrir una posición y verificar que el stop-loss se actualiza correctamente después del 5%. |
| Gestión por Símbolo | Aplicar el trailing stop solo a las posiciones del símbolo específico. | Configurar trailingsymbol a true, abrir posiciones en diferentes símbolos y verificar que el trailing stop se aplica por símbolo, es decir se toma en cuneta los porcentajes de profit de forma separada por símbolo |
| Gestión Global | Aplicar el trailing stop a todas las posiciones abiertas independientemente del símbolo | Configurar trailingsymbol a false, abrir posiciones en diferentes símbolos y verificar que el trailing stop se aplica a todas las posiciones de todos los símbolos. |