Rejoignez notre page de fans

MT5 to Telegram - Bibliothèque de notifications de trading professionnel - bibliothèque pour MetaTrader 5
- Vues:
- 56
- Note:
- Publié:
-
Besoin d'un robot ou d'un indicateur basé sur ce code ? Commandez-le sur Freelance Aller sur Freelance
Bibliothèque professionnelle d'intégration de Telegram Bot pour MetaTrader 5. Une solution complète pour envoyer des signaux de trading, des captures d'écran, des rapports et des notifications en temps réel aux canaux et groupes Telegram.
Caractéristiques principales
- 📨 Notifications de trading en temps réel - Alertes instantanées sur l'ouverture/la fermeture/la modification des positions.
- 📸 Captures d'écran des graphiques - Capture automatique des graphiques avec annotations.
- 📊 Rapports de compte - Rapports de performance quotidiens, hebdomadaires et mensuels
- ⚠️ Alertes de gestion des risques - Alertes de drawdown, de niveau de marge et de stop-out
- 🔄 S ystème de mise en file d'attente des messages - Livraison fiable avec mécanisme de relance
- 👥 Prise en charge multicanal - Envoi à plusieurs chats/canaux Telegram
- 📝 S ystème de modèles - Modèles de messages personnalisables
- 🎯 Limitation intelligente du débit - Empêche le blocage de l'API
Exigences
- MetaTrader 5 version 2375 ou supérieure
- Jeton Telegram Bot (à obtenir auprès de @BotFather)
- ID de chat ou de canal
- Connexion Internet
Installation du Bot Telegram
Etape 1 : Créer un Telegram Bot
- Ouvrez Telegram et trouvez @BotFather
- Envoyez la commande /newbot
- Choisissez un nom pour votre bot
- Sélectionnez le nom d'utilisateur (doit se terminer par 'bot')
- Enregistrez le jeton fourni par BotFather
Etape 2 : Obtenir un identifiant de chat
- Ajoutez le bot à un groupe/canal ou démarrez une salle de chat privée
- Envoyer un message au bot
- Allez sur : https://api.telegram.org/bot<Votre_TOKEN>/getUpdates
- Trouvez l'identifiant de chat dans la réponse
Étape 3 : Configurer MT5
- Ouvrez MT5 → Service → Paramètres → Expert Advisors
- Cochez la case "Allow WebRequest for the following URLs" (Autoriser les requêtes Web pour les URL suivantes).
- Ajoutez l'URL : https://api.telegram.org
- Cliquez sur OK
Étape 4 : Installation des fichiers
- Copiez TelegramBot.mqh dans le dossier MQL5/Include/.
- Copiez TelegramBot_Example.mq5 dans le dossier 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("Échec de l'initialisation du bot"); return INIT_FAILED; } // Envoi d'un message test bot.SendMessage("Bot connecté avec succès !"); // Envoyer une capture d'écran du graphique bot.SendChartScreenshot("Situation actuelle du marché".); return INIT_SUCCEEDED; }
Référence API
Messages 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);
Fichiers 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 de conseiller expert
Le paquet comprend un exemple entièrement fonctionnel du conseiller expert, démontrant :
- Suivi 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 des risques
- Rapports quotidiens
- Signaux de trading de démonstration
Formatage des messages
Format HTML (recommandé)
string message = "<b> Жирный текст</b>\n"; message += "<i> Курсив</i>\n"; message += "<code> Моноширинный код</code>\n"; message += "<a href='http://example.com'> Ссылка</a>"; bot.SendHTMLMessage(message);
Format Markdown
string message = "Texte en gras{\n}"; message += "Italique".; message += "Code monospace".; message += "[Lien](http://example.com)"; bot.SendMarkdownMessage(message);
Performances
- Vitesse des messages : jusqu'à 30 messages par minute
- Limite de taille des fichiers : 50 Mo par fichier
- Longueur du message : 4096 caractères
- Longueur de la signature : 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 complexe des erreurs :
- Vérification de la connexion
- Protection contre le dépassement de limite
- Réessais automatiques en cas d'échec
- Système de file d'attente pour les messages échoués
- Enregistrement détaillé des erreurs
Prise en charge
- Documentation : La documentation complète de l'API est 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)
- Première version
- Intégration complète de l'API Telegram Bot
- Prise en charge de plusieurs canaux
- Système de file d'attente
- Moteur de modèles
- Alertes de gestion des risques
Licence
Cette bibliothèque est fournie "telle quelle" pour une utilisation dans MetaTrader 5. Elle est gratuite pour un usage personnel et commercial.
Auteur
Forex Trading Blueprint
(Stepan Sinic)
Clause de non-responsabilité
Ce logiciel est fourni "en l'état" 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 un indicateur des résultats futurs.
Si vous trouvez cette bibliothèque utile, veuillez l'évaluer sur MQL5 CodeBase !
Instructions d'installation détaillées
Créer un bot dans Telegram
-
Trouver BotFather
- Ouvrez Telegram
- Tapez @BotFather dans la recherche
- Appuyer sur START
-
Créer un nouveau bot
- Envoyez 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)
- Sauvegardez le jeton du formulaire : 123456789:ABCdefGHIjklMNOpqrsTUVwxyz
-
Configurer le bot
- Envoyez /setprivacy et sélectionnez DISABLE (pour le travail en groupe).
- Envoyer /setjoingroups et sélectionner ENABLE (pour ajouter à des groupes)
Obtenir un identifiant de chat
Pour les messages privés :
- Entamez un dialogue avec votre robot
- Envoyez n'importe quel message
- Ouvrez votre navigateur : https://api.telegram.org/bot<TOKEN>/getUpdates
- Trouvez "chat":{"id":123456789} - il s'agit de votre identifiant de chat.
Pour un groupe :
- Ajouter le bot à un groupe
- Envoyer un message dans le groupe
- Ouvrir dans un navigateur : https://api.telegram.org/bot<TOKEN>/getUpdates
- Trouver "chat":{"id":-123456789} est un nombre négatif pour les groupes
Pour les canaux :
- Ajouter un bot en tant qu'administrateur du canal
- Envoyer un message au canal
- Ou utiliser @username du canal comme Chat ID
Solution aux problèmes fréquents
Erreur WebRequest :
Solution : 1. Outils → Paramètres → Conseillers 2. Autoriser le WebRequest pour les URLs suivantes 3. Ajouter : https://api.telegram.org 4. Redémarrer MT5
Le bot ne répond pas :
Vérifier : 1. Jeton correct 2. L'identifiant de chat est correct 3. la connexion Internet 4. les paramètres WebRequest
Les messages ne passent pas :
Causes possibles : 1. Limite API dépassée (30 messages/minute) 2. Format HTML incorrect dans le message 3. Message trop long (>4096 caractères)
Exemples d'utilisation
Envoi d'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> Точка входа</b>\n"; caption += "Пара: EURUSD\n"; caption += "Тип: BUY\n"; caption += "Цена: 1.1850"; bot.SendChartScreenshot(caption);
Envoi de l'état d'un compte
bot.SendAccountStatus();
// Envoi automatique du solde, des fonds propres, de la marge, etc.
Mise en place de rapports quotidiens
// Dans le conseiller OnTimer() if(TimeHour(TimeCurrent()) == 23 && TimeMinute(TimeCurrent()) == 0) { bot.SendDailyReport(); }
Alerte de réduction (Drawdown)
double drawdown = CalculateDrawdown(); // Votre fonction de calcul if(drawdown > 20.0) // La réduction est supérieure à 20 %. { bot.SendRiskAlert(drawdown); }
Structure des messages
Position ouverte
[POSITION OPENED] ↑ ================ Ticket: #12345678 Symbol: EURUSD Type: BUY Volume: 0.10 Price: 1.18500 Time: 2024.01.15 10:30 ================
Position clôturée
[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 ================
Rapport quotidien
[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 du russe par MetaQuotes Ltd.
Code original : https://www.mql5.com/ru/code/63585

Bibliothèque professionnelle d'intégration de Telegram Bot pour MetaTrader 5. Solution complète pour envoyer des signaux de trading, des captures d'écran, des rapports et des notifications en temps réel aux canaux et groupes Telegram.

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.

This is an OHLC candlestick chart which records the highest ask and lowest bid on each new bar

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.