Unisciti alla nostra fan page
- Visualizzazioni:
- 53
- Valutazioni:
- Pubblicato:
-
Hai bisogno di un robot o indicatore basato su questo codice? Ordinalo su Freelance Vai a Freelance
Caratteristiche principali
- 📨 Notifiche di trading in tempo reale - Avvisi istantanei di apertura/chiusura/modifica della posizione
- 📸 S creenshot dei grafici - Cattura automatica dei grafici con annotazioni
- 📊 Rapporti sul conto - Rapporti sulla performance giornalieri, settimanali e mensili
- ⚠️ Avvisi sulla gestione del rischio - Avvisi di drawdown, livello di margine e stop-out
- 🔄 S istema di coda dei messaggi - Consegna affidabile con meccanismo di ritentativo
- 👥 S upporto multi-canale - Trasmissione a più chat/canali di Telegram
- 📝 S istema di modelli - Modelli di messaggio personalizzabili
- 🎯 Limitazione intelligente della velocità - Previene il throttling delle API
Requisiti
- MetaTrader 5 build 2375 o superiore
- Gettone Telegram Bot (ottenuto da @BotFather)
- ID chat o ID canale
- Connessione a Internet
Installazione
Passo 1: Creare il Bot Telegram
- Aprite Telegram e cercate @BotFather
- Inviate il comando /newbot
- Scegliete un nome per il vostro bot
- Scegliere un nome utente (deve finire con 'bot')
- Salvare il token fornito da BotFather
Passo 2: Ottenere l'ID della chat
- Aggiungete il vostro bot a un gruppo/canale o avviate una chat privata
- Inviare qualsiasi messaggio al bot
- Visitare: https://api.telegram.org/bot<YOUR_TOKEN>/getUpdates
- Trovare l'ID della chat nella risposta
Passo 3: Configurare MT5
- Aprire MT5 → Strumenti → Opzioni → Consulenti esperti
- Spuntare "Consenti WebRequest per l'URL elencato".
- Aggiungere l'URL: https://api.telegram.org
- Fare clic su OK
Passo 4: Installare i file
- Copiate TelegramBot.mqh in MQL5/Include/
- Copiare TelegramBot_Example.mq5 in MQL5/Experts/
- Compilate entrambi i file
Avvio rapido
#include <TelegramBot.mqh> CTelegramBot bot; int OnInit() { // Inizializza il bot if(!bot.Initialize("YOUR_TOKEN", "YOUR_CHAT_ID")) { Print("Failed to initialize bot"); return INIT_FAILED; } // Inviare un messaggio di prova bot.SendMessage("Bot connected successfully!"); // Inviare la schermata del grafico bot.SendChartScreenshot("Current market situation"); return INIT_SUCCEEDED; }
Riferimento alle API
Messaggistica 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);
Media
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 di EA completamente funzionale che dimostra:
- Monitoraggio delle posizioni con notifiche
- Screenshot automatici su 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> 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);
Formato Markdown
string message = "*Bold text*\n"; message += "_Italic text_\n"; message += "`Fixed-width code`\n"; message += "[Link](http://example.com)"; bot.SendMarkdownMessage(message);
Prestazioni
- Velocità dei messaggi: Fino a 30 messaggi al minuto
- Limite di dimensione dei file: 50 MB per file
- Lunghezza messaggio: 4096 caratteri
- Lunghezza didascalia: 1024 caratteri
- Dimensione coda: 100 messaggi
- Tempo medio di risposta: 50-200 ms
Gestione degli errori
La libreria include una gestione completa degli errori:
- Convalida della connessione
- Protezione dalla limitazione della velocità
- Riproduzione automatica in caso di errore
- Sistema di coda per i messaggi falliti
- Registrazione dettagliata degli errori
Supporto
- Documentazione: Documentazione API completa inclusa nel 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)
- Rilascio iniziale
- Integrazione completa dell'API di Telegram Bot
- Supporto multicanale
- Sistema di coda
- Motore di modelli
- Avvisi di gestione del rischio
Licenza
Questa libreria viene fornita così com'è per l'utilizzo in MetaTrader 5. È libera per uso personale e commerciale.
Autore
Financial Blueprint
Soluzioni di trading professionale
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 indicative dei risultati futuri.
Se trovate utile questa libreria, valutatela su MQL5 CodeBase!
Istruzioni dettagliate per l'installazione
Creare un Bot Telegram
-
Trovare BotFather
- Aprire Telegram
- Cercare @BotFather
- Premere INIZIO
-
Crea un nuovo Bot
- Inviare il comando /newbot
- Inserire il nome del bot (ad esempio, "My Trading Bot")
- Inserire il nome utente del bot (ad es., my_trading_bot)
- Salvare il token come segue: 123456789:ABCdefGHIjklMNOpqrsTUVwxyz
-
Configurare il bot
- Inviare /setprivacy e selezionare DISABLE (per la funzionalità dei gruppi).
- Inviare /setjoingroups e selezionare ENABLE (per aggiungere ai gruppi).
Ottenere l'ID della chat
Per i messaggi privati:
- Avviare la conversazione con il bot
- Inviare qualsiasi messaggio
- Aprire il browser: https://api.telegram.org/bot<TOKEN>/getUpdates
- Trovare "chat":{"id":123456789} - questo è l'ID della chat
Per i gruppi:
- Aggiungere il bot al gruppo
- Inviare un messaggio nel gruppo
- Aprire il browser: https://api.telegram.org/bot<TOKEN>/getUpdates
- Trova "chat":{"id":-123456789} - numero negativo per i gruppi
Per i canali:
- Aggiungere il bot come amministratore del canale
- Inviare un messaggio al canale
- Oppure utilizzare @channelname come ID chat
Risoluzione dei problemi comuni
Errore WebRequest:
Soluzione: 1. Strumenti → Opzioni → Expert Advisors 2. ✓ Consenti WebRequest per gli URL elencati. Aggiungere: https://api.telegram.org 4. Riavviare MT5
Il bot non risponde:
Controllare: 1. Correttezza del token 2. Correttezza dell'ID della chat Correttezza dell'ID della chat 3. Connessione a Internet 4. Impostazioni di WebRequest
Messaggi non consegnati:
Possibili cause: 1. Limite API superato (30 messaggi/minuto) 2. Formato HTML non valido nel messaggio 3. Messaggio troppo lungo (>4096 caratteri). 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> Entry Point</b>\n"; caption += "Pair: EURUSD\n"; caption += "Type: BUY\n"; caption += "Price: 1.1850"; bot.SendChartScreenshot(caption);
Invio dello stato del conto
bot.SendAccountStatus();
// Invio automatico di saldo, capitale, margine, ecc. Impostazione dei rapporti giornalieri
// In OnTimer() dell'EA if(TimeHour(TimeCurrent()) == 23 && TimeMinute(TimeCurrent()) == 0) { bot.SendDailyReport(); }
Allarme di drawdown
double drawdown = CalculateDrawdown(); // La vostra funzione di calcolo if(drawdown > 20.0) // Drawdown superiore al 20% { bot.SendRiskAlert(drawdown); }
Struttura del messaggio
[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%
================
Tradotto dall’inglese da MetaQuotes Ltd.
Codice originale https://www.mql5.com/en/code/63587
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.
Segnale XMACD_HTF
L'indicatore XMACD_HTF_Signal visualizza le direzioni di tendenza delle ultime tre barre dell'indicatore XMACD come tre oggetti grafici.
Da MT5 a Telegram - Libreria di notifiche di trading professionale
Integrazione completa di Telegram per MT5. Invia segnali di trading, screenshot, report e avvisi ai canali Telegram. Include un sistema di code, supporto multicanale e gestione del rischio.
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.