Sobre el proyecto
# Bot de alerta EMA (Deriv + Telegram) — V2
Este bot vigila alertas independientes, cada una siendo una combinación única de símbolo, intervalo y EMA. Cuando el precio toca la EMA configurada, se envía un mensaje de Telegram. Todo se configura con botones en Telegram, y el bot funciona gratis en GitHub Actions.
## Características principales
- **Creación de alertas**: `/new` permite elegir símbolo, intervalo (1min a 1día) y EMA (9, 20, 50, 100, 200) mediante botones.
- **Gestión de alertas**: `/alerts` lista las alertas, `/pause ID` y `/resume ID` suspenden/reactivan, `/delete ID` elimina con confirmación.
- **Optimización**: las velas se descargan una sola vez por grupo (símbolo, intervalo) y se reutilizan para varias EMA, reduciendo las solicitudes a Deriv.
- **Anti-duplicados**: el historial se guarda en `state.json` para evitar alertas repetidas en la misma vela.
- **Personalización**: la lista de símbolos propuestos se puede modificar en `AVAILABLE_SYMBOLS` (Forex, Cripto, Índices sintéticos).
## Instalación
1. Crear un bot de Telegram con @BotFather y obtener el token y el ID del chat.
2. Crear un repositorio privado de GitHub y subir los archivos (`ema_alert.py`, `config.json`, `state.json`, `requirements.txt`, `.github/workflows/check.yml`).
3. Añadir los secretos `TELEGRAM_BOT_TOKEN` y `TELEGRAM_CHAT_ID` en los ajustes del repositorio.
4. Activar los permisos "Read and write" para los workflows.
5. Ejecutar el workflow manualmente la primera vez, luego se ejecuta automáticamente cada 5 minutos.
## Mejoras V2
- Corrección de condiciones de carrera en Git con reintento automático.
- Gestión robusta de WebSocket con timeout.
- Validación de secretos y estados.
- Registro estructurado con marcas de tiempo.
- Limpieza de IDs tras la eliminación.
- Heartbeat configurable.
## Limitaciones
- GitHub Actions puede tener retrasos de unos minutos en periodos de carga (adecuado para 30min/1h/4h, menos para scalping de 1min).
- El plan gratuito incluye 2000 minutos/mes, más que suficiente.
- Un solo usuario (el ID de chat configurado) puede controlar el bot.
## Evoluciones futuras
Búsqueda de símbolos, categorías, modificación de alertas, otros tipos de alertas (cruce de EMA), notificaciones detalladas.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.