und werden Sie Mitglied unserer Fangruppe
Veröffentliche einen Link auf das Skript, damit die anderen ihn auch nutzen können
Bewerten Sie es im Terminal MetaTrader 5
MT5 zu Telegram - Bibliothek für professionelle Handelsbenachrichtigungen - Bibliothek für den MetaTrader 5
- Ansichten:
- 105
- Rating:
- Veröffentlicht:
-
Benötigen Sie einen Roboter oder Indikator, der auf diesem Code basiert? Bestellen Sie ihn im Freelance-Bereich Zum Freelance
Professionelle Bibliothek der Telegram Bot Integration für MetaTrader 5. Eine komplette Lösung zum Senden von Handelssignalen, Screenshots, Berichten und Echtzeit-Benachrichtigungen an Telegram-Kanäle und -Gruppen.
Hauptmerkmale
- 📨 E chtzeit-Handelsbenachrichtigungen - Sofortige Benachrichtigung bei Eröffnung/Schließung/Änderung von Positionen
- 📸 Chart-Screenshots - Automatisches Erfassen von Charts mit Kommentaren
- 📊 Kontoberichte - Tägliche, wöchentliche und monatliche Performance-Berichte
- ⚠️ Risikomanagement-Warnungen - Drawdown-, Margin-Level- und Stop-Out-Warnungen
- 🔄 Nachrichten-Warteschlangensystem - Zuverlässige Zustellung mit Wiederholungsmechanismus
- 👥 Multi-Channel-Unterstützung - Senden an mehrere Telegram-Chats/Kanäle
- 📝 Vorlagensystem - Anpassbare Nachrichtenvorlagen
- 🎯 Intelligente Ratenbegrenzung - Verhinderung von API-Blockierungen
Anforderungen
- MetaTrader 5 Version 2375 oder höher
- Telegram Bot-Token (erhalten Sie von @BotFather)
- Chat- oder Kanal-ID
- Internetverbindung
Installation
Schritt 1: Erstellen Sie einen Telegram Bot
- Öffne Telegram und finde @BotFather
- Senden Sie den Befehl /newbot
- Wähle einen Namen für deinen Bot
- Wähle einen Benutzernamen (muss mit 'bot' enden)
- Speichern Sie das von BotFather bereitgestellte Token
Schritt 2: Erhalte eine Chat-ID
- Füge den Bot zu einer Gruppe/einem Kanal hinzu oder starte einen privaten Chatraum
- Senden Sie eine Nachricht an den Bot
- Gehe zu: https://api.telegram.org/bot<YOUR_TOKEN>/getUpdates
- Suchen Sie die Chat-ID in der Antwort
Schritt 3: MT5 einrichten
- Öffnen Sie MT5 → Service → Einstellungen → Expert Advisors
- Aktivieren Sie das Kontrollkästchen "WebRequest für die folgenden URLs zulassen".
- URL hinzufügen: https://api.telegram.org
- Klicken Sie auf OK
Schritt 4: Dateien installieren
- Kopieren Sie TelegramBot.mqh in den Ordner MQL5/Include/.
- Kopieren Sie TelegramBot_Example.mq5 in den Ordner MQL5/Experts/.
- Kompilieren Sie beide Dateien
Schnellstart
#include <TelegramBot.mqh> CTelegramBot bot; int OnInit() { // Initialisierung des Bots if(!bot.Initialize("IHR_TOKEN"., "IHRE_CHAT_ID")) { Print("Bot konnte nicht initialisiert werden"); return INIT_FAILED; } // Versenden einer Testnachricht bot.SendMessage("Bot erfolgreich verbunden!"); // Senden Sie einen Screenshot des Diagramms bot.SendChartScreenshot("Aktuelle Marktsituation".); return INIT_SUCCEEDED; }
API-Referenz
Grundlegende Nachrichten
bool SendMessage(string text); bool SendHTMLMessage(string text); bool SendMarkdownMessage(string text); bool SendMessageToAll(string text);
Handelssignale
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);
Medien-Dateien
bool SendPhoto(string file_path, string caption); bool SendDocument(string file_path, string caption); bool SendChartScreenshot(); bool SendChartScreenshot(string caption);
Berichte
bool SendAccountStatus(); bool SendDailyReport(); bool SendWeeklyReport(); bool SendMonthlyReport();
Risiko-Management
bool SendRiskAlert(double drawdown_percent); bool SendMarginWarning(double margin_level); bool SendStopOutWarning();
Expert Advisor Beispiel
Das Paket enthält ein voll funktionsfähiges Beispiel des Expert Advisors, das Folgendes demonstriert:
- Positionsüberwachung mit Benachrichtigungen
- Automatische Screenshots bei Handelsereignissen
- Regelmäßige Aktualisierung des Kontostatus
- Risikomanagement-Warnungen
- Tägliche Berichte
- Demo-Handelssignale
Formatierung der Nachrichten
HTML-Format (empfohlen)
string message = "<b> Жирный текст</b>\n"; message += "<i> Курсив</i>\n"; message += "<code> Моноширинный код</code>\n"; message += "<a href='http://example.com'> Ссылка</a>"; bot.SendHTMLMessage(message);
Markdown-Format
string message = "Fettgedruckter Text{\n}"; message += "Kursivschrift".; message += "Monospaced Code".; message += "[Link](http://example.com)"; bot.SendMarkdownMessage(message);
Leistung
- Nachrichtengeschwindigkeit: bis zu 30 Nachrichten pro Minute
- Begrenzung der Dateigröße: 50 MB pro Datei
- Länge der Nachricht: 4096 Zeichen
- Signaturlänge: 1024 Zeichen
- Größe der Warteschlange: 100 Nachrichten
- Durchschnittliche Antwortzeit: 50-200ms
Fehlerbehandlung
Die Bibliothek enthält eine komplexe Fehlerbehandlung:
- Verbindungsprüfung
- Schutz vor Grenzwertüberschreitungen
- Automatische Wiederholungsversuche bei Fehlern
- Warteschlangensystem für fehlgeschlagene Nachrichten
- Detaillierte Fehlerprotokollierung
Unterstützung
- Dokumentation: Vollständige API-Dokumentation ist im Quellcode enthalten
- EA-Beispiel: Arbeitsbeispiel mit allen Funktionen
- Debug-Modus: Eingebautes Debugging für die Fehlersuche
Versionsgeschichte
Version 1.0.0 (2024)
- Erste Veröffentlichung
- Vollständige Integration der Telegram Bot API
- Unterstützung für mehrere Kanäle
- Warteschlangen-System
- Vorlagen-Engine
- Risiko-Management-Warnungen
Lizenz
Diese Bibliothek wird in der vorliegenden Form zur Verwendung in MetaTrader 5 bereitgestellt. Sie ist frei für den persönlichen und kommerziellen Gebrauch.
Autor
Forex Trading Blaupause
(Stepan Sinic)
Haftungsausschluss
Diese Software wird "so wie sie ist" ohne jegliche Garantie zur Verfügung gestellt. Der Handel birgt ein erhebliches Verlustrisiko und ist nicht für alle Anleger geeignet. Die Performance in der Vergangenheit ist kein Indikator für zukünftige Ergebnisse.
Wenn Sie diese Bibliothek nützlich finden, bewerten Sie sie bitte auf MQL5 CodeBase!
Detaillierte Anweisungen zur Einrichtung
Einen Bot in Telegram erstellen
-
BotFather finden
- Öffnen Sie Telegram
- Tippe @BotFather in die Suche ein
- START drücken
-
Erstellen Sie einen neuen Bot
- Senden Sie den Befehl /newbot
- Geben Sie den Namen des Bots ein (zum Beispiel: "My Trading Bot")
- Geben Sie den Benutzernamen des Bots ein (zum Beispiel: my_trading_bot)
- Speichern Sie den Token der Form: 123456789:ABCdefGHIjklMNOpqrsTUVwxyz
-
Konfigurieren Sie den Bot
- Senden Sie /setprivacy und wählen Sie DISABLE (für die Arbeit in Gruppen).
- Senden Sie /setjoingroups und wählen Sie ENABLE (zum Hinzufügen zu Gruppen)
Eine Chat-ID erhalten
Für private Nachrichten:
- Starten Sie einen Dialog mit Ihrem Bot
- Senden Sie eine beliebige Nachricht
- Öffne in deinem Browser: https://api.telegram.org/bot<TOKEN>/getUpdates
- Suchen Sie "chat":{"id":123456789} - das ist Ihre Chat-ID
Für eine Gruppe:
- Füge den Bot zu einer Gruppe hinzu
- Senden Sie eine Nachricht an die Gruppe
- In einem Browser öffnen: https://api.telegram.org/bot<TOKEN>/getUpdates
- Finde "chat":{"id":-123456789} ist eine negative Zahl für Gruppen
Für Kanal:
- Füge einen Bot als Kanaladministrator hinzu
- Senden Sie eine Nachricht an den Kanal
- Oder verwenden Sie den @Benutzernamen des Channels als Chat-ID
Häufiges Problem Lösung
WebRequest-Fehler:
Lösung: 1. Tools → Einstellungen → Berater 2. ✓ WebRequest für die folgenden URLs zulassen 3. Hinzufügen: https://api.telegram.org 4. MT5 neu starten
Der Bot antwortet nicht:
Prüfen Sie: 1. Korrektes Token 2. Chat-ID ist korrekt 3. Internetverbindung 4. WebRequest-Einstellungen
Die Nachrichten werden nicht weitergeleitet:
Mögliche Ursachen: 1. API-Limit überschritten (30 Nachrichten/Minute) 2. Falsches HTML-Format in der Nachricht 3. Die Nachricht ist zu lang (>4096 Zeichen)
Beispiele für die Verwendung
Senden eines Kaufsignals
bot.SendTradeSignal(SIGNAL_BUY, "EURUSD", 1.1850, 1.1800, 1.1900);
Versenden eines Screenshots mit Kommentaren
string caption = "<b> Точка входа</b>\n"; caption += "Пара: EURUSD\n"; caption += "Тип: BUY\n"; caption += "Цена: 1.1850"; bot.SendChartScreenshot(caption);
Versenden des Kontostatus
bot.SendAccountStatus();
// Automatisches Senden von Saldo, Eigenkapital, Marge usw. Einrichten von täglichen Berichten
// Im OnTimer()-Ratgeber if(TimeHour(TimeCurrent()) == 23 && TimeMinute(TimeCurrent()) == 0) { bot.SendDailyReport(); }
Drawdown-Alarm
double drawdown = CalculateDrawdown(); // Ihre Berechnungsfunktion if(drawdown > 20.0) // Die Absenkung beträgt mehr als 20%. { bot.SendRiskAlert(drawdown); }
Struktur der Nachricht
Offene Position
[POSITION OPENED] ↑ ================ Ticket: #12345678 Symbol: EURUSD Type: BUY Volume: 0.10 Price: 1.18500 Time: 2024.01.15 10:30 ================
Position geschlossen
[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 ================
Täglicher Bericht
[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% ================
Übersetzt aus dem Russischen von MetaQuotes Ltd.
Originalpublikation: https://www.mql5.com/ru/code/63585
MT5 to Telegram Professional Library
Professionelle Telegram Bot Integrationsbibliothek für MetaTrader 5. Komplette Lösung zum Senden von Handelssignalen, Screenshots, Berichten und Echtzeit-Benachrichtigungen an Telegram-Kanäle und -Gruppen.
Arbitrage Triangle EURGBP-EURUSD-GBPUSD
Der EA identifiziert Diskrepanzen zwischen theoretischen und tatsächlichen Wechselkursen, um risikominimierte Handelsmöglichkeiten auszuführen.
TimeBar
Ein einfacher Informationsindikator, der die verbleibende Zeit bis zum Schließen des Balkens sowie die seit dem Öffnen des Balkens verstrichene Zeit und die aktuelle Zeit anzeigt.
Fraktale Dynamik
Modifikation des Standardindikators Fractal