


© 2025 Xhakatech, by The Mortak.

SWARM Debug
Ultima modificación
23 de diciembre de 2024, 1:41:41 p.m.
Descripción Paso a Paso
Inicialización:
CSwarmDebug() Constructor: Se llama al constructor de la clase, que a su vez llama a InitializeDebugVariables() para inicializar las variables globales.
Recepción de Mensajes:
DebugMessage(): La función principal para manejar los mensajes de depuración. Se llama con los parámetros de módulo, mensaje y nivel de mensaje.
Verificación:
IsLevelEnabled(): Se verifica si el nivel de mensaje está habilitado.
Se verifica si el módulo específico está habilitado para depuración.
Generación de Mensajes:
Se construye el mensaje completo con el formato adecuado.
Si la depuración normal está habilitada, se imprime el mensaje en la pestaña "Experts".
Si la depuración de gráfico está habilitada, se llama a UpdateTripasMessages() para actualizar los mensajes en el gráfico.
Si el mensaje es una advertencia y la depuración de advertencia está habilitada, se muestra un cuadro de mensaje de advertencia.
Actualización del Gráfico:
UpdateTripasMessages(): Actualiza el arreglo de mensajes y muestra los últimos tres mensajes en el gráfico.

Documento de diseño
Descripción General del Sistema
Contexto: La clase CSwarmDebug es parte de una biblioteca desarrollada para facilitar la depuración en sistemas de trading automatizado.
Propósito: Gestionar y visualizar mensajes de depuración en diferentes niveles y tipos, tanto en la pestaña "Experts" como en el gráfico de MetaTrader 5.
Componentes Principales
Tipos de Mensajes (DEBUG_MESSAGE_TYPE): Clasificación de los mensajes en normales, de gráfico y advertencias.
Niveles de Mensajes (DEBUG_MESSAGE_LEVEL): Incluye niveles de depuración detallada, información general, advertencias, errores y éxito.
Funcionalidades Clave


Documento Tecnico
Documento Técnico - CSwarmDebug
1. Introducción
Propósito: Proveer una guía técnica detallada para la implementación y el mantenimiento de la clase CSwarmDebug.
Alcance: Este documento cubre la arquitectura, las funciones y la interacción de CSwarmDebug con otros componentes del sistema.
2. Arquitectura del Sistema
Diagrama de Clases: Representación visual de la clase CSwarmDebug y sus relaciones con otros componentes.
Dependencias: Descripción de los archivos y bibliotecas que CSwarmDebug incluye y utiliza.
3. Descripción de la Clase
Nombre: CSwarmDebug
Ubicación: SWARM\SWARM_a110\AUX\SWARM_COMMON_INPUTS.mqh
Autor: XhakaTech
Versión: 1.02
4. Atributos de la Clase
messages: Arreglo de cadenas para almacenar los últimos tres mensajes.
messageCount: Contador de mensajes recibidos.
DEBUG_MESSAGE_TYPE: Enumeración para tipos de mensajes.
DEBUG_MESSAGE_LEVEL: Enumeración para niveles de mensajes.
5. Métodos y Funciones
CSwarmDebug(): Constructor de la clase.
InitializeDebugVariables(): Inicializa las variables de depuración.
IsLevelEnabled(DEBUG_MESSAGE_LEVEL level): Verifica si un nivel de mensaje está habilitado.
DebugMessage(string module, string message, DEBUG_MESSAGE_LEVEL level = LEVEL_INFO): Maneja los mensajes de depuración.
UpdateTripasMessages(string newMessage): Actualiza los mensajes en el gráfico.
6. Flujo de Ejecución
Descripción del proceso desde la inicialización hasta la actualización de mensajes en el gráfico.
Diagrama de Flujo: Diagrama que muestra el flujo de llamadas a funciones y la interacción entre métodos.
7. Configuración y Personalización
Variables Globales: Descripción de las variables globales que controlan la habilitación de depuración para diferentes módulos.
Cómo Habilitar/Deshabilitar Módulos de Depuración: Instrucciones para modificar las opciones de depuración en el código fuente.
8. Ejemplos de Uso
Caso de Uso 1: Mostrar un mensaje de depuración normal en la pestaña "Experts".
Caso de Uso 2: Actualizar y mostrar mensajes en el gráfico de trading.
9. Consideraciones de Rendimiento
Impacto en el rendimiento del sistema al habilitar diferentes niveles de depuración.

