ForexSignalBot: Signaux Forex pour Telegram basés sur l'IA / Transmetteur automatique intelligent, gratuit et open source 📈🤖✨🚀
- Bot en direct : https://t.me/trade_ai_helper_bot ✨
- Cliquez simplement sur le lien pour ouvrir le bot dans Telegram et commencer à trader !
Vous pouvez exécuter ce projet de deux manières : avec Docker (recommandé pour une configuration rapide) ou en configurant manuellement un environnement local.
Faites tourner l'ensemble de la pile applicative — API, base de données PostgreSQL et cache Redis — en quelques minutes avec Docker. C'est le moyen le plus rapide et le plus simple de commencer.
- Docker Desktop : Assurez-vous qu'il est installé et en cours d'exécution sur votre système. Téléchargez-le ici.
Ouvrez votre terminal et clonez le code source du projet.
git clone https://github.com/Opselon/ForexTradingBot.git
cd ForexTradingBotL'application nécessite des clés API et des mots de passe. Nous utilisons un fichier .env à cet effet, qui est gardé privé.
-
Créez le fichier d'environnement :
cp .env.example .env
-
Modifiez le fichier
.env: Ouvrez le nouveau fichier.envet remplissez vos valeurs secrètes réelles.TELEGRAM_BOT_TOKEN: Obtenez-le auprès de@BotFathersur Telegram.POSTGRES_PASSWORD: Créez un mot de passe fort et sécurisé pour votre base de données.
Avec Docker en cours d'exécution, exécutez une seule commande depuis le répertoire racine du projet :
docker-compose up --build -dCette commande construit et démarre les conteneurs API, PostgreSQL et Redis. L'API est configurée pour appliquer automatiquement les migrations de base de données au démarrage.
Le bot a besoin d'une liste initiale de flux RSS. Connectez-vous à la base de données à l'aide d'un client comme DBeaver ou DataGrip et exécutez le script Populate_RssSources_Categories.sql.
- Hôte :
localhost - Port :
5432 - Base de données :
forexsignalbot_db - Utilisateur :
postgres - Mot de passe : Le
POSTGRES_PASSWORDque vous avez défini dans.env.
🎉 Et voilà ! Votre bot fonctionne maintenant dans Docker.
Suivez ces étapes si vous préférez exécuter l'application directement sur votre machine.
-
.NET 9 SDK :
- Installez le .NET 9 SDK (v9.0.107 ou ultérieure).
- Page de téléchargement : https://dotnet.microsoft.com/en-us/download/dotnet/9.0
- Vérifiez votre installation en exécutant
dotnet --version.
-
Base de données PostgreSQL :
- Installez et exécutez un serveur PostgreSQL local.
- Créez une base de données et un utilisateur.
- Mettez à jour votre chaîne de connexion dans le fichier
appsettings.Development.json.
-
Serveur Redis :
- Redis est utilisé pour la mise en cache et le traitement des tâches en arrière-plan.
- Pour Windows : Installez un serveur compatible avec Redis comme Memurai.
- Guide d'installation : https://docs.memurai.com/en/installation.html
- Pour macOS/Linux : Installez via un gestionnaire de paquets (ex.
brew install redisousudo apt-get install redis-server).
Pour les développeurs qui préfèrent exécuter l'application directement sur leur machine, suivez ces étapes :
- Clonez le dépôt (si ce n'est pas déjà fait).
- Configurez
appsettings.Development.jsonavec votre chaîne de connexion de base de données locale et d'autres paramètres. - Appliquez les migrations de base de données :
dotnet ef database update --startup-project WebApi --project Infrastructure
- Remplissez la base de données en exécutant le script
Populate_RssSources_Categories.sqlsur votre base de données locale. - Lancez l'API :
dotnet run --project WebApi
Pour des détails plus complets et des instructions de déploiement en production, veuillez consulter le guide dédié INSTALL.md.
Cette section contient des commandes courantes pour le développement.
Avant d'exécuter ces commandes, assurez-vous que les outils EF Core sont installés : dotnet tool install --global dotnet-ef
-
Ajouter une nouvelle migration : Lorsque vous modifiez un modèle de domaine, créez une nouvelle migration.
dotnet ef migrations add VotreNomDeMigration --startup-project WebApi --project Infrastructure
(Remplacez
VotreNomDeMigrationpar un nom descriptif, ex.AddSignalStatus) -
Appliquer les migrations : Pour mettre à jour manuellement le schéma de la base de données.
dotnet ef database update --startup-project WebApi --project Infrastructure
Pour compiler l'application en un exécutable autonome pour le déploiement :
# Exemple pour une version autonome pour Windows x64
dotnet publish --configuration Release --runtime win-x64 --self-contained true --project WebApi- La sortie se trouvera dans le dossier
WebApi/bin/Release/net9.0/win-x64/publish.
Voici le nouveau processus de configuration simplifié.
- Ouvrez le panneau Web : Accédez à http://localhost:5000/login.html dans votre navigateur.
- Connexion : Utilisez les identifiants par défaut :
- Nom d'utilisateur :
admin - Mot de passe :
admin(Il vous sera demandé de modifier ces informations sensibles lors du premier processus de configuration dans l'interface web pour une meilleure sécurité.)
- Nom d'utilisateur :
- Configuration guidée : Après vous être connecté pour la première fois, vous serez automatiquement redirigé vers une page de configuration sécurisée (
/indexapp.html).- Sur cette page, il vous sera demandé d'entrer votre Token de bot Telegram et d'autres paramètres essentiels.
- Le système testera vos identifiants en direct pour s'assurer de leur validité avant de les enregistrer.
- Une fois enregistrés, ces paramètres sont stockés de manière sécurisée dans la base de données, et non dans des fichiers texte.
- Remplissage de la base de données : Après la configuration initiale, il vous sera demandé de remplir la base de données. Cliquez sur le bouton "Seed Database" dans l'interface web. Cela remplira la liste initiale de flux RSS et autres données requises.
🎉 Et voilà ! Votre bot est maintenant entièrement configuré et fonctionnel. Vous pouvez tout gérer depuis le panneau web.

Si ce projet vous est utile, n'hésitez pas à lui donner une 🌟
Nous fournissons des fichiers README en plusieurs langues pour rendre notre projet accessible aux utilisateurs du monde entier. Choisissez votre langue préférée ci-dessous :
| Langue | Code de langue | Fichier README | Statut |
|---|---|---|---|
| Anglais | 🇺🇸 EN | README.md | ✅ Complet |
| Russe | 🇷🇺 RU | README_RU.md | ✅ Complet |
| Persan | 🇮🇷 FA | README_FA.md | ✅ Complet |
| Chinois | 🇨🇳 ZH | README_ZH.md | ✅ Complet |
| Espagnol | 🇪🇸 ES | README_ES.md | ✅ Complet |
| Français | 🇫🇷 FR | README_FR.md | ✅ Complet |
| Allemand | 🇩🇪 DE | README_DE.md | ✅ Complet |
| Turc | 🇹🇷 TR | README_TR.md | ✅ Complet |
| Arabe | 🇸🇦 AR | README_AR.md | ✅ Complet |
| Hindi | 🇮🇳 HI | README_HI.md | ✅ Complet |
| Italien | 🇮🇹 IT | README_IT.md | ✅ Complet |
| Portugais | 🇵🇹 PT | README_PT.md | ✅ Complet |
Chaque fichier README contient la documentation complète du projet, les instructions de configuration et les fonctionnalités traduites dans la langue respective. Tous les fichiers sont maintenus à jour avec les dernières informations du projet.
