Descripción del programa
Visión general
Aplicación web de trading y monitoreo con backend en Node.js (Express) y frontend ligero (HTML/JS) orientada a operar en múltiples plataformas (Binance Live, Binance Testnet y un stub de MT5).
Incluye panel en tiempo real con métricas, control de AutoTrade, creación de órdenes manuales, visualización de balances/órdenes/posiciones y transmisión de logs por SSE.
Persistencia local en SQLite para posiciones, configuración y bitácora de trades.
Arquitectura
Backend:
Servidor HTTP con endpoints REST y Server-Sent Events (SSE) para logs.
Scheduler interno que ejecuta un ciclo de análisis/evaluación de estrategias a intervalos configurables.
Capa de plataformas (adaptador unificado) con reintentos y métricas (latencia promedio, fallos, último error).
Gestión de credenciales y selección de plataforma en tiempo de ejecución.
Persistencia en SQLite: tablas positions, trade_logs, config.
Logging a fichero (trader.log) y a tiempo real por SSE.
Frontend:
Dashboard con selector de plataforma (Binance Live/Testnet/MT5), formulario de claves, estado/metricas, balances, órdenes abiertas (cancelación), posiciones, creación de órdenes manuales y gráfico TradingView.
Conexión SSE para logs en tiempo real.
Plataformas soportadas
Binance Live y Binance Testnet: Soporte completo mediante el cliente Spot a través del adaptador unificado (con reintentos/backoff y métricas).
MT5: Adaptador stub (plantilla) que informa explícitamente que no está implementado; sirve como base para integrar un puente/SDK externo (por ejemplo, MetaApi o bridge local).
Gestión de credenciales y configuración
Variables de entorno opcionales (dotenv): BINANCE_API_KEY y BINANCE_API_SECRET.
Endpoint POST /api/binance para establecer claves en tiempo de ejecución con opción de persistirlas en SQLite.
Si no hay claves válidas para Binance, no se realizan llamadas firmadas (account, openOrders), evitando errores 401 y manteniendo el sistema en modo monitoreo.
Configuración dinámica de parámetros de trading vía POST /config (riesgo, ATR/TP, intervalos, activación de estrategias, límites diarios, etc.) con persistencia.
Estrategias y análisis técnico
Indicadores implementados: SMA/EMA, RSI, MACD, ATR, Bandas de Bollinger, Estocástico (simplificado), Williams %R, Perfil de Volumen, Soporte/Resistencia, Fortaleza de Tendencia.
Estrategias:
EMA Crossover (50/200) mejorada (confirmaciones por RSI, MACD, volumen, Bollinger).
Scalping RSI agresivo.
Breakout (Bollinger).
Momentum.
Mean Reversion.
Trend Following.
Gestión de riesgo y posiciones:
SL/TP basados en ATR, trailing stop configurable, salidas tempranas opcionales.
Límites diarios (máx. trades, objetivo de beneficio, drawdown).
Modo MONITOR_ONLY o PAUSED según estado de riesgo.
Validaciones de minNotional y formateo de cantidades/precios conforme a filtros del exchange.
Backtest simple integrado (EMA/MACD/RSI) con comisión y slippage.
Ciclo de ejecución (scheduler)
Tarea periódica evaluateAndAct:
Carga velas y calcula indicadores.
Evalúa estrategias y gestiona posiciones existentes (SL/TP/hold time/trailing).
Respeta límites de riesgo y de posiciones.
Métricas del scheduler: última ejecución, duración y contador de errores.
Endpoints principales
GET / -> entrega el dashboard (index.html).
GET /estado -> balances, órdenes abiertas, precio, posiciones, config, auto, plataforma.
GET /klines -> velas para el gráfico.
POST /orden -> crear órdenes manuales (MARKET/LIMIT) con validaciones y formateo.
POST /orders/cancel -> cancelar órdenes abiertas.
POST /autotrade/start | /autotrade/stop -> control del AutoTrade.
GET /status -> estado básico.
GET /platform -> estado de plataforma + métricas.
POST /platform -> seleccionar plataforma (binance_live / binance_testnet / mt5) con reinicio seguro de scheduler.
POST /api/binance -> configurar API Key/Secret (opcional persistencia).
POST /config -> actualizar parámetros de la estrategia/operativa.
GET /stats -> estadísticas diarias, límites, estado del mercado, métricas de plataforma y scheduler.
POST /backtest -> ejecución de backtest básico (resumen).
GET /logs -> SSE para logs en tiempo real.
GET /health -> health-check.
Persistencia y cachés
SQLite: posiciones, logs de trade, configuración (persistencia de claves opcional).
Caché de exchangeInfo con TTL y de filtros por símbolo (LOT_SIZE, PRICE_FILTER, MIN_NOTIONAL).
Métricas internas: reintentos, latencia promedio, errores y scheduler.
Errores y robustez
Reintentos con backoff exponencial en llamadas a la plataforma.
Evita llamadas firmadas sin credenciales; los endpoints devuelven estructuras coherentes en modo monitoreo.
Logging detallado en fichero y SSE para diagnóstico en tiempo real.
Ejecución
Instalar dependencias: npm install
Iniciar: node bot.js
Abrir: http://localhost:3000
Seleccionar plataforma y, si procede, configurar claves de Binance. Activar AutoTrade cuando todo esté correcto.
Limitaciones actuales
MT5 aún no implementado (stub). Requiere integración con un puente/SDK.
Enfoque single-tenant (una configuración global). Para multiusuario habría que aislar config y sesiones.
El frontend no tiene autenticación por defecto (recomendable si se expone fuera de localhost).
Licencia única • Sin comisiones adicionales
Comparte tus datos de contacto para que el vendedor pueda responderte directamente.
Aún no hay opiniones.