MT5 to Telegram Professional Library - MetaTrader 5 için kütüphane
Temel Özellikler
- 📨 Gerçek Zamanlı Alım Satım Bildirimleri - Pozisyon açma/kapama/değiştirme için anlık uyarılar
- 📸 Grafik Ekran Görüntüleri - Ek açıklamalı otomatik grafik yakalama
- 📊 Hesap Raporları - Günlük, haftalık ve aylık performans raporları
- ⚠️ Risk Yönetimi Uyarıları - Düşüş, marj seviyesi ve stop-out uyarıları
- 🔄 Mesaj Kuyruk Sistemi - Yeniden deneme mekanizması ile güvenilir teslimat
- 👥 Çoklu Kanal Desteği - Birden fazla Telegram sohbetine/kanalına yayın yapın
- 📝 Şablon Sistemi - Özelleştirilebilir mesaj şablonları
- 🎯 Akıllı Hız Sınırlama - API kısıtlamasını önler
Gereksinimler
- MetaTrader 5 yapı 2375 veya üstü
- Telegram Bot Token (@BotFather'dan edinin)
- Sohbet Kimliği veya Kanal Kimliği
- İnternet bağlantısı
Kurulum
Adım 1: Telegram Botu Oluşturun
- Telegram'ı açın ve @BotFather'ı arayın
- Newbot komutunu gönder
- Botunuz için bir isim seçin
- Bir kullanıcı adı seçin ('bot' ile bitmelidir)
- BotFather tarafından sağlanan belirteci kaydedin
Adım 2: Sohbet Kimliği Alın
- Botunuzu bir gruba/kanala ekleyin veya özel sohbet başlatın
- Bot'a herhangi bir mesaj gönderin
- Ziyaret edin: https://api.telegram.org/bot<YOUR_TOKEN>/getUpdates
- Yanıtta sohbet kimliğini bulun
Adım 3: MT5'i Yapılandırın
- MT5 → Araçlar → Seçenekler → Uzman Danışmanlar'ı açın
- "Listelenen URL için WebRequest'e İzin Ver" seçeneğini işaretleyin
- URL ekle: https://api.telegram.org
- Tamam'a tıklayın
Adım 4: Dosyaları Yükleyin
- TelegramBot.mqh dosyasını MQL5/Include/ dosyasına kopyalayın
- TelegramBot_Example.mq5 dosyasını MQL5/Experts/ dosyasına kopyalayın
- Her iki dosyayı da derleyin
Hızlı Başlangıç
#include <TelegramBot.mqh> CTelegramBot bot; int OnInit() { // Botu başlat if(!bot.Initialize("YOUR_TOKEN", "YOUR_CHAT_ID")) { Print("Failed to initialize bot"); return INIT_FAILED; } // Test mesajı gönder bot.SendMessage("Bot connected successfully!"); // Grafik ekran görüntüsü gönder bot.SendChartScreenshot("Current market situation"); return INIT_SUCCEEDED; }
API Referansı
Temel Mesajlaşma
bool SendMessage(string text); bool SendHTMLMessage(string text); bool SendMarkdownMessage(string text); bool SendMessageToAll(string text);
Ticaret Sinyalleri
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);
Medya
bool SendPhoto(string file_path, string caption); bool SendDocument(string file_path, string caption); bool SendChartScreenshot(); bool SendChartScreenshot(string caption);
Raporlar
bool SendAccountStatus(); bool SendDailyReport(); bool SendWeeklyReport(); bool SendMonthlyReport();
Risk Yönetimi
bool SendRiskAlert(double drawdown_percent); bool SendMarginWarning(double margin_level); bool SendStopOutWarning();
Örnek Uzman Danışman
Paket, gösteren tamamen işlevsel bir örnek EA içerir:
- Bildirimlerle pozisyon izleme
- Ticari etkinliklerde otomatik ekran görüntüleri
- Periyodik hesap durumu güncellemeleri
- Risk yönetimi uyarıları
- Günlük raporlar
- Demo ticaret sinyalleri
Mesaj Biçimlendirme
HTML Formatı (Önerilen)
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);
Markdown Biçimi
string message = "*Bold text*\n"; message += "_Italic text_\n"; message += "`Fixed-width code`\n"; message += "[Link](http://example.com)"; bot.SendMarkdownMessage(message);
Performans
- Mesaj Hızı: Dakikada 30 mesaja kadar
- Dosya Boyutu Sınırı: Dosya başına 50MB
- Mesaj Uzunluğu: 4096 karakter
- Başlık Uzunluğu: 1024 karakter
- Kuyruk Boyutu: 100 mesaj
- Ortalama Tepki Süresi: 50-200ms
Hata İşleme
Kütüphane kapsamlı hata işleme içerir:
- Bağlantı doğrulama
- Hız sınırlama koruması
- Arıza durumunda otomatik yeniden deneme
- Başarısız mesajlar için kuyruk sistemi
- Detaylı hata kaydı
Destek
- Dokümantasyon: Kaynakta bulunan tam API belgeleri
- Örnek EA: Tüm özellikleri içeren çalışma örneği
- Hata Ayıklama Modu: Sorun giderme için yerleşik hata ayıklama
Sürüm Geçmişi
Sürüm 1.0.0 (2024)
- İlk sürüm
- Tam Telegram Bot API entegrasyonu
- Çoklu kanal desteği
- Kuyruk sistemi
- Şablon motoru
- Risk yönetimi uyarıları
Lisans
Bu kütüphane MetaTrader 5'te kullanım için olduğu gibi sağlanmıştır. Kişisel ve ticari kullanım için ücretsiz.
Yazar
Financial Blueprint
Profesyonel Ticaret Çözümleri
Sorumluluk Reddi
Bu yazılım herhangi bir garanti olmaksızın "olduğu gibi" sağlanmaktadır. Alım satım önemli ölçüde kayıp riski içerir ve tüm yatırımcılar için uygun değildir. Geçmiş performans gelecekteki sonuçların göstergesi değildir.
Bu kütüphaneyi faydalı bulursanız, lütfen MQL5 CodeBase'de değerlendirin!
Detaylı Kurulum Talimatları
Telegram Botu Oluşturma
-
BotFather'ı bulun
- Telegram'ı Aç
- BotFather için ara
- BAŞLAT'a basın
-
Yeni Bot Oluştur
- Newbot komutunu gönder
- Bot adını girin (örneğin, "Ticaret Botum")
- Bot kullanıcı adını girin (örneğin, my_trading_bot)
- Belirteci şu şekilde kaydedin: 123456789:ABCdefGHIjklMNOpqrsTUVwxyz
-
Botu Yapılandır
- /setprivacy gönderin ve DEVRE DIŞI bırak seçeneğini seçin (grup işlevselliği için)
- /setjoingroups öğesini gönderin ve ENABLE (gruplara eklemek için) öğesini seçin
Sohbet Kimliği Alma
Özel Mesajlar için:
- Botunuzla sohbet başlatın
- Herhangi bir mesaj gönderin
- Tarayıcıda açın: https://api.telegram.org/bot<TOKEN>/getUpdates
- "Sohbet":{"id":123456789} bulun - bu sizin Sohbet Kimliğiniz
Gruplar için:
- Gruba bot ekleme
- Grup içinde mesaj gönder
- Tarayıcıda açın: https://api.telegram.org/bot<TOKEN>/getUpdates
- "Sohbet":{"id":-123456789} bulun - gruplar için negatif sayı
Kanallar için:
- Botu kanal yöneticisi olarak ekleme
- Kanala mesaj gönder
- Veya Sohbet Kimliği olarak @channelname kullanın
Sık Karşılaşılan Sorunların Giderilmesi
WebRequest Hatası:
Çözüm: 1. Araçlar → Seçenekler → Uzman Danışmanlar 2. Listelenen URL için WebRequest'e İzin Ver 3. Ekle: https://api.telegram.org 4. MT5'i yeniden başlatın
Bot Yanıt Vermiyor:
Kontrol edin: 1. Token doğruluğu 2. Sohbet Kimliği doğruluğu 3. İnternet bağlantısı 4. WebRequest ayarları
Mesajlar Teslim Edilmedi:
Olası nedenler: 1. API sınırı aşıldı (30 mesaj/dakika) 2. Mesajda geçersiz HTML biçimi 3. Mesaj çok uzun (>96 karakter) Mesaj çok uzun (>4096 karakter)
Kullanım Örnekleri
Satın Alma Sinyali Gönder
bot.SendTradeSignal(SIGNAL_BUY, "EURUSD", 1.1850, 1.1800, 1.1900);
Ekran Görüntüsünü Ek Açıklamayla Gönderme
string caption = "<b> Entry Point</b>\n"; caption += "Pair: EURUSD\n"; caption += "Type: BUY\n"; caption += "Price: 1.1850"; bot.SendChartScreenshot(caption);
Hesap Durumunu Gönder
bot.SendAccountStatus(); // Otomatik olarak bakiye, öz sermaye, marj vb. gönderir. Günlük Raporları Kurun
// EA'nın OnTimer() işlevinde if(TimeHour(TimeCurrent()) == 23 && TimeMinute(TimeCurrent()) == 0) { bot.SendDailyReport(); }
Düşüş Uyarısı
double drawdown = CalculateDrawdown(); // Hesaplama işleviniz if(drawdown > 20.0) // %20'den fazla düşüş { bot.SendRiskAlert(drawdown); }
Mesaj Yapısı
[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% ================
MetaQuotes Ltd tarafından İngilizceden çevrilmiştir.
Orijinal kod: https://www.mql5.com/en/code/63587