Доверительное управление и социальный трейдинг
Доверительное управление через Telegram
В PRO версии терминала Moonbot есть функционал, который позволяет его использовать для доверительного управления через Telegram торговыми действиями на терминалах других пользователей, которые их настроили для этих целей.
Moonbot может автоматически формировать специальные команды, соответствующие основным своим действиям: выставление, перестановка, продажа, отмена ордеров, выставление стопов и так далее.
Эти команды подаются в Ваш личный Telegram-канал в особом виде, в котором их могут прочитать другие ведомые Moonbot терминалы. Таким образом, Ваш терминал генерирует управляющие команды в Телеграм и является ведущим, а терминалы других пользователей, которых Вы пригласили в свой канал принимают эти команды из него и являются ведомыми, повторяющими действия ведущего терминала.
Ведущий терминал может прекратить подавать команды в Telegram канал и перестать им быть. Ведомые терминалы могут в любой момент отключить опцию приёма обработки команд из Telegram и снова стать самостоятельными.
Ещё обращаем внимание, что ведомые терминалы точно повторяют действия ведущего, но результат этих действий, например, покупки монет по той же цене может быть разным. То есть, например, если ведущий терминал выставляет, на какую-то цену ордер и выкупает все монеты по этой цене, то ведомые терминалы тоже выставляют свои ордера на эту же цену, но в зависимости от величины ордера и ситуации в книге ордеров могут уже не купить монеты или необходимое их количество там же, так как по этой цене уже не будет нужного предложения в моменте.
Это наглядно объясняется на рисунке ниже, для примера взят стакан на монете TRUST:
Допустим, первый ведущий терминал ставит ордер на покупку 2063 монет TRUST по цене 514sat. Как видно, в стакане предложений (ASK) справа есть всего 2058 монет по цене 514sat, поэтому ведущий терминал выкупит их целиком. Ведомый терминал скопирует команду “Buy TRUST 514sat”, но ему монет не достанется, и его Buy ордер останется не исполненным лимитным ордером в торговом стакане BID (слева). Ведущий терминал уже может продавать монеты по цене 520sat (лучшая цена после выкупа лота по 514sat), тогда как ведомый терминал всё ещё не купит ни одной монеты.
Для решения данной ситуации в момент, когда ведущий терминал купил монету, он отправляет команду на продажу купленных монет, а ведомый терминал при получении команды на продажу отменяет Buy ордер, если тот не успел исполниться целиком.
Настройка отправки команд доверительного управления от ведущего терминала в Telegram
На главном окне терминала откройте график любой монеты и на правой панели управления нажмите кнопку “Поделиться”. После этого откроется окно “Share market” с различными настройками.
Установите галочку «Не показывать это окно в след. раз (чтобы открыть его, нажмите правой кнопкой мыши на кнопке "Поделиться")». После установки этой галочки теперь по нажатию левой кнопки мышки на кнопку "Поделиться" не будет открываться окно "Share market", а будет исполняться команда "Поделиться", а окно с "Share market" в этом случае теперь можно будет открывать по нажатию правой кнопки мышки.
Если Вы хотите, чтобы терминал отправлял команды в Ваш собственный Telegram канал автоматически без нажатия на кнопку “Поделиться”, то поставьте галочку «Хочу слать сигналы в свой собственный канал автоматически». Если хотите дублировать команды в Telegram канал @MoonInt, то следует установить галочку рядом с опцией «и в канал @MoonInt».
Затем вам нужно создать свой Телеграм канал (не группу, именно канал!) и получить свой личный бот-токен у @BotFather в Telegram. Ваш Телеграм-бот должен быть администратором в Вашем Telegram канале.
Впишите в окне «Share market» в поле «My Bot token», полученный бот-токен.
Если Ваш Телеграм канал публичный, то в поле «My channel name» впишите его короткое имя, если же это приватный Telegram канал, то Вам нужно узнать его id и вписать его в поле «My channel name».
Чтобы узнать id канала, можно написать любое сообщение в свой Telegram канал, например, команду "BTCUSDT BUY" и посмотреть это сообщение в файле с логами logs\LOG_ADD_YYYY-MM-DD.log и там будет указан id или воспользоваться сторонними Телеграм-ботами, которые позволяют узнать ID Вашего канала. Например можно воспользоваться ботом @username_to_id_bot: через поисковую строку в Телеграм найти бота @username_to_id_bot и запустить его (кнопка “Запустить”). Затем нажать на кнопку "Channel", выбрать из списка Ваш канал, у которого Вы хотите узнать id и подтвердить действие.
Потом посмотреть в Телеграм боте @username_to_id_bot информацию вида: "Chat id: -10017ХХХХХХ26" и скопировать этот id. Причём id через Телеграм-бота и через лог ADD поступит разная:
-
Chat id: -10017ХХХХХХ26 (так выглядит id из @username_to_id_bot)
-
id:17ХХХХХХ26 (так выглядит id из лога с ADD Moonbot без приставки "-100")
Далее, можно ввести в поле «My channel name» как такой id "-10017ХХХХХХ26", так можно и отбросить "-100" и ввести такой id "17ХХХХХХ26" в обоих случаях всё будет работать.
Если Телеграм заблокирован в Вашем регионе, то Вы можете использовать Proxy соединения, для этого нужно установить галочку «Use Socks5 proxy», в поле «Host:Port» указать адрес порта, в поле «Login» указать логин и в поле «Password» указать пароль.
Установите галочку «Send only share signals».
Далее нажмите на кнопку «Test», чтобы проверить, отправляются ли сообщения в Ваш Телеграм канал.
Если в канале появится сообщение с указанием времени, то всё настроено верно.
Затем можно закрыть окно «Share market», открыть график любой монеты, например PEPE и нажать левой кнопкой мыши на кнопку "Поделиться". После этого в Вашем канале появится запись вида:
#PEPE delta: +3.2% pump
UserХХХХ @ RatingХХХ
Этими сообщениями Вы можете оповещать всех подписавшихся на Ваш канал о том, что данная монета достойна внимания.
Обратите внимание: стратегия MoonShot не отправляет управляющие команды, поскольку Buy ордера этого типа управляются терминалом по строго заданному алгоритму.
Кроме этого Ваш терминал будет отправлять в Ваш Telegram канал автоматические управляющие команды, а Вы можете в этот канал отправлять ручные команды для управления терминалом.
Обозначения в синтаксисе команд доверительного управления:
Сoin - название монеты
Price - значение цены, может быть задано в абсолютной величине или в процентах
X% - процент размера Buy ордера от всего депозита
Key - ключевое слово, которое используется в параметре ChannelKey стратегии Telegram
< > - обязательный параметр
[ ] - необязательный параметр.
Обратите внимание: важно соблюдать регистр букв в написании команды!
Автоматические управляющие команды.
-
cmd_Buy <Coin> [Price] [sell [Price]] [OrderSize X%] [Key ChannelKey] - выставить Long ордер по заданной цене на монете Coin на указанное точное значение цены или на указанный % от установленного ордера. Если цена покупки в команде не указана, то Buy ордер будет выставлен в Long по настройкам стратегии Telegram ведомого терминала. Если в команде указана цена продажи с ключевым словом sell, то указанная цена продажи будет подставлена в стратегию Telegram ведомого терминала.
Пример 1:
Одна команда cmd_Buy NEO 7.15 sell +15% OrderSize 10% Key ST123 будет интерпретироваться терминалом как две команды: cmd_Buy NEO 7.15 OrderSize 10% и cmd_UpdateSell 15%.
При этом в данной команде ещё указано ключевое слово Key ST123 для определённой стратегии Telegram, в которой это слово записано в настройках этой стратегии на вкладке Main в параметр ChannelKey=ST123 и только эта стратегия Telegram выполнит данную команду в ведомом терминале.
Если значение [Key ChannelKey] будет в команде не указано или в ведомом терминале нет стратегии Telegram с таким ChannelKey, то в нём будет выбрана первая по списку стратегия Telegram. -
cmd_Short <Coin> [Price] [sell [Price]] [OrderSize X%] [Key ChannelKey] - выставить Short ордер по заданной цене на монете Coin на указанное точное значение цены или на указанный % от установленного ордера (команда работает только на фьючерсах). Если цена покупки в команде не указана, то Buy ордер будет выставлен в Short по настройкам стратегии Telegram ведомого терминала. Если в команде указана цена продажи с ключевым словом sell, то указанная цена продажи будет подставлена в стратегию Telegram ведомого терминала.
Пример 2:
Одна команда cmd_Short BTC 1% sell 2% OrderSize 10% будет интерпретироваться терминалом как две команды: cmd_Short BTC 1% и cmd_UpdateSell 2%. При этом в команде не указано ключевое слово, поэтому на команду будет реагировать первая стратегия Telegram в ведущем терминале. -
cmd_CancelBuy <Coin> - Отменить ордер на покупку на монете Coin.
-
cmd_Sell <Coin> <Price> - Продать монету Coin по заданной цене Price. При получении этой команды Buy ордера на покупку данной монеты будут отменены, а все купленные монеты Coin терминал начнёт продавать по заданной в команде цене Price.
-
cmd_SetStop <Coin> <Price> - Установить значение Стоп-Лосса на открытом ордере на монете Coin на значение цены Price. Цена должна быть указана в абсолютном значении, например cmd_SetStop BNB 215.
-
cmd_PanicSell <Coin> [Key ChannelKey] - Активировать функцию Panic Sell на монете. Если использовать ключ Key, то можно послать команду на продажу по определённой стратегии Telegram с таким же ключом.
Ручные управляющие команды.
Это команды, которыеавтоматически терминалом в Telegram не отправляется, но Вы можете написать их вручную в управляющем Telegram канале и ведомый терминал их примет и исполнит.
-
cmd_PanicSellAll - Активировать функцию Panic Sell на всех активных Sell ордерах на ведомом терминале.
-
cmd_UpdateBuy <Price> - Поменять значение цены покупки в стратегии Telegram ведомого терминала. Цена должна быть указана в процентах от текущей рыночной, знак % после цифры обязателен!
-
cmd_UpdateSell <Price> - Поменять значение цены продажи в стратегии Telegram ведомого терминала. Цена должна быть указана в процентах от цены покупки, знак % после цифры обязателен!
-
cmd_UpdateStopLoss <Price> [AllowedDrop] - Поменять значение Стоп-Лосса в стратегии Telegram ведомого терминала. Цена должна быть указана в процентах от цены покупки, знак % после цифры обязателен! Опциональный второй параметр - AllowedDrop, также задаётся в процентах.
-
cmd_UpdateKeyWords - Обновить список ключевых слов в ведомом терминале на вкладке Настройки - АвтоПокупка в поле «Ключевые слова (Через запятую) в Long сигнале». Ключевые слова задаются через запятую после этой команды.
-
cmd_UpdateBlackWords - Обновить список стоп-слов в ведомом терминале на вкладке Настройки - АвтоПокупка в поле «Слова в сообщ., при которых НЕ покупать». Стоп-слова задаются через запятую после этой команды.
-
cmd_UpdateLowerPriceWords - Обновить список слов в ведомом терминале на вкладке Настройки - АвтоПокупка в поле «Слова, при которых покупать по меньшей цене». Стоп задаются через запятую после этой команды.
-
cmd_UpdateTokenTags - Обновить список тегов токенов в ведомом терминале на вкладке Настройки - АвтоПокупка в поле под опцией «Покупать монеты с тэгами».
Настройка приёма и обработки команд доверительного управления для ведомого терминала:
Чтобы ведомый терминал мог принимать команды Доверительного Управления из Вашего Telegram канала, нужно создать в нём стратегию Telegram, в которой на вкладке Main настройки стратегии выставить в соответствующих параметрах следующие значения:
-
ChannelName=НазваниеТелеграмКанала - указать название Telegram канала, из которого считывать управляющие команды. До этого сначала нужно на вкладке Настройки -> Телеграм добавить этот канал в список слева, чтобы он был далее доступен в меню выбора параметра ChannelName стратегии Telegram.
-
ChannelKey=НазваниеКлюча - указать название ключа, которое будет указываться в конце управляющей команды. Например, для команды типа: cmd_Buy NEO 7.15 sell +15% OrderSize 10% Key ST123 нужно в стратегии Telegram указать ChannelKey=ST123.
-
AcceptCommands=YES - разрешить стратегии Telegram принимать команды доверительного управления. Так как команды будут применяться только к ордерам, установленным стратегией Telegram с включённой опцией AcceptCommands=YES, то Вы можете в любой момент отключить внешнее управление от ведущего терминала, если установите в своём ведомом терминале в настройках стратегии значение AcceptCommands=NO.