Bot Client — Managing MoonTrader via Telegram
Bot Client is a MoonTrader extension that lets you manage trading accounts directly from Telegram. Open and close positions, stop algorithms, change leverage, and get reports — without opening the terminal. This guide covers the full setup from scratch: from creating a bot to executing your first commands.
Requirements: a Telegram account, BotClient.exe installed, MoonTrader core running.
1. Creating a Telegram Bot
Before launching Bot Client, you need to create your own Telegram bot. This bot acts as the interface between you and MoonTrader.
Open Telegram and find @BotFather.
Send the command
/newbot.Enter a name for the bot (any name).
Enter the bot's username — it must end with
Botor_bot, e.g.MyTraderBot.Save the Token that BotFather sends — you will need it when configuring BotClient.
To view the token of an existing bot:
/mybots→ select the bot → "API Token".
2. Getting Your ChatID
ChatID is your Telegram identifier. Bot Client uses it to send notifications only to you.
Find the bot @myidbot.
Send the command
/getid.Save the ChatID you receive.
3. Configuring and Starting BotClient
Extract the BotClient archive to a convenient folder.
Launch BotClient.exe.
In the "Token" field, enter the token from step 1.
In the "ChatID" field, enter the identifier from step 2.
Click "Save" — Bot Client is ready to use.
After launching, find your bot in Telegram: /mybots → select the bot → "Go to chat" → click Start. All further commands are executed in this chat.
The bot's interface language can be changed in "Telegram Settings" → "Telegram Layout".
4. Managing Profiles
A profile is a connection to one MoonTrader account. Bot Client supports multiple profiles simultaneously.
Add a Profile
Open "Profile" → "Add".
Enter the account details from the MoonTrader client.
Click "Execute" — the profile will be added if the core is available.
Edit a Profile
Open "Profile" → "Edit" or type
/edit_profile.Select the profile from the list.
Update the required parameters and click "Execute".
Set Default Profiles
Default profiles are automatically applied to all commands — no need to select them manually each time.
Open "Profile" → "Default".
Select the profiles from the list.
Click "Execute".
Text command:
Remove a Profile
Open "Profile" → "Remove" or type
/remove_profile.Select the profile from the list.
Click "Execute" to confirm.
Text command:
5. Orders and Positions
Add an Order
This command works with one profile at a time.
Open "Order" → "Add" or type
/add_order.Fill in the parameters: profile, market, side (buy/sell), order type, instrument, volume, price.
If needed, configure Take Profit and Stop Loss in the same menu.
Click "Execute".
⚠️ Make sure all parameters are correct — the order will be sent to the exchange immediately.
Cancel Orders
This command cancels only open (unfilled) orders.
Open "Order" → "Cancel" or type
/cancel_order.Select the profile, market, and instruments.
Click "Execute".
To abort mid-execution, click "Stop".
Text commands:
Order List
Open "Order" → "List" or type
/get_order_list.Select the profile — current orders for each market will load.
From this menu you can also cancel selected orders or view their details.
Close Positions
This command works with open positions, not with open orders.
Open "Position" → "Close" or type
/close_positions.Select the profile, market, and instruments.
Click "Execute" and wait for the core response.
Text commands:
Panic Sell — Emergency Position Close
Panic Sell closes all open positions in the selected markets. Open orders are not affected.
Open "Panic" or type
/panic_sell.Select the profile — all open positions will appear, grouped by market.
Click "Execute".
⚠️ Use Panic Sell only when you need to exit all positions immediately — this action is irreversible.
Text commands:
6. Managing Algorithms
Stop All Algorithms
Stops all running algorithms on the selected account.
Open "Algorithms" → "Stop All" or type
/stop_all_algorithm.Select the profile and click "Execute".
Text commands:
Start All Algorithms
Starts all previously stopped algorithms.
Open "Algorithms" → "Start All" or type
/start_all_algorithm.Select the profile and click "Execute".
Text command:
Manage Individual Algorithms
Open "Algorithms" → "Manage".
The list of algorithms on the selected core will load.
For each algorithm, the following actions are available: start, stop, delete.
7. Market Settings
Change Leverage
This command only works on markets with no open positions or orders.
Open "Market" → "Change Leverage" or type
/modify_leverage.Select the profile, market, and instruments.
Enter the new leverage value.
Click "Execute".
If leverage is not specified, the exchange's maximum allowed value will be set.
Text command:
Change Margin Type
This command only works on markets with no open positions or orders.
Open "Market" → "Change Margin" or type
/modify_margin.Select the profile, market, instruments, and margin type (Cross or Isolated).
Click "Execute".
Text command:
Balance
To view the balance for selected profiles:
Open "Balance" → "Info" or type
/get_balance.Select the profile and market.
Text command:
To transfer assets between markets:
Open "Balance" → "Transfer".
Enter the profile, source market, target market, asset, and amount.
Click "Execute".
Text command:
8. Core and Reports
Core Management
The "Core" menu offers four actions:
Status
Shows the current account state
#core status; pr: all;
Restart
Restarts the core with update
#core restart; pr: all;
Restart No Update
Restarts without update
#core restart no update; pr: all;
Shutdown
Shuts down the core
#core shutdown; pr: all;
Select an action in the "Core" menu and click "Execute", or send a text command.
Reports
Loads algorithm reports filtered by market and instrument.
Single profile → detailed report per algorithm (number of filled orders, average order size, result).
Multiple profiles → summary report without per-algorithm details.
The "Markets", "Quote/Symbol", and "Information" fields can be left empty.
Positions
Loads information on all open positions across the selected accounts.
Text command:
9. Signals from Telegram Channels
Bot Client can parse trading signals from Telegram channels and automatically forward them to connected cores.
Supported platforms: Windows, Ubuntu/Linux 20.04.
Step 1 — Connect a Telegram Account
Open "Profile" → "Telegram Profile".
Click "Login".
Authorization fields will appear in the chat (if they don't — press Enter).
Enter your phone number.
Enter the code from Telegram.
Enter your password if two-factor authentication is enabled.
After successful authorization, the connected account status will appear in "Profile" → "Telegram Profile".
Step 2 — Select Channels to Monitor
Open "Algorithms" → "Signals" → "Channels".
Select the channels you want to receive signals from.
Click "Execute".
Parsing rules for each channel are configured separately: "Algorithms" → "Signals" → "Channel Settings".
Once configured, Bot Client will monitor the selected channels and forward any signals to all connected cores.
Text Command Syntax
A text command must start with #. Any other message is treated as menu navigation.
Rules:
Parameters are separated by
;or a line break — both are equivalent.Parameters can be abbreviated:
prinstead ofprofiles,minstead ofmargin, etc.Parameter order does not matter.
If all parameters are valid — the command executes immediately. Otherwise, a pre-filled form opens.
Multiple profiles are listed with commas:
pr: profile1, profile2. To apply to all —pr: all.Any character (including a space) can separate a parameter from its value:
pr: allandpr allare equivalent.
Market codes: f — futures, m — margin, s — spot, d — delivery.
Order side: buy, sell.
Order type: Limit, Market, StopLimit, StopMarket, LimitMarket, PostOnly.
Margin type: Cross, Isolated.
Text Command Cheatsheet
Commands
#core status
Core status
#core status; pr: all;
#core restart
Restart core with update
#core restart; pr: main;
#core restart no update
Restart without update
#core restart no update; pr: main;
#core shutdown
Shut down core
#core shutdown; pr: all;
#get pos
List open positions
#get pos; pr: main, backup;
#get balance
Balance by market
#get balance; pr: main; market: f;
#transfer balance
Transfer between markets
#transfer balance; pr: main; from market: f; to market: s; symbol: USDT; amount: 500;
#start all algo
Start all algorithms
#start all algo; pr: all;
#stop all algo
Stop all algorithms
#stop all algo; pr: main;
#panic sell
Emergency position close
#panic sell; pr: main; market: f; symbols: btcusdt, ethusdt;
#add order
Place an order
see below
#cancel order
Cancel orders
#cancel order; pr: main; market: f; symbols: btcusdt;
#modify leverage
Change leverage
#modify leverage; pr: main; market: f; symbols: btcusdt; leverage: 10;
#modify margin
Change margin type
#modify margin; pr: main; market: f; margin type: cross; symbols: btcusdt;
#remove profile
Remove a profile
#remove profile; pr: old_account;
#change def profile
Set default profiles
#change def profile; pr: main, backup;
#add order — Full Syntax
#add order — Full SyntaxMinimal example (no TP/SL):
With Take Profit and Stop Loss:
If
tp percentageis not set — all othertp *parameters are ignored. Same applies tosl percentage.If
sl trailing spreadis set — trailing is enabled automatically.If
leverageis not set in#modify leverage— the exchange maximum is applied.
Parameters
General
profiles
pr
Names separated by commas, or all
pr: main, backup
market
m
f / m / s / d
market: f
symbols
—
Tickers separated by commas, or all
symbols: btcusdt, ethusdt
side
—
buy / sell
side: buy
order type
—
Limit / Market / StopLimit / StopMarket / LimitMarket / PostOnly
order type: Limit
order size
—
Number
order size: 100
price
—
Number
price: 65000
cancel all
—
true / false
cancel all: true
leverage
—
Number (if not set — exchange maximum)
leverage: 10
margin type
—
Cross / Isolated
margin type: cross
amount
—
Number
amount: 500
symbol
—
Asset ticker
symbol: USDT
from market
—
f / m / s / d
from market: f
to market
—
f / m / s / d
to market: s
Take Profit (#add order)
#add order)tp percentage
TP % from entry price. Required to enable TP
tp percentage: 2
tp order type
TP order type
tp order type: Limit
tp is iceberg
Iceberg order
tp is iceberg: true
tp auto price down time
Time before auto price reduction (sec)
tp auto price down time: 60
tp auto price down step
Auto price reduction step
tp auto price down step: 0.1
tp auto price down limit
Auto price reduction limit
tp auto price down limit: 1
Stop Loss (#add order)
#add order)sl percentage
SL % from entry price. Required to enable SL
sl percentage: 1
sl order type
SL order type
sl order type: Market
sl spread
SL spread
sl spread: 0.05
sl delay
Delay before triggering (sec)
sl delay: 5
sl trailing spread
Trailing spread. If set — trailing is enabled automatically
sl trailing spread: 0.1
Market Codes
f
Futures
m
Margin
s
Spot
d
Delivery
Last updated