Bot de análisis técnico para criptomonedas con notificaciones a Telegram.
Versión Modernizada - Compatible con Python 3.12+ y pandas 2.0+
- 📊 +15 Indicadores técnicos: RSI, MACD, Bollinger, Ichimoku, Stoch RSI, ADX, y más
- 📈 Gráficos automáticos: Genera charts con velas, RSI, MACD e Ichimoku
- 📱 Notificaciones en tiempo real: Telegram, Discord, Slack, Webhook
- 🔄 Multi-exchange: Binance, Bittrex, Coinbase Pro, y 100+ exchanges via CCXT
- ⚙️ Altamente configurable: Templates personalizados, umbrales ajustables
| Mejora | Descripción |
|---|---|
| Python 3.12+ | Compatibilidad total con Python moderno |
| Telegram v21 | Migrado a la nueva API asíncrona de python-telegram-bot |
| Pandas 2.0+ | Corregidas deprecaciones de DataFrame.append |
| Arquitectura modular | Código reorganizado en paquetes (exchanges/, notifications/, rendering/) |
| TA-Lib nativo | Eliminada dependencia de tulipy (incompatible) |
| Docker optimizado | Imagen Python 3.12-slim con TA-Lib pre-compilado |
- Docker Desktop instalado
- Git
- Python 3.12 o superior
- TA-Lib instalado en el sistema
- Git
# 1. Clonar repositorio
git clone https://github.com/ssolis-ti/crypto-signal.git
cd crypto-signal
# 2. Copiar el archivo de ejemplo a la RAÍZ del proyecto
cp app/config.yml.example config.yml
# 3. Editar config.yml (en la raíz, NO en app/)
# Configura tu token y chat_id de Telegram
# Usa app/config.yml.example como referencia
# 4. Ejecutar
docker compose up --build
⚠️ IMPORTANTE: El archivoconfig.ymldebe estar en la raíz del proyecto (junto adocker-compose.yml), NO dentro de la carpetaapp/.
- Python 3.12+ instalado
- TA-Lib instalado:
- Windows: Descargar wheel desde aquí
- Linux:
sudo apt-get install libta-lib-dev - macOS:
brew install ta-lib
# 1. Clonar y entrar al directorio app/
git clone https://github.com/ssolis-ti/crypto-signal.git
cd crypto-signal/app
# 2. Instalar dependencias
pip install -r requirements-step-1.txt
pip install -r requirements-step-2.txt
# 3. Copiar el archivo de ejemplo
cp config.yml.example config.yml
# 4. Editar config.yml con tu token de Telegram
# Revisa config.yml.example para ver todas las opciones
# 5. Ejecutar
python app.py📝 Nota: En instalación local, el
config.ymlSÍ va dentro deapp/.
| Archivo | Ubicación | Propósito |
|---|---|---|
defaults.yml |
app/ |
Valores por defecto (NO EDITAR) |
config.yml |
app/ |
Tu configuración personal |
config.yml.example |
app/ |
Plantilla de ejemplo |
settings:
update_interval: 300 # Segundos entre análisis
market_pairs:
- BTC/USDT
- ETH/USDT
enable_charts: true
exchanges:
binance:
required:
enabled: true
notifiers:
telegram:
required:
token: "TU_TOKEN"
chat_id: "TU_CHAT_ID"
indicators:
rsi:
- enabled: true
alert_enabled: true
hot: 30 # RSI < 30 = Compra
cold: 70 # RSI > 70 = Venta
candle_period: 4h
period_count: 14- Habla con @BotFather y usa
/newbot - Copia el token que te da
- Habla con @userinfobot para obtener tu chat_id
- Pega ambos valores en
app/config.yml
| Variable | Ejemplo |
|---|---|
{{market}} |
BTC/USDT |
{{status}} |
hot / cold |
{{indicator}} |
rsi |
{{values}} |
{'rsi': '28.50'} |
{{price_value.close}} |
95000.00 |
{{creation_date}} |
2026-01-17 23:00:00 |
template: |
{% if status == 'hot' %}🟢 COMPRAR{% else %}🔴 VENDER{% endif %}
📊 {{market}} | {{indicator|upper}}
💵 Precio: ${{price_value.close}}- RSI - Índice de Fuerza Relativa
- Stoch RSI - RSI Estocástico
- MFI - Money Flow Index
- MACD - Convergencia/Divergencia de Medias Móviles
- Momentum - Momentum clásico
- Ichimoku - Nube de Ichimoku
- ADX - Índice Direccional Promedio
- MA Crossover - Cruce de Medias Móviles
- MA Ribbon - Cinta de Medias Móviles
- Bollinger Bands - Bandas de Bollinger
- Squeeze Momentum - Indicador de Compresión
- OBV - On Balance Volume
- IIV - Incremento en Volumen (detección de pump/dump)
- Klinger Oscillator - Oscilador de Klinger
- Candle Recognition - Reconocimiento de patrones de velas
En lugar de listar cada par manualmente:
exchanges:
binance:
required:
enabled: true
all_pairs: # Escanea TODO contra USDT
- USDT
exclude: # Excepto estos
- USDC
- BUSDPara configuraciones avanzadas, consulta docs/config.md.
- Proyecto original: CryptoSignal
- Fork mejorado: w1ld3r/crypto-signal
- Modernización: ssolis-ti/crypto-signal
MIT License - Ver LICENSE para detalles.