Rejoignez notre page de fans
- Vues:
- 65
- Note:
- Publié:
-
Besoin d'un robot ou d'un indicateur basé sur ce code ? Commandez-le sur Freelance Aller sur Freelance
Caractéristiques principales
- 📨 Notifications de trading en temps réel - Alertes instantanées en cas d'ouverture/fermeture/modification de position
- 📸 Captures d'écran des graphiques - Captures automatiques des graphiques avec annotations
- 📊 Rapports de compte - Rapports de performance quotidiens, hebdomadaires et mensuels
- ⚠️ Alertes de gestion des risques - Drawdown, niveau de marge et avertissements de stop-out
- 🔄 S ystème de file d'attente des messages - Livraison fiable avec mécanisme de relance
- 👥 Prise en charge multicanal - Diffusion sur plusieurs chats/canaux Telegram
- 📝 S ystème de modèles - Modèles de messages personnalisables
- 🎯 Limitation intelligente du débit - Empêche l'étranglement de l'API
Exigences
- MetaTrader 5 build 2375 ou supérieur
- Token Telegram Bot (à obtenir auprès de @BotFather)
- ID de chat ou ID de canal
- Connexion Internet
Installation du Bot Telegram
Étape 1 : Créer le bot Telegram
- Ouvrez Telegram et recherchez @BotFather
- Envoyez la commande /newbot
- Choisissez un nom pour votre bot
- Choisissez un nom d'utilisateur (qui doit se terminer par 'bot')
- Sauvegarder le jeton fourni par BotFather
Etape 2 : Obtenir un identifiant de chat
- Ajoutez votre bot à un groupe/canal ou démarrez un chat privé
- Envoyez n'importe quel message au bot
- Visitez : https://api.telegram.org/bot<Votre_TOKEN>/getUpdates
- Trouvez l'identifiant du chat dans la réponse
Étape 3 : Configuration de MT5
- Ouvrez MT5 → Outils → Options → Expert Advisors
- Cochez "Allow WebRequest for listed URL" (Autoriser les requêtes Web pour les URL répertoriées).
- Ajoutez l'URL : https://api.telegram.org
- Cliquez sur OK
Étape 4 : Installation des fichiers
- Copiez TelegramBot.mqh dans MQL5/Include/
- Copiez TelegramBot_Example.mq5 dans MQL5/Experts/
- Compilez les deux fichiers
Démarrage rapide
#include <TelegramBot.mqh> CTelegramBot bot; int OnInit() { // Initialisation du bot if(!bot.Initialize("YOUR_TOKEN", "YOUR_CHAT_ID")) { Print("Failed to initialize bot"); return INIT_FAILED; } // Envoi d'un message de test bot.SendMessage("Bot connected successfully!"); // Envoi d'une capture d'écran du graphique bot.SendChartScreenshot("Current market situation"); return INIT_SUCCEEDED; }
Référence API
Messagerie de base
bool SendMessage(string text); bool SendHTMLMessage(string text); bool SendMarkdownMessage(string text); bool SendMessageToAll(string text);
Signaux d'échange
bool SendTradeSignal(ENUM_SIGNAL_TYPE type, string symbol, double price); bool SendPositionOpened(ulong ticket, string symbol, ENUM_POSITION_TYPE type, double volume, double price); bool SendPositionClosed(ulong ticket, string symbol, double profit, double commission, double swap);
Média
bool SendPhoto(string file_path, string caption); bool SendDocument(string file_path, string caption); bool SendChartScreenshot(); bool SendChartScreenshot(string caption);
Rapports
bool SendAccountStatus(); bool SendDailyReport(); bool SendWeeklyReport(); bool SendMonthlyReport();
Gestion du risque
bool SendRiskAlert(double drawdown_percent); bool SendMarginWarning(double margin_level); bool SendStopOutWarning();
Exemple d'Expert Advisor
Le paquet comprend un exemple d'EA entièrement fonctionnel démontrant :
- Surveillance des positions avec notifications
- Captures d'écran automatiques lors d'événements commerciaux
- Mises à jour périodiques de l'état du compte
- Alertes de gestion du risque
- Rapports quotidiens
- Signaux de trading de démonstration
Formatage des messages
Format HTML (recommandé)
string message = "<b> Bold text</b>\n"; message += "<i> Italic text</i>\n"; message += "<code> Fixed-width code</code>\n"; message += "<a href='http://example.com'> Link</a>"; bot.SendHTMLMessage(message);
Format Markdown
string message = "*Bold text*\n"; message += "_Italic text_\n"; message += "`Fixed-width code`\n"; message += "[Link](http://example.com)"; bot.SendMarkdownMessage(message);
Performances
- Taux de messages : Jusqu'à 30 messages par minute
- Limite de taille des fichiers : 50 Mo par fichier
- Longueur du message : 4096 caractères
- Longueur de la légende : 1024 caractères
- Taille de la file d'attente : 100 messages
- Temps de réponse moyen : 50-200 ms
Gestion des erreurs
La bibliothèque comprend une gestion complète des erreurs :
- Validation de la connexion
- Protection contre la limitation du débit
- Réessais automatiques en cas d'échec
- Système de file d'attente pour les messages échoués
- Enregistrement détaillé des erreurs
Support
- Documentation : Documentation complète de l'API incluse dans le code source
- Exemple EA : Exemple de travail avec toutes les fonctionnalités
- Mode de débogage : Débogage intégré pour le dépannage
Historique des versions
Version 1.0.0 (2024)
- Version initiale
- Intégration complète de l'API Telegram Bot
- Support multi-canal
- Système de file d'attente
- Moteur de modèles
- Alertes de gestion des risques
Licence d'utilisation
Cette bibliothèque est fournie telle quelle pour une utilisation dans MetaTrader 5. Elle est gratuite pour un usage personnel et commercial.
Auteur
Financial Blueprint
Solutions de trading professionnelles
Clause de non-responsabilité
Ce logiciel est fourni "tel quel" sans garantie d'aucune sorte. Le trading implique un risque substantiel de perte et ne convient pas à tous les investisseurs. Les performances passées ne sont pas indicatives des résultats futurs.
Si vous trouvez cette bibliothèque utile, veuillez l'évaluer sur MQL5 CodeBase !
Instructions de configuration détaillées
Créer un bot Telegram
-
Trouver BotFather
- Ouvrez Telegram
- Rechercher @BotFather
- Appuyer sur START
-
Créer un nouveau bot
- Envoyer la commande /newbot
- Entrez le nom du bot (par exemple, "My Trading Bot")
- Entrez le nom d'utilisateur du bot (par exemple, my_trading_bot)
- Enregistrez le jeton comme suit : 123456789:ABCdefGHIjklMNOpqrsTUVwxyz
-
Configurer le bot
- Envoyez /setprivacy et sélectionnez DISABLE (pour la fonctionnalité de groupe)
- Envoyer /setjoingroups et sélectionner ENABLE (pour ajouter aux groupes)
Obtenir l'identifiant du chat
Pour les messages privés :
- Commencez la conversation avec votre robot
- Envoyez n'importe quel message
- Ouvrez le navigateur : https://api.telegram.org/bot<TOKEN>/getUpdates
- Trouver "chat":{"id":123456789} - il s'agit de votre identifiant de chat
Pour les groupes :
- Ajouter le bot au groupe
- Envoyer un message au groupe
- Ouvrir dans le navigateur : https://api.telegram.org/bot<TOKEN>/getUpdates
- Trouver "chat":{"id":-123456789} - nombre négatif pour les groupes
Pour les canaux :
- Ajouter le bot en tant qu'administrateur du canal
- Envoyer un message au canal
- Ou utiliser @channelname comme Chat ID
Résolution des problèmes courants
Erreur WebRequest :
Solution : 1. Outils → Options → Expert Advisors 2. Autoriser le WebRequest pour l'URL listée 3. Ajouter : https://api.telegram.org 4. Redémarrer MT5
Bot Not Responding :
Vérifier : 1. l'exactitude du jeton 2. L'exactitude de l'ID du chat 3. Connexion Internet 4. Paramètres de WebRequest
Messages non délivrés :
Causes possibles : 1. Limite API dépassée (30 messages/minute) 2. Format HTML non valide dans le message 3. Message trop long (>4096 caractères)
Exemples d'utilisation
Envoyer un signal d'achat
bot.SendTradeSignal(SIGNAL_BUY, "EURUSD", 1.1850, 1.1800, 1.1900);
Envoi d'une capture d'écran avec annotation
string caption = "<b> Entry Point</b>\n"; caption += "Pair: EURUSD\n"; caption += "Type: BUY\n"; caption += "Price: 1.1850"; bot.SendChartScreenshot(caption);
Envoi de l'état du compte
bot.SendAccountStatus();
// Envoie automatiquement le solde, les fonds propres, la marge, etc. Configuration des rapports quotidiens
// Dans la fonction OnTimer() de l'EA if(TimeHour(TimeCurrent()) == 23 && TimeMinute(TimeCurrent()) == 0) { bot.SendDailyReport(); }
Alerte de réduction
double drawdown = CalculateDrawdown(); // Votre fonction de calcul if(drawdown > 20.0) // Réduction de plus de 20 %. { bot.SendRiskAlert(drawdown); }
Structure du message
[POSITION OPENED] ↑
================
Ticket: #12345678
Symbol: EURUSD
Type: BUY
Volume: 0.10
Price: 1.18500
Time: 2024.01.15 10:30
[POSITION CLOSED]
================
Ticket: #12345678
Symbol: EURUSD
Profit: +125.50 USD
Commission: -2.00
Swap: -0.50
Total: +123.00 USD
Time: 2024.01.15 14:45
================
[DAILY REPORT]
================
Date: 2024.01.15
ACCOUNT SUMMARY
----------------
Balance: 10,125.50 USD
Equity: 10,250.00 USD
Floating P/L: +124.50 USD
TRADING ACTIVITY
----------------
Trades Today: 5
Today's Result: +250.00 USD
Open Positions: 2
BOT STATISTICS
----------------
Messages Sent: 45
Signals Sent: 8
Success Rate: 98.5%
================
Traduit de l’anglais par MetaQuotes Ltd.
Code original : https://www.mql5.com/en/code/63587
IncCMOOnArray
La classe CMOOnArray est conçue pour calculer les valeurs de l'indicateur CMO (Chande Momentum Oscillator) par tampon d'indicateur. L'indicateur Test_CMOOnArray est joint comme exemple d'utilisation de la classe.
XMACD_HTF_Signal
L'indicateur XMACD_HTF_Signal affiche les directions de tendance des trois dernières barres de l'indicateur XMACD sous forme de trois objets graphiques.
MT5 to Telegram - Bibliothèque de notifications de trading professionnel
Intégration complète de Telegram pour MT5. Envoyez des signaux de trading, des captures d'écran, des rapports et des alertes aux canaux Telegram. Inclut un système de file d'attente, un support multi-canal et une gestion des risques.
IncSAROnArray
La classe CSAROnArray est conçue pour calculer les valeurs de l'indicateur SAR (Parabolic SAR) par les tampons de l'indicateur. L'indicateur Test_SAROnArray est joint en tant qu'exemple d'utilisation de la classe.