How alejo24288-byte/trading-optimizer works
Propósito y entradas
Repositorio de trading SMC (Smart Money Concepts) para BTC/USDT: combina backtesting histórico y un radar de alertas en vivo multi-temporal. Las entradas operativas principales son live_alert_bot.py (scanner en vivo), macro_analyst_agent.py (proceso macro auxiliar), y los runners de backtest main.py y mtf_main.py.
Núcleo de estrategia SMC
strategy_logic.py concentra la lógica reutilizable de estructura de mercado, rupturas de estructura (BOS) y Order Blocks (OB). Es el límite entre datos de velas y señales/zonas de trading. SMC_Backtester.pine representa una implementación separada para TradingView/Pine Script, útil para contrastar o visualizar la estrategia, pero no forma parte del runtime Python.
Ingesta y normalización de mercado
data_ingestion.py es la capa de adquisición de datos históricos/de mercado para los flujos Python. En vivo, live_alert_bot.py obtiene velas de Binance mediante CCXT en 1h, 30m, 15m y 5m, además del libro de órdenes cuando una zona es tocada. Binance es la dependencia externa principal del análisis de precio y liquidez.
Pipeline de alertas en vivo
live_alert_bot.py orquesta el ciclo periódico: descarga la matriz temporal, calcula OBs por timeframe, usa 5m como gatillo, y busca anidamiento/confluencia contra OBs de 15m, 30m y 1h. Al entrar el precio en un OB, consulta profundidad de mercado y clasifica la alerta: OB aislado, confluencia multi-timeframe, o confluencia respaldada por volumen pasivo (“ballena”). El script calcula parámetros sugeridos de entrada, stop y take-profit según riesgo, apalancamiento, RR y ATR; su salida es de consola/sonido, no ejecución automática de órdenes.
Contexto macro con IA
macro_analyst_agent.py corre independientemente del scanner y actualiza sentimiento macro aproximadamente cada 15 minutos. Consume feeds/noticias y Google Gemini para producir una clasificación BULLISH, BEARISH o NEUTRAL que sirve como contexto para las alertas. La integración con Gemini requiere credenciales/API key y representa un límite de disponibilidad/coste externo.
Backtesting de una y múltiples temporalidades
backtester.py implementa el flujo histórico base alrededor de la estrategia. mtf_backtester.py y mtf_backtest_logic.py extienden ese análisis para reglas multi-timeframe, con mtf_main.py como entrada dedicada. Estos componentes permiten evaluar la estrategia antes de modificar parámetros del bot en vivo, pero sus resultados no sustituyen la validación manual requerida para ejecutar operaciones.
Límites operativos e infraestructura
El runtime es Python y sus dependencias están declaradas en requirements.txt; destacan CCXT para Binance y librerías de Gemini/feeds para el agente macro. La arquitectura se opera como procesos locales separados —scanner y agente macro— sin servidor, base de datos, API propia ni capa de ejecución de trading indicada. La decisión final y la colocación de órdenes LIMIT permanecen fuera del sistema, en Binance y bajo validación humana.
Main entry points: live_alert_bot.py Scanner de alertas · strategy_logic.py Lógica SMC · macro_analyst_agent.py Agente macro · backtester.py Backtester base
Components 18
Alertas en vivo
- Scanner de alertas · Orquesta el análisis periódico multi-timeframe y emite alertas.
live_alert_bot.py - Matriz de velas · Velas BTC/USDT de 1h, 30m, 15m y 5m.
- Confluencia y riesgo · Usa 5m como gatillo y calcula entrada, stop y take-profit.
live_alert_bot.py - Profundidad al tocar OB · Clasifica respaldo por volumen pasivo o ballena.
live_alert_bot.py - Consola y sonido · No ejecuta órdenes automáticamente.
live_alert_bot.py - Agente macro · Actualiza sentimiento BULLISH, BEARISH o NEUTRAL cada ~15 minutos.
macro_analyst_agent.py
Backtesting
- Runner histórico
main.py - Backtester base
backtester.py - Runner MTF
mtf_main.py - Backtester MTF
mtf_backtester.py - Reglas MTF
mtf_backtest_logic.py
Estrategia SMC
- Lógica SMC · Calcula estructura, BOS y Order Blocks reutilizables.
strategy_logic.py - Implementación Pine · Implementación separada para contraste y visualización.
SMC_Backtester.pine - Ingesta histórica
data_ingestion.py
Servicios externos
- Binance · Fuente externa de velas y libro de órdenes.
- Gemini y feeds · Requiere credenciales y tiene coste/disponibilidad externos.
- Validación humana y órdenes LIMIT · La decisión final y ejecución quedan fuera del sistema.
Other components
- Dependencias Python · Declara CCXT y librerías de Gemini/feeds.
requirements.txt
Connections 19
- Binance → Matriz de velas: velas
- Matriz de velas → Scanner de alertas: datos de mercado
- Scanner de alertas → Lógica SMC: calcula OBs
- Lógica SMC → Confluencia y riesgo: OBs y estructura
- Scanner de alertas → Profundidad al tocar OB: al tocar zona
- Binance → Profundidad al tocar OB: libro de órdenes
- Profundidad al tocar OB → Confluencia y riesgo: liquidez pasiva
- Confluencia y riesgo → Consola y sonido: alerta clasificada
- Gemini y feeds → Agente macro: noticias e IA
- Agente macro → Scanner de alertas: contexto macro · Proceso independiente.
- Ingesta histórica → Backtester base: histórico
- Runner histórico → Backtester base: ejecuta
- Backtester base → Lógica SMC: evalúa
- Runner MTF → Backtester MTF: ejecuta
- Backtester MTF → Reglas MTF: aplica
- Reglas MTF → Lógica SMC: extiende
- Consola y sonido → Validación humana y órdenes LIMIT: requiere validación
- Dependencias Python → Scanner de alertas: runtime
- Dependencias Python → Agente macro: runtime