Unisciti alla nostra fan page
Da MT5 a Telegram - Libreria di notifiche di trading professionale - libreria per MetaTrader 5
- Visualizzazioni:
- 136
- Valutazioni:
- Pubblicato:
-
Hai bisogno di un robot o indicatore basato su questo codice? Ordinalo su Freelance Vai a Freelance
Libreria professionale di integrazione Telegram Bot per MetaTrader 5. Una soluzione completa per l'invio di segnali di trading, screenshot, report e notifiche in tempo reale a canali e gruppi Telegram.
Caratteristiche principali
- 📨 Notifiche di trading in tempo reale - Avvisi istantanei su apertura/chiusura/modifica di posizioni
- 📸 S chermate dei grafici - Acquisizione automatica dei grafici con annotazioni
- 📊 Rapporti sul conto - Rapporti giornalieri, settimanali e mensili sulla performance
- ⚠️ Avvisi di gestione del rischio - Avvisi di drawdown, livello di margine e stop-out
- 🔄 S istema di accodamento dei messaggi - Consegna affidabile con meccanismo di ritentativo
- 👥 S upporto multi-canale - Invio a più chat/canali Telegram
- 📝 S istema di modelli - Modelli di messaggi personalizzabili
- 🎯 Limitazione intelligente della velocità - Previene il blocco delle API
Requisiti
- MetaTrader 5 versione 2375 o superiore
- Token Telegram Bot (ottenibile da @BotFather)
- ID della chat o del canale
- Connessione a Internet
Installazione
Passo 1: Creare un Bot Telegram
- Aprite Telegram e trovate @BotFather
- Inviate il comando /newbot
- Scegliete un nome per il vostro bot
- Selezionate il nome utente (deve terminare con 'bot')
- Salvare il token fornito da BotFather
Passo 2: Ottenere un ID di chat
- Aggiungere il bot a un gruppo/canale o avviare una chat privata
- Inviare un messaggio al bot
- Andare a: https://api.telegram.org/bot<YOUR_TOKEN>/getUpdates
- Trovare l'ID della chat nella risposta
Passo 3: Configurare MT5
- Aprire MT5 → Servizio → Impostazioni → Consulenti esperti
- Spuntare la casella "Consenti WebRequest per i seguenti URL".
- Aggiungere l'URL: https://api.telegram.org
- Fare clic su OK
Passo 4: Installare i file
- Copiate TelegramBot.mqh nella cartella MQL5/Include/.
- Copiate TelegramBot_Example.mq5 nella cartella MQL5/Experts/.
- Compilate entrambi i file
Avvio rapido
#include <TelegramBot.mqh> CTelegramBot bot; int OnInit() { // Inizializzazione del bot if(!bot.Initialize("TUO_TOKEN"., "IL TUO ID_CHAT")) { Print("Fallita l'inizializzazione del bot"); return INIT_FAILED; } // Invio di un messaggio di prova bot.SendMessage("Bot connesso con successo!"); // Inviare una schermata del grafico bot.SendChartScreenshot("Situazione attuale del mercato".); return INIT_SUCCEEDED; }
Riferimento API
Messaggi di base
bool SendMessage(string text); bool SendHTMLMessage(string text); bool SendMarkdownMessage(string text); bool SendMessageToAll(string text);
Segnali di trading
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);
File multimediali
bool SendPhoto(string file_path, string caption); bool SendDocument(string file_path, string caption); bool SendChartScreenshot(); bool SendChartScreenshot(string caption);
Rapporti
bool SendAccountStatus(); bool SendDailyReport(); bool SendWeeklyReport(); bool SendMonthlyReport();
Gestione del rischio
bool SendRiskAlert(double drawdown_percent); bool SendMarginWarning(double margin_level); bool SendStopOutWarning();
Esempio di Expert Advisor
Il pacchetto include un esempio completamente funzionale di Expert Advisor, che dimostra:
- Monitoraggio delle posizioni con notifiche
- Screenshot automatici in occasione di eventi di trading
- Aggiornamenti periodici sullo stato del conto
- Avvisi sulla gestione del rischio
- Rapporti giornalieri
- Segnali di trading demo
Formattazione dei messaggi
Formato HTML (consigliato)
string message = "<b> Жирный текст</b>\n"; message += "<i> Курсив</i>\n"; message += "<code> Моноширинный код</code>\n"; message += "<a href='http://example.com'> Ссылка</a>"; bot.SendHTMLMessage(message);
Formato Markdown
string message = "Testo in grassetto{\n}"; message += "Corsivo".; message += "Codice monospaziato".; message += "[Link](http://example.com)"; bot.SendMarkdownMessage(message);
Prestazioni
- Velocità dei messaggi: fino a 30 messaggi al minuto
- Limite di dimensione dei file: 50MB per file
- Lunghezza del messaggio: 4096 caratteri
- Lunghezza firma: 1024 caratteri
- Dimensione della coda: 100 messaggi
- Tempo medio di risposta: 50-200 ms
Gestione degli errori
La libreria include una complessa gestione degli errori:
- Controllo della connessione
- Protezione contro il superamento dei limiti
- Riproduzione automatica in caso di errore
- Sistema di accodamento per i messaggi falliti
- Registrazione dettagliata degli errori
Supporto
- Documentazione: la documentazione API completa è inclusa nel codice sorgente
- Esempio EA: esempio funzionante con tutte le funzionalità
- Modalità di debug: debug incorporato per la risoluzione dei problemi
Storia della versione
Versione 1.0.0 (2024)
- Prima versione
- Integrazione completa dell'API Telegram Bot
- Supporto per canali multipli
- Sistema di accodamento
- Motore di template
- Avvisi di gestione del rischio
Licenza
Questa libreria è fornita "così com'è" per l'utilizzo in MetaTrader 5. È gratuita per uso personale e commerciale.
Autore
Forex Trading Blueprint
(Stepan Sinic)
Esclusione di responsabilità
Questo software viene fornito "così com'è" senza alcun tipo di garanzia. Il trading comporta un rischio sostanziale di perdita e non è adatto a tutti gli investitori. Le performance passate non sono un indicatore dei risultati futuri.
Se trovate utile questa libreria, valutatela su MQL5 CodeBase!
Istruzioni dettagliate per la configurazione
Creare un bot in Telegram
-
Trovare BotFather
- Aprite Telegram
- Digitare @BotFather nella ricerca
- Premete INIZIO
-
Creare un nuovo bot
- Inviate il comando /newbot
- Inserire il nome del bot (per esempio: "My Trading Bot")
- Inserire il nome utente del bot (per esempio: my_trading_bot)
- Salvare il token del modulo: 123456789:ABCdefGHIjklMNOpqrsTUVwxyz
-
Configurare il bot
- Inviare /setprivacy e selezionare DISABLE (per lavorare in gruppo).
- Inviare /setjoingroups e selezionare ENABLE (per aggiungersi ai gruppi).
Ottenere un ID di chat
Per i messaggi privati:
- Avviare un dialogo con il bot
- Inviare un messaggio qualsiasi
- Aprire il browser: https://api.telegram.org/bot<TOKEN>/getUpdates
- Trovare "chat":{"id":123456789} - questo è il vostro ID di chat.
Per un gruppo:
- Aggiungere il bot a un gruppo
- Inviare un messaggio nel gruppo
- Aprire un browser: https://api.telegram.org/bot<TOKEN>/getUpdates
- Trovare "chat":{"id":-123456789} è un numero negativo per i gruppi
Per il canale:
- Aggiungere un bot come amministratore del canale
- Inviare un messaggio al canale
- Oppure utilizzare @username del canale come ID chat
Soluzione di problemi frequenti
Errore WebRequest:
Soluzione: 1. Strumenti → Impostazioni → Consulenti 2. Consenti WebRequest per i seguenti URL ✓ Consenti WebRequest per i seguenti URL. Aggiungere: https://api.telegram.org 4. Riavviare MT5
Il bot non risponde:
Controllare: 1. Token corretto 2. ID chat corretto L'ID della chat è corretto 3. Connessione a Internet 4. Impostazioni di WebRequest
I messaggi non arrivano:
Possibili cause: 1. Limite API superato (30 messaggi/minuto) 2. Formato HTML non corretto nel messaggio Formato HTML non corretto nel messaggio 3. Messaggio troppo lungo (>4096 caratteri)
Esempi di utilizzo
Invio di un segnale di acquisto
bot.SendTradeSignal(SIGNAL_BUY, "EURUSD", 1.1850, 1.1800, 1.1900);
Invio di una schermata con annotazione
string caption = "<b> Точка входа</b>\n"; caption += "Пара: EURUSD\n"; caption += "Тип: BUY\n"; caption += "Цена: 1.1850"; bot.SendChartScreenshot(caption);
Invio dello stato del conto
bot.SendAccountStatus();
// Invio automatico di saldo, capitale, margine, ecc. Impostazione di report giornalieri
// Nel consulente OnTimer() if(TimeHour(TimeCurrent()) == 23 && TimeMinute(TimeCurrent()) == 0) { bot.SendDailyReport(); }
Avviso di drawdown
double drawdown = CalculateDrawdown(); // La vostra funzione di calcolo if(drawdown > 20.0) // Il drawdown è superiore al 20% { bot.SendRiskAlert(drawdown); }
Struttura dei messaggi
Posizione aperta
[POSITION OPENED] ↑ ================ Ticket: #12345678 Symbol: EURUSD Type: BUY Volume: 0.10 Price: 1.18500 Time: 2024.01.15 10:30 ================
Posizione chiusa
[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 ================
Rapporto giornaliero
[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% ================
Tradotto dal russo da MetaQuotes Ltd.
Codice originale https://www.mql5.com/ru/code/63585
MT5 to Telegram Professional Library
Libreria di integrazione Telegram Bot professionale per MetaTrader 5. Soluzione completa per l'invio di segnali di trading, screenshot, report e notifiche in tempo reale a canali e gruppi Telegram.
IncCMOOnArray
La classe CMOOnArray è progettata per calcolare i valori dell'indicatore CMO (Chande Momentum Oscillator) per buffer di indicatori. L'indicatore Test_CMOOnArray è allegato come esempio di utilizzo della classe.
IncSAROnArray
La classe CSAROnArray è progettata per calcolare i valori dell'indicatore SAR (Parabolic SAR) tramite buffer di indicatori. L'indicatore Test_SAROnArray è allegato come esempio di utilizzo della classe.
Segnale_HTF_Laguerre
L'indicatore Laguerre_HTF_Signal visualizza la direzione del trend o il segnale per un'operazione dell'indicatore Laguerre sotto forma di oggetto grafico con un'indicazione colorata del trend o della direzione dell'operazione.