Last active
February 28, 2024 18:13
-
-
Save stevenengland/19feba9b66424e05a8d595f882d41fb9 to your computer and use it in GitHub Desktop.
Sample implementation: How to send trading signals from Metatrader to Telegram channel/group/private chat with Telegram4MQL
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//+------------------------------------------------------------------+ | |
//| Signal2Channel.mq4 | | |
//| steven england | | |
//| https://Telegram4MQL.steven-england.info | | |
//+------------------------------------------------------------------+ | |
//+------------------------------------------------------------------+ | |
//| !!! Please note that there is a successor project. !!! | | |
//| Visit https://mmm.steven-england.info or | | |
//| https://github.com/stevenengland/MMM for more information | | |
//+------------------------------------------------------------------+ | |
#property copyright "steven england" | |
#property link "https://Telegram4MQL.steven-england.info" | |
#property version "1.00" | |
#import "Telegram4Mql.dll" | |
string TelegramSendTextAsync(string ApiKey, string ChatId, string ChatText); | |
string TelegramSendText(string ApiKey, string ChatId, string ChatText); | |
#import | |
//+------------------------------------------------------------------+ | |
//| | | |
//+------------------------------------------------------------------+ | |
void OnInit() | |
{ | |
sample(); | |
} | |
void sample() // this entry point is only for testing | |
{ | |
// Your config parameters here | |
// The api key of your telegram bot: | |
string apikey = "<YOUR API KEY>"; | |
// The chat ID of your channel you want to post to: | |
string chatid = "<YOUR CHAT ID>"; | |
/* Your incredible Expert Advisor logic here | |
... | |
Some (not meaningful) example values: | |
*/ | |
int cmd = OP_SELL; // operation | |
double volume = 0.1; // volume | |
double price = 0.1; // price | |
int slippage = 1; // slippage | |
double stoploss = 0.1; // stop loss | |
double takeprofit = 0.1; // take profit | |
string comment = "a comment";// comment | |
int magic = 0; // magic number | |
datetime expiration = 0; // pending order expiration | |
color arrow_color = clrRed; // color | |
// Ready to send an order | |
string text2send = ""; | |
int ordersend = OrderSend(Symbol(), cmd, volume, price, slippage, stoploss, takeprofit, comment, magic, expiration, arrow_color); | |
if(ordersend < 0) | |
{ | |
HandleSendError(GetLastError()); // implement this custom functon on your own. | |
return; | |
} | |
// Describe your order for the others | |
if(OrderSelect(ordersend, SELECT_BY_TICKET, MODE_TRADES) == true) | |
{ | |
text2send = "MyIncredibleSignal\n" + | |
"Symbol: " + Symbol() + "\n" + | |
"Type: " + OrderType() + "\n" + | |
"Open Time: " + OrderOpenTime() + "\n" + | |
"Open Price: " + OrderOpenPrice() + "\n"; | |
// | |
} | |
else | |
{ | |
HandleSelectError(GetLastError()); // implement this custom functon on your own. | |
return; | |
} | |
// Send a text message to a channel either blocking or non blocking | |
// Non blocking if Expert Advisor must immediatly return -> you cannot say if the message was really sent | |
TelegramSendTextAsync(apikey, chatid, text2send); | |
// Blocking if your Expert Advisor must not immediatly return -> you can check if sending was successful | |
string telegramresult = TelegramSendText(apikey, chatid, text2send); | |
if (telegramresult != "0") | |
{ | |
HandleTelegramError(telegramresult); // implement this custom functon on your own. | |
} | |
} |
hi, can you create a robot that sends charts to telegram channel?
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I don't know anything about coding, but I did a EA on FXdreema that send me notification of bolinger and EMA direct to my mt4 terminal on my cellphone.
Now I like send that already done EA to send that notification to a TElegram channel , but im trying all a see but somehow nothing work, I have my channel and my bot is the adm. and I did a test on the web browser to send direct message to the channel and it did perfect, but no signal or notification has send from mt4 to telegram.
what I can do ? or is a video tutorial that I can learn ?