Нижняя зона со служебной информацией
Moon Kernel
Модуль Moon Kernel представляет собой клиент-серверную технологию разделения функционала при выполнении биржевых операций: клиентская часть (Moonbot Client) настраивается на локальном компьютере пользователя, а серверная часть (Moonbot Kernel) - на выделенном сервере VPS.
Такая архитектура используется при ручной торговле, помогает добиться более устойчивой связи с биржей и значительно сократить пинги, которые влияют на скорость выставления ордеров, срабатывание стопов и прочих биржевых операций. Для автоторговли такая архитектура не используется для этого лучше размещать обычный Moonbot на выделенном сервере VPS с выключенным модулем Moon Kernel.
Функционал Moon Kernel доступен в PRO-версии Moonbot, если активен модуль MoonBonus - бонусный пакет дополнительных функций, который предоставляется пользователям, если они зарегистрировались на биржах с использованием наших реферальных ссылок на странице MoonBonus.
Термины:
-
Moonbot Kernel (“Ядро”) или Moonbot Server (“Сервер”) - это экземпляр Moonbot, установленный на выделенном сервере VPS и настроенный соответствующим образом как серверная часть с подключением к бирже.
Придерживайтесь стандартных рекомендаций для VPS: 1 Moonbot на 1 VPS, для этого в Moonbot зайдите в Меню → System settings → окно с настройками System settings и установите галочку Режим VDS (оптимизация). -
Moonbot Client (“Клиент”) или Moonbot Terminal (“Терминал)” - это экземпляр Moonbot, установленный на локальном компьютере пользователя, настроенный соответствующим образом как клиентская часть с подключением к Ядру.
Чтобы использовать архитектуру Moon Kernel нужно сделать две копии папки с PRO-версией Moonbot:
-
одну копию разместить на выделенном сервере (VPS) и настроить её в режиме Ядра,
-
вторую копию разместить на локальном компьютере и настроить её в режиме Клиента.
Настройка Moon Kernel на стороне выделенного сервера VPS (Moonbot Kernel)
1. На VPS в брандмауэре Windows откройте свободный UDP порт для входящего соединения.
Для этого в поле поиска Windows введите wf.msc и запустите его, чтобы открыть окно Windows Defender Firewall with Advanced Security.
В открывшемся окне в панели слева кликните на пункт Inbound Rules и правой кнопкой мышки откройте меню, в котором кликните на New Rule…, - откроется окно New Inbound Rule Wizard:
В появившемся окне выберите опцию Port и нажмите Next:
Далее выберите опцию UDP и в поле Specific local ports: введите свободный номер UDP порта, который планируете открыть, например, 3000 и нажмите Next:
В следующем окне убедитесь, что выбрана опция Allow the connections и нажмите Next:
Далее убедитесь, что все три галочки установлены и нажмите Next:
Укажите название правила, например, UDP-3000 и нажмите Next:
После этого UDP порт 3000 на VPS будет открыт.
При необходимости следует также открыть порт в личном кабинете провайдера VPS (например, это требует Амазон).
2. Запустите копию Moonbot PRO-версии на VPS в режиме администратора.
Через Меню → System Settings откройте окно System Settings и установите галочку Режим VDS (оптимизация), после чего перезагрузите Moonbot.
Чтобы открыть окно настроек функционала Moon Kernel сначала кликните левой кнопкой мышки на зеленый кружок индикации соединения в нижней левой части главного окна Moonbot.
Откроется окно Info, на нижней строке будет надпись: Moon Kernel OFF Settings, которая сообщает, что сейчас Moonbot находится в обычном режиме и функционал Moon Kernel выключен.
Нажмите на Settings и откройте окно Moon Proto, в котором есть 2 вкладки:
- Вкладка Settings с настройками функционала Moon Kernel
- Вкладка Info с информационными строчками
На вкладке Settings в Moonbot Kernel на VPS:
-
В поле Port введите номер UDP порта, который Вы открывали ранее (например, 3000);
-
Выберите опцию IP Version IPv4;
-
В поле VPS IP введите IP выделенного сервера;
После удачного соединения через IPv4 потом можно будет выбрать опцию IPv6 и ввести в поле VPS IPv6, если провайдер поддерживает эту версию протокола, так как он ускоряет работу. -
Выберите опцию V2;
-
Установите галочку у опции Kernel (VPS);
-
Нажмите кнопку Apply, чтобы применить заданные параметры.
Проверить, что выбранный Вами порт открыт можно нажатием кнопки Test Port.
Проверка осуществляется путём пинга нашего сервера; если Вы открыли порт, но сделали белый лист IP, с которых разрешён доступ, то проверка не пройдёт - это не проблема, в таком случае Вы можете проверить это позже путём подключения Клиента к Ядру.
Если всё сделано правильно на стороне Ядра, то появится зелёная надпись Server activated on port 3000 (в примере для порта 3000). -
Нажмите на кнопку New Key, чтобы сгенерировать ключ доступа к Ядру для Клиента;
-
Нажмите на кнопку Copy Key, чтобы скопировать его в буфер обмена. Ключ можно сохранить в блокнот или сразу вставить его в окно Moon Proto в Клиенте на локальном компьютере.
В итоге настройки в окне Moon Proto на вкладке Settings и Info на стороне Moonbot Kernel будут выглядеть следующим образом:
А в окне Info будет указано: VDS Mode: ON и Moon Kernel Server Settings, что включён режим VDS и подключена серверная часть функционала Moon Kernel.
Настройка Moon Kernel на стороне локального компьютера (Moonbot Client)
Для настройки экземпляра Moonbot в качестве Клиента выполните следующие действия на локальном компьютере:
1) Запустите копию Moonbot PRO-версии в режиме администратора;
2) Через Меню → System Settings откройте окно System Settings и убедитесь, что не установлена галочка Режим VDS (оптимизация). Если галочка была установлена, и Вы её убрали, то перезагрузите Moonbot;
3) Чтобы открыть окно настроек функционала Moon Kernel кликните левой кнопкой мышки на зеленый кружок индикации соединения в нижней левой части главного окна Moonbot.
4) Откроется окно Info, на нижней строке будет надпись: Moon Kernel OFF Settings, которая сообщает, что сейчас Moonbot находится в обычном режиме и функционал Moon Kernel выключен.
5) Нажмите на Settings и откройте окно Moon Proto, в котором есть 2 вкладки:
- Вкладка Settings с настройками функционала Moon Kernel
- Вкладка Info с информационными строчками
6) На вкладке Settings:
-
Нажмите кнопку Paste Key и вставьте ключ из буфера обмена, который ранее копировали в настройках Settings Moonbot Kernel;
-
В поле Port введите номер UDP порта, который Вы открывали ранее на выделенном сервере VPS;
-
Выберите опцию IP Version IPv4;
-
В поле VPS IP введите IP выделенного сервера;
После удачного соединения через IPv4 потом можно будет выбрать опцию IPv6 и ввести в поле VPS IPv6, если провайдер поддерживает эту версию протокола, так как он ускоряет работу. -
Выберете опцию V2.
-
Установите галочку у опции Terminal;
-
На стороне Клиента рекомендуем установить галочку Full Proxy.
Примечание:
функционал Moon Kernel на стороне Клиента может работать в двух режимах: -
Если установлена галочка “Full Proxy”, то на VPS в Moonbot Server (Kernel) работает вообще всё, что касается биржи, а на стороне Клиента в Moonbot пользователя - только отображение интерфейса (картинка). В этом режиме Moonbot Client (Terminal) вообще никак не взаимодействует с биржей. На API-ключах, которые добавлены в Moonbot Client (Terminal), можно не добавлять белый список IP.
-
Если не установлена галочка “Full Proxy”, то на VPS в Moonbot Server (Kernel) происходит обработка ордеров, а в Moonbot Client (Terminal) - всё остальное (графики, плечи, рыночные дельты).
-
Нажмите на Apply, чтобы применить заданные параметры.
Если всё сделано правильно на стороне Клиента, то появится зелёная надпись Client: Connected!
Если эта надпись не отобразилась, то возможны два варианта:
-
Ошибка в следовании инструкциям. Ещё раз внимательно сделайте настройку по шагам.
-
Блокировка трафика.
В этом случае, если у Вас было подключение с опцией через V0, то следует проверить подключение с опциями V1 и V2 по очереди, следующим образом: -
Выставить опцию V1 сначала в Settings Ядра на сервере; поменять там UDP порт и затем нажать Apply в Settings Ядра на сервере;
-
Затем проделать то же самое на стороне Settings Клиента на локальном компьютере.
-
Если это не помогло, то нужно выставить опцию V2 сначала в Settings Ядра на сервере; поменять там снова UDP порт и затем нажать Apply в Settings Ядра на сервере.
Дополнительная проверка:
-
Убедитесь, что ключи доступа в Moonbot Kernel и Moonbot Client одинаковые.
В окне Moon Proto на вкладке Settings видна только часть начало ключа, полный ключ тут не отображается - эта часть нужна только для того, чтобы визуально убедиться, что ключи начинаются одинаково; -
В окне Moon Proto на вкладке Settings Moonbot Kernel в случае успешного установления соединения между Ядром и Клиентом будет расти цифра R (счётчик принятых пакетов).
-
Симптомы блокировки трафика: R незначительно растёт при первой попытке подключения, далее не меняется. В этом случае пробуйте подключения с опциями V1 илл V2 со сменой UDP портов при каждой смене опций.
Нюансы:
-
Не рекомендуется использовать VPN и прокси (режима Full Proxy должно быть достаточно).
-
Если все же используете сторонние прокси, то с некоторыми, например Proxycap возможны краткие обрывы связи по причине потери коннекта этим прокси. Moonbot восстанавливает подключение сам в пределах нескольких секунд.
-
При обновлении в Moonbot Client на выделенной сервере Moonbot Kernel обновляется автоматически, в том числе при обновлении через строку поиска монет на главном окне на тестовые и релизные версии.
В итоге, если всё настроено верно, то настройки в окне Moon Proto на вкладке Settings и Info на стороне Клиента будут выглядеть следующим образом:
А в окне Info будет указано: VDS Mode: OFF и Moon Terminal Settings, что режим VDS выключен и подключена клиентская часть функционала Moon Kernel.
Также в Moonbot Client при работе с функционалом Moon Kernel будет отображаться данные о пинге (см. рисунок ниже):
На рисунке “Kernel: 133 / 25 ms” означает:
-
первая цифра 133 – пинг в миллисекундах до Moonbot Kernel (в 1 сторону)
-
вторая цифра 25 – пинг в миллисекундах ордеров с самого VPS (от Moonbot Kernel до биржи).
Работа со стратегиями при работе модуля Moon Kernel
Не рекомендуется иметь более 100 стратегий в одном Moonbot.
В обоих режимах (с галочкой Full Proxy или без) стратегии работают следующим образом:
-
на VPS в Moonbot Kernel: работают только стратегии с включённой автопокупкой AutoBuy=YES при активации у них появляется жёлтая лампочка, а также стратегии MoonShot или стратегии с включённым параметром RunDetectOnKernel=YES на вкладке Buy conditions настройки стратегий;
-
на локальном компьютере в Moonbot Client: только стратегии без автопокупки AutoBuy=NO - при активации у них появляется жёлтая лампочка, то есть просто детекты.
Исключение: Ручные Мунхуки (парные стратегии Manual+MoonHook) тоже обрабатываются в Ядре.
Порядок отображения цвета лампочек в стратегиях
В Moonbot Client:
-
стратегии с жёлтыми лампочками AutoBuy=NO работают в Moonbot Client
-
стратегии с синими лампочками AutoBuy=YES работают в Moonbot Kernel
В Moonbot Kernel будет зеркальное отображение цвета лампочек
-
стратегии с жёлтыми лампочками AutoBuy=YES работают в Moonbot Kernel
-
стратегии с синими лампочками AutoBuy=NO работают в Moonbot Client
Пояснение:
поскольку все операции с ордерами производятся в Moonbot Kernel, то стратегии, которые должны торговать - также работают в Moonbot Kernel. Для некоторых настроек с использованием триггеров нужно, чтобы торгующие Slave стратегии запускались от только от детектов Master стратегий, у которых отключена автопокупка - для этого нужен параметр RunDetectOnKernel на вкладке Buy conditions настройки стратегий, чтобы организовать в Moonbot Kernel связку из детекта от Master стратегии без автопокупки и торгующей Slave стратегии.
Стратегии-детекты для ручной торговли нужны в Moonbot Client, чтобы выдавать сигнал с открытием графика и кнопкой алерта, поэтому стратегии-детекты работают в Moonbot Client без автопокупки (AutoBuy=NO) и без опции RunDetectOnKernel=NO.
“Источник истины” в настройках – это Moonbot Kernel на VPS. Если Вы включаете стратегию с одного Moonbot Client, то она будет включенной и на других Moonbot Client (например, при их запуске из разных мест или при запуске сразу двух Moonbot Client). Если внести правки в стратегию на Moonbot Client, то правки передаются автоматически и на Moonbot Kernel, а оттуда - в другие Moonbot Client, если они будут подключаться позже к Moonbot Kernel.
Если в Moonbot Kernel стратегия активна, даёт детекты на монете и выставляет ордера, а Вам нужно в Moon Client также открывать график этой монеты на главном окне или в чарте, то можно сделать копию этой стратегии, в ней отключить автопокупку AutoBuy=NO, настроить параметры чартов и активировать её в Moon Client.
Если Вы отключили Moonbot Client, а Moonbot Kernel продолжает работать и совершает сделки, то после включения Moonbot Client в его отчёте не будет сделок, которые были в Ядре в период отключения Клиента, т.е после своего включения Moonbot Client не подтягивает автоматически отчёт из Moonbot Kernel.