Autor:
Cheftrader*
Descripción:
Te presento un marco para construir y probar sistemas de trading que utilizan órdenes de stop para entrar en una posición. Este sistema maneja órdenes pendientes y posiciones basándose en un enfoque diario. La lógica de entrada (cálculo del valor STP) se puede modificar fácilmente en el archivo mqh.
Características adicionales:
- Gestión de riesgos, habilita/deshabilita trailing stop.
- Gestión de capital, determina el tamaño de las posiciones según las ganancias de la cuenta.
- Elimina órdenes pendientes a una hora determinada.
- Cierras posiciones después de un tiempo específico desde su apertura.
- Métodos de filtrado para optimización (por ejemplo, resultados de operaciones en diferentes días de la semana).
- Envía cambios significativos en el capital por correo.
Recomendaciones:
- Optimiza los parámetros de largo y corto por separado (ejemplo: side=-1).
- Comienza con una idea simple: coloca una sell-stop en el mínimo de ayer (ejemplo en el archivo mqh).
- Prueba y optimiza con un tamaño de lote de 0.1, sin gestión de dinero y riesgo (maxLot=0.1). Ventaja: El retorno en el tester está escalado en pips.
- Inicia las pruebas con cierre automático de la posición después de 1 hora o otra duración (closetimeperiod = 3600).
- Si tu enfoque de entrada funciona, omite el cierre basado en la duración y optimiza los parámetros de gestión de riesgos (SL, TP, SLslope).
- Verifica si tu sistema es estable en días específicos de la semana: por ejemplo, establece dayfilter a 1 - solo se colocan órdenes de entrada STP los lunes.
- Finalmente, prueba la gestión de dinero (maxLot, PercentOfProfit).
extern double SL = 8; // StopLoss en Puntos Base: 1/10000 o 100/10000 = 1/100 para JPY extern double TP = 20.5; // TakeProfit en Puntos Base extern double SLslope = 0.8 // El trailing stop utiliza solo una parte [ej. 0.8] de la ganancia alcanzada en la operación. // Si > 1.0 los trailing stops se desactivan extern int side = -1 // LONG = 1, SHORT = -1, coloca órdenes en ambas direcciones: 0 extern int PercentOfProfit = 30 // Riesgo [en %] de la ganancia ya alcanzada en la cuenta, // utilizado para calcular el tamaño de la posición extern double MaxLot = 10.0; // lote máximo para operar extern int dayfilter = 7 // coloca órdenes pendientes todos los días = 7 o solo en el día de la semana 1 (lunes)...5 (viernes)
* Este EA se inspira en el trabajo de RomanY
https://www.mql5.com/en/users/romany
http://codebase.mql4.com/en/code/9321

Comentarios 0