top of page

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

  1. 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.

  2. 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.

  3. 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).

Donate with PayPal

XhakaTech 2025

bottom of page