ForexSignalBot: Señales de Forex para Telegram impulsadas por IA / Auto-reenviador Inteligente, Gratuito y de Código Abierto 📈🤖✨🚀
- Bot en Vivo: https://t.me/trade_ai_helper_bot ✨
- ¡Solo haz clic en el enlace para abrir el bot en Telegram y empezar a operar!
Puedes ejecutar este proyecto de dos maneras: con Docker (recomendado para una configuración rápida) o configurando un entorno local manualmente.
Pon en marcha toda la pila de la aplicación —API, base de datos PostgreSQL y caché de Redis— en cuestión de minutos con Docker. Esta es la forma más rápida y sencilla de empezar.
- Docker Desktop: Asegúrate de que esté instalado y en funcionamiento en tu sistema. Descárgalo aquí.
Abre tu terminal y clona el código fuente del proyecto.
git clone https://github.com/Opselon/ForexTradingBot.git
cd ForexTradingBotLa aplicación requiere claves de API y contraseñas. Para ello, utilizamos un archivo .env, que se mantiene privado.
-
Crea el archivo de entorno:
cp .env.example .env
-
Edita el archivo
.env: Abre el nuevo archivo.envy rellena tus valores secretos reales.TELEGRAM_BOT_TOKEN: Obtenlo de@BotFatheren Telegram.POSTGRES_PASSWORD: Crea una contraseña fuerte y segura para tu base de datos.
Con Docker en funcionamiento, ejecuta un solo comando desde el directorio raíz del proyecto:
docker-compose up --build -dEste comando construye e inicia los contenedores de la API, PostgreSQL y Redis. La API está configurada para aplicar automáticamente las migraciones de la base de datos al iniciarse.
El bot necesita una lista inicial de fuentes RSS. Conéctate a la base de datos usando un cliente como DBeaver o DataGrip y ejecuta el script Populate_RssSources_Categories.sql.
- Host:
localhost - Puerto:
5432 - Base de datos:
forexsignalbot_db - Usuario:
postgres - Contraseña: La
POSTGRES_PASSWORDque estableciste en.env.
🎉 ¡Eso es todo! Tu bot ya está funcionando dentro de Docker.
Sigue estos pasos si prefieres ejecutar la aplicación directamente en tu máquina.
-
.NET 9 SDK:
- Instala el .NET 9 SDK (v9.0.107 o posterior).
- Página de descarga: https://dotnet.microsoft.com/en-us/download/dotnet/9.0
- Verifica tu instalación ejecutando
dotnet --version.
-
Base de Datos PostgreSQL:
- Instala y ejecuta un servidor PostgreSQL local.
- Crea una base de datos y un usuario.
- Actualiza tu cadena de conexión en el archivo
appsettings.Development.json.
-
Servidor Redis:
- Redis se utiliza para el almacenamiento en caché y el procesamiento de trabajos en segundo plano.
- Para Windows: Instala un servidor compatible con Redis como Memurai.
- Guía de instalación: https://docs.memurai.com/en/installation.html
- Para macOS/Linux: Instala a través de un gestor de paquetes (p. ej.,
brew install redisosudo apt-get install redis-server).
Para los desarrolladores que prefieren ejecutar la aplicación directamente en su máquina, sigan estos pasos:
- Clona el repositorio (si aún no lo has hecho).
- Configura
appsettings.Development.jsoncon tu cadena de conexión de la base de datos local y otros ajustes. - Aplica las migraciones de la base de datos:
dotnet ef database update --startup-project WebApi --project Infrastructure
- Puebla la base de datos ejecutando el script
Populate_RssSources_Categories.sqlen tu base de datos local. - Ejecuta la API:
dotnet run --project WebApi
Para obtener detalles más completos e instrucciones de despliegue en producción, consulta la guía dedicada INSTALL.md.
Esta sección contiene comandos comunes para el desarrollo.
Antes de ejecutar estos comandos, asegúrate de tener instaladas las herramientas de EF Core: dotnet tool install --global dotnet-ef
-
Añadir una Nueva Migración: Cuando cambies un modelo de dominio, crea una nueva migración.
dotnet ef migrations add TuNombreDeMigracion --startup-project WebApi --project Infrastructure
(Reemplaza
TuNombreDeMigracionpor un nombre descriptivo, p. ej.,AddSignalStatus) -
Aplicar Migraciones: Para actualizar manualmente el esquema de la base de datos.
dotnet ef database update --startup-project WebApi --project Infrastructure
Para compilar la aplicación en un ejecutable autocontenido para su despliegue:
# Ejemplo para una compilación autocontenida para Windows x64
dotnet publish --configuration Release --runtime win-x64 --self-contained true --project WebApi- El resultado estará en la carpeta
WebApi/bin/Release/net9.0/win-x64/publish.
Este es el nuevo proceso de configuración simplificado.
- Abre el Panel Web: Navega a http://localhost:5000/login.html en tu navegador.
- Inicia Sesión: Usa las credenciales por defecto:
- Usuario:
admin - Contraseña:
admin(Se te pedirá que cambies estos datos sensibles durante el primer proceso de configuración en la interfaz web para mayor seguridad.)
- Usuario:
- Configuración Guiada: Después de iniciar sesión por primera vez, serás redirigido automáticamente a una página de configuración segura (
/indexapp.html).- En esta página, se te pedirá que introduzcas tu Token de Bot de Telegram y otras configuraciones esenciales.
- El sistema probará en vivo tus credenciales para asegurarse de que son válidas antes de guardarlas.
- Una vez guardadas, estas configuraciones se almacenan de forma segura en la base de datos, no en archivos de texto plano.
- Poblar la Base de Datos: Después de la configuración inicial, se te pedirá que puebles la base de datos. Haz clic en el botón "Seed Database" en la interfaz web. Esto llenará la lista inicial de fuentes RSS y otros datos necesarios.
🎉 ¡Eso es todo! Tu bot está ahora completamente configurado y en funcionamiento. Puedes gestionarlo todo desde el panel web.

Si este proyecto te resulta útil, ¡puedes darle una 🌟!
Proporcionamos archivos README en varios idiomas para que nuestro proyecto sea accesible a usuarios de todo el mundo. Elige tu idioma preferido a continuación:
| Idioma | Código de Idioma | Archivo README | Estado |
|---|---|---|---|
| Inglés | 🇺🇸 EN | README.md | ✅ Completo |
| Ruso | 🇷🇺 RU | README_RU.md | ✅ Completo |
| Persa | 🇮🇷 FA | README_FA.md | ✅ Completo |
| Chino | 🇨🇳 ZH | README_ZH.md | ✅ Completo |
| Español | 🇪🇸 ES | README_ES.md | ✅ Completo |
| Francés | 🇫🇷 FR | README_FR.md | ✅ Completo |
| Alemán | 🇩🇪 DE | README_DE.md | ✅ Completo |
| Turco | 🇹🇷 TR | README_TR.md | ✅ Completo |
| Árabe | 🇸🇦 AR | README_AR.md | ✅ Completo |
| Hindi | 🇮🇳 HI | README_HI.md | ✅ Completo |
| Italiano | 🇮🇹 IT | README_IT.md | ✅ Completo |
| Portugués | 🇵🇹 PT | README_PT.md | ✅ Completo |
Cada archivo README contiene la documentación completa del proyecto, las instrucciones de configuración y las características traducidas al idioma respectivo. Todos los archivos se mantienen actualizados con la información más reciente del proyecto.
