Moon Bot version 3.74 has got tools helping to use the bot for trusted management.
How it works: when you trade with your bot (let’s call it “Main” bot) either manually or via a strategy, the bot can automatically generate commands and send them to your own Telegram channel.
The main bot sends commands in a special format which can be read by other bots (“slave” bots, subscribed to your channel). This way “slave” bots will copy your actions.
After beta test, only PRO bots will be able to receive commands!
NOTE: its impossible to obtain 100% accurate duplication!
The reason is that trades are discrete. Consider an example of the TRUST coin order book:
Let the first (main) bot placed the buy order of 2063 coins for 514sat (picture above). We can see that the order book contains only 2058 coins at 514sat, so the main bot will buy the whole lot. Second (slave) bot will copy the command “”Buy TRUST 514sat”, but there are no more coins left at 514sat, so its order will remain unfilled and will be placed to BIDs order book. So the main bot can be already selling coins at 520 sat (the best ASK price) while slave bots are still waiting their buy orders to be filled.
To handle the issue mentioned above when slave bots receive CMD_Sell command, they will cancel all partially filled buy orders on specified market and start to sell all bought coins.
How to configure commands broadcasting (“MAIN” BOT):
Open any market chart and press “Share” button to the right to open Social Trading
configuration screen. If you want the bot to broadcast commands to your own Telegram channel automatically, tick the checkbox like shown on the picture below:
Create your Telegram channel (not a group!), create your own Telegram bot token by talking to @BotFather. Add your Telegram bot to your channel and promote it to admin. Enter the token to the settings window (pic. above). If your channel is public, enter its public name to the box “channel name”. If the channel is private, you have to obtain its ID and enter it to the “channel name” (one way to to it: post something in the channel, then look moon bot’s log file logs\LOG_ADD_MM_DD. Locate your post, there you will find the channel ID).
If the Telegram is blocked in your region, you may use Socks5 proxy.
Press the “Test” button to check your configuration: If everything is correct, the bot will post a test message to your channel.
Note: MoonShot strategies do not post commands
cause orders of this type are handled with the bot by strictly defined algorithm.
Commands list below.
Notation: coin – the coin to trade; Price may be defined as absolute value or relative (percentage) to current market price \ buy order price; X – order value in % from the available deposit balance; <> – mandatory parameter,  – optional parameter. The letter (M) after a command description means that commands of this type are not sent by the bot automatically (you can post them manually to your channel. For example, type “cmd_PanicSellAll” in your channel to activate global stop loss on all your subscribers). Attention: keep in mind that the commands are case-sensitive!
- cmd_Buy <Coin> [Price] [sell <Price>] [OrderSize X%] [Key ChannelKey] — Buy the coin for the specified price, using the specified arder amount (in % from the available account balance). If price is omitted, slave bot’s strategy settings will be used. If the leyword “sell” is specified and the second Price parameter is given as percentage (for example buy NEO 0.0048 sell +10% OrderSize 100%), the sell price will be substituted to the slave’s strategy. The parameter Key ChannelKey (optional) shows the strategy with the required ChannelKey. This allows separating commands based on strategies. If not set or a strategy with such ChannelKey is missing, the first available strategy will be chosen.
- cmd_Short <Coin> [Price] [sell [Price]] [OrderSize X%] [Key ChannelKey] — Setting a short order at a set price for a chosen % of the deposit (only for trading Binance Futures). For example: cmd_Buy BTC 1% sell 1% OrderSize 100% Key Kup, where Kup is the ChannelKey.
- cmd_CancelBuy <Coin> — Cancel slave’s buy order
- cmd_Sell <Coin> <Price> — Sell coin for specified price (the slave’s sell order must be already set, the command will replace it for the specified price). All partially filled orders on the <coin> will be cancelled.
- cmd_SetStop <Coin> <Price>: — Set new StopLoss on Coin’s active orders. Price value must be specified as absolute price (example: cmd_SetStop BNB 0.002
- cmd_PanicSell <Coin> [Key ChannelKey] — Activate the Panic Sell function for this coin. When using the key “Key”, you can send a Sell command of a specific strategy with the same key.
- cmd_PanicSellAll — Activate the Panic Sell function for all active orders (M)
- cmd_UpdateBuy <Price> — Change slave’s strategy buy price settings (new price is specified as percentage to current market price, % sign is mandatory!) (M)
- cmd_UpdateSell <Price> — Change slave’s strategy sell price settings (new price is specified as percentage to actual buy price, % sign is mandatory!) (M)
- cmd_UpdateStopLoss <Price> [AllowedDrop] — Change slave’s strategy StopLoss settings (new price is specified as percentage to actual buy price, % sign is mandatory!) AllowedDrop is optional, also specified as percentage to actual buy price. (M)
- These commands change global settings (M):
- cmd_UpdateKeyWords — Update keywords list. put comma separated keywords after the command.
- cmd_UpdateBlackWords — Update blackwords list.
- cmd_UpdateLowerPriceWords — Update list of words telling the bot to buy at lower price.
- cmd_UpdateTokenTags — Update tokens list
How to configure commands handling (SLAVE BOT):
If you want your bot to handle commands, you have to subscribe to the Telegram channel with commands, create a strategy for this channel and set strategy parameter AcceptCommands = YES.
If you are using a key in your strategies for separating commands, you should write the command in its entirety, for example: cmd_Buy BTC 1% sell 1% OrderSize 100% Key Kup, where Kup is the ChannelKey.
Commands will be applied only to orders set by a strategy with enabled AcceptCommands parameter.
So you can disable external managing of your bot anytime by setting AcceptCommands = NO.