![Ultimate MT4/MT5 to Telegram: Detailed Instructions, Features, Variables and Inputs Ultimate MT4/MT5 to Telegram: Detailed Instructions, Features, Variables and Inputs](https://c.mql5.com/6/899/splash-746415-1639517113.png)
Ultimate MT4/MT5 to Telegram: Detailed Instructions, Features, Variables and Inputs
![BLAKE STEVEN RODGER BLAKE STEVEN RODGER](https://c.mql5.com/avatar/2020/7/5F0659A6-7FDB.png)
A beautiful panel allows you to visualize all the controlled open trades in useful trade information columns, along with a complete log, and ability to generate any type of report.
To test our public channel version, which is free and doesn't need any telegram setup to see what the program can do, check out Ultimate MT4 to Telegram Public Channel or Ultimate MT5 to Telegram Public Channel
Or
- Download Ultimate MT4 to Telegram (15-day trial version): here.
- Download Ultimate MT5 to Telegram (15-day trial version): here.
Setup Instructions:
Instructions | Images |
---|---|
1. Open your Telegram APP and search for "BotFather" | ![]() |
2. Type /start and click/type /newbot to create a new bot | ![]() |
3. Give your bot a nickname and username (e.g., nickname: Bestsignal333 and username: Bestsignal333bot <-- username has to be ended by 'bot'). Congraduations! You have created your Telegram bot | ![]() |
4. Save your bot API token (e.g. 2080412866:AAGOJs_CN_ooCJ9U-7GBKe41951CRSlR0Fc) | ![]() |
5. If you don't have it already, create the channel or group to where you will be sending your signals and reports | ![]() ![]() |
6. Open the channel/group Info, then Manage, Add Administrators, type the bot username, and click Save | ![]() ![]() ![]() |
Images | |
---|---|
7. In MT4, go to options/"Expert Advisors" and add the URL: https://api.telegram.org | ![]() ![]() |
8. Add the EA to chart & at configuration paste the Telegram API Token (e.g.,2080412866:AAGOJs_CN_ooCJ9U-7GBKe41951CRSlR0Fc) * After pasting the number, make sure you press OK on the screen before continuing on to step 9. | ![]() |
9. Go to the telegram channel and write /ID and send; if everything is ok, you should receive an answer with the Channel ID (a number, for example: -1001791478326) Copy that number. | ![]() |
10. In MT4/MT5, click on smiley face of EA, and paste the ID in the EA parameter, "List of Telegram Channel ID". Press OK. | ![]() |
You have to log into the web version of telegram and find your channel, and in the we address you can see your ID, as you can see in the example below:
Controlled Orders Panel
![UMT_Panel UMT_Panel](https://c.mql5.com/6/899/UMT-Panel_960x720.png)
- Global Settings Info — Visualize ID, global settings, and filters.
- Open Trade Info — Visualize Ticket Number, Symbol, Type (Buy/Sell), Size, Open Price, Open Time, SL Price, SL Time, TP Price, TP Time, Profits, Pips, Spread, Magic, Comment. Good to see here in order to know which trades you have under UMT control and how they are doing at a glance.
-
Trade Report Generation — Click on any of these buttons to generate trade reports for Open Trades, Today/Yesterday’s Report, Weekly and Monthly Reports.
-
Trade Log — Running log of the actions of the controlled trades (new Orders, modifications, closes, etc)
Parameters
General Options:
- *** Add this URL for webrequest — This is related to step 8 above. Go to options/"Expert Advisors" and add the URL: https://api.telegram.org
- Telegram API Token (bot) — for token ID (step 5 above)
- List of Telegram Channel ID — for channel ID (step 14 above)
- Telegram User — telegram username without @ (e.g., BestSignal333bot). If set, the EA answers only to commands by this user.
- Id — Allows multiple instances of UMT to run on different charts. For example, perhaps you want to run two different signal services. BestSignalA filters for magic 12345 and 67891 and BestSignalB filters for magic 38473 and 87646. You can then run one instance of UTM with ID=SignalServiceA with Filter Magic Number = 12345,67891 on one chart, and run another instance of UTM with ID=SignalServiceB with Filter Magic Number = 38473,87646 on another chart.
- Send Pending Order After Executed (true/false) — If true, you can send pending orders to telegram; if false, pending orders will not be sent. Default=true.
Symbol Name Options:
![UMT_SymbolNameOptions UMT_SymbolNameOptions](https://c.mql5.com/6/899/markuphero-cU7RcT5KQDNvbrIpWhqM.png)
- Remove Prefix (x characters) — You can remove the prefix from the symbol by indicating the amount of characters for the prefix. For example, if the symbol that you are wanting to send to telegram has a prefix of f.EURUSD, then if you indicate Remove prefix (x characters) = 2, you effectively remove (f.) in order to represent the symbol you sent out to telegram as EURUSD.
- Remove Suffix (x characters) — You can remove the suffix from the symbol by indicating the amount of characters for the prefix. For example, if the symbol that you are wanting to send to telegram a suffix of EURUSD.fx, then if you indicate Remove suffix (x characters) = 3, you effectively remove (.fx) in order to represent the symbol you sent out to telegram as EURUSD.
- Symbol Matching/Pairing — Here you can match the pair that is in your marketwatch with the pair you want to send out to telegram. For example, if the symobl that you are wanting to send to telegram is US_500, but then you suspect that most of your users are trading with the symbol of US500, then you can indicate Symbol Matching/Pairing=US_500=US500, and the US_500 symbol will be translated as US500 in telegram.
SL/TP Options:
- Default StopLoss Pips — Allows you to set up a default stop loss in pips, if the trade doesn't already have it.
- Default TakeProfit Pips — Allows you to set up a default take profit in pips, if the trade doesn't already have it.
Lot Options:
![UMT_LotOptions UMT_LotOptions](https://c.mql5.com/6/899/markuphero-kSViW9DRgh0O6aKrQ7Be.png)
- Lot Calculation — (dropdown: Original, Fixed, Multiplier)
- Lot Fixed — if Fixed, then put in custom lot size here (e.g., 0.01)
- Lot Multiplier — if Multiplier, then put in multiplier here (e.g., 1 is the original lot size, 2 is double, etc)
Message Specifications:
Allows you to indicate all the custom message specifications & variables* for the Order Open, Modify, Close in profit (lose) and partial close.
- {Ticket}
- {BuySell}
- {Symbol}
- {OrderLots}
- {OpenPrice}
- {TakeProfit}
- {StopLoss}
- {ClosingPrice}
- {ClosedLots}
- {Profit}
- {Pips}
- {Swap}
- {Commission}
- {Comment}
- {Magic}
- {br} — this code is for adding a linebreak
![UMT_NewOrder UMT_NewOrder](https://c.mql5.com/6/899/markuphero-ejrRWrJRW95YJFY4IP7K.png)
![UMT_OrderModify UMT_OrderModify](https://c.mql5.com/6/899/markuphero-nGN5yfcRyoDDOdKkG1OJ.png)
![UTS_OrderCloseProfit UTS_OrderCloseProfit](https://c.mql5.com/6/899/markuphero-GOlobIeicNu8n0vP4Glz.png)
note: {U+1F4B0} is the symbol for money bag, and it needed to be placed 3 times within parenthesis to represent the 3 money bags.
![UMT_OrderCloseLoss UMT_OrderCloseLoss](https://c.mql5.com/6/899/markuphero-iDzOa5H9RQcqn0w9AqqJ.png)
![UMT_PartialCloseOrder UMT_PartialCloseOrder](https://c.mql5.com/6/899/markuphero-KnuhSK5jOxNewHTSxl1X.png)
Report Specifications:
![]() | ![]() |
---|
Alows you to indicate all the custom report specifications & variables* for Open Trades, Today/Yesterday’s Report, Week and Month Report.
Trade Report Variables:
- {StartDate}
- {EndDate}
- {Profit}
- {Pips}
- {TotPft}
- {TotPip}
- {br} — this code is for adding a linebreak
- Open Trades Header — Open trades:*{br}
- Open Trades Detail — {Ticket}|{Symbol}|{BuySell}|{OrderLots}|Open @ {OpenPrice}|SL @{StopLoss}|TP {TakeProfit}|Magic:{Magic}
- Open Trades Footer — {br}{U+1F4B8}
would look like this in telegram:
![UMT_OpenTrades UMT_OpenTrades](https://c.mql5.com/6/899/markuphero-oEWWoQJkPHUW33zFps0z.png)
Today's / Yesterday's Report:
- Today's /Yesterday's Report Header — *Day Report {StartDate}*{br}
- Today's /Yesterday's Report Detail — *{Symbol}* Profit:{Profit}|Pips:{Pips}
- Today's / Yesterday's Report Footer — {br}Total Profit: {TotPft}, Total Pips: {TotPip} {U+1F4B8}
would look like this in telegram [for Today's Report]:
Week's Report
- Week's Report Header — *Week Report {StartDate} - {EndDate}*{br}
- Week's Report Detail — *{Symbol}* Profit:{Profit} Pips:{Pips}
- Week's Report Footer — {br}Total Profit: {TotPft}, Total Pips: {TotPip} {U+1F4B8}
would look like this in telegram [for last Week's Report]:
Month's Report
- Month's Report Header — *Month Report {StartDate} - {EndDate}*{br}
- Month's Report Detail — *{Symbol}* Profit:{Profit} Pips:{Pips}
- Month's Report Footer — {br}Total Profit: {TotPft}, Total Pips: {TotPip} {U+1F4B8}
would look like this in telegram [for last Month's Report]:
Chart Screenshot:
Allows you to indicate if screenshots will be sent at open, modify, or close; at what width and height in pixels; what chart background image will be included; and what symbols, comments, magic, timeframe, and template will be tagged with these screenshots.
If Send Chart at Open = true, then this is the telegram message you would see:
Chart Background Image (*bmp)(in folder MQL4\Images) — allows you to add an image to your background chart. For example, suppose I put my logo, AlgoSam50.bmp (dimensions, 50x50) into the MQL4\Images folder; then I would have to indicate Chart Background Image = AlgoSam50.bmp. And the resulting image would be thus:
Specification Symb|Magic|TF|Template - *|*|*|H1|Default.
Here you have 5 slots to specify the symbol | magic | timeframe | template configuration for the screenshot. The * indicates that it will pick up the default element for that particular slot. For example, * in the symbol slot means that it presents default the symbol that was opened.
Show/Hide Columns:
For example, this is a what a fully shown panel (all columns present):
![UMT_FullyShown UMT_FullyShown](https://c.mql5.com/6/899/markuphero-fnBwYbqBXJLTcGyg0BOV.png)
![UMT_HiddenColumns UMT_HiddenColumns](https://c.mql5.com/6/899/markuphero-Hb5gL0wzO5l6dQiff6TG.png)
Filters:
- Symbol Filter. Allows you to include (exclude) an unlimited symbols or parts of them.
- Filter Symbol Condition — Dropdown menu: None, Equal, Not Equal, Contain, Not Contain. Default=Equal.
- Filter Symbol Values — In this text box, you can indicate an unlimited number of symbols or parts of them, separated by commas. If you indicate Symbol equals GBPJPY, EURJPY,AUDJPY you will control only GBPJPY, EURJPY,AUDJPY open trades. If you indicate Symbol not equals USDCHF, you will ignore all USDCHF symbols. If you indicate Symbol contains USD,JPY you will control all USD and JPY based symbols like EURUSD or USDJPY. If you indicate symbol not contains CHF, GBP you will exclude all CHF and GBP based trades like USDCHF and GBPUSD. Default=Current. With Filter Symbol Condition = Equal and Filter Symbol value = Current as the default, it means that out of the box UTS controls only the symbol that UTS is applied to, but of course it can do a whole lot more.
- Magic Number Filter. Allows you to include (exclude) unlimited magic numbers or parts of them.
- Filter Magic Condition — Dropdown menu: None, Equal, Not Equal, Contain, Not Contain.
- Filter Magic Values — In this text box, you can indicate an unlimited number of magic numbers or parts of them, separated by commas. If you indicate Magic Number equals 1245,1388, you will control the open trades that have these exact magic numbers. If you indicate Magic not equals 4847, you will ignore all open trades with this magic number. If you indicate magic contains 45, you will control trades which have 45 in their magic number. If you indicate Magic not contains 45, you will exclude all trades which have 45 in their magic number.
- Comment Filter. Allows you to include (exclude) unlimited comment or parts of them.
- Filter Comment Condition — Dropdown menu: None, Equal, Not Equal, Contain, Not Contain.
- Filter Comment Values — In this text box, you can indicate an unlimited number of comments or their parts, separate by comma. If you indicate Comment equals WallstreetEA, you will control the open trades that has this comment. If you indicate Comment not equals MillionDollarPips, you will ignore all open trades with this comment. If you indicate Comment contains Wall, Million, you will control trades which have have these parts in the comment. If you indicate Comment not contains Wall, you will exclude all trades which have this part in their comment.
- Max Grid Lines — sets the maximum number of trade rows one can see at once on panel. Default=10, or 10 rows. If set to 25, then you can see up to 25 rows of trades.
- Seconds to check trading events — specifies the seconds to wait before checking on trading events. Default=3, or 3 seconds.
List of All Variables (to put into Trade Actions and Reports):
Trades data:
- {BUYSELL}
- {CLOSEDLOTS}
- {CLOSINGPRICE}
- {COMMISSION}
- {COMMENT}
- {MAGIC}
- {OPENPRICE}
- {ORDERLOTS}
- {PIPS}
- {PROFIT}
- {SLLOSS} //New! generates the SL in dollars for the trade. Example: SL @ {STOPLOSS}=(-${SLLOSS}) for a 0.01 EU buy that entered in at 1.12000 with a 100 pip SL would, for example, print out SL @ 1.11000=(-$10)
- {SLPIPS} //New! generates the SL in pips for the trade. Example: SL @ {STOPLOSS}=(-{SLPIPS} pips) for a 0.01 EU buy that entred in at 1.1200 with a 100 pip SL would, for example, print out SL @ 1.11000=(-100 pips)
- {STOPLOSS}
- {SYMBOL}
- {SWAP}
- {TAKEPROFIT}
- {TICKET}
- {TPPIPS} //New! generates TP in pips for the trade. Example: TP @ {TAKEPROFIT}=(+{TPIPS} pips) for a 0.01 EU buy that entered in at 1.1200 with a 200 pip TP would, for example, print out TP @ 1.1400=(+200 pips)
- {TPPROFIT} //New! generates the T in dollars for the trade. Example: TP @ {TAKEPROFIT}=(+${TPPROFIT}) for a 0.01 EU buy that entered in at 1.1200 with a 200 pip TP would, for example, print out TP @ 1.1400=(+$200)
Report Data:
- {ENDDATE}
- {PROFIT}
- {PIPS}
- {STARTDATE}
- SYMBOL
- TOTPFT
- TOTPIP
- QTBUYS
- QTSELLS
- TOTPFT
- BALANCE
- DAY
- CURRENCY
- EQUITY
- FreeMargin
- HOUR
- Margin
- MINUTE
- MONTH
- TIME
- YEAR
Use emoticons from the codes in this page: http://unicode.org/emoji/charts/full-emoji-list.html.
For example, if you specify {U+1F600}, you will get 😀
You can try any of these ideas:
* To announce a signal, you can use bow and arrow {U+1F3F9} to get 🏹
* If a trade is profitable, you an use money bag {U+1F3F9} to get 💰 or you can use money-mouth face {U+1F911} to get 🤑
* If a trade is unprofitable, you can use crying face {U+1F622} to get 😢
* If a USD trade is profitable, you can use dollar banknote {U+1F4B5} to get 💵
* If a YEN trade is profitable, you can use yen banknote {U+1F4B4} to get 💴
* If a trade is modified, you can can use the gear icon {U+2699} to get ⚙
The link above gives you over 1800 emoticons to jazz up your trade actions and reports.