СТРАТЕГИИ
Применение СТРАТЕГИЙ
Автоматическая торговля по сигналам из Telegram. MoonBot считывает сигналы о покупке из подключенного к нему Telegram-канала и совершает сделки самостоятельно по заданным в стратегии правилам.
Автоторговля стратегиями. MoonBot самостоятельно открывает и закрывает сделки используя созданные вами стратегии.
Помощник в определении монет для ручной торговли. Создавайте стратегии-детекты, которые сигнализируют о подходящей рыночной ситуации. При срабатывании детекта принимается решение об открытии сделки.
Расширение возможностей ручной торговли. Стратегия Manual дает более тонкие настройки стоп-лосса, трейлинга и других параметров при ручной торговле).
Готовый файл с тестовыми стратегиями для спотового рынка биржи Binance для ознакомления можно скачать здесь: data.zip Папку data из этого архива нужно скопировать в папку с MoonBot с заменой. Внимание! Эту операцию нужно производить при выключенном боте и она полностью заменит все стратегии, которые ранее были в нем! Если у вас уже есть свои настроенные стратегии, сделайте бэкап папки data перед копированием.
Важно! Стратегии предназначены для раздельной тонкой настройки параметров работы MoonBot с различными сигналами. Данный раздел относится к продвинутым настройкам. Все выведенные параметры могут быть изменены с любой точностью, в любом диапазоне. Терминал не проверяет «адекватность» задания параметров. Включайте стратегии только если вы уверены, что делаете. Вы всегда можете протестировать стратегии в режиме Эмулятор, но они не дадут такой точности, как использование реального счета.
Мы не осуществляем поддержку по настройке и работе стратегий. Если вы считаете, что ваша стратегия не работает так, как вы думаете, она должна быть проверена вами - сделайте небольшое исследование самостоятельно. Зайдите в Настройки — Специальные, включите расширенный режим отладки (галочка Extended Debug Mode), затем откройте любой график, вверху появятся несколько строчек со всеми данными по этой монете и посмотрите фактические значения стратегии — это единственный способ увидеть, что происходит на самом деле. Никто не может сказать вам больше, просто взглянув на скриншот — это вопрос математики и фактических значений.
Чтобы проверить, почему стратегия не срабатывает по фильтрам, включите кнопку "Воронка" (Фильтры на графиках) на главном окне MoonBot. Откройте график любой монеты, вы увидите список стратегий с указанием причины, почему данная стратегия не сработает на данной монете в данный момент времени
Открыть меню Стратегий можно нажав на соответствующую клавишу на главном экране.
Так выглядит главное меню окна стратегий.
Для того, чтобы создать стратегию необходимо нажать кнопку Добавить новую. В открывшемся окне нужно заполнить все параметры, после чего обязательно не забыть нажать Сохранить. Также можно скопировать присланную вам стратегию и Вставить ее в окне Стратегии, перед этим нажав кнопку Добавить новую. Ниже описание общих параметров стратегий, а также индивидуальные параметры и рассмотрение каждой из них. Важно: если какой-то параметр в стратегии не указан (значение 0, например для размера ордера), то терминал будет брать эти значения из общих настроек.
Важно: все параметры ниже будут описаны для пар BTC-альткоины, если вы владелец PRO-версии и торгуете на парах USDT, ETH, BNB, PAX, то в разделе Buy conditions указываете размер ордера в выбранной паре, а так же в параметрах объемов указывается объем соответственно в USDT, BNB, ETH и т.д.
Создание, редактирование, удаление стратегий рекомендуем производить в самом терминале в окне Стратегии. Перед редактированием стратегии необходимо остановить их работу если они были запущены. Выделение всех стратегий в редакторе нажатием CTRL-A. Настоятельно не рекомендуем изменять стратегии вручную в файле через текстовый редактор. Если вы отдаете отчет своим действиям, то рекомендуем перед редактированием сделать копию данного файла и уже после этого вносить в него изменения. Для этого рекомендуем использовать WordPad, сохранив файл с кодировкой UTF-8 без ВОМ.
Приоритеты применения настроек
По автодетекту. Если задано несколько стратегий для одного вида сигналов, то применяется первая по списку, где совпали условия на монету (белый список, черный список, ограничения суточных объемов), остальные по этому же сигналу не проверяются дальше. То есть если у вас настроено несколько стратегий и они сработали в один момент, MoonBot возьмет в работу только одну самую первую стратегию из списка.
По Telegram. Поступает сигнал, MoonBot находит все подходящие по названию канала стратегии. Если среди подходящих по названию канала стратегий есть стратегии с заданным ключом, под который подходит сигнал, то отдается приоритет первой в списке подходящей. Если среди подходящих по названию канала стратегий НЕТ стратегии с заданным ключом, то терминал ищет стратегию с заданным каналом и ПУСТЫМ ключом, если такая есть, берется первая подходящая в списке. Если нет, используются общие настройки
Рекомендации по настройке серверов для автоторговли
1) Menu – System Settings – галка режим VDS. Ставить крайне желательно, эта опция экономит ресурсы сервера. меньше памяти и ЦПУ расходуется на хранение и отрисовку графиков, больше ресурсов отводится работе алгоритмов.
2) Обязательно отключите обновление Windows и Defender! Иначе в процессе обновления система может закрыть терминал и ордера останутся на бирже.
3) Обязательно отключайте "Автоматический переход на летнее время и обратно" на VPS, а лучше ставьте часовой пояс "(UTC) Время в формате UTC".
4) При работе стратегии MoonShot с коротким интервалом цен ( до 0.5% разницы между MshotPriceMin и MshotPrice) рекомендуется использовать новый параметр MShotAddDistance = 50, а также MShotUsePrice = Trade. В этом случае цены для перестановки ордера будут браться по цене последней сделки, и MoonBot будет переставлять ордера быстрее. Это особенно актуально при торговле фьючерсами.
5) В стратегиях, ориентированных на быструю торговлю (MoonShot с коротким интервалом, Strike, Drops с маленькой просадкой) рекомендуется использовать ненулевое значение параметра HFT (целое число)
Как это работает:
Величина HFT определяет окно времени в миллисекундах, в течении которого ордер действителен. Если 0, то не применяется (ордер действителен до исполнения или отмены).
Зачем это нужно: если в процессе работы MoonBot на VPS вырос пинг, команда на выставление ордера будет идти до биржи слишком долго.
Если задать небольшое "окно", то такой ордер не будет принят биржей.
Это позволит избежать ситуации, когда ордер ставится «слишком поздно», и покупка происходит в изменившихся рыночных условиях.
Например, на серверах Vultr с пингом 10-20 можно ставить HFT = 100. Если не будет принимать ордера, то можно увеличить значения до 200-300.
Если ордер с параметром HFT не принят, MoonBot будет сообщать об этом в Telegram. Настроить частоту таких оповещений можно в Настройках — Специальные (по умолчанию не чаще, чем раз в минуту)
6) «Настройки — Автостарт». Обязательно включите опцию «Автостоп по ошибкам API» , число ошибок оставьте на 3 или 4. Рестарт не ранее, чем через 20 минут.
7) Так же можно использовать стоп по пингу , с порогом пинга от 100 и выше.
8) Настройте авто-логин в windows (Меню — System Settings, введите свой логин и пароль от аккаунта Windows и нажмите кнопку «AutoLogin»).
Если вы еще не добавили MoonBot в автозапуск, нажмите там же кнопку «Автозапуск». Для проверки перезапустите свой сервер — MoonBot должен запуститься и продолжить работу автоматически.
Особенности настройки short стратегий указаны на странице Модуль “Binance Futures” внимательно изучите все особенности и важные рекомендации.
Main
StrategyName: Поле для указания имени стратегии. У каждой стратегии имя должно быть уникальным.
Comment: Поле для короткого комментария к стратегии. Если комментарий не нужен, то это поле можно оставить пустым.
LastEditDate: Дата последнего редактирования (указывается в ручную пользователем, не обязательный).
SignalType: Выбор типа стратегии. Можно выбрать: Telegram, DropsDetection, WallsDetection, PumpsDetection, MoonShot, Liquidations, MoonStrike, Volumes, VolumesLite, Waves, Delta, UDP, Manual, Combo, NewListing, TopMarket, EMA, Spread, MoonHook, Activity, Alerts.
ChannelName: Имя канала в Telegram, откуда берется сигнал. Только для стратегий типа Telegram.
ChannelKey: Ключевое слово, с которым пришел сигнал из Telegram (например buy, news и тп). Для премиум канала это moon_1..moon_20. Только для стратегий типа Telegram.
AcceptCommands: Принимать команды Доверительного Управления. Только для стратегий типа Telegram.
OnlyEncryptedCommands: Только зашифрованные команды. Только для стратегий типа UDP.
SilentNoCharts: Открывать или нет графики монет при поступлении сигнала. Если NO — графики монет будут открываться, если YES — графики монет не будут открываться при поступлении сигнала.
ReportToTelegram: Отправлять сообщение о сигнале в свой канал Telegram (см. раздел «удаленное управление).
ReportTradesToTelegram: Слать отчеты о сделках в Telegram (включено по умолчанию).
SoundAlert: Если YES, при срабатывании сигнала Вам придет звуковое оповещение и над открытым вами графиком появится кнопка с названием монеты из сигнала, при нажатии на которую откроется ее график.
SoundKind: Выбор из предустановленных звуков для сигнала.
KeepAlert: Сколько секунд держать кнопку с названием монеты над графиком.
AddToChart: Номер окна-чарта, в который будет добавлен график монеты.
KeepInChart: Сколько секунд держать график монеты в окне-чарте.
EmulatorMode: YES/NO, если YES, то стратегия будет выставлять эмуляторные ордера в данной стратегии, независимо от общего режима в терминале. Если NO, то стратегия будет выставлять реальные ордера, если общий режим реальный или эмуляторные ордера, если общий режим Эмулятор.
DebugLog: Выводить в лог больше информации о причинах срабатывания или не срабатывания стратегий, приводит к увеличению размера лога. Только для стратегий MoonStrike и Liquidations.
IndependentSignals: если NO, то логика сработки остается старой: стратегии проверяются подряд по списку, после нахождения первой подходящей под условия детекта выдается сигнал, остальные стратегии не проверяются, то есть такая логика работала все время до версии 6.88. Если YES, то логика сработки стратегий новая: выдают сигнал все стратегии подряд по списку вплоть до первой, где галка не стоит.
DontWriteLog: (NO/YES), по умолчанию NO. Если YES, то не писать лог по ордерам этой стратегии. Галку DontWriteLog=YES можно поставить только в режиме эмулятора в стратегии (на вкладке Main нужно установить EmulatorMode=YES).
DontKeepOrdersOnChart: (NO/YES), по умолчанию NO. Если YES, то удалять ордера этой стратегии с графика, если Buy ордер отменен (не исполнен). Галку DontKeepOrdersOnChart=YES можно поставить только в режиме эмулятора в стратегии (на вкладке Main нужно установить EmulatorMode=YES).
UseCustomColors: (NO/YES), по умолчанию NO. Если YES, то использовать для стратегии настройки из трех параметров ниже (OrderLineKind, SellOrderColor и BuyOrderColor).
OrderLineKind: выбор типа линий для: Buy ордера, Sell ордера, Stop-Loss, Treiling и линии покупки (для данной стратегии). Можно выбрать один вариант из меню: Solid, Dash, Dot, DashDot, DashDotDot.
SellOrderColor: цвет линии Sell ордера и цвет его трассы (для данной стратегии).
BuyOrderColor: цвет линии Buy ордера и цвет его трассы (для данной стратегии).
Dynamic White\Black List
DynWL_SortBy: Выбор параметра для динамического белого списка, составленного путем сортировки и взятия первых DynWL_Count монет. Сортировку можно производить по следующим параметрам: Last1mDelta, Last15mDelta, Last30mDelta, Last1hDelta, Last2hDelta, Last3hDelta, 24h-Delta, DailyVol, HourtyVol, MinuteVol, 3Min-Vol, 5Min-Vol, MaxOrder, Orders, Session, MaxPos, MarkPrice, Funding, Leverage, Pump5m, Pump1h, Dump1h.
DynWL_SortDesc: Направление сортировки для белого списка (если YES, то от большего к меньшему, если NO, то от меньшего к большему значениям).
DynWL_Count: Сколько монет, проходящих по фильтру, взять из сортировки для составления динамического белого списка.
DynBL_SortBy: Выбор параметра для динамического черного списка, составленного путем сортировки и взятия первых DynBL_Count монет. Сортировку можно производить по следующим параметрам: Last1mDelta, Last15mDelta, Last30mDelta, Last1hDelta, Last2hDelta, Last3hDelta, 24h-Delta, DailyVol, HourtyVol, MinuteVol, 3Min-Vol, 5Min-Vol, MaxOrder, Orders, Session, MaxPos, MarkPrice, Funding, Leverage, Pump5m, Pump1h, Dump1h.
DynBL_SortDesc: Направление сортировки монет для черного списка (если YES, то от большего к меньшему, если NO, то от меньшего к большему значениям).
DynBL_Count: Сколько монет, проходящих по фильтру, взять из сортировки для составления динамического черного списка.
Dyn_Refresh: Частота пересчета динамических списков в секундах. Слишком частый пересчет сортировки нагружает ЦПУ и может привести к бану биржи за частую перестановку ордеров. Рекомендуем использовать значение от 61 секунды.
Filters
IgnoreFilters: YES/NO, если YES, то будут проигнорированы все нижние вкладки-фильтры (Filters / Base, Filters / Time, Filters / Price/Position, Filters / Ping, Filters / Volume, Filters / Delta) не зависимо от их собственных параметров "Ignore...", слева от этих вкладок будет отображаться серая полоска, которая оповещает, что эти вкладки-фильтры проигнорированы. Параметры, расположенные в основной вкладке Filters: IgnoreGatePenalty (только для биржи Gate), CoinsWhiteList, CoinsBlackList, OnlyNewListing, DontTradeListing, LeveragedTokens (только для биржи Binance), ListedType, CheckAfterBuy, DontCheckBeforeBuy, NextDetectPenalty, PreventWorkingUntil будут проверятся стратегией всегда, независимо от настройки параметра IgnoreFilters = YES или NO. При IgnoreFilters = YES игнорируются также опция "Не покупать только что добавленные монеты от 0 минут до 37 часов" на вкладке Настройки-Основные (кроме черного списка).
IgnoreGatePenalty: YES/NO, если YES, то игнорировать внутреннее пенальти, которое ставится при превышении fill ratio лимитов на бирже Gate. Этот параметр проверяется стратегией всегда, независимо от настройки параметра IgnoreFilters = YES или NO.
CoinsWhiteList: Белый список монет (если пуст, не используется) Если список задан, то стратегия анализирует только указанный список монет. Задаются через запятую, без пробелов.
CoinsBlackList: Черный список монет (если пуст, не используется) Если список задан, то стратегия не анализирует указанные монеты, так же не мониторятся монеты из общего черного списка (Настройки-Основные-Не покупать эти монеты). Задаются через запятую, без пробелов.
OnlyNewListing: Время в секундах, в течении которого стратегия будет работать на листингах. Если в поле установлен ноль, то параметр не учитывается.
DontTradeListing: Время в секундах, в течении которого стратегия не будет торговать монеты на листинге. Максимальное значение этого параметра 346k секунд (4 дня). Этот параметр заменяет общие настройки в терминале MoonBot на вкладке Настройки - Основные ползунок "Не покупать только что добавленные ХХ минут". Например, Вы можете отключить общую настройку на вкладке Настройки - Основные, а настроить и использовать параметр DontTradeListing выборочно по разным стратегиям. Внимание! Терминал MoonBot определяет время листинга только во время своей работы! После перезапуска терминала время листинга монеты ему уже становится не известно.
LeveragedTokens: Только для спот рынка биржи Binance, разрешить торговлю монетами UP и DOWN (по умолчанию выключено).
ListedType: Фильтрация монет в зависимости от листинга на споте и\или фьючерсах (только для биржи Binance).
CheckAfterBuy: Проверять или нет фильтры после выставления Buy ордера. Если этот параметр установлено на "NO", то фильтры проверяются только в момент сигнала, если на "YES", то проверяются все время, пока Buy ордер не исполнится. Таким образом, пока стоит Buy ордер, рыночные условия могут поменяться и Buy ордер отменится, если не пройдёт по фильтрам в какой-то момент.
DontCheckBeforeBuy: Если YES, то не перепроверять фильтры непосредственно перед покупкой. По умолчанию выключено (NO). Фильтры проверяются дважды: перед расчетом детекта и перед покупкой.
NextDetectPenalty: Время в секундах, в течение которого стратегия не сработает снова после детекта, по той же монете.
PreventWorkingUntil: в поле параметра записывается дата и время в UNIX формате, до которого будет остановлена стратегия, например, значение следующего вида: PreventWorkingUntil=1668718421. Если PreventWorkingUntil=0, то стратегия не находится в стопе и работает в штатном режиме.
Обычно этот параметр меняется в стратегии удаленно с помощью подачи телеграм-команды на остановку или запуск стратегий: sgStop [ИмяСтратегии] [время в минутах], sgStart [ИмяСтратегии]. Телеграм-команда sgStop без указания времени останавливает все стратегии на 2 часа.
Также можно менять значение параметра PreventWorkingUntil с помощью команды: SetParam [ИмяСтратегии] PreventWorkingUntil 1668718421.
Filters / Base
IgnoreBase: YES / NO, если YES (игнорирование проверки параметров вкладки Filters / Base), то в этом случае данный раздел фильтров совсем не проверяется для снижения нагрузки на ЦПУ, при этом слева от вкладки будет отображаться серая полоска, которая оповещает, что эта вкладка игнорируется.
Если NO (не игнорирование проверки параметров вкладки), то в этом случае данный раздел фильтров проверяется, при этом слева от вкладки будет отображаться зеленая полоска, которая оповещает, что эта вкладка не игнорируется.
Внимание! Если на основной вкладке Filters настройки стратегий установлен общий режим игнорирования фильтров IgnoreFilters = YES, то вкладка Filters / Base будет игнорироваться независимо от значения параметра IgnoreBase (YES или NO) и при этом слева от вкладки Filters / Base будет отображаться серая полоска, которая оповещает, что эта вкладка игнорируется.
BinanceTokenTags: Фильтрация по тэгам токенов. Внимание! Недокументированная функция биржи Binance, может перестать работать в любой момент.
MinLeverage: Минимальное плечо, с которым брать в работу монеты. Если плечо меньше, не брать. Если стоит галка игнора фильтров, этот фильтр не работает. По умолчанию 1, то есть брать монеты с любым плечом.
MaxLeverage: Маркеты с плечом не более, чем заданное (если 0, не учитывается).
CustomEMA: Данный параметр входит в Пакет расширений для Автоторговли, там же можно прочитать и описание. EMA фильтр исключен из проверки CheckAfterBuy во всех стратегиях, кроме муншотов.
MoonIntRiskLevel: Монеты, торги на которых пользователи считают нежелательными в данный момент, публикуются в канале @MoonInt с указанием уровня риска от 1 до 3 *CR* Уровень риска, ниже которого сигналы ЧС игнорируются данной стратегией. *CR* Если ставить 3, то будут учитываться только самые опасные сигналы, если 4, то никакие не будут учитываться. Для работы функции необходимо подключение бота к Телеграмму.
MoonIntStopLevel: Временная остановка стратегии по сигналу в канале @MoonInt. В отличии от MoonIntRiskLevel останавливает работу стратегии по всем монетам сразу. Если ставить 3, то будут учитываться только самые опасные сигналы, если 4 (значение по умолчанию), то никакие не будут учитываться. Для работы функции необходимо подключение бота к Телеграмму.
MarkPriceMin: (Только для Binance Futures) Фильтр по MarkPrice предназначен для того, чтобы избежать открытия позиции слишком далеко от цены маркировки, что может повлечь мгновенную ликвидацию. Фильтр работает с дельтой MarkPrice, это разница в процентах между рыночной ценой и ценой маркировки. Отрицательная, если MarkPrice выше рыночной и положительная, если ниже. Задается фильтр значениями от и до (MarkPriceMin, MarkPriceMax).
MarkPriceMax: (Только для Binance Futures) Фильтр по MarkPrice предназначен для того, чтобы избежать открытия позиции слишком далеко от цены маркировки, что может повлечь мгновенную ликвидацию. Фильтр работает с дельтой MarkPrice, это разница в процентах между рыночной ценой и ценой маркировки. Отрицательная, если MarkPrice выше рыночной и положительная, если ниже. Задается фильтр значениями от и до (MarkPriceMin, MarkPriceMax).
Filters / Time
IgnoreTime: YES / NO, если YES (игнорирование проверки параметров вкладки Filters / Time), то в этом случае данный раздел фильтров совсем не проверяется для снижения нагрузки на ЦПУ, при этом слева от вкладки будет отображаться серая полоска, которая оповещает, что эта вкладка игнорируется.
Если NO (не игнорирование проверки параметров вкладки), то в этом случае данный раздел фильтров проверяется, при этом слева от вкладки будет отображаться зеленая полоска, которая оповещает, что эта вкладка не игнорируется.
Внимание! Если на основной вкладке Filters настройки стратегий установлен общий режим игнорирования фильтров IgnoreFilters = YES, то вкладка Filters / Time будет игнорироваться независимо от значения параметра IgnoreTime (YES или NO) и при этом слева от вкладки Filters / Time будет отображаться серая полоска, которая оповещает, что эта вкладка игнорируется.
WorkingTime: задает интервал времени работы стратегии. Формат записи в поле этого параметра следующий:
а) или часы:минуты - часы:минуты: WorkingTime=10:30-16:45 (стратегия будет работать каждые сутки в этом интервале времени)
б) или минуты-минуты: WorkingTime=05-35 (стратегия будет работать каждый час в этом интервале минут)
В параметре WorkingTime можно указывать только один интервал времени.
PenaltyTime: Время в секундах, в течение которого стратегия не будет работать по монете, на которой были 3 минусовые сделки подряд или ордер был отменен или выставлен вручную.
TradePenaltyTime: Время в секундах, в течение которого стратегия не будет работать по монете, на которой была закрытая в минус сделка. Пояснение: если была минусовая сделка (по любой стратегии, в т.ч. ручной), то стратегии где TradePenaltyTime не 0, не будут работать по монете заданное время TradePenaltyTime секунд.
GlobalDetectPenalty: Общее по монете пенальти для стратегий всех типов в секундах, то есть при срабатывании одной стратегии на данной монете другие не сработают заданное время. Если 0, параметр игнорируется.
FundingBefore: Если значение в параметре FundingBefore положительное, то будет задаваться время в секундах до фандинга, в течении которого стратегия может работать. Если значение в параметре FundingBefore отрицательное, то будет задаваться время в секундах до фандинга, в течении которого стратегия должна быть выключена. Если 0, то не применяется.
Примеры:
FundingBefore = 5 стратегия будет работать в течении 5 секунд до фандинга.
FundingBefore = -5 стратегия не будет работать в течении 5 секунд до фандинга.
FundingAfter: Если значение в параметре FundingAfter положительное, то будет задаваться время в секундах после фандинга, в течении которого стратегия может работать. Если значение в параметре FundingAfter отрицательное, то будет задаваться время в секундах после фандинга, в течении которого стратегия должна быть выключена. Если 0, то не применяется.
Примеры:
FundingAfter = 5 стратегия будет работать в течении 5 секунд после фандинга.
FundingAfter = -5 стратегия не будет работать в течении 5 секунд после фандинга.
Filters / Price/Position
IgnorePrice: YES / NO, если YES (игнорирование проверки параметров вкладки Filters / Price/Position), то в этом случае данный раздел фильтров совсем не проверяется для снижения нагрузки на ЦПУ, при этом слева от вкладки будет отображаться серая полоска, которая оповещает, что эта вкладка игнорируется.
Если NO (не игнорирование проверки параметров вкладки), то в этом случае данный раздел фильтров проверяется, при этом слева от вкладки будет отображаться зеленая полоска, которая оповещает, что эта вкладка не игнорируется.
Внимание! Если на основной вкладке Filters настройки стратегий установлен общий режим игнорирования фильтров IgnoreFilters = YES, то вкладка Filters / Price/Position будет игнорироваться независимо от значения параметра IgnorePrice (YES или NO) и при этом слева от вкладки Filters / Price/Position будет отображаться серая полоска, которая оповещает, что эта вкладка игнорируется.
MaxBalance: Не ставить ордер, если уже задействованный баланс всеми стратегиями (включая OrderSize данной стратегии) превысит лимит. Если 0, не учитывается.
SamePosition: Ставить ордера только в направлении открытой позиции. Только для Binance Futures.
MaxPosition: Задает порог позиции, при превышении которого будут отменены все бай ордера (при включенном CheckAfterBuy), а новые не будут ставится.
SessionProfitMin: Два параметра: профит за сессию от и до в $ - задают диапазон работы стратегии по профиту. Если 0, то не учитывается. Примеры:
1) SessionProfitMin = -100 ($), SessionProfitMax = 0 ($). Тогда стратегия будет работать на монете до тех пор, пока потери за сессию на данной монете меньше 100$.
2) SessionProfitMin = 0 ($), SessionProfitMax = 1 ($). Тогда стратегия будет работать на монете только пока профит на данной монете меньше 1$.
Автосброс сессии по времени настраивается на вкладке Настройки-Автостарт.
SessionProfitMax: Два параметра: профит за сессию от и до в $ - задают диапазон работы стратегии по профиту. Если 0, то не учитывается. Примеры:
1) SessionProfitMin = -100 ($), SessionProfitMax = 0 ($). Тогда стратегия будет работать на монете до тех пор, пока потери за сессию на данной монете меньше 100$.
2) SessionProfitMin = 0 ($), SessionProfitMax = 1 ($). Тогда стратегия будет работать на монете только пока профит на данной монете меньше 1$.
Автосброс сессии по времени настраивается на вкладке Настройки-Автостарт.
TotalLoss: Стратегия перестает работать, когда общий минус превысит заданное значение (положительное число). Минус считается по общим настройкам с вкладки Автостарт за заданное время по всему отчету.
WorkingPriceMax: границы цены, вне которых стратегия не работает. Если 0, не учитывается.
WorkingPriceMin: границы цены, вне которых стратегия не работает. Если 0, не учитывается.
PriceStepMin: Минимальный шаг цены (в %) от текущей цены. Можно посмотреть в колонке PumpQ в таблице монет (второе после «/» число).
PriceStepMax: Максимальный шаг цены (в %) от текущей цены. Пример: если монета стоит 20 сатоши, то шаг цены равен 5%. Если монета стоит 200 сатоши, то шаг цены равен 0.5% (значение PriceStepMax по умолчанию ограничивает покупку монет с ценой меньше 200 сатоши).
UseBTCPriceStep: Выбор маркета для расчета шага цены. В положении Yes шаг цены для фильтра берется по BTC маркету, в положении NO по фактическому. Пример: USDT-HOT имеет фактический шаг цены 0.02%, а шаг цены по BTC-HOT - 14%. С помощью нового параметра можно исключить HOT фильтром шага от 0 до 1%.
Filters / Ping
IgnorePing: YES / NO, если YES (игнорирование проверки параметров вкладки Filters / Ping), то в этом случае данный раздел фильтров совсем не проверяется для снижения нагрузки на ЦПУ, при этом слева от вкладки будет отображаться серая полоска, которая оповещает, что эта вкладка игнорируется.
Если NO (не игнорирование проверки параметров вкладки), то в этом случае данный раздел фильтров проверяется, при этом слева от вкладки будет отображаться зеленая полоска, которая оповещает, что эта вкладка не игнорируется.
Внимание! Если на основной вкладке Filters настройки стратегий установлен общий режим игнорирования фильтров IgnoreFilters = YES, то вкладка Filters / Ping будет игнорироваться независимо от значения параметра IgnorePing (YES или NO) и при этом слева от вкладки Filters / Ping будет отображаться серая полоска, которая оповещает, что эта вкладка игнорируется.
MaxPing: Максимальное значение пинга, при котором может работать стратегия. Если 0, или если MaxLatency 0 - не учитывается. Если ордер не прошел по фильтру пинга, накладывается пенальти 5 сек до повторной попытки выставить.
MinPing: Минимальное значение пинга, при котором может работать стратегия.
MaxLatency: останавливать торги по данной стратегии, если задержки превысили заданное значение (по умолчанию 0 - не применяется).
BinancePriceBug: значение лага цены в процентах, при котором остановить торги (если 0 то не применяется).
BinancePriceBugMin: брать только монеты, где значение PriceBug больше заданного. Если 0, не учитывается. Фильтр BinancePriceBugMin считается раздельно по маркетам (а Фильтр BinancePriceBug, как и раньше, общий на весь рынок).
Filters / Volume
IgnoreVolume: YES / NO, если YES (игнорирование проверки параметров вкладки Filters / Volume), то в этом случае данный раздел фильтров совсем не проверяется для снижения нагрузки на ЦПУ, при этом слева от вкладки будет отображаться серая полоска, которая оповещает, что эта вкладка игнорируется.
Если NO (не игнорирование проверки параметров вкладки), то в этом случае данный раздел фильтров проверяется, при этом слева от вкладки будет отображаться зеленая полоска, которая оповещает, что эта вкладка не игнорируется.
Внимание! Если на основной вкладке Filters настройки стратегий установлен общий режим игнорирования фильтров IgnoreFilters = YES, то вкладка Filters / Volume будет игнорироваться независимо от значения параметра IgnoreVolume (YES или NO) и при этом слева от вкладки Filters / Volume будет отображаться серая полоска, которая оповещает, что эта вкладка игнорируется.
MinVolume: Минимальный суточный объем торгов по монете (указывается в BTC, ETH, BNB, USDT, PAX, TUSD, USDC или USDS в зависимости от выбранной пары), обновляется раз в 5-10 минут. Посмотреть суточный и часовой объем по любой монете можно нажав на кнопку «Показать маркеты» или, открыв монету, справа от графика.
MaxVolume: Максимальный суточный объем торгов по монете(указывается в BTC, ETH, BNB, USDT, PAX, TUSD, USDC или USDS в зависимости от выбранной пары), обновляется раз в 5-10 минут.
MinHourlyVolume: Минимальный часовой объем торгов по монете (указывается в BTC, ETH, BNB, USDT, PAX, TUSD, USDC или USDS в зависимости от выбранной пары), обновляется раз в 5-10 минут.
MaxHourlyVolume: Максимальный часовой объем торгов по монете (указывается в BTC, ETH, BNB, USDT, PAX, TUSD, USDC или USDS в зависимости от выбранной пары), обновляется раз в 5-10 минут.
MinHourlyVolFast: Минимальный часовой объем с быстрым обновлением по трейдам, по умолчанию 0 - не проверять.
MaxHourlyVolFast: Максимальный часовой объем с быстрым обновлением по трейдам, по умолчанию 0 - не проверять.
MinuteVolDeltaMin: Минутная дельта объема, не меньше чем (если 0, не учитывается). Считается как отношение объема за посл. минуту к среднему минутному объему за последние 3 часа. Значение 1 означает, что текущий объем равен среднему.
MinuteVolDeltaMax: Минутная дельта объема, не более чем (если 0, не учитывается). Считается как отношение объема за посл. минуту к среднему минутному объему за последние 3 часа. Значение 1 означает, что текущий объем равен среднему.
UseBV_SV_Filter: Это фильтр соотношения объемов покупок к продажам. Данный параметр учитывается только при включенной автопокупки в стратегии. Если фильтр включен (Yes), то стратегия сработает при соблюдении двух условий, описанных ниже. N: параметр, который отвечает за время расчета соотношения объемов. Он описан ниже в параметре BV_SV_TradesN.
BV_SV_FilterRatio: в параметре задаётся минимальное значение соотношения объёмов покупок BV (BuyVolume) к объёмам продаж SV (SellVolume) за последнее количество времени N или за последнее количество трейдов N, ниже которого автопокупка не производится. Если 0, то игнорируется. Данный параметр учитывается только при включенной функции автопокупки в стратегии.
Тип подсчета: за количество времени (Time) или за количество трейдов (TradesCount), задаётся в параметре BV_SV_Kind, а количество N задаётся в параметре BV_SV_TradesN на вкладке Stops настройки стратегии.
Например, если в стратегии настроено так:
- На вкладке Filters / Volume: UseBV_SV_Filter = YES и BV_SV_FilterRatio = 1
- На вкладке Stops: BV_SV_Kind = Time и BV_SV_TradesN = 60
То фильтр по BV_SV включён и будет отслеживать, чтобы на монете отношение BV/SV было равно 1 или более, при этом подсчет BV_SV будет производится за последние 60 секунд. Если эти условия будут выполняться, то стратегия сможет выставить ордер, если ещё прошла и по другим своим фильтрам.
BV_SV_FilterRatioMax: в параметре задаётся максимальное значение соотношения объёмов покупок BV (BuyVolume) к объёмам продаж SV (SellVolume) за последнее количество времени N или за последнее количество трейдов N, выше которого автопокупка не производится. Если 0, то игнорируется. Данный параметр учитывается только при включенной функции автопокупки в стратегии.
Тип подсчета: за количество времени (Time) или за количество трейдов (TradesCount), задаётся в параметре BV_SV_Kind, а количество N задаётся в параметре BV_SV_TradesN на вкладке Stops настройки стратегии.
Например, если в стратегии настроено так:
- На вкладке Filters / Volume: UseBV_SV_Filter = YES и BV_SV_FilterRatioMax = 5
- На вкладке Stops: BV_SV_Kind = TradesCount и BV_SV_TradesN = 100
То фильтр по BV_SV включён и будет отслеживать, чтобы на монете отношение BV/SV было равно 5 или менее, при этом подсчет BV_SV будет производится за последние 100 трейдов. Если эти условия будут выполняться, то стратегия сможет выставить ордер, если ещё прошла и по другим своим фильтрам.
Filters / Delta
IgnoreDelta: YES / NO, если YES (игнорирование проверки параметров вкладки Filters / Delta), то в этом случае данный раздел фильтров совсем не проверяется для снижения нагрузки на ЦПУ, при этом слева от вкладки будет отображаться серая полоска, которая оповещает, что эта вкладка игнорируется.
Если NO (не игнорирование проверки параметров вкладки), то в этом случае данный раздел фильтров проверяется, при этом слева от вкладки будет отображаться зеленая полоска, которая оповещает, что эта вкладка не игнорируется.
Внимание! Если на основной вкладке Filters настройки стратегий установлен общий режим игнорирования фильтров IgnoreFilters = YES, то вкладка Filters / Delta будет игнорироваться независимо от значения параметра IgnoreDelta (YES или NO) и при этом слева от вкладки Filters / Delta будет отображаться серая полоска, которая оповещает, что эта вкладка игнорируется.
Delta_3h_Min: Минимальное значение дельты за 3 часа, (в %), ниже которой бот не рассматривает монету.
Delta_3h_Max: Максимальное значение дельты за 3 часа, (в %), выше которой бот не рассматривает монету.
Delta_24h_Min: Минимальное значение дельты за 24 часа, (в %), ниже которой бот не рассматривает монету.
Delta_24h_Max: Максимальное значение дельты за 24 часа, (в %), выше которой бот не рассматривает монету.
Delta2_Type: Выбор дополнительной дельты: 1 час, 2 часа, 30 мин, 15 мин, 5мин, 1мин, Pump5m, Pump1h, Dump1h.
Delta2_Min: Значение доп. дельты (не менее чем, в %).
Delta2_Max: Значение доп. дельты (не более чем, в %).
Delta3_Type: Выбор дополнительной дельты: 1 час, 2 часа, 30 мин, 15 мин, 5мин, 1мин, Pump5m, Pump1h, Dump1h.
Delta3_Min: Значение доп. дельты (не менее чем, в %).
Delta3_Max: Значение доп. дельты (не более чем, в %).
Delta_BTC_Min: Минимальное изменение курса BTC за час, (в %).
Delta_BTC_Max: Максимальное изменение курса BTC за час, (в %).
Delta_BTC_24_Min: Минимальное изменение курса BTC за 24 часа (в %), ниже которого бот не рассматривает монету.
Delta_BTC_24_Max: Максимальное изменение курса BTC за 24 часа (в %), выше которого бот не рассматривает монету.
Delta_BTC_5m_Min: Минимальное изменение курса BTC за последние 5 минут (в %), считается как разница (в процентах) между мин. и макс. курсом за последние 5 минут и является всегда положительной.
Delta_BTC_5m_Max: Максимальное изменение курса BTC за последние 5 минут (в %), считается как разница (в процентах) между мин. и макс. курсом за последние 5 минут и является всегда положительной.
Delta_BTC_1m_Min: Минимальное изменение курса BTC за последнюю 1 минуту (в %), считается как разница (в процентах) между мин. и макс. курсом за последнюю 1 минуту и является всегда положительной.
Delta_BTC_1m_Max: Максимальное изменение курса BTC за последнюю 1 минуту (в %), считается как разница (в процентах) между мин. и макс. курсом за последнюю 1 минуту и является всегда положительной.
Delta_Market_Min: Средняя по всем альткоинам часовая дельта, не менее чем (в %). Усредняется по всем парам. Может быть отрицательная.
Delta_Market_Max: Средняя часовая дельта по всем рынкам (не более чем (в %).
Delta_Market_24_Min: Минимальное изменение среднего курса всех альткоинов за 24 часа , (в %), ниже которого бот не рассматривает монету.
Delta_Market_24_Max: Максимальное изменение среднего курса всех альткоинов за 24 часа, (в %), выше которого бот не рассматривает монету.
FilterBy: меню выбора параметра для фильтрации из следующих возможных вариантов:
- Last1mDelta, Last15mDelta, Last30mDelta, Last1hDelta, Last2hDelta, Last3hDelta, 24h-Delta: по дельтам цены (за 1м, 15м, 30м, 1ч, 2ч, 3ч, 24ч);
- DVolToHVolAsc: по соотношению суточного и часового объемов по возрастанию;
- DVolToHVolDesc: по соотношению суточного и часового объемов по убыванию;
- DailyVol, HourlyVol, MinuteVol, 3Min-Vol, 5Min-Vol: по объемам (за 24ч, 1ч, 1м, 3м, 5м);
- MaxOrder: по максимальному размеру ордера;
- Orders: по количеству ордеров;
- Session: по размеру сессии;
- MaxPos: по максимальной позиции;
- MarkPrice: по маркпрайсу;
- Funding: по фандингу;
- Leverage: по размеру плеча;
- Pump5m: по дельте роста цены за 5 минут (считается как разница между ценой 5 минут назад и максимальной ценой за 5 минут);
- Pump1h: по дельте роста цены за час (считается как разница между ценой час назад и максимальной ценой за час);
- Dump1h: по дельте падения цены за час (считается как разница между ценой час назад и минимальной ценой за час).
FilterMin: Минимальная граница значения величины FilterBy. Если FilterMin = 0, то этот параметр не применяется.
FilterMax: Максимальная граница значения величины FilterBy. Если FilterMax = 0, то этот параметр не применяется.
GlobalFilterPenalty: Время в секундах, в течение которого стратегия не сработает снова после того, как она не прошла по фильтру дельты BTC или рынка (если 0, параметр игнорируется).
DeltaSwitch: Если стратегия берет монету при заданном интервале Delta_BTC и Delta_Market(от X до Y), то она остается на монете в интервале (от X-DeltaSwitch до Y+DeltaSwitch) (в текущем наборе стратегий имеет смысл только для MoonShot).
Triggers Master/Slave
TriggerKey: Данный параметр входит в Пакет расширений для Автоторговли, там же можно прочитать и описание.
TriggerKeyBuy: Данный параметр входит в Пакет расширений для Автоторговли, там же можно прочитать и описание.
TriggerKeyProfit: Данный параметр входит в Пакет расширений для Автоторговли, там же можно прочитать и описание.
TriggerKeyLoss: Данный параметр входит в Пакет расширений для Автоторговли, там же можно прочитать и описание.
ActiveTrigger: Данный параметр входит в Пакет расширений для Автоторговли, там же можно прочитать и описание.
ClearTriggersBelow: Данный параметр входит в Пакет расширений для Автоторговли, там же можно прочитать и описание.
ClearTriggersAbove: Данный параметр входит в Пакет расширений для Автоторговли, там же можно прочитать и описание.
ClearTriggerKeys: Данный параметр входит в Пакет расширений для Автоторговли, там же можно прочитать и описание.
TriggerAllMarkets: Данный параметр входит в Пакет расширений для Автоторговли, там же можно прочитать и описание.
TriggerByKey: Данный параметр входит в Пакет расширений для Автоторговли, там же можно прочитать и описание.
TriggerByAllKeys: Данный параметр входит в Пакет расширений для Автоторговли, там же можно прочитать и описание.
TriggerSeconds: Данный параметр входит в Пакет расширений для Автоторговли, там же можно прочитать и описание.
TriggerKeysBL: Данный параметр входит в Пакет расширений для Автоторговли, там же можно прочитать и описание.
TriggerSecondsBL: Данный параметр входит в Пакет расширений для Автоторговли, там же можно прочитать и описание.
SellByTriggerBL: Данный параметр входит в Пакет расширений для Автоторговли, там же можно прочитать и описание.
CancelByTriggerBL: Данный параметр входит в Пакет расширений для Автоторговли, там же можно прочитать и описание.
Session
IgnoreSession: Данный параметр входит в Пакет расширений для Автоторговли, там же можно прочитать и описание.
SessionStratMax: Данный параметр входит в Пакет расширений для Автоторговли, там же можно прочитать и описание.
SessionStratIncreaseMax: Данный параметр входит в Пакет расширений для Автоторговли, там же можно прочитать и описание.
SessionStratMin: Данный параметр входит в Пакет расширений для Автоторговли, там же можно прочитать и описание.
SessionStratReduceMin: Данный параметр входит в Пакет расширений для Автоторговли, там же можно прочитать и описание.
SessionResetOnMinus: Данный параметр входит в Пакет расширений для Автоторговли, там же можно прочитать и описание.
SessionPenaltyTime: Данный параметр входит в Пакет расширений для Автоторговли, там же можно прочитать и описание.
SessionPlusCount: Данный параметр входит в Пакет расширений для Автоторговли, там же можно прочитать и описание.
SessionMinusCount: Данный параметр входит в Пакет расширений для Автоторговли, там же можно прочитать и описание.
SessionIncreaseOrder: Данный параметр входит в Пакет расширений для Автоторговли, там же можно прочитать и описание.
SessionIncreaseOrderMax: Данный параметр входит в Пакет расширений для Автоторговли, там же можно прочитать и описание.
SessionReduceOrder: Данный параметр входит в Пакет расширений для Автоторговли, там же можно прочитать и описание.
SessionReduceOrderMin: Данный параметр входит в Пакет расширений для Автоторговли, там же можно прочитать и описание.
SessionResetTime: Данный параметр входит в Пакет расширений для Автоторговли, там же можно прочитать и описание.
Buy conditions
AutoBuy: Автопокупка монет. Если YES, то выставится ордер на покупку по заданным ниже параметрам. Если NO, то стратегия даст сигнал, но покупка произведена не будет, это полезно когда вы используете стратегию как помощник в выборе монеты для ручной торговли. Стратегия будет просто сигнализировать вам об интересных ситуациях на рынке, а Вы сами будете принимать решение для открытия позиции.
BuyDelay: Задержка выставления ордера миллисекунды, (0 - нет задержки, макс. 3000 мс)
Short: Открывать short ордера вместо long. Для выставления short ордера необходимо наличие модуля “Binance Futures”, там же указаны особенности настройки шорт стратегий на фьючерсах.
HFT: (целое число) Означает окно времени в миллисекундах, в течении которого ордер действителен. Если 0, то не применяется.
MaxActiveOrders: Макс. число активных (отложенных или уже выставленных на продажу после срабатывания покупки) ордеров по данной стратегии одновременно. (не применяется к повторным ордерам Муншотов с опцией MShotRepeatAfterBuy. Повторные ордера будут выставляться без учета MaxActiveOrders)
MaxOrdersPerMarket: Максимальное число активных мультиордеров на одной монете, если 0, то параметр не применяется.
MaxMarkets: макс. число маркетов, на которых одновременно работает стратегия (кроме страйков).
AutoCancelBuy: Авто отмена buy-ордера через заданное время, в секундах с точкой в плоть до миллисекунд. Если 0, то не отменять. Счетчик до отмены сбрасывается, если ордер был переставлен вручную.
AutoCancelLowerBuy: Только для сигналов в Telegram. Авто отмена buy-ордера через заданное время в случае, если была использована более низкая цена покупки сигнала.
CancelBuyAfterSell: Этот параметр работает по аналогии с галкой из вкладки Настройки - Основные (отменять buy после исполнения sell), если CancelBuyAfterSell=YES, то после исполнения Sell ордера этой стратегии, когда сделка закрыта в плюс или минус, будут отменены все не исполненные Buy ордера или остатки сетки ордеров, которые ещё находились в стакане. Настройка этого параметра действует только на ордера той же стратегии или на другие стратегии, которые выставляют ордера с тем же значением JoinKey (не нулевым).
BuyType: Buy - выставление лимитного ордера,
BuyLimit - выставление отложенного ордера ниже текущей цены, после достижения условной цены лимитный ордер выставится чуть выше (или ниже соотв.) на величину спреда PendingOrderSpread,
BuyStop - выставление отложенного ордера выше текущей цены, после достижения условной цены лимитный ордер выставится чуть выше (или ниже соотв.) на величину спреда PendingOrderSpread.
PendingOrderSpread: величина спреда для выставления лимитного ордера, может быть отрицательным; если лимитка сразу не исполнилась, через 3 сек. она снимается.
OrderSize: Фиксированный размер buy-ордера в базовой валюте. Если 0, то используется значение из общих настроек.
MinFreeBalance: если в момент детекта сумма на балансе меньше заданного, не пытаться ставить ордера на остаток (задается в базовой валюте).
buyPrice: Цена покупки, (в %) от цены на момент срабатывания стратегии или же от минимальной цены за последние 30 секунд.
buyPriceLastTrade: Использовать для расчета цены покупки цену последнего трейда (если галка не стоит, то используется последняя цена ASK, как и работало по умолчанию до версии 7.07).
Use30SecOldASK: Если YES, будет использована минимальная цена ASK за последние 30 сек., если NO, то текущая.
UseOldPrice: использовать для buy-ордера цену N секунд назад (применяется только к тем стратегиям где это не противоречит идее стратегии).
TlgUseBuyDipWords: (Только для сигналов в Telegram) Если в сигнале указаны стоп-слова, при которых покупать по более низкой цене, и TlgUseBuyDipWords = YES, то будет использована более низкая цена (см. ниже).
TlgBuyDipPrice: (Только для сигналов в Телеграме) Цена, по которой покупать сигналы, содержащие рекомендацию покупать по цене ниже рыночной (в процентах к рыночной цене).
Delta Modifiers
BuyModifier: Коэффициент прибавки модификаторов к цене buy ордера. Пример: суммарная дельта, посчитанная по модификаторам Add*, равна 5%. BuyModifier = -0.1. В таком случае ордера на покупку будут ставится на 0.5% ниже. Для наглядности проверяйте работу параметров в ручной стратегии
SellModifier: Коэффициент прибавки модификаторов к цене Sell ордера. Пример: суммарная дельта, посчитанная по модификаторам Add*, равна 5%. SellModifier = 0.2. В таком случае ордера на продажу будут ставится на 1% выше.
DetectModifier: Коэффициент прибавки модификаторов к порогу детекта. Пример: суммарная дельта, посчитанная по модификаторам Add*, равна 5%. DetectModifier = 0.1. Стратегия (например pump-детект) настроена на 2%. В этом случае стратегия будет срабатывать только от 2% + 5%*0.1 = 2.5%
StopLossModifier: Модификатор стопа.
MaxModifier: Расчетная сумма всех модификаторов не больше, чем заданное значение. Расчет итогового модификатора производится по формуле Min(MaxModifier, Sum[Pn * Dn]), где Pn – заданный в стратегии модификатор, Dn – текущая. дельта. Если 0, то параметр не учитывается.
Add24hDelta: Модификатор параметров в зависимости от 24-и часовой дельты. Расчет суммарной дельты с коэффициентами, по сумме всех модификаторов (Sum[Pn * Dn], где Pn - заданный в стратегии модификатор, Dn - текущая. дельта). Для наглядности проверяйте работу параметров в ручной стратегии.
Add3hDelta: Модификатор параметров в зависимости от 3-х часовой дельты. Расчет суммарной дельты с коэффициентами, по сумме всех модификаторов (Sum[Pn * Dn], где Pn - заданный в стратегии модификатор, Dn - текущая. дельта). Для наглядности проверяйте работу параметров в ручной стратегии.
AddHourlyDelta: Модификатор параметров в зависимости от часовой дельты. Расчет суммарной дельты с коэффициентами, по сумме всех модификаторов (Sum[Pn * Dn], где Pn - заданный в стратегии модификатор, Dn - текущая. дельта). Для наглядности проверяйте работу параметров в ручной стратегии.
Add15minDelta: Модификатор параметров в зависимости от 15-и минутной дельты. Расчет суммарной дельты с коэффициентами, по сумме всех модификаторов (Sum[Pn * Dn], где Pn - заданный в стратегии модификатор, Dn - текущая. дельта). Для наглядности проверяйте работу параметров в ручной стратегии.
Add5minDelta: Модификатор параметров в зависимости от 5-и минутной дельты. Расчет суммарной дельты с коэффициентами, по сумме всех модификаторов (Sum[Pn * Dn], где Pn - заданный в стратегии модификатор, Dn - текущая. дельта). Для наглядности проверяйте работу параметров в ручной стратегии.
Add1minDelta: Модификатор параметров в зависимости от минутной дельты. Расчет суммарной дельты с коэффициентами, по сумме всех модификаторов (Sum[Pn * Dn], где Pn - заданный в стратегии модификатор, Dn - текущая. дельта). Для наглядности проверяйте работу параметров в ручной стратегии.
AddMarketDelta: Модификатор параметров в зависимости от часовой дельты маркета (по модулю, то есть всегда положительный). Расчет суммарной дельты с коэффициентами, по сумме всех модификаторов (Sum[Pn * Dn], где Pn - заданный в стратегии модификатор, Dn - текущая. дельта). Для наглядности проверяйте работу параметров в ручной стратегии.
AddBTCDelta: Модификатор параметров в зависимости часовой дельты ВТС. Расчет суммарной дельты с коэффициентами, по сумме всех модификаторов (Sum[Pn * Dn], где Pn - заданный в стратегии модификатор, Dn - текущая. дельта). Для наглядности проверяйте работу параметров в ручной стратегии.
AddBTC5mDelta: Модификатор параметров в зависимости 5-и минутной дельты ВТС. Расчет суммарной дельты с коэффициентами, по сумме всех модификаторов (Sum[Pn * Dn], где Pn - заданный в стратегии модификатор, Dn - текущая. дельта). Для наглядности проверяйте работу параметров в ручной стратегии.
AddBTC1mDelta: Модификатор параметров в зависимости минутной дельты ВТС. Расчет суммарной дельты с коэффициентами, по сумме всех модификаторов (Sum[Pn * Dn], где Pn - заданный в стратегии модификатор, Dn - текущая. дельта). Для наглядности проверяйте работу параметров в ручной стратегии.
AddMarkDelta: Модификатор параметров в зависимости от дельты цены маркировки. Расчет суммарной дельты с коэффициентами, по сумме всех модификаторов (Sum[Pn * Dn], где Pn - заданный в стратегии модификатор, Dn - текущая. дельта). Для наглядности проверяйте работу параметров в ручной стратегии.
AddPump1h: Модификатор параметров в зависимости от дельты Pump1h.
AddDump1h: Модификатор параметров в зависимости от дельты Dump1h.
AddPriceBug: Модификатор параметров в зависимости от PriceBug.
Multiple Orders
OrdersCount: число ордеров (по умолчанию 1).
CheckFreeBalance: проверка баланса для выставления одиночного ордера или сетки ордеров, при нехватки ордера не выставляются.
BuyPriceStep: шаг цены, в процентах от исходной цены (если меньше нуля, каждый след. ордер ставится ниже, если больше нуля, то выше).
BuyStepKind: способ расчета шага цены (Linear — линейное или Exponential — геом. прогрессия).
OrderSizeStep: шаг изменения размера ордера, в процентах (0 — не изменять размер ордера).
OrderSizeKind: способ расчета сетки ордеров (Linear — линейное или Exponential — геом. прогрессия). Если задано Exponential, то каждый след. ордер будет в OrderSizeStep процентов больше (например при OrderSizeStep = 200 след. ордер будет в 2 раза больше). Если Linear, то след. ордер будет на OrderSizeStep процентов больше
CancelBuyStep: шаг увеличения времени отмены buy ордеров при установке ордеров сеткой (в секундах).
JoinSellKey: ключ для автообъединения sell ордеров (по умолчанию 0 — не объединять). Если поставить там любое значение, то после покупки стратегия объединяет монеты с любым другим ордером с таким же ключом.
JoinPriceFixed: при объединении брать фиксированную цену продажи из стратегии (SellPrice)
IgnoreCancelBuy: игнорировать автоотмену сетки ордеров, если первый из сетки уже исполнился.
Sell order
AutoSell: Если YES (по умолчанию), то выставлять Sell ордер после покупки монеты. Если NO, то не выставлять Sell ордер после покупки монеты, тогда все купленные монеты будут накапливаться на Вашем балансе.
Обратите внимание, что этот параметр появляется в настройках стратегии только на споте и только в "Экспертном режиме" (в файле MoonBot.ini должно быть выставлено ExpertMode=1).
SellPrice: Цена продажи, (в %) к цене покупки.
SellDelay: ожидание перед выставлением тейка, указывается в миллисекундах.
SplitPiece: Отделить от основного Sell ордера кусочек Sell ордера заданного пользователем размера в % (от 0 до 50 %). Если 0, то не используется. Если в параметре SplitPiece установлено значение отличное от нуля, то в контекстном меню Sell ордера выставленного на графике появляется дополнительная опция Split Piece X%, при нажатии на которую производится отделение кусочка от Sell ордера (для Sell ордера, выставленного ручной стратегии, где задан этот параметр, если в ручной стратегии выставлено SplitPiece = 0, то в контекстном меню не будет опции "Split Piece X%"). Порядок отделения кусочков, например, при SplitPiece = 25 отделение 25% от Sell ордера производится так: отделенный кусочек 25% Sell ордера выставляется ниже основного Sell ордера на 1%, если он находится высоко, если SellPrice при отделении находится ниже 1% от цены покупки, то расстояние между ордерами соответственно становятся меньше, чтобы отделенный кусочек не попал сразу в противоположную книгу ордеров.
UseMarketStop: Если YES, использовать биржевой стоп. В зависимости от того, ставите вы селл выше или ниже текущей цены, ордер ставится или как тейк (обычный лимитный выше цены) или как стоп (условный маркет-стоп ниже цены). Одновременно и стоп и тейк существовать не могут. Параметр MarketStopLevel определяет начальную цену стопа.
MarketStopLevel: Начальная цена биржевого стопа (если включена опция UseMarketStop).
SellPriceAbsolute: NO/YES (по умолчанию NO), если NO, то SellPrice считается в процентах от цены ASK (например, 1%), если YES, то SellPrice считается в абсолютном значении (например, 1$). Только для стратегии NewListing.
SellFromAssets: NO/YES (по умолчанию NO), если NO, то стратегия не будет продавать монеты с баланса, если YES, то стратегия будет продавать монеты с баланса. Только для стратегии NewListing.
SellQuantity: Количество монет, которое нужно продать с баланса (например, 1000 монет), если в параметре задано «0», то нужно продать все монеты. Только для стратегии NewListing.
PriceDownTimer: Таймер включения функции «Снижать цену» (если 0, не включается никогда), задается в формате секунды с миллисекундами. Если не 0, то через заданное время ордер на продажу начинает снижаться по заданным параметрам.
PriceDownDelay: Задержка шагов снижения цены (задается в формате секунды с миллисекундами). После покупки мы сперва пытаемся продать по заданной цене, когда истекает время PriceDownTimer мы снижаем цену в первый раз, потом по истечении PriceDownDelay мы снижаем цены второй раз, опять по истечении PriceDownDelay мы снижаем цену третий раз и тд.
PriceDownPercent: На сколько процентов снижать цену sell ордера на каждом шаге.
PriceDownRelative: Если NO, то считается процент от абс. цены; если YES, то от разницы между текущим sell и buy. Пример 1: Выставили sell прайс 1%, price down relative NO. pricedown percent 0.2%. Тогда через заданное время sell-прайс понизится с 1% до 0.8(1-0.2)%. Пример 2: Выставили sell-прайс 1%, price down relative YES. pricedown percent 0.2% Тогда через заданное время цена продажи опустится c 1% на 0.998%(1-1/100*0.2).
PriceDownAllowedDrop: Величина в процентах от buy, на которую можно опускать sell. Если задана 0,5%, то бот опускает sell прайс постепенно до 0,5%, а потом останавливается и больше не передвигает ордер.
UseScalpingMode: Если да, и если цена продажи задана меньше 1%, то будет использовать режим скальпинга, при котором бот может увеличить цену до 2% в зависимости от стакана ASK. Некое подобие функции Ставить ордер под стенку из основных настроек.
SellByFilters: Время в секундах после покупки, через которое продавать при выходе из фильтров (0 - никогда).
SellByCustomEMA: Условие на продажу, если цены удовлетворяют EMA-фильтру. Важно! В отличие от остальных фильтров, продажа включается, если условия ЕМА выполняются (а не при выходе из них). Пример: SellByCustomEMA = "EMA(3,1) > 1%" означает продать на росте, когда рост за 3 сек. больше 1%.
SellEMADelay: Задержка в секундах перед продажей по EMA-фильтру.
SellEMACheckEnter: Проверять EMA-фильтр перед покупкой; если условие выполнено, то не покупать (чтобы сразу же не продалось).
SellLevelDelay: Задержка в секундах перед перестановкой sell-ордера на зафиксированный уровень. Если 0, то не переставлять никогда.
SellLevelDelayNext: Время в секундах, через которое производится следующая перестановка тейка по алгоритму SellLevel. Первая перестановка производится через SellLevelDelay, начиная со второй - через интервал SellLevelDelayNext. Если SellLevelDelayNext=0, то все перестановки, как и ранее, производятся через интервал SellLevelDelay.
SellLevelWorkTime: Время в секундах, в течении которого работает алгоритм управления тейком SellLevel. По истечении этого времени тейк переставляться не будет. Если 0, не применяется.
SellLevelTime: Время в секундах, за которое считать максимальную цену (уровень) для перестановки Sell ордера на этот уровень плюс SellLevelAdjust процентов (может быть отрицательным, тогда ордер будет поставлен ниже максимума). Если 0, ордер не переставляется.
SellLevelCount: Сколько раз переставлять ордер согласно настройкам SellLevel; ордер будет переставлен через каждые SellLevelDelay секунд.
SellLevelAdjust: Процент корректировки. Пример: монета куплена по цене 100, SellLevelDelay = 60 сек, SellLevelTime = 3600 сек. (1 час), SellLevelAdjust = -1. В этом случае через 60 секунд после покупки бот посчитает максимальную цену за последний час, например она окажется равной 120, тогда sell ордер будет переставлен на 120-1% = 118,8.
SellLevelRelative: Переставлять Sell ордер на X% от цены покупки до хая (может быть больше 100%).
SellLevelAllowedDrop: Величина в процентах от buy, на которую функция "перестановка на уровень" может опустить sell.
Sell order / SellShot
IgnoreSellShot: NO/YES, если NO, то применять (не игнорировать) после покупки монеты и выставления Sell ордера алгоритм SellShot при этом полоска слева на вкладке отображается зеленым цветом. Если YES, то не применять (игнорировать) алгоритм SellShot при этом слева от вкладки отображается полоска серым цветом. Зеленая или серая полоска помогает даже при закрытой вкладке Sell Order / SellShot видеть включены или отключены её параметры, отвечающие за алгоритм SellShot.
SellShotDelay: Задержка в дробных секундах относительно времени покупки монеты, после которой применять алгоритм SellShot. Если 0, то применяется алгоритм SellShot сразу активируется без задержки, при первичной установке Sell ордера.
SellShotDistance: Расстояние между "рынком" и Sell ордером в процентах. Алгоритм держит Sell ордер на заданном расстоянии от текущей цены (по аналогии с муншотами). Цена "рынка" определяется по максимальной цене для лонгов или по минимальной цене для шортов за время SellShotCalcInterval секунд. Если SellShotPers = 0, то не применяется.
Частные случаи:
а) можно задать SellShotDistance=0.0001, чтобы ставить тейк прямо на ASK для лонгов или BID для шортов.
б) можно задать отрицательный SellShotDistance, тогда после покупки тейк можно сразу ставить в зеленую книгу ордеров для лонга или в красную книгу ордеров для шорта.
SellShotCorridor: Ширина коридора цены, в процентах от общего расстояния. Значение от 1 до 99. Чем больше процент коридора, тем меньше перестановок Sell ордера. Пример: SellShotDistance = 1, SellShotCorridor = 50. Тогда Sell ордер будет стоять не далее, чем на 1.5% от текущей цены. Если Sell ордер выходит за границы коридора, то будет он переставлен на 1% от текущей цены.
SellShotCalcInterval: Длительность интервала для расчета максимальной цены, задается в дробных секундах (по умолчанию 0.6 секунд). Sell ордер ставится на расстоянии SellShotDistance от этой цены. Параметр SellShotCalcInterval нужен, чтобы убрать эффект рандомного переставления Sell ордера при любом случайном одиночном трейде, который в момент расчета мог оказаться ниже прошлого уровня.
SellShotRaiseWait: Задержка перед перестановкой Sell ордера вверх для лонга и вниз для шорта, то есть при перестановке дальше от цены покупки, задается в дробных секундах. Если 0, то не применяется.
SellShotReplaceDelay: Задержка перед перестановкой Sell ордера вниз для лонга и вверх для шорта, то есть при перестановке ближе к цене покупки, задается в дробных секундах. Если 0, то не применяется.
SellShotPriceDown: На сколько уменьшать SellShotDistance с течением времени (процентов\секунду). В параметре можно указывать только отрицательные значения. Если 0, то не применяется. Понижение расстояния между рынком и Sell ордером считается по формуле SellShotDistance - SellShotPriceDown * (T - SellShotPriceDownDelay), где Т - время в секундах с момента покупки.
SellShotPriceDownDelay: Задержка запуска алгоритма понижения Sell ордера (SellShotPriceDown), задается в дробных секундах. Если 0, то не применяется.
SellShotAllowedUp: Поднимать при перестановке Sell ордер не выше для лонгов и не ниже для шортов, чем указанный уровень (в процентах от цены покупки). Например, если установлено SellShotAllowedUp = 10, то Sell ордер сможет подниматься при перестановке максимум на +10% от цены покупки, даже если коридор хода будет выше и Sell ордер будет вне его при поднятии текущей цены. Таким образом он будет подперт сверху этим уровнем, чтобы не убегать от цены вверх до бесконечности.
SellShotAllowedDown: Опускать при перестановке Sell ордер не ниже для лонгов и не выше для шортов, чем указанный уровень (в процентах от цены покупки). Например, если установлено SellShotAllowedDown = -1, то Sell ордер сможет опускаться при перестановке минимум на -1% от цены покупки, даже если коридор хода будет ниже и Sell ордер будет вне его при падении текущей цены. Таким образом он будет подперт снизу этим уровнем, чтобы не убегать от цены вниз до бесконечности. Можно установить это значение в положительное значение, например SellShotAllowedDown=0.5, тогда нижний разрешенный уровень снижения Sell ордера будет +0.5% и на этом уровне Sell будет ждать закрытия позиции, например прострелом вверх из отрицательной зоны цены.
Sell order / SellSpread
IgnoreSellSpread: NO/YES, если NO, то применять (не игнорировать) после покупки монеты и выставления Sell ордера алгоритм SellSpread при этом полоска слева на вкладке отображается зеленым цветом. Если YES, то не применять (игнорировать) алгоритм SellSpread при этом слева от вкладки отображается полоска серым цветом. Зеленая или серая полоска помогает даже при закрытой вкладке Sell Order / SellSpread видеть включены или отключены её параметры, отвечающие за алгоритм SellSpread.
SellSpreadReplaceCount: Сколько раз пытаться переставить Sell ордер. По умолчанию SellSpreadReplaceCount = 10. Если 0, то Sell ордер может быть выставлен при детекте спреда изначально под спред, но переставляться не будет.
SellSpreadMinSpread: Переставлять Sell ордер, если замечен спред не менее заданного, в процентах. Значение может быть только положительным. Если 0, то не применяется.
SellSpreadDelay: Задержка алгоритма SellSpread, секунды с дробными. Значение может быть от 0 до плюс бесконечность. Если 0, то не применяется. Можно указывать супер малые значения, например 0.00000001, но по факту задержка будет не меньше 0.33 секунды. Можно указать отрицательное число, например -1, но по факту задержка будет снова минимальной 0.33 секунды.
SellSpreadDistance: Ставить Sell ордер ниже верха спреда на заданный процент. Значение может быть только отрицательным от -1% до -100%. Например, спред 5%, SellSpreadDistance = -10%, тогда Sell ордер установится на 4.5% от верха спреда (абс. 5% спред - относ. 10% от спреда = абс. 4.5% установка Sell ордера).
SellSpreadAllowedDrop: Не опускать Sell ордер ниже заданного процента от уровня покупки. Можно указывать отрицательные значения.
Stops
UseSignalStops: (Только для сигналов в Telegram): брать стопы из сигнала. Приоритеты: если в сигнале заданы стопы, и стоит галочка в настройках автопокупки по Telegram «брать стопы из сигнала», будут использованы стопы из сигнала. Если в сигнале не указаны стопы, будут использованы настройки стопов из стратегии.
UseStopLoss: Использовать стоп-лосс или нет, YES/NO.
FastStopLoss: Более быстрая сработка стопа по трейдам ("крестикам"). Стоп при этом будет реагировать на "прострелы".
StopLossEMA: Использовать усреднение цены при работе стоп-лосс. Если 0, то не используется. 3,5,10 — усреднять последние 3, 5,10 тиков. Параметр нужен, чтобы при случайном "простреле" вниз и пробитии уровня стоп-лосс не активировался panic-sell.
StopLossDelay: Задержка активации всех стоп-лоссов и трейлинга от момента покупки, секунды (Задержка иногда полезна для стратегии MoonShot и не только, бывают ситуации, когда произошел не прострел, а резкое выставление стенки на продажу глубоко в стакан BID, стенка стоит какое-то время, пропадает, а потом цена начинает рост. В данном случае мы могли бы избежать продажи по стоп лосс за счет задержки и в итоге получили бы профит).
StopLoss: Стоп-лосс, (в %) к цене покупки (не забудьте ставить минус). Этот параметр и его производные описаны в основных настройках.
StopLossSpread: Спред для стоп-лосса, (в %).
StopSpreadAdd1mDelta: Увеличивать спред стоп-лосса в зависимости от 1-минутной дельты: Например, StopSpreadAdd1mDelta=0.1, а минутная дельта на монете при этом = 25%, тогда к спреду будет добавлено 25% * 0.1 = 2.5%. PriceBug так же учитывается в расчете StopSpreadAdd1mDelta при этом спред увеличивается на сумму (минутная дельта + PriceBug) * StopSpreadAdd1mDelta.
AllowedDrop: Уровень, на который активированный стоп-лосс может опускать цену, (в %) к цене покупки.
DontSellBelowLiq: не продавать по стопу ниже цены ликвидации (при этом в логе будет запись "Stop level (...) is below than liq level").
StopAboveLiq: ставить стоп выше уровня ликвидации на заданный процент. Если 0, не применяется.
StopLossFixed: Фиксированный стоп в стратегиях с сеткой, если YES, то стоп ставится по первому ордеру и после объединения стоп с этой опцией остается в том же самом фиксированном месте.
UseSecondStop: Использовать ли второй стоп-лосс, YES/NO. Условие применения второго стопа: «если через TimeToSwitch2Stop секунд или более цена выше чем цена PriceToSwitch2Stop, то применять второй стоп-лосс». Иначе говоря, данная опция выставляет стоп выше чем основной стоп-лосс через заданное время и тем самым уменьшает вероятные убытки. Внимание! Если основной стоп уже был активирован, то 2-й стоп применен не будет!
TimeToSwitch2Stop: Время в секундах до активации второго стопа.
PriceToSwitch2Stop: Цена в процентах от цены покупки, при достижении которой выставляется второй стоп.
SecondStopLoss: Величина второго стопа (в %) от цены покупки.
UseStopLoss3: Использовать 3й стоп лосс с активацией по таймеру, YES/NO. Работает аналогично второму стопу, дает вам еще один уровень, куда можно поставить стоп в безубыток. Внимание! Если основной стоп уже был активирован, то 3-й стоп применен не будет!
TimeToSwitchStop3: Таймер до включения 3-го стопа, секунды.
PriceToSwitchStop3: Цена в процентах от цены покупки, при достижении которой выставляется третий стоп.
StopLoss3: Уровень 3-го стопа. Следует ставить выше, чем основной стоп, т.к. цена может упасть быстрее, чем сработает таймер.
AllowedDrop3: Уровень, на который включенный стоп-лосс3 может опускать цену, (в %) к цене покупки. При дальнейшем снижении цены, если ордер все еще не продан, и достигнут основной стоп, будет задействован AllowedDrop от основного стопа.
UseTrailing: Использовать трейлинг или нет, YES/NO. Параметры трейлинга и его производные описаны в основных настройках.
TrailingPercent: Процент трейлинга (отрицательный).
TrailingSpread: Спред для PanicSell Трейлинга, (в %).
Trailing EMA: Число тиков, за которые усреднять пиковую цену. Если 0, то отключен. Этот параметр нужен для того, чтобы при резком простреле цены вверх (скажем мгновенно на 10%), трейлинг не поднялся вверх на те же 10%, так как после таких прострелов стакан ASK сразу же заполняется, то наш трейлинг окажется в зоне стакана ASK и активируется Panic Sell.
UseTakeProfit: Использовать тейк-профит, YES/NO. Если да, то трейлинг включится только после достижения ценой значения тейк профита + трейлинга. Без использования трейлинга этот параметр не имеет смысла. Подробнее о настройке Stop-Loss и Trailing
TakeProfit: Тейк-профит, (в %) к цене покупки.
UseBV_SV_Stop: Использовать стоп при падении отношения BV к SV (объема покупки к объему продажи) за N посл. сделок или N секунд. Число N задается ниже.
BV_SV_Kind: Метод расчета отношения BV к SV: за N сделок или N секунд.
BV_SV_TradesN: Число N; сделок или секунд для расчета отношения BV к SV.
BV_SV_Ratio: Уровень отношения BV к SV, меньше которого включается стоп-лосс.
BV_SV_Reverse: если YES, то выход по bv\sv считается по обратному соотношению продаж к покупкам (т.е. выход , когда цена идет в вашу сторону)
BV_SV_TakeProfit: Включать BV SV только после достижения заданной цены, (в %).
PanicSellDelisted: Сообщения о делисте монет на бирже Binance публикуются в канале @MoonInt, где терминал MoonBot может их читать и автоматически добавлять монеты в ЧС. Пример сигнала в канале @MoonInt: [Delist] QLC NEBL AUTO. Если в стратегии стоит галка PanicSellDelisted=YES, то эти монеты позиции будут проданы по стопу. Для использования ЧС из канала @MoonInt требуется Ваше согласие на отправку статистики на вкладке Настройки - Логин.
Задача данного метода — выдать сигнал на нисходящем тренде по заданным условиям.
DropsMaxTime: Период анализа монеты,секунды. На основании этого параметра оцениваются все параметры ниже. Пример: задано 100 сек, MoonBot оценивает изменение цены за последние 100 сек, т.е. по истечении каждой секунды времени MoonBot отслеживает уже новый интервал.
DropsPriceMA: Интервал по времени за который MoonBot усредняет цены, секунды. Т.е. терминал будет брать среднее значение цены за заданный интервал. Пример: мы зададим 20 сек, а параметр DropsMaxTime =100. Тогда на всем периоде анализа в 100 секунд MoonBot берет зоны для расчета (1-21 сек. 2-22 сек. 3-23 сек….81-100 сек), в которых будет знать среднюю цену каждой зоны. Если вы не хотите усреднять цены, то можете задать этому параметру значение меньше 2 (терминал получает цены с биржи с интервалом раз в 2 секунды), тогда при заданном DropsMaxTime =100 мы будем иметь зоны по 2 секунды (1-2.2-3.3-4.4-5…99-100), в котором будет знать цену каждой зоны.
DropsLastPriceMA: Усреднять последние цены (кол-во 2-х секундных интервалов). Если задать 0 то усреднение не производится, тогда в случае резкого прострела цены вниз и ее мгновенного возврата к исходному состоянию мы получим срабатывание стратегии.
DropsPriceDelta: Падение за период анализа, в процентах. Считается как (Наибольшая цена / Наименьшая цена - 1) * 100.
DropsPriceIsLow: если стоит YES, то помимо вышеописанных условий текущая рыночная цена должна являться часовым минимумом.
DropsUseLastPrice: если YES, то для расчета цены покупки будет использована цена LastPrice (из расчета детектора).
Пример: пусть задано DropsMaxTime = 100 сек, DropsPriceMA = 20 сек, DropsLastPriceMA = 1 сек, DropsPriceDelta = 2%. Значит MoonBot отслеживает изменение цены за последние 100 секунд. При этом на каждом интервале в 20 сек. он определяет среднюю цену в интервале. Из них он берет самую большую и сравнивает ее с текущей рыночной ценой. Если текущая рыночная цена на 2% ниже самой большой цены, то стратегия срабатывает (например, самая большая цена была 102$, текущая цена 100$. Падение будет равно (102 / 100 - 1) * 100 = 2%. Важно! Пример приведен конкретно по параметрам стратегии, она могла бы не сработать, если бы не прошла общие для стратегии фильтры, описанные выше.
Задача данного метода — выявляет монеты, на которых стоит большой объем закупочных ордеров длительное время (поддержка). Пример на рис. ниже
Настройкой параметров можно задать период, на котором проверять наличие стены. Характерный признак долго стоящей стены — нет теней от свечей на графике (т.к. цена не падает ниже уровня поддержки).
Рекомендуется ставить небольшой стоп чуть ниже уровня стены и проверять новости (в твиттере и других источниках) по выявленной монете. В большинстве случаев наличие стены + положительный новостной фон являются признаком скорого хорошего роста.
Параметры
WallsMaxTime: Время, за которое проверять свечи, секунды. Дельта изменения цены начинает проверяться на данном временном промежутке.
WallsPriceDelta: Отклонение теней свечей на указанном промежутке, (в %). Измеряется отклонение цены, монета должна находиться в пределах этого изменения за заданное время WallsMaxTime. Задачей является определить как долго стенка на покупку стоит с минимальными ее передвижениями.
WallBuyVolDeep: Расстояние между ценой и стеной на покупку в стакане, (в %). Этим параметром мы указываем на каком расстоянии от текущей рыночной цены мы будем проверять объем стенки.
WallBuyVolume: Объем проверяемой стены в базовой валюте (не менее чем).
WallBuyVolToDailyVol: Объем данной стены не меньше, чем процент от суточного объема торгов по монете, (в %). Если объем стены 10BTC, а суточный объем торгов 100BTC, то стратегия сработает если параметр будет равен 10/100=10% или меньше его.
WallSellVolToBuy: Проверяется объем стены на продажи. Его объем должен составлять не более X% от объема стены на покупку. Понятно, что стены на продажу может и не быть.
WallSellVolDeep: Расстояние между ценой и стеной на продажу в стакане, (в %).
Пример. WallsMaxTime 600 сек, WallsPriceDelta 1%, WallBuyVolDeep 3%, WallBuyVolume 50 BTC, суточный объем торгов по монете 200BTC, WallBuyVolToDailyVol 10%, WallSellVolToBuy 30% , WallSellVolDeep 5%.
После запуска стратегии MoonBot начинает искать монеты, в которых на 3% ниже от текущей цены находится объем на покупку в 50BTC или больше. Дальше необходимо, чтобы для конкретный монеты эти 50BTC были больше 10% от суточного объема торгов. В нашем случае суточный обьем торгов 200BTC и наши 50 явно больше 10%. Значит монета идет на проверку дальше. Бот начинает смотреть обьемы в стакане BID. Если на расстоянии 5% вверх от текущей цены находится меньше чем 50BTC*30%=15BTC на продажу, то монета проходит проверку и проверяется дальше. Если в течении 600 секунд все предыдущие условия остаются выполненными и за это время монета не переместилась на 1% вверх или вниз, то стратегия срабатывает. Важно! Пример приведен конкретно по параметрам стратегии, она могла бы не сработать, если бы не прошла общие для всех стратегий фильтры, описанные выше.
Задача данного метода быстрое обнаружения закупочных ордеров, характерных при начале пампа. Важно! В отличие от остальных стратегий, стратегию pumps detection можно запускать только одну. Если вы запустите сразу несколько стратегий данного типа, будет работать только та, что находится выше в списке стратегий.
Параметры
PumpPriceInterval: За какой интервал анализировать рост цены, выбор из вариантов: 60сек, 30с, 15с, 4с.
PumpPriceRaise: Рост цены за последние PumpPriceInterval секунд, (в %).
PumpBuysPerSec: Число покупок в секунду (зеленые крестики на графике).
PumpVolPerSec: Объем покупок в секунду, в базовой валюте (чем меньше значение, тем больше вероятность ложного срабатывания).
PumpBuyersPerSecMin: Число покупателей за заданный интервал (не менее чем). В зависимости от группы, которая делает пампы, покупателей может быть много с низкообъемными сделками в самом начале, либо есть всего 1-2 покупателя, которые покупают огромным объемом.
PumpBuyersPerSecMax: Число покупателей за заданный интервал, не более чем (если 0, то не учитывается).
PumpVolEMA: Интервал для вычисления EMA объема покупок (по умолчанию 2 сек, может быть дробным) т.е. интервал усреднения объема покупок.
PumpBuyersInterval: Интервал для подсчета числа покупателей (по умолчанию 1 сек, значение может быть дробным).
PumpMoveTimer: Таймер перестановки селл ордера (если 0, ордер не переставляется). Этот параметр нужен для работы параметра, который описан ниже и работает только в случае, если вы используете автоматическую торговлю по этой стратегии.
PumpMovePercent: Процент от пиковой цены, на который переставить селл ордер (однократно). Учитывается процент между пиковой ценой и ценой покупки. Пример: Если PumpMovePersent = 50%, покупка произошла по 1000 сат., за время PumpMoveTimer от момента детекта цена выросла максимум до 1200 сат., то селл ордер будет выставлен на 1100 сатоши автоматически.
PumpUsePrevBuyPrice: Использовать цену 2-х секундной давности (если не указано использование цены 30-сек давности). По умолчанию включено. Эта настройка защищает от покупки на самой верхушке прострела. До вынесения этого параметра в настройки он был включен всегда программно, поэтому при отключении поведение стратегии поменяется! При отключении бот будет брать текущую цену, что может привести к покупке в самом верху прострела.
В настоящее время может быть активна только одна стратегия PumpsDetection, хотя вы можете настроить их любое количество.
Пример: PumpPriceInterval 4сек, PumpPriceRaise 2%, PumpBuysPerSec 5, PumpVolPerSec 1 BTC, PumpBuyersPerSecMin 2, PumpBuyersPerSecMax 100, PumpVolEMA 2 сек , PumpBuyersInterval 1.
Итак, MoonBot анализирует все монеты, которые подходят по общим фильтрам. Как только он замечает, что за последние 4 секунды цена выросла на 2 или более процентов, при этом из стакана ASK было выкуплено минимум 1 BTC с учетом PumpVolEMA=2, (согласно которого 50% объема предыдущих 2 сек + 100% объема текущих 2 сек должны быть больше установленного значения PumpVolPerSec=1 ВТС), и было выкуплено больше 5 ордеров в стакане, с учетом того, что к такому движению цены привели действия не одного покупателя, купившего по маркету и создавшего ценовой "прострел" вверх, а было как минимум 2 и не более 100 покупателей, в этом случае сработает детект и произойдет покупка (при включенном autobuy).
ВНИМАНИЕ! Высокая вероятность ложного срабатывания. Метод выявляет закупы с заданными параметрами, тем не менее, они могут иметь случайный характер и не обязательно являться следствием подготовки пампа.
Задача данного метода купить на простреле вниз. В отличие от остальных стратегий, муншот всегда держит открытые ордера по монетам, тем самым "замораживая депозит". Суть стратегии в том, что выставляются ордера на покупку монет, проходящих по фильтрам, на заданном расстоянии от текущей цены. Ордера перемещаются в зависимости от нижеописанных параметров.
Параметры
MShotPrice: Цена (в %) от текущей рыночной, на которой ставить ордер на покупку (всегда положительная, ордер всегда ставится ниже рыночной на указанное значение).
MShotPriceMin: Мин. цена (в %) от текущей рыночной, на которую может подойти рыночная цена к цене ордера. Если рыночная цена подойдет еще ближе, чем указанное значение, ордер будет переставлен вниз на MShotPrice. Т.е. при заданном MShotPrice 10% и MShotPriceMin 7% цена может двигаться над ордером в интервале +7…+10% от него. Как только цена станет +6.9% ордер автоматически переставится ниже и встанет на 10% ниже от текущей цены.
MShotMinusSatoshi: если YES, то ордер на покупку будет ставится не ближе, чем 2 сатоши от цены ASK. Полезно для монет с ценой менее 100 сат, у которых шаг цены равен 1% или более.
MShotAdd3hDelta: За каждый процент 3-часовой дельты цены добавлять X% к величине MShotPriceMin и MShotPrice. Пример, если MShotAdd3HourlyDelta= 0,05 (5%), MShotPrice=10% и 3-часовая дельта монеты 20%, то ордер выставится не на -10% от текущей цены, а на -10%+(-20*0.05)=-11%. Т.к. 3-часовая дельта меняется, то и ордер тоже будет переставляться.
MShotAddHourlyDelta: За каждый процент часовой дельты цены добавлять X% к величине MShotPriceMin и MShotPrice. Аналогично вышеописанному примеру.
MShotAdd15minDelta: За каждый процент 15-минутной дельты цены добавлять X% к величине MShotPriceMin и MShotPrice. Аналогично вышеописанному примеру.
MShotAddMarketDelta: За каждый процент часовой дельты маркета добавлять X% к величине MShotPriceMin и MShotPrice. Аналогично вышеописанному примеру.
MShotAddBTCDelta: За каждый процент часовой дельты BTC добавлять X% к величине MShotPriceMin и MShotPrice. Аналогично вышеописанному примеру.
MShotAddBTC5mDelta: Для учета дельты курса BTC-USDT за последние 5 минут. Данная дельта считается как разница (в процентах) между минимальной и максимальной ценой за последние 5 минут.
MShotAddDistance: Коэффициент расширения (в процентах) дальней границы цен (MShotPrice) в зависимости от дельт. Если к ближней границе добавилось X%, то к дальней добавится X * (1 + MShotAddDistance / 100)%. Пример: MShotAddDistance = 100, тогда дальняя граница будет отодвигаться в 2 раза дальше, чем верхняя (+100%). По умолчанию 0 — не добавлять ничего.
MShotAddPriceBug: Модификатор параметров в зависимости от PriceBug. Рекомендованное значение этого параметра 0.2, используйте, чтобы во время лагов биржи покупать дальше от текущей цены.
MShotSellAtLastPrice: После покупки ставить продажу по цене, равной максимуму из цены стратегии (sell price) и предпоследней (4-секундной давности, т.е. до прострела) цены ASK с учетом поправки (см. ниже), YES/NO.
MShotSellPriceAdjust: Поправка к цене ASK, (в %). Для расчета цены продажи из цены ASK вычитается поправка. Пример: цена ASK в момент прострела была 1000 сат. Поправка задана в 1%: 1000 — 1%= 990 сат. Если MShotSellAtLastPrice = YES, то MoonBot выставит продажу по наибольшей из двух цен: первая — цена продажи по общим настройкам стратегии, вторая — 990 сат.
MShotReplaceDelay: Задержка в секундах перед перестановкой buy ордера после падения цены до MShotPriceMin. (Т.е. при падении цены ниже MShotPriceMin, ордер переместится не сразу, а после заданного интервала времени в секундах). Можно задавать значение и меньше 1 секунды в плоть до миллисекунд.
MShotRaiseWait: Задержка в секундах перед перестановкой buy ордера после роста цены в секундах с точкой в плоть до миллисекунд.
MShotSortBy: Сортировка монет, которые MoonBot отбирает для работы: LastNhDelta - по 1-, 2-, 3-часовой дельте цены; DVolToHVolAsc по соотношению суточного и часового объемов по возрастанию; DVolToHVolDesc - соотношению суточного и часового объемов по убыванию; OrderBook (Только у владельцев стратегии MoonStrike) - по стакану (берутся в первую очередь монеты с самым "тонким" стаканом), DailyVol - по суточному объему, MinuteVol - по минутному объему. Соответственно в приоритете монеты с максимальными параметрами.
MShotSortDesc: сортировка по убыванию (по умолч.). Если галка не стоит, то сортировать по возрастанию, от меньшего к большему.
MShotUsePrice: Ордер выставляется на расстояние MShotPrice, отсчитывая цену от стакана BID, ASK либо Trade — отсчет цен для перестановки ордеров от цены последней сделки.
MShotRepeatAfterBuy: Данный параметр входит в Пакет расширений для Автоторговли , там же можно прочитать и описание.
MShotRepeatIfProfit: Данный параметр входит в Пакет расширений для Автоторговли , там же можно прочитать и описание.
MShotRepeatWait: Данный параметр входит в Пакет расширений для Автоторговли , там же можно прочитать и описание.
MShotRepeatDelay: Данный параметр входит в Пакет расширений для Автоторговли , там же можно прочитать и описание.
FastShotAlgo: Ускорение работы муншотов с помощью нового параметра (параметр работает на всех биржах, однако
фактическое ускорение зависит от биржи.) Рекомендуется включить параметр, но его использование требует на 5-10% больше ЦПУ
Важно! Из-за частого переставления ордеров (зависит от конкретной настройки стратегии, но в большинстве случаев это так) идет нагрузка на API-ключи и есть шанс получить временный бан от биржи. Старайтесь держать меньше 30-35 активных ордеров одновременно. Если вам этого мало, запустите часть ордеров на одних API-ключах и часть на других API.
Задается 4 интервала и проверяется, что средние цены и объемы росли от предыдущего к последующему интервалу. Рост задается в процентах. Если задать 0 процентов, то условие превращается в «цена (объем) не упали». Для исключения проверки роста цены/объема на конкретном интервале необходимо в нужном параметре указать большое отрицательное число которое позволит пройти проверку этого условия, то есть проверка условия на этом интервале будет проходить всегда (кроме исключительных случаев реального падения цены/объемов меньше указанного значения).
Обозначения: P — цены, V — объемы
Параметры
VLiteT0: Интервалы в секундах (см. рис. выше).
VLiteT1: Интервалы в секундах (см. рис. выше).
VLiteT2: Интервалы в секундах (см. рис. выше).
VLiteT3: Интервалы в секундах (см. рис. выше).
VLiteP1: Рост цен от предыдущего к последующему интервалу, не менее чем (в %).
VLiteP2: Рост цен от предыдущего к последующему интервалу, не менее чем (в %).
VLiteP3: Рост цен от предыдущего к последующему интервалу, не менее чем (в %).
VLiteMaxP: Каждый рост не более, чем (в %).
VLitePDelta1: Сравнение роста цен между собой, (в %).
VLitePDelta2: Сравнение роста цен между собой, (в %).
VLiteDelta0: Изменение цены на нулевом интервале. (разница между макс. и мин. ценой в пределах нулевого интервала в процентах).
VLiteMaxSpike: Максимальная разница между макс. ценой на интервале и средней, не более чем (в %). Нужно для исключения прострелов.
VLiteV1: Рост объемов от предыдущего к последующему интервалу.
VLiteV2: Рост объемов от предыдущего к последующему интервалу.
VLiteV3: Рост объемов от предыдущего к последующему интервалу.
VLiteWeightedAvg: Способ вычисления средних цен: если YES, то считается взвешенное среднее по объему на интервале, если NO, то среднее по кол-ву сделок на интервале.
VLiteReducedVolumes: Если YES, то считать объем в минуту. Если NO то полный объем на интервале.
Суть метода в детекте объемов. Задается два интервала: «короткий» и «длинный» и вычисляются объемы на обоих интервалах. При этом объем на длинном интервале считается приведенным к минуте, т.е. объем в минуту. Например, если длинный интервал задан в 300 сек (5 мин), объем за 5 минут составил 10 BTC, то объем в минуту будет 2 BTC. На коротком интервале объем берется как есть.
Все отношения объемов задаются в виде чисел «во сколько раз одно больше другого», не проценты!
При срабатывании условий на объемы вторым шагом проверяются стаканы:
Параметры:
VolShortInterval: Короткий интервал в секундах.
VolShortPriseRaise: Рост цены на коротком интервале (можно ставить 0).
VolLongInterval: Длинный интервал в секундах.
VolBvShortToLong: Отношение объема покупки (BV) на коротком интервале к общему объему в минуту на длинном (во сколько раз один больше другого).
VolBvLongToHourlyMin: Отношение приведенного объема на длинном интервале к приведенному часовому объему, не менее.
VolBvLongToHourlyMax: Отношение приведенного объема на длинном интервале к приведенному часовому объему, не боле.
VolBvLongToDailyMin: Отношение приведенного объема на длинном интервале к приведенному суточному объему, не менее.
VolBvLongToDailyMax: Отношение приведенного объема на длинном интервале к приведенному суточному объему, не более.
VolBvToSvShort: Отношение BV к SV на коротком интервале.
VolBvShort: Объем BV на коротком интервале, не менее чем(в базовой валюте).
VolBuyersShort: Число покупателей на коротком интервале.
VolSvLong: Объем на продажу на длинном интервале, за вычетом короткого интервала, не более чем, (в базовой валюте).
VolTakeLongMaxP: Брать ли цену MaxPrice на длинном интервале (полезно в случае ложного роста после провала).
VolAtMinP: Объем в зеленом стакане на уровне мин. цены на коротком интервале, (в базовой валюте).
VolAtMaxP: Объем в зеленом стакане на уровне макс. цены на коротком интервале, (в базовой валюте).
VolDeltaAtMaxP: Динамика в зеленом стакане на уровне макс. цены на коротком интервале с момента детектирования до момента выставления ордера (MoonBot ждет для проверки не более 20 сек, если условия не сработали, ордер не ставится).
VolDeltaAtMinP: Динамика в зеленом стакане на уровне мин. цены на коротком интервале.
volBidsDeep: Глубина, на которую анализировать зеленый стакан, проценты от текущей ASК.
volBids: Объем в зеленом стакане на заданной глубине, (в базовой валюте).
volAsksDeep: Высота, на которую анализировать красный стакан, проценты от текущей ASК.
volBidsToAsks: Отношение объема BIDs к объему ASKs на заданных глубине и высоте, не менее чем.
Принцип такой же, как у Volumes Lite: Задается 4 интервала и проверяется изменение цен и объемов от предыдущего к последующему интервалу. В отличие от Volumes Lite, если задать положительное значение для параметра изменения цены, проверяется рост. Если задать отрицательное значение, проверяется падение. Если ноль, параметр игнорируется.
Обозначения: P — цены, V — объемы
WavesT0: Интервалы в секундах (см. рис. выше).
WavesT1: Интервалы в секундах (см. рис. выше).
WavesT2: Интервалы в секундах (см. рис. выше).
WavesT3: Интервалы в секундах (см. рис. выше).
WavesP1: Изменение цены от предыдущего к последующему интервалу, проценты. Если задать положительное значение, проверяется рост. Если задать отрицательное значение, проверяется падение. Если ноль, параметр игнорируется.
WavesP2: Изменение цены от предыдущего к последующему интервалу, проценты. Если задать положительное значение, проверяется рост. Если задать отрицательное значение, проверяется падение. Если ноль, параметр игнорируется.
WavesP3: Изменение цены от предыдущего к последующему интервалу, проценты. Если задать положительное значение, проверяется рост. Если задать отрицательное значение, проверяется падение. Если ноль, параметр игнорируется.
WavesDelta0: Изменение цены на нулевом интервале. (разница между макс. и мин. ценой в пределах нулевого интервала в процентах). Если задать положительное значение, проверяется рост (измеренная дельта больше заданной). Если задать отрицательное значение, проверяется отсутствие роста (измеренная дельта не больше заданной. К примеру «-1» означает, что колебание было не больше 1%). Если ноль, параметр игнорируется.
WavesMaxSpike: Максимальная разница между макс. ценой на интервале и средней (не более чем, в %). Нужно для исключения прострелов.
WavesV1: Рост объемов от предыдущего к последующему интервалу. Если задать положительное значение, проверяется рост. Если задать отрицательное значение, проверяется падение. Если ноль, параметр игнорируется.
WavesV2: Рост объемов от предыдущего к последующему интервалу. Если задать положительное значение, проверяется рост. Если задать отрицательное значение, проверяется падение. Если ноль, параметр игнорируется.
WavesV3: Рост объемов от предыдущего к последующему интервалу. Если задать положительное значение, проверяется рост. Если задать отрицательное значение, проверяется падение. Если ноль, параметр игнорируется.
WavesWeightedAvg: Способ вычисления средних цен: если YES, то считается взвешенное среднее по объему на интервале, если NO, то среднее по кол-ву сделок на интервале.
WavesReducedVolumes: Если YES, то считать объем в минуту. Если NO то полный объем на интервале.
Принцип работы: Берем длинный интервал последние 100 секунд (условно, все параметры настраиваемые) и короткое "окно" 10 секунд. На каждом тике прогоняем это 10-секундное "окно" через 100-секундный интервал и вычисляем усредненные за "окно" минимум и максимум цены. Получаем DeltaPrice за последние 100 секунд — степень активности монеты.
Считаем полный объем за последние 100 секунд и предыдущие 100 секунд и сравниваем, на сколько % подрос объем.
Смотрим последние 10 секунд и на них считаем число сделок и изменение средней цены на последних 10 секундах по сравнению со средней ценой за последние 100 секунд.
Параметры
DeltaInterval: Интервал анализа изменения цены и объема (длинный).
DeltaShortInterval: Интервал усреднения цены и анализа динамики сделок (короткий).
DeltaPrice: Изменение цены (дельта) на длинном интервале (не менее чем). Считается как отклонение в процентах между мин. ценой и макс. ценой с учетом усреднения цен по коротким интервалам.
DeltaVol: Общий объем (BV+SV) на длинном интервале (не менее чем, в базовой валюте).
DeltaVolRaise: Общий объем на длинном интервале больше, чем объем на предыдущем таком же интервале на заданный процент.
DeltaVolSec: Объем в секунду, усредненный с запаздыванием. Последние секунды перед детектом имеют больший вес,. единичные "прострелы" цены исключаются путем усреднения. Точный алгоритм расчета может меняться, параметр экспериментальный. Если ставить 0, он игнорируется.
DeltaBuyers: Число сделок (покупателей + продавцов) на последнем коротком интервале (не менее чем).
DeltaLastPrice: Средняя цена на последнем коротком интервале выросла или упала на заданный процент от средней цены на длинном интервале. Если значение положительно, то проверяется рост цены. Если значение отрицательно, то падение цены. Если 0, параметр игнорируется.
Данная стратегия используется для режима доверительного управления по протоколу UDPю
TMBuyPriceLimit: значение в процентах.
Защита стратегии для ДУ от покупок по слишком высокой цене: параметр TMBuyPriceLimit задает максимальное значение цены покупки (в процентах от текущей рыночной).
Например, если TMBuyPriceLimit = 5%, и приходит команда на покупку по цене +10%, то такая команда будет проигнорирована.
Подробнее про доверительное управление, можно прочесть тут:
Доверительное Управление: высокочастотный трейдинг по протоколу UDP
Задача стратегии — поймать "прострел" цены вниз и выставить ордер как можно быстрее, чтобы успеть совершить покупку.
К импульсному движению цены ("прострелу") может привести, например, срабатывание стоп-ордеров множества трейдеров при пробое какого-либо значимого уровня. Но стратегия может сработать не всегда, поскольку нужно успеть откупить падение раньше других биржевых ботов. Огромную роль в этом играет минимальный пинг с биржей и отсутствие лагов.
Именно поэтому рекомендуется запускать MoonBot на VPS в Японии. Также имеет смысл повысить приоритет приложения MoonBot (в новых версиях при запуске терминала "от администратора" приоритет “выше среднего” ставится автоматически).
Параметры
MStrikeDepth: Глубина прострела в процентах (10% по умолчанию, можно ставить 0.1% и выше).
Как измеряется:
1. Считается LastBidEMA(4 тика) по след. Формуле: Если на предпоследнем тике бид меньше чем LastBidEMA, то LastBidEMA принимается равным биду на предпоследнем тике (т.е. при падении цены LastBidEMA будет равно. биду в стакане 2 сек назад)
Если на предпоследнем тике бид больше чем LastBidEMA, то считается обычное EMA(4)
Таким образом, при падении цены LastBid будет всегда минимальным, при росте будет плавно расти
2. Считается глубина от LastBidEMA до минимума прострела цены на момент детекта.
Замечание 1: ловит также ситуацию “рост и сразу падение” (для исключения можно порекомендовать: считать EMA от BID, но это приведет к ловле медленных падений, аналогично стратегии Drops).
Замечание 2: трейды с биржи прилетают по очереди, т.е. прострел цены начинает рисоваться сверху вниз не мгновенно. Вследствие этого в какой-то момент, когда "прострел" стала ниже MStrikeDepth, произойдет детект, а тем временем цена может пойти еще ниже. Для исключения - см. MStrikeBuyDelay.
MStrikeVolume: Объем прострела на момент детекта не менее, чем.
MStrikeLastBidEMA: Пока этого нет, только в планах.
MStrikeAddHourlyDelta: Аналогично как для шотов, добавить % к MStrikeDepth за каждый процент часовой дельты.
MStrikeAdd15minDelta: Аналогично.
MStrikeAddMarketDelta: Аналогично.
MStrikeAddBTCDelta: Аналогично.
MStrikeBuyDelay: Задержка выставления buy-ордера в миллисекундах. Казалось бы, это противоречит идее стратегии, однако в ситуации когда трейды после детекта продолжают рисовать движение цены еще ниже, это может помочь. Между детектом и выставлением ордера вставляется задержка , во время которой продолжается измерение ценового "прострела".
Важно!
Общие параметры SellPrice и BuyPrice ОТСУТСТВУЮТ в этой стратегии! Вместо них введены параметры MStrikeBuyLevel и MStrikeSellLevel.
MStrikeBuyLevel — процент от зафиксированной глубины прострела Если 0, то пытаемся купить в самом низу, если 50% то пытаемся купить на середине прострела.
MStrikeBuyRelative — Если YES, то считается как описано в MStrikeBuyLevel. Если NO, то ордер на покупку выставится на конкретный процент от цены до детекта.
Пример: MStrikeBuyRelative =YES, MStrikeBuyLevel=5 — выставиться buy-ордер на 5% выше чем глубина прострела. MStrikeBuyRelative =NO, MStrikeBuyLevel=-5 — выставиться buy-ордер на -5% от цены до прострела.
MStrikeSellLevel — процент от глубины прострела (а не от цены покупки). Например прострел на 10%, SellPrice = 80% — в этом случае продаем на 80% от 10% = 8% выше нижней зафиксированной цены прострела.
MStrikeSellAdjust — объединение всех sell ордеров.Размер ордера OrderSize должен быть задан, указание 0 не будет брать ордер с ползунка на главном экране
MStrikeDirection - имеет 3 значения выставления ордеров: Both (в обе стороны симметрично), OnlyLong (только лонг), OnlyShort (только шорт). Both и OnlyShort работают только на фьючерсах.
MStrikeWaitDip: Ждать , пока не появится трейд с ценой выше (или для шорта - ниже), чем предыдущий. (любого направления, т.е. для лонга: прострел из селл ордеров, появляется бай или селл с ценой выше = детект). Ждем не более 10 сек, если вдруг трейд так и не появился то ордер не ставится
В лог пишутся:
Значение LastBidEMA согласно формуле выше;
Мин. Зафиксированная цена "прострела" на момент выставления ордера
Глубина "прострела" в процентах
Объем "прострела"
Цена buy-ордера
Заранее вычисленная цена продажи
Например:
04:13:00.097 BCD: MoonStrike LastBID: 0.00029700 min.Price: 0.00029500 Depth: 0.7% StrikeVol: 0.295 BTC BuyPrice: 0.00029500 sell +0.7% SellPrice: 0.00029699
Стратегия доступна только тем, пользователям которые поставили галочку «Согласен отправлять результаты моих сделок на сервер» (Настройки — Логин) на всех своих терминалах, и не снимал ее как минимум неделю перед использованием стратегии.
Стратегия для быстрой автоматической покупки и продажи новых монет на листинге.
Принцип работы:
Если вы хотите купить монету на листинге, то создаете одну стратегию NewListing или несколько, если у вас подключен модуль «Мультиордера», с указанием фиксированной цены в абсолютном значении (параметр BuyPriceAbsolute=YES), либо в процентах от цены листинга (параметр BuyPriceAbsolute=NO). Как только начинаются торги, MoonBot сразу же выставит ордер на покупку новой монеты согласно заданным параметрам.
Если нужно быстро продать монеты, которые вы получили перед листингом и они есть на вашем балансе, то указываете, что нужно продать монеты с баланса (SellFromAssets=YES), указываете, по какой цене продавать (SellPriceAbsolute=YES по абсолютной цене или SellPriceAbsolute=NO в проценте от цены ASK), указываете количество монет, которое нужно продать с баланса (SellQuantity=1000 - продать 1000 монет, если SellQuantity=0, то продать все монеты). Как только начинаются торги, MoonBot сразу же продаст нужное количество монет по указанным параметрам.
Стратегия не имеет отдельной вкладки Strategy setting, но при её создании появляются специальные параметры в общих вкладках.
На вкладке Buy conditions:
buyPriceAbsolute: NO/YES (по умолчанию NO),
если NO, то цена buyPice считается в процентах от рыночной цены (например, 1%), если YES, то buyPrice считается в абсолютном значении (например, 1$).
На вкладке Sell order:
SellPriceAbsolute: NO/YES (по умолчанию NO),
если NO, то SellPrice считается в процентах от цены ASK (например, 1%), если YES, то SellPrice считается в абсолютном значении (например, 1$).
SellFromAssets: NO/YES (по умолчанию NO),
если NO, то стратегия не будет продавать монеты с баланса, если YES, то стратегия будет продавать монеты с баланса.
SellQuantity: количество монет, которое нужно продать с баланса (например, 1000 монет), если в параметре задано "0", то нужно продать все монеты.
Комбо — это объединение двух других стратегий («Start» и «End»), которые работают вместе по следующему принципу: после срабатывания сигнала по первой стратегии «Start» MoonBot ждет указанное время, на протяжении которого проверяет срабатывание второй стратегии «End». Если срабатывание произошло, дается сигнал на покупку. Если нет, то цикл сбрасывается до нового срабатывания первой стратегии.
Все условия покупки, продажи, стопов берутся из стратегии Combo, а «Start» и «End» используются только для проверки сигналов. В самих стратегиях «Start» и «End» автопокупку нужно отключить!
Стратегия MoonShot не работает в комбо.
Все 3 стратегии должны быть активны. При уровне лога меньше 4 (Настройки — Специальные) в лог пишет только комбо-стратегия, 4 или 5 — в лог пишут «Start» и «End».
Параметры
ComboStart: Первая стратегия.
ComboEnd: Вторая стратегия.
ComboDelayMin: Время между первой и второй (не меньше чем, в сек).
ComboDelayMax: Время между первой и второй (не больше чем, в сек).
Стратегия TopMarket создается сама при первом запуске и по умолчанию сразу активна, если вы хотите отключить её работу, то нажмите кнопку "Снять выбор".
Стратегия TopMarket выдает в детект монету с наибольшей 15м дельтой.
DeltaMin: значение в процентах (0 или положительное значение).
Это порог минимальной дельты ниже, которого монеты не проходят по детекту.
TMSameDirection: YES / NO (по умолчанию YES)
Открывать позицию в направлении или против тренда, направление тренда вычисляется сравнением средней и текущей цены за час на конкретной монете.
а) TMSameDirection = YES (позиция откроется по тренду, если это был лонг, то откроется в лонг)
б) TMSameDirection = NO (позиция откроется против тренда, если это был лонг, то откроется в шорт)
Стратегия TopMarket является базовой и может применяться как для автоторговли, так и для детекта монет при ручной торговле.
Обратите внимание, что как с галочкой TMSameDirection = YES, так и TMSameDirection = NO стратегия TopMarket может набрать как лонги, так и шорты. Если вы хотите набирать позиции, только в одну, нужную для вас сторону, то делайте это через триггеры: стратегию TopMarket определяете как MASTER стратегию без покупки, которая запускает SLAVE стратегию (например, EMA), которая и покупает в нужную сторону (только в шорт или только в лонг), уже вне зависимости от направления тренда.
Для более тонкой настройки параметров ордера при ручной торговле предусмотрен специальный тип стратегий «Manual». Используя его вы можете задавать трейлинг, стоп-лосс и многие другие параметры с любой точностью. После создания стратегии отмечать галочками и включать ее в списке стратегий не нужно, достаточно просто заполнить параметры и сохранить стратегию.
Дополнительные параметры только для ручных стратегий.
Биржевой стоп - это возможность выставления sell-ордера биржевым стопом вместо тейкпрофита на бирже.
Чтобы торговать с применением ручной стратегии, нужно нажать кнопку МЕНЮ-РУЧНАЯ ТОРГОВЛЯ-ИСПОЛЬЗОВАТЬ СТРАТЕГИЮ. Далее, если у вас заполнено несколько вариантов ручных стратегий, выбрать нужную нажатием на надпись с именем стратегии в верхней строке (см. рис. ниже)
Обратите внимание! Фильтры стратегии применяются при ручной торговле. Если они вам не нужны, ставьте заведомо широкие диапазоны, например дельта монеты от 0 до 1000, дельта BTC и маркета от -100 до +100.
Есть возможность ставить "ручные хуки" (т.е. ставить управляемый ордер вручную), для этого нужно создать стратегию MoonHook, задать в ней параметры HookPriceDistance, HookSellLevel, HookRaiseWait, HookReplaceDelay.
Затем в ручной стратегии указать в поле UseHookStrategy нужный хук.
В терминал MoonBot, начиная с версии 7.32 (18.12.2024) добавлена возможность использовать комбинированную стратегию Manual+MoonHook "Ручной Мунхук", то есть через ручную стратегию Manual можно ставить управляемый Buy ордер, который получает поведение от совместной стратегии MoonHook и может плавно "убегать и догонять медленную цену", используя настройки коридора с настройкой задержек и исполняться в момент резких прострелов цены. При этом расстояние от Buy ордера до текущей цены будет поддерживаться таким, какой была глубина клика при выставлении Buy ордера.
Для создания "Ручного Мунхука" нужно создать стратегию MoonHook, задать в ней базовые параметры HookPriceDistance, HookSellLevel, HookRaiseWait, HookReplaceDelay.
Затем в ручной стратегии Manual на её вкладке Strategy setting в поле UseHookStrategy выбрать из меню название нужной стратегии MoonHook, которая будет работать в паре с Manual.
Далее в терминале нужно выбрать режим Меню-Ручная торговля - Использовать ручную стратегию.
Затем выбрать стратегию Manual, которая работает в режиме "Ручной Мунхук" и выставлять ордера на нужное расстояние в стакан.
Если в стратегии MoonHook был выставлен не нулевой параметр HookPriceDistance, то ордер будет с коридором цены и сможет двигаться за ценой.
Особенности "совместной работы" "Ручных Мунхуков":
Можно не активировать как стратегию Manual, так и MoonHook они работают "без лампочки" и без нажатой кнопки Autodetect: ON.
Тип выставляемого ордера EmulatorMode (реальный или эмуляторный) настраивается в Manual.
Тип и цвет ордеров настраивается на вкладке User Interface настраивается в MoonHook.
Фильтры проверяются в обеих стратегиях, но в приоритете проверка сначала делается для стратегии Manual, а затем перепроверяется в MoonHook.
То есть, например, если в Manual разрешить ставить ордер на BTC, а MoonHook запретить выставлять ордер на BTC, то ордер от Manual на BTC выставится и затем сразу же отменится по проверке фильтра от MoonHook. Аналогично с другими противоречивыми фильтрами.
Поэтому рекомендуем настройки фильтров производить у стратегии Manual, а в стратегии MoonHook на вкладке Filters устанавливать галочку IgnoreFilters=YES и проверять все параметры её основного раздела Filters (параметры, которые проверяются всегда: CoinsWhiteList, СoinsBlackList и прочие), чтобы они не противоречили фильтрам стратегии Manual и не отменяли от неё выставленный Buy ордер.
При выставлении "Ручных Мунхуков", настройка триггеров настраивается в MoonHook и соответственно можно дать ключ:
- при выставлении ордера TriggerKey и ActriveTrigger (от MoonHook)
- при покупке TriggerKeyBuy (от MoonHook)
- при продаже в профит TriggerKeyProfit или убыток TriggerKeyLoss (от MoonHook)
Раздел Session настраивается в MoonHook.
Автоотмена Buy ордера настраивается в MoonHook.
Раздел Delta Modifiers настраивается в MoonHook, например можно сделать добавку к SellModifier и Sell у рукахука будет разным в зависимости от коэффициентов и дельт конкретных монет.
Количество ордеров в сетке, шаг и прочие параметры из вкладки Multiple Orders настраиваются в Manual.
Выставление Sell ордера после исполнения Buy ордера зависит:
1) от значения в параметре HookSellLevel стратегии MoonHook, чем больше значение, тем выше Sell купленный с одного расстояния в стакане по маркету.
2) от того с какой глубины была сделана покупка, если Buy ордер стоял ниже в стакане, а затем куплена монета по маркету, то Sell выставится выше.
Поведение Sell ордера согласно алгоритмам PriceDown, SellLevel, SellShot, SellSpread настраивается в MoonHook.
Стопы настраиваются в MoonHook.
При одинаковой настройке HookPriceDistance ширина коридора при выставлении Buy ордера зависит от глубины выставления Buy ордера в стакан.
Как быстро будет "убегать от цены и удаляться от неё" HookReplaceDelay или "догонять цену и приближаться к ней" HookRaiseWait настраивается в MoonHook.
При использовании "Ручного Мунхука" в отчете будет указываться название от стратегии MoonHook.
Поэтому будьте внимательными при настройке этих двух стратегий при совместной работе!
Ручные Хуки работают как с активацией стратегий
так и без активациии стратегий.
В ручной стратегии Manual нужно указать нужную стратегию MoonHook, которая будет работать с ней в паре
При одинаковых настройках параметров в MoonHook, коридор меняется, чем дальше от цены, тем он больше (тут все ордера выставлены при HookPriceDistance=5)
Если покупать по маркету от каждого такого ордера, выставленного на разную глубину, меняется и высота Sell ордера.
При одинаковых настройках параметров в MoonHook, коридор меняется, чем дальше от цены, тем он больше (тут все ордера выставлены при HookPriceDistance=25)
Стратегия основана на детекте ликвидаций и выставлении ордеров long или short в зависимости от типа ликвидированных ордеров.
Данная стратегия входит в комплект модуля “Binance Futures” и доступна всем активировавшим данный модуль (в том числе во время пробного периода).
Принцип работы. За заданный интервал времени проверяются ликвидации, их число, суммарный объем (в USDT) и направление (ликвидация шорт позиций или лонг). Если LiqWaitTime > 0, то также проверяется отсутствие новых ликвидаций заданное время (в мс). В зависимости от LiqDirection стратегия может срабатывать не только на одинарный детект за интервал LiqTime, но и проверять комбинации из подряд идущих срабатываний детектов (минимальное время между детектами задается в фильтрах NextDetectPenalty, максимальное время не ограничено): ликвидации (шорт, лонг), (лонг, шорт), (шорт, шорт), (лонг, лонг). Например: при LiqDirection Twice стратегия сработает только если произойдет два срабатывания детекта одного типа (либо шорты либо лонги) подряд, с интервалом между ними не менее чем NextDetectPenalty; интервал для самих детектов устанавливается в LiqTime.
Параметры
LiqTime: Интервал подсчета ликвидаций, секунды;
LiqCount: Число ликвидаций в интервале (если 0, не учитывается);
LiqVolumeMin: Минимальный объем ликвидаций за указанный интервал, в USDT (если 0, не учитывается);
LiqVolumeMax: Максимальный объем ликвидаций за указанный интервал, в USDT (если 0, не учитывается);
LiqWaitTime: Время ожидания после детекта отсутствия новых ликвидаций, милисек.;
LiqWithinTime: время от последней ликвидации не более чем, в миллисекундах (если 0, не учитывается);
LiqDirection: Направление: (Both — любое, OnlyShort — будут считаться только шорт, OnlyLong — будут считаться только лонг, Combo — 2 противоположных подряд, Twice — 2 одинаковых подряд);
LiqSameDirection: Ставить ордер того же направления или противоположного, YES — выставляемый ордер будет того же направления, NO — противоположного;
Liq_BV_SV_Time: время для расчета объемов, в миллисекундах;
Liq_BV_SV_Filter: пороговое значение bv\sv, (если 0, то игнорируется).
Данная стратегия входит в Пакет расширений для Автоторговли , там же можно прочитать и описание всех параметров.
Данная стратегия входит в Пакет расширений для Автоторговли , там же можно прочитать и описание всех параметров.
Данная стратегия доступна только пользователям Bonus, зарегистрированным по Акции и при наличии PRO-версии.
Стратегия детектит быстрое падение цены, и выставляет buy-ордер, который в дальнейшем движется в своем коридоре цены, как в mooshot, в ожидании повторного прострела.
И коридор, и начальное положение ордера линейно зависят от фактического детекта. Скорость падения определяется параметром HookTimeFrame (интервал времени для анализа). Стратегия разрабатывалась для ловли прострелов (HookTimeFrame = 2 сек), однако можно поиграть и с большими интервалами (до 40 сек).
Замечания:
Как это работает: на момент детекта фиксируются дельты. Далее, если дельты начинают расти, разница текущих дельт и зафиксированных на момент детекта, умноженных на свой коэффициент, влияет на нижнюю и верхнюю границу коридора.
Например:
BuyModifier=-3 (должен быть отрицательным!)
коэффициент Add3hDelta=0.053hDelta на момент детекта = 10
после, 3hDelta начинает стремительный рост = 50
Разница=40
если на момент детекта, коридор движения цены был -2%,-3%, то на момент когда дельта была = 50 (разница=40), коридор будет равен
Верхняя Граница=-2+(40*0.05*(-3)/2)=-5%
Нижняя Граница=-3+(40*0.05*(-3))=-9%
Важно! Верхняя граница увеличивается, но ровно в 2 раза увеличивается меньше, чем нижняя! Этим достигается расширение коридора.
Параметры
BuyOrderReduce: задает интервал (в мс) на котором считать средний объем торгов. Стратегия выставит ордер размером не больше, чем средний объем. По умолчанию 100 (мс). Как считается объем: суммируется объем всех сделок (покупки и продажи) на интервале HookTimeFrame и делится на BuyOrderReduce. Например, если HookTimeFrame = 5 сек (5000 мс), BuyOrderReduce = 100 мс, объем за 5 сек был 10 000$, то средний объем за 100 мс будет равен 10000/5000мс*100мс=200$. В этом случае стратегия поставит ордер не более 200$ Иначе говоря, смотрим какой же был средний объем за 100 (мс)/ 10мс/ 5мс, это и есть наш максимальный ордер какой выставит стратегия. BuyOrderReduce=0 - параметр отключен.
Работу функции уменьшения ордера можно увидеть в логе по такой записи:IOTA: [1] (40) Buy order reduced: 1000.00$ => 23.32$ (Vol: 23.32$)В этом логе OrderSize в стратегии стоял 1000$, но средний объем торгов за 100 мс составил всего 23$, поэтому стратегия выставила ордер на покупку размером 23$.
MinReducedSize: Если в результате применения BuyOrderReduce размер ордера получился меньше заданного значения (в USDT), то ордер не ставится (и детекта не будет соответственно). По умолчанию 0 (не применяется).
HookTimeFrame: Интервал времени для анализа.
HookDetectDepth: Глубина детекта
HookDetectDepthMax: Глубина прострела не больше, чем это значение. Если 0, то не учитывается.
HookAntiPump: Если YES, для расчета глубины детекта берется средняя цена перед детектом, что позволяет исключить прострелы сразу после быстрого роста.
HookPriceRollBack: Процент отката цены , в процентах от общей глубины. Например, 33% означает откат на треть от всего хода цены
HookPriceRollBackMax: Ограничение роллбека не больше, чем. Если 0 (по умолчанию), не применяется.
HookRollBackWait: Время, в течении которого цена держится выше HookPriceRollBack (миллисек). Рекомендуемое значение 100 мс позволит отсечь ситуации с 1 крестиком. Можно ставить и больше, но все событие прострела, отката и ожидания отката должно уложиться в HookTimeFrame сек.
HookDropMin, HookDropMax: падение цены перед детектом за посл. 2 минуты, от и до. Считается в процентах от зафиксированной глубины прострела.
Например, произошел прострел на 10%. При этом монета уже падала 2 минуты и перед прострелом уже упала на 20%. Тогда HookDrop = 20 / 10 * 100 = 200% (т.е. предыдущее падение на 200% больше, чем сам прострел).
Если 0, не учитывать.
HookDirection: Искать детекты только в лонг, только в шорт или в обе стороны
HookOppositeOrder: ставить ордер в обратную сторону (при детекте "стрелы" вниз ставить шорт вместо лонга)
HookInterpolate:
- Если 0, стратегия будет ставить ордер от верхней цены до прострела
- Если 1, стратегия будет ставить ордер от отката после прострела (от цены RollBack)
- Если 2, то отдается приоритет параметру HookInitialPrice
- Если 3, то ордер и коридор считаются от текущей цены относительно глубины прострела
- Если 4, то считается относительно глубины отката.
Если он противоречит коридору цены, то верхняя граница коридора двигается выше, на половину расстояния между вашим ордером и текущей ценой.
Если это невозможно физически, то детект не срабатывает.
В этой логике уменьшена нижняя граница.
Аналогичная логика и на шорте и на лонге.
Если HookInterpolate установлен 0, то модификатор BuyModifier не применяется.
HookInitialPrice: Куда ставить бай, в процентах от общей глубины. Например, цена упала на 10% со 110 до 100. Если HookInitialPrice = 25%, то бай будет поставлен на 25% от 10%, т.е. на 2.5% выше нижней точки: 100 + 2.5% = 102.5. Возможно отриц. значение - ставить бай еще ниже, чем нижняя точка падения.
HookPriceDistance: Ширина коридора цены. В процентах от общей глубины детекта. Например, был детект на 5% падения. HookPriceDistance = 10% будет означать, что ордер может ходить в пределах - верхняя граница 5-5/100*10=4,5%, нижняя граница 5+5/100*10=5,5% от текущей цены. Будет так же переставляться как МунШот при подходе к одной из границ.. Если 0, то ордер не управляется, не ходит как в муншоте, а просто стоит на месте до исполнения или отмены.
HookPartFilledDelay: Задержка отмены бай ордера после частичного заполнения (миллисек.) Если 0, задержки нет, частично заполненный ордер сразу отменяется (как в муншотах)
HookSellLevel: заменяет SellPrice. Задается в процентах от глубины детекта.
Например , SellPrice = 75% означает, что нужно продавать в верхней четверти прострела. SellPrice = 100% означает продажу в верхней точке, из которой начался прострел
HookSellFixed: считать селл всегда как (HookSellLevel * глубина) процентов, вне зависимости от цены покупки
HookReplaceDelay: Задержка в секундах перед перестановкой buy ордера после падения цены.
HookRaiseWait: Задержка в секундах перед перестановкой buy ордера после роста цены в секундах.
HookRepeatAfterSell: ставить повторный ордер после исполнения селла.
HookRepeatIfProfit: %, повторять, если продажа закрылась с таким или большим профитом.
BuyOrderReduce: (параметр перенесен из стратегии Spread и имеет такое же назначение). Задает интервал (в мс) на котором считать средний объем торгов. Стратегия выставит ордер размером не больше, чем средний объем. По умолчанию 100 (мс). Как считается объем: суммируется объем всех сделок (покупки и продажи) на интервале HookTimeFrame и делится на BuyOrderReduce. Например, если HookTimeFrame= 5 сек (5000 мс), BuyOrderReduce = 100мс, объем за 5 сек был 10 000$, то средний объем за 100мс будет равен 10000/5000мс*100мс=200$. В этом случае стратегия поставит ордер не более 200$
Иначе говоря, смотрим какой был средний объем за 100 (мс)/ 10мс/ 5мс, это и есть наш максимальный ордер какой выставит стратегия.
BuyOrderReduce=0 - параметр отключен
Работу функции уменьшения ордера можно увидеть в логе по такой записи:
IOTA: [1] (40) Buy order reduced: 1000.00$ => 23.32$ (Vol: 23.32$)
В этом логе OrderSize в стратегии стоял 1000$, но средний объем торгов за 100мс составил всего 23$, поэтому стратегия выставила ордер на покупку размером 23$.