


© 2025 Xhakatech, by The Mortak.

Swarm Stats
Ultima modificación
December 23, 2024 at 3:39:13 PM
Inicialización:
Se crea una instancia de la clase CSwarmStats y se inicializan los atributos del bot y la cuenta.
Se recogen los datos iniciales como el balance de la cuenta y el tiempo de inicio del EA.
Actualización de Estadísticas:
Método UpdateGeneralStats: Recoge y actualiza las estadísticas generales de la cuenta, incluyendo balance, equidad, ganancias y pérdidas totales, y otras métricas de rendimiento.
Método UpdateBotStats: Calcula y actualiza las estadísticas específicas del bot, como el número de posiciones abiertas, ganancias y pérdidas, y otros indicadores de rendimiento.
Cálculos Específicos:
La clase contiene varios métodos para calcular métricas específicas del bot y la cuenta, como CalcularBotPLTotal, CalcularMaxDrawdown, CalcularRiskRewardRatio, entre otros.
Visualización:
Método DisplayBotStats: Muestra las estadísticas del bot en el gráfico de trading, utilizando etiquetas para una visualización clara.
Método DisplayGeneralStats: (Similar al anterior, aunque omitido en el documento, se asume que sigue la misma lógica para mostrar estadísticas generales).
Interacción en Tiempo Real:
La clase permite la monitorización en tiempo real del rendimiento del bot y la cuenta, actualizando y mostrando las estadísticas mientras el EA está en ejecución.

Documento de diseño
Introducción
El propósito de este documento es proporcionar una visión general y accesible de la clase CSwarmStats, que forma parte del sistema de trading automatizado SWARM. Este documento está dirigido a usuarios que no son desarrolladores pero que desean entender las funcionalidades y beneficios de esta clase en términos claros y no técnicos.
Descripción General
La clase CSwarmStats se encarga de recoger y mostrar diversas estadísticas relacionadas con la cuenta de trading y el bot específico que se esté utilizando. Esto incluye tanto las estadísticas generales de la cuenta como los indicadores de rendimiento específicos del bot.
Componentes Principales
Datos Básicos del Bot:
Nombre del Bot: Un identificador único asignado al bot.
Número Mágico: Un identificador único para cada instancia del bot.
ID del Gráfico: Identificador del gráfico donde el bot opera.
Estadísticas del Bot:
Posiciones Abiertas: Número de operaciones actualmente activas.
Posiciones Largas y Cortas: Número de operaciones de compra (largas) y venta (cortas).
Órdenes Pendientes: Cantidad de órdenes que aún no se han ejecutado.
Ganancia/Pérdida Total (P/L): Sumatorio de todas las ganancias y pérdidas.
Rendimiento del Bot: Estadísticas como la racha más larga de victorias, el porcentaje de operaciones ganadoras, la mayor ganancia y pérdida, el promedio de ganancias y pérdidas por operación, y más.
Tiempos y Frecuencias: Tiempo promedio de retención de operaciones, frecuencia de operaciones y costo total de transacciones.
Retorno sobre la Inversión (ROI): Indicador de la rentabilidad del bot en relación con el capital inicial.
Estadísticas Generales de la Cuenta:
Balance y Equidad: Estado financiero actual de la cuenta.
Margen Disponible y Usado: Fondos disponibles para nuevas operaciones y margen ya comprometido.
Ganancias y Pérdidas Totales: Sumatorio de todas las ganancias y pérdidas históricas.
Transacciones y Operaciones: Número de operaciones ganadoras y perdedoras, símbolos financieros negociados, y órdenes pendientes.
Rendimiento de la Cuenta: Factores como la racha más larga de victorias y derrotas, la mayor ganancia y pérdida, y el factor de ganancia.
Interacción con el Usuario
Los datos recolectados por la clase CSwarmStats se muestran visualmente en el gráfico de trading mediante etiquetas, lo que permite a los usuarios obtener una visión clara y rápida del rendimiento tanto del bot como de la cuenta general. Las etiquetas incluyen información clave como el nombre del bot, número de operaciones abiertas, ganancias/pérdidas totales, y otros indicadores de rendimiento importantes.
Beneficios
Transparencia: Proporciona una visión clara y accesible de las estadísticas del bot y de la cuenta.
Monitorización en Tiempo Real: Permite a los usuarios seguir el rendimiento del bot y de la cuenta de manera continua y en tiempo real.
Decisiones Informadas: Contribuye a tomar decisiones basadas en datos objetivos y precisos sobre las operaciones y el rendimiento.


Documento Tecnico
1. Introducción
Propósito: Proporcionar una guía técnica detallada para la implementación y el mantenimiento de la clase CSwarmStats en el sistema de trading automatizado SWARM.
Alcance: Este documento abarca la arquitectura, funciones y la interacción de CSwarmStats con otros componentes del sistema.
2. Arquitectura del Sistema
Diagrama de Clases: Visualiza las relaciones entre la clase CSwarmStats y otros componentes como CSwarmIM y CSwarmDebug.
Dependencias: CSwarmStats incluye y utiliza bibliotecas como Trade.mqh, AccountInfo.mqh, PositionInfo.mqh, OrderInfo.mqh, y HistoryOrderInfo.mqh para sus operaciones.
3. Descripción de la Clase
Nombre: CSwarmStats
Ubicación: Parte del sistema SWARM, específicamente en SWARM\SWARM_a110\AUX\SWARM_STATS.mqh.
Autor: XhakaTech
Versión: 1.02
4. Atributos de la Clase
Datos de la Cuenta:
accountBalance, accountEquity, floatingProfitLoss, accountPositions, marginAvailable, marginUsed, marginFree, leverage
totalAccountGains, totalAccountLosses, winningAccountTrades, losingAccountTrades, totalAccountTrades
accountNumber, accountType, accountCurrency, initialBalance
profitFactor, largestWinningStreak, largestLosingStreak, avgGainPerTrade, avgLossPerTrade, standardDeviation, drawdownActual, plTotal
Datos del Bot:
botName, magicNumber, chartID, botOpenPositions, botLongPositions, botShortPositions, botPendingOrders
botPLTotal, botPLLongs, botPLShorts, botTotalTrades, botWinningTrades, botLosingTrades, botWinPercentage
botLargestWinningStreak, botLargestLosingStreak, botLargestGain, botLargestLoss, botAvgGainPerTrade, botAvgLossPerTrade
botAvgHoldTime, botTradeFrequency, botTotalTransactionCost, botMaxDrawdown, botROI, botRiskRewardRatio, botInitialBalance
5. Métodos y Funciones
Inicialización:
Constructor: CSwarmStats(CSwarmIM &im, CSwarmDebug &dbg) inicializa la clase con referencias a CSwarmIM y CSwarmDebug.
Método InitializeStats: Inicializa todas las variables a sus valores predeterminados.
Actualización de Estadísticas:
Método UpdateAndDisplayStats: Actualiza y muestra las estadísticas del bot y la cuenta.
Método UpdateGeneralStats: Actualiza las estadísticas generales de la cuenta, incluyendo balance, equidad, ganancias y pérdidas.
Método UpdateBotStats: Actualiza las estadísticas específicas del bot, incluyendo posiciones abiertas, ganancias y pérdidas.
Cálculos Específicos:
Diversos métodos como CalcularBotPLTotal(), CalcularMaxDrawdown(), CalcularRiskRewardRatio() y más, para calcular métricas detalladas.
Visualización:
Método DisplayBotStats: Muestra las estadísticas del bot en el gráfico de trading mediante etiquetas.
Método DisplayGeneralStats: (Implementado de manera similar para mostrar estadísticas generales).

