/* Fractured Fractals (edición de barabashkakvn) Explicación del EA: Propósito General: - Este EA, creado en 2005 por tageiger, utiliza el indicador clásico iFractals para identificar potenciales puntos de reversión en el mercado - Toma decisiones de trading basadas en los valores fractales colocando órdenes pendientes (BuyStop/SellStop) o modificando posiciones existentes (por ejemplo, ajustando los niveles de Stop Loss) - El EA incorpora gestión de riesgo calculando un tamaño de operación óptimo basado en el margen de la cuenta y un porcentaje de riesgo máximo definido por el usuario. Componentes clave: - Bibliotecas: El código incluye varias librerías de trading MQL5 (CTrade, CPositionInfo, CSymbolInfo, CAccountInfo, CDealInfo, COrderInfo) para manejar operaciones de trading, gestionar posiciones y recuperar detalles de símbolo/cuenta. - Parámetros de entrada: - MaximumRisk: El riesgo máximo por operación como porcentaje del capital de la cuenta. - FactorDisminución: Factor utilizado para reducir el tamaño de la operación tras pérdidas consecutivas. - Expiración: El tiempo de vida (en horas) de las órdenes pendientes. - m_magic: Identificador único (número mágico) para diferenciar las operaciones ejecutadas por este EA de otras. Inicialización (OnInit): - El EA configura el símbolo de negociación y actualiza los datos de mercado. - Configura el objeto de negociación con el número mágico especificado y selecciona un tipo de ejecución de orden apropiado (FOK, IOC o un método predeterminado) basado en lo que admite el corredor. - Se crea un controlador para el indicador iFractals utilizando el símbolo y el marco temporal actuales. Si esto falla, se registra un error y se detiene la inicialización. - Varias variables relacionadas con fractales se inicializan a EMPTY_VALUE, y se almacena la hora de la última operación rentable. Función OnTick: - La función OnTick se activa en cada nueva barra. Primero comprueba si se ha formado una nueva barra comparando el tiempo de la barra actual con una marca de tiempo almacenada. - Recupera los valores fractales superior e inferior utilizando el indicador iFractals. - El EA actualiza un historial de valores fractales desplazando los valores más antiguos y guardando los más recientes. - Muestra los valores fractales actuales en el gráfico mediante comentarios para facilitar la supervisión. - El EA cuenta las posiciones abiertas actuales y las órdenes pendientes. Si se cumplen las condiciones (por ejemplo, una secuencia ascendente para las órdenes de compra o una secuencia descendente para las órdenes de venta), calcula un tamaño de operación optimizado y coloca una orden pendiente (BuyStop o SellStop) - Además, ajusta los niveles de Stop Loss para las posiciones abiertas en función de los nuevos niveles fractales y elimina las órdenes pendientes obsoletas si las condiciones del mercado han cambiado. Gestión del riesgo y del tamaño de la operación: - La función TradeSizeOptimized calcula el tamaño de lote ideal en función del margen libre de la cuenta, el porcentaje de riesgo máximo definido y el margen requerido por lote. - Si se detecta una serie de pérdidas, el EA reduce aún más el tamaño de la operación en función del DecreaseFactor. - La función LotCheck garantiza que el tamaño de lote calculado respeta los límites mínimo, máximo y de paso de lote del broker. Funciones adicionales: - RefreshRates: Actualiza los datos de mercado del símbolo para garantizar que las tarifas son actuales. - IsFillingTypeAllowed: Comprueba si el corredor permite un determinado tipo de ejecución de órdenes (por ejemplo, FOK, IOC). - iTime: Recupera la hora de una barra especificada, asegurando que el EA opera en barras nuevas. - LastProfitDeal: Busca en el historial de operaciones la hora de la última operación rentable, que se utiliza en los cálculos de gestión de riesgos. - iFractalsGet: Recupera valores fractales de los búferes del indicador, con registro de errores si no se pueden copiar los datos. - CompareDoubles: Compara dos valores dobles con una precisión especificada para determinar si son efectivamente iguales. - PrintComments: Actualiza los comentarios en el gráfico con los valores fractales actuales y la hora con fines de supervisión. Resumen: - El EA aprovecha el indicador iFractals para detectar las inversiones del mercado. - Coloca automáticamente órdenes pendientes cuando se cumplen ciertas condiciones fractales. - Las posiciones abiertas se gestionan dinámicamente ajustando los niveles de Stop Loss. - Emplea una gestión integral del riesgo para optimizar el tamaño de la operación en función de las condiciones actuales de la cuenta y del rendimiento reciente. Este código bien estructurado demuestra el uso de la programación orientada a objetos en MQL5 para gestionar eficientemente las operaciones de trading y el riesgo.*/
Tutoriales de programación
Asesores Expertos: Simple EA
Herramientas 'Cerrar todo'/'Abrir'
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese