Trabajo finalizado
Tarea técnica
Resumen de Especificaciones para el Expert Advisor "ButtonEA" y Función de Trailing Stop
Introducción
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.
Bloques de Desarrollo y Funcionalidades
Bloque 1: Expert Advisor "ButtonEA"
- Creación de Botones:
- Botón de Compra ("Buy")
- Botón de Venta ("Sell")
- Botón de Cierre de Trades de Compra ("Close Buy")
- Botón de Cierre de Trades de Venta ("Close Sell")
- Botón de Cierre Total de Trades ("Close All")
- Operaciones de Trading:
- Realizar operaciones de compra y venta al hacer clic en los botones correspondientes.
- Cerrar operaciones de compra, venta y todas las operaciones abiertas al hacer clic en los botones correspondientes.
- Configuración de Tamaño de Lote:
- Permitir al usuario ingresar y configurar el tamaño del lote de las operaciones.
Bloque 2: Función AdjustAllTrades
- Cálculo del Total de Lotes:
- Calcular el total de lotes en todas las posiciones abiertas.
- Ajuste de Exceso de Lotes:
- Ajustar las posiciones abiertas hasta que el total de lotes sea igual o menor al límite especificado ( MaxTotalLots ) iniciando por la posición más reciente.
- Validación del Volumen de Cierre:
- Asegurar que el volumen de cierre sea válido y superior al tamaño mínimo permitido por el broker.
- Manejo de Símbolos Restringidos:
- Cerrar inmediatamente las posiciones con símbolos restringidos.
- Manejo de lotaje máximo por Símbolo:
- Cerra el excendente de lotaje de acuerdo al límite por simbolo establecido
Bloque 3: Función de Trailing Stop
- Configuración del Trailing Stop:
- trailingstart : Porcentaje de profit en equidad necesario para colocar el stop-loss inicial.
- trailingstop : Porcentaje de profit en equidad necesario para activar el stop-loss.
- trailingstep : Paso del trailing stop en puntos.
- trailingsymbol : Booleano para decidir si el trailing stop se aplica por símbolo o de forma global.
- Implementación del Trailing Stop:
- Colocar el stop-loss inicial cuando se alcanza el trailingstart .
- Activar y actualizar el stop-loss de acuerdo al trailingstop y al trailingstep .
Entregas por Bloques
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:
- Bloque 1: Expert Advisor "ButtonEA"
- Bloque 2: Función AdjustAllTrades
- Bloque 3: Función de Trailing Stop
Validación y Pruebas
Cada bloque incluirá una serie de pruebas específicas para validar las funcionalidades desarrolladas:
- Pruebas de Funcionalidad: Validar cada acción y operación realizada por los botones.
- Pruebas de Ajuste de Lotes: Validar el ajuste de posiciones según las condiciones especificadas.
- Pruebas de Trailing Stop: Verificar el comportamiento del trailing stop en diferentes escenarios de mercado.
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. |