Arquitectura del Bot

Visión General del Sistema
La plataforma de trading ByNinja está construida como un sistema multi-proceso distribuido que separa la ejecución de trading de la interacción con el usuario.
La arquitectura consta de dos aplicaciones independientes:
- •Bot de Trading — responsable del análisis de mercado, ejecución de estrategias, gestión de riesgos y procesamiento de órdenes.
- •Servidor de Control de Telegram — responsable de notificaciones, control remoto y manejo de comandos a través de Telegram.
Ambos servicios se comunican a través de una capa TCP personalizada y ligera, lo que les permite ejecutarse de forma independiente mientras permanecen sincronizados en tiempo real.
Esta separación mejora la estabilidad, escalabilidad y el aislamiento de fallos. Incluso si el servicio de Telegram no está disponible, el motor de trading puede seguir operando sin interrupción.
Arquitectura de Procesos
El sistema utiliza un diseño orientado a procesos donde cada componente tiene una responsabilidad dedicada.
Proceso de Trading
El proceso de trading gestiona:
- •Integración con la API del exchange
- •Monitoreo de mercado
- •Ejecución de estrategias
- •Gestión de riesgos
- •Manejo de posiciones
- •Registro interno (logging)
El motor de trading se ejecuta continuamente y expone comandos de control remoto a través de la conexión de cliente TCP.
Proceso de Telegram
El proceso de Telegram maneja:
- •Comunicación con la API del Bot de Telegram
- •Procesamiento de comandos del usuario
- •Notificaciones y alertas
- •Gestión del servidor TCP
Este proceso actúa como un puente entre el usuario y el motor de trading.
Ejecución Independiente
Ambas aplicaciones se lanzan por separado y operan como procesos independientes:
python3 -c "from trading.main import main; main()"python3 -c "from telegram.main import main; main()"Debido a que ambos servicios están aislados, cada proceso puede ser reiniciado, actualizado o depurado de forma independiente sin afectar al otro subsistema.
Comunicación TCP
La capa de comunicación se basa en un protocolo TCP personalizado diseñado para baja sobrecarga e interacción en tiempo real.
Flujo de Comunicación
Telegram User
↓
Telegram Bot
↓
TCP Server
↓
Trading Bot TCP Client
↓
Trading EngineEl flujo inverso se utiliza para logs, alertas y actualizaciones de estado.
Estructura del Mensaje
Todos los mensajes se transfieren en formato JSON con un encabezado de longitud fija:
{
"tag": "command",
"message": "starttrading",
"timestamp": 1750000000
}Características Soportadas
La capa TCP incluye:
- •Lógica de reconexión automática
- •Workers de envío/recepción en segundo plano
- •Colas de mensajes thread-safe
- •Manejo de apagado graceful
- •Enrutamiento de mensajes por tipo
- •Monitoreo de conexión persistente
Sistema de Comandos
La arquitectura soporta comandos remotos como:
- •Iniciar / detener trading
- •Habilitar o deshabilitar compras
- •Habilitar o deshabilitar ventas
- •Forzar acciones de compra/venta
- •Recuperación de estadísticas
- •Monitoreo de estado del sistema
Los comandos pueden ser globales o específicos por símbolo.
Diseño Multi-Proceso
La plataforma sigue una arquitectura multi-proceso en lugar de un diseño monolítico.
Ventajas
Aislamiento
Un fallo en el subsistema de Telegram no detiene las operaciones de trading.
Escalabilidad
Cada servicio puede ser desplegado en diferentes máquinas o contenedores en el futuro.
Mantenibilidad
La base de código se separa en componentes lógicos con responsabilidades claras.
Fiabilidad
La reconexión TCP y los workers de fondo ayudan a mantener una comunicación estable incluso durante fallos de red temporales.
Ejecución Concurrente
Las operaciones de trading, el polling de Telegram, la comunicación TCP y el logging se ejecutan concurrentemente usando hilos dedicados.
Modelo de Concurrencia Interno
Dentro de cada proceso, el sistema utiliza multi-hilos para operaciones asíncronas.
Hilos de la Aplicación de Trading
- •Hilo de ejecución de trading
- •Hilo de comunicación TCP
- •Hilo de reenvío de logs
- •Workers de monitoreo en segundo plano
Hilos de la Aplicación de Telegram
- •Hilo de polling de Telegram
- •Hilo del servidor TCP
- •Workers de reenvío de mensajes
Este diseño asegura que las operaciones de red nunca bloqueen el propio motor de trading.