Стратегии

Применение

- авторговля по Сигналам из Телеграма (бот считывает сигналы о покупке из подключенного к нему Телеграм канала и совершает сделки самостоятельно по заданным Вами правилам в стратегии).

- автоторговля стратегиями (бот самостоятельно открывает и закрывает сделки используя созданные Вами стратегии).

- помощник в определении монет для ручной торговли (часто трейдеры создают стратегии, которые сигнализируют о той или иной ситуации, увидев ситуацию, принимается решение об открытии сделки).

-расширение возможностей ручной торговли (стратегия Manual дает более тонкие настройки стоп лосса, трейлинга и др. параметров при ручной торговле).

Готовый файл с тестовыми стратегиями для ознакомления  можно скачать тут: data.zip Папку data из этого архива нужно скопировать в папку с ботом с заменой. Внимание! эта операция полностью заменит все стратегии в боте! Если у вас уже были свои заполненные стратегии, сделайте бэкап папки data перед копированием.

Открыть меню Стратегий можно нажав на соответствующую клавишу  на главном экране.

Автоторговля в MoonBot

Так выглядит главное меню.

Настройка стратегий MoonBot

Для того, чтобы создать стратегию необходимо нажать кнопку Добавить новую. В открывшемся окне нужно заполнить все параметры, после чего обязательно не забыть нажать Сохранить. Ниже описана расшифровка общих параметров стратегий, а так же индивидуальные параметры и рассмотрение каждой из них. Важно, если какой-то параметр в стратегии не указан (значение 0, например для размера ордера), то бот будет брать эти значения из общих настроек бота.
Важно: все параметры ниже будут описаны для пар BTC-альткоины, если вы владелец PRO версии и торгуете на парах USDT,ETH,BNB,PAX, то в разделе sell price указываете размер ордера в выбранной паре, а так же в параметрах обьемов указывается обьем соответственно в USDT,BNB,ETH.

Общие параметры для всех стратегий 

 

 

 

  1. Общие:
    • StrategyName: Имя стратегии (у каждой должно быть уникальное)
    • Comment: Дополнительный комментарий к стратегии, параметр не обязателен.
    • SignalType: Тип стратегии ( виды стратегий будут описаны ниже)
    • ChannelName: Имя канала в Телеграме, откуда берется сигнал. Только для стратегий типа Telegram.
    • ChannelKey: Ключевое слово, с которым пришел сигнал из Telegram (например buy , news и тп). Для премиум канала бота это moon_1..moon_20.Только для стратегий типа Telegram.
    • AcceptCommands: Принимать комады Доверительного Управления .Только для стратегий типа Telegram.
    • SilentNoCharts: Не открывать графики при поступлении сигнал. Если NO - графики будут  открываться, если YES - графики монет не будут открываться при поступлении сигнала. 
    • ReportToTelegram: Отправлять сообщение о сигнале в свой канал Телеграма (см. раздел "удаленное управление) 
    • Настройка оповещений при поступлении сигнала:
      • SoundAlert: Если YES, при срабатывании сигнала Вам придет звуковое оповещение и над открытым вами графиком появится кнопка с названием монеты из сигнала, при нажатии на которую откроется ее график.
      • SoundKind: Выбор из предустановленных звуков для сигнала.
      • KeepAlert: Сколько секунд держать кнопку с названием монеты над графиком.
    • EmulatorMode: Использовать режим Эмуляции в данной стратегии, YES/NO.
  2. Фильтры:
    • CoinsWhiteList: Белый список монет (если пуст, не используется)  Если список задан, то стратегия анализирует только указанный список монет. Задаются через запятую, без пробелов.
    • CoinsBlackList: Черный список монет (если пуст, не используется)  Если список задан, то стратегия не анализирует указанные монеты, так же не мониторятся монеты из общего черного списка (Настройки-Основные-Не покупать эти монеты). Задаются через запятую, без пробелов.
      Нижеописанная группа параметров Volume имеет решающее значение, так, вам будет очень сложно торговать большим ордером на монете с низким суточным обьемом, ваш ордер просто никто не выкупит. Если вы не хотите использовать фильтр обьемов, то можете в минимальный значениях указать 0, а в максимальных 100000k).
    • MinVolume: Минимальный суточный обьем торгов по монете (в BTC). Посмотреть суточный обьем по любой монете можно нажав на кнопку "Показать маркеты". 
    • MaxVolume: Максимальный суточный обьем торгов по монете(в BTC).
    • MinHourlyVolume: Минимальный часовой обьем торгов по монете (в BTC).
    • MaxHourlyVolume: Максимальный часовой обьем торгов по монете (в BTC).
    • PenaltyTime: Время в секундах, в течение которого стратегия не будет работать по монете, на которой были 3 минусовые сделки подряд или ордер был отменен или выставлен вручную.
      Для всех нижеописанных параметров, дельта считается по формуле (максимальная цена за период анализа/минимальная цена за период анализа-1)*100%
    • Delta_3h_Min: Минимальное значение дельты за 3 часа, (в %), ниже которой бот не рассматривает монету. Дельта считается как разница между средней ценой за 3 часа и текущей.
    • Delta_3h_Max: Максимальное значение дельты за 3 часа, (в %), выше которой бот не рассматривает монету.
    • Delta_24h_Min Минимальное значение дельты за 24 часа, (в %), ниже которой бот не рассматривает монету. Дельта считается как разница между средней ценой за 24 часа и текущей.
    • Delta_24h_Max Максимальное значение дельты за 24 часа, (в %), выше которой бот не рассматривает монету. Дельта считается как разница между средней ценой за 24 часа и текущей.
    • Delta2_Type: Выбор дополнительной дельты: 15 мин, 30 мин, 1 час, 2 часа, Pump5m. (Pump5m считается как разница между ценой 5 минут назад и максимальной ценой за 5 минут)
    • Delta2_Min: Значение доп. дельты (не менее чем, в %).
    • Delta2_Max: Значение доп. дельты (не более чем, в %).
      Помимо дельты самой монеты так же можно учитывать изменение курса BTC за час (в %). Значение может быть отрицательное. Это параметр добавлен в бота, т.к. часто при падении курса BTC, остальные монеты тоже начинают стремительно падать.
    • Delta_BTC_Min: Минимальное изменение курса BTC за час, (в %).    
    • Delta_BTC_Max: Максимальное изменение курса BTC за час, (в %).
    • Delta_BTC_24h_Min: Минимальное изменение курса BTC за 24 часа (в %), ниже которого бот не рассматривает монету. Дельта считается как разница между средней ценой за 24 часа и текущей.
    • Delta_BTC_24h_Max: Максимальное изменение курса BTC за 24 часа (в %), выше которого бот не рассматривает монету. Дельта считается как разница между средней ценой за 24 часа и текущей.
    • Delta_Market_Min: Средняя по всем альткоинам дельта, не менее чем (в %). Считается как отклонение текущей цены от среднего за час, усредняется по всем парам. Может быть отрицательная.   
    • Delta_Market_Max:  Средняя дельта по всем рынкам (не более чем, в %).
    • Delta_Market_24h_Min: Максимальное изменение среднего курса всех альткоинов за 24 часа , (в %), ниже которого бот не рассматривает монету. Дельта считается как разница между средней ценой за 24 часа и текущей.
    • Delta_MArket_24h_Max: Максимальное изменение среднего курса всех альткоинов за 24 часа,  (в %), выше которого бот не рассматривает монету. Дельта считается как разница между средней ценой за 24 часа и текущей.
      Простыми словами о дельте BTC и Маркета. В идеальной картинке если мы зададим Min -10% Max -0.1%, то весь рынок предположительно пребывает в медвежьем тренде/падает. Если зададим Min -0.1% Max 0.1%, то весь рынок спокойный, во флете. Min 0.1% Max 10%, весь рынок в бычьем тренде/росте. Если вы не хотите использовать дельты BTC и Маркета, то просто укажите в -100% Min значениях и 100% в Max значениях.
    • UseBV_SV_Filter: Это фильтр соотношения обьемов покупок к продажам. Если фильтр включен (Yes),  то стратегия сработает при соблюдении двух условий, описанных ниже. N: параметр, который отвечает за время рассчета соотношения обьемов. Он описан ниже в параметре BV_SV_TradesN.
    • BV_SV_FilterRatio: Значение соотношения обьемов покупок к продаже за заданное время N (или за заданное число последних сделок), ниже которого автопокупка не производится. Пример: при  заданном N = 60 минут и FilterRatio = 2 монета пройдет по фильтру если за последний час купили по обьему как минимум в 2 раза больше чем продали (если продали за час 1 Btc, то купить должны как минимум 2 Btc).
    • NextDetectPenalty: Время в секундах, в течение которого стратегия не сработает снова после детекта, по той же монете.
    • GlobalFilterPenalty: Время в секундах, в течение которого стратегия не сработает снова после того, как она не прошла по фильтру дельты BTC или рынка (если 0, параметр игнорируется).
    • DeltaSwitch: Если стратегия берет монету при заданном интервале (от X до Y), то она остается на монете в интервале (от X-DeltaSwitch до Y+DeltaSwitch) (в текущем наборе стратегий имеет смысл только для MoonShot).
    • PriceStepMin: Минимальный шаг цены (в %) от текущей цены. Можно посмотреть в колонке PumpQ в таблице монет (второе после "/" число).
    • PriceStepMax: Максимальный шаг цены (в %) от текущей цены. Пример: если монета стоит 20 сатоши, то шаг цены равен 5%. Если монета стоит 200 сатоши, то шаг цены равен 0.5% (значение PriceStepMax по умолчанию ограничивает покупку монет с ценой меньше 200 сатоши).
      Важно: Если вы хотите, чтобы ваши стратегии работали с "квадратными" монетами, измените значение PriceStepMax!.
  3. Buy ордер:  
    • AutoBuy: Автопокупка монет.  Если YES, то выставится ордер на покупку по заданным ниже параметрам. Если NO, то стратегия даст сигнал, но покупка произведена не будет, это полезно когда вы используете стратегию как помощник в выборе монеты для ручной торговли. Стратегия будет просто сигнализировать вам об интересных ситуациях на рынке, а Вы сами будете принимать решение для открытия позиции.
    • MaxActiveOrders: Макс. число активных (отложенных или уже выставленных на продажу после срабатывания покупки) ордеров по данной стратегии одновременно.
    • AutoCancelBuy: Авто отмена buy ордера через заданное время, в секундах. Если 0, то не отменять.    
    • AutoCancelLowerBuy: Только для сигналов в Телеграме. Авто отмена buy ордера через заданное время в случае, если была использована более низкая цена покупки сигнала .
    • BuyType: Пока только BUY LIMIT . 
    • OrderSize: Фиксированный размер Buy ордера в ВТС. Если 0, то используется значение из общих настроек .
    • buyPrice: Цена покупки, (в %) от цены на момент срабатывания стратегии  или же от минимальной цены за последние 30 секунд.
    • Use30SecOldASK: Если YES, будет использована минимальная цена ASK за последние 30 сек., если NO, то текущая.
    • TlgUseBuyDipWords: (Только для сигналов в Телеграме) Если в сигнале указаны стоп-слова, при которых покупать по более низкой цене, и TlgUseBuyDipWords = YES, то будет использована более низкая цена (см. ниже).
    • TlgBuyDipPrice: (Только для сигналов в Телеграме) Цена, по которой покупать сигналы, содержащие рекомендацию покупать по цене ниже рыночной (в процентах к рыночной цене).
  4. Селл ордер:
    • SellPrice: Цена продажи, (в %) к цене покупки. 
    • PriceDownTimer:  Таймер включения функции "Снижать цену" (если 0, не включается никогда), сек. Если не 0, то через заданное время ордер на продажу начинает снижаться по заданным параметрам.
    • PriceDownDelay:  Задержка шагов снижения цены (в секундах). После покупки мы сперва пытаемся продать по заданной цене, когда истекает время PriceDownTimer мы снижаем цену в первый раз, потом по истечении PriceDownDelay мы снижаем цены второй раз, опять по истечению PriceDownDelay мы снижаем цену третий раз и тд.
    • PriceDownRelative:  Если NO, то считается процент от абс. цены; если YES, то от разницы между текущим селл и бай. Пример 1: Выставили селл прайс 1%, price down relative NO. pricedown percent 0.2%. Тогда через заданное время селл прайс понизится с 1% lдо 0.8(1-0.2)%. Пример 2: Выставили селл прайс 1%, price down relative YES. pricedown percent 0.2% Тогда через заданное время цена продажи опустится c 1% на  0.998%(1-1/100*0.2).
    • PriceDownPercent:  На сколько процентов снижать цену sell ордера на каждом шаге.
    • PriceDownAllowedDrop:  Величина в процентах от бай, на которую можно опускать селл. Если задана 0,5%, то бот опускает селл прайс постепенно до 0,5%, а потом останавливается и больше не передвигает ордер.
      Функция снижения цены работает НЕЗАВИСИМО от стопов и трейлинга.
    • UseScalpingMode: Если да, и если цена продажи задана меньше 1%, то будет использовать режим скальпинга, при котором бот может увеличить цену до 2% в зависимости от стакана ASK. Некое подобие функции Ставить ордер под стенку из основных настроек.
  5. Стопы:
    • UseSignalStops: (Только для сигналов в Телеграме): брать стопы из сигнала. Приоритеты: если в сигнале заданы стопы, и стоит галочка в настройках автопокупки по Телеграму "брать стопы из сигнала", будут использованы стопы из сигнала. Если в сигнале не указаны стопы, будут использованы настройки стопов из стратегии.
    • UseStopLoss: Использовать стоп лосс или нет, YES/NO.
    • StopLossDelay: Задержка активации стоп-лоссов и трейлинга, секунды (Задержка иногда полезна для стратегии MoonShot и не только, бывают ситуации, когда произошел не прострел, а резкое выставление стенки на продажу  глубоко в стакан BID, стенка стоит какое-то время, пропадает, а потом цена начинает рост. В данном случае мы могли бы избежать продажи по стоп лосс за счет задержки и в итоге получили бы профит).
    • StopLoss:  Стоп лосс, (в %) к цене покупки (не забудьте ставить минус). Этот параметр и его производные описаны в основных настройках.
    • StopLossSpread:  Спред для Стоп Лосса, (в %).
    • AllowedDrop:  Уровень, на который активированный стоп лосс может опускать цену, (в %) к цене покупки.
    • StopLossEMA: Использовать усреднение цены при работе стоп лосс. Если 0, то не используется. 3,5,10 - усреднять последние 3, 5,10 тиков. Параметр нужен, чтобы при простреле вниз и пробитии линии стоп лосс не активировался паник селл.
    • UseSecondStop: Использовать ли второй стоп лосс, YES/NO. Условие применения второго стопа: "если через TimeToSwitch2Stop секунд или более цена выше чем цена PriceToSwitch2Stop, то применять второй стоп лосс". Иначе говоря, данная опция выставлят стоп выше чем основной стоп лосс через заданное время и тем самым уменьшает вероятные убытки. Внимание! Если основной стоп уже был активирован, то 2й стоп применен не будет!
    • TimeToSwitch2Stop: Время в секундах до активации второго стопа.
    • PriceToSwitch2Stop : Цена в процентах от цены покупки, при достижении которой выставляется второй стоп.
    • SecondStopLoss: Величина второго стопа (в %) от цены покупки. 
    • UseStopLoss3: Использовать 3й стоп лосс с активацией по таймеру, YES/NO. Работает аналогично второму стопу, дает вам еще один уровень, куда можно поставить стоп в безубыток. Внимание! Если основной стоп уже был активирован, то 3й стоп применен не будет!
    • TimeToSwitchStop3: Таймер до включения 3-го стопа, секунды.
    • PriceToSwitchStop3: Цена в процентах от цены покупки, при достижении которой выставляется третий стоп.
    • StopLoss3: Уровень 3-го стопа. Следует ставить выше, чем основной стоп, т.к. цена может упасть быстрее, чем сработает таймер.
    • AllowedDrop3: Уровень, на который включенный СтопЛосс3 может опускать цену, (в %) к цене покупки. При дальнейшем снижении цены, если ордер все еще не продан, и достигнут основной стоп, будет задействован AllowedDrop от основного стопа.
      Можно охарактизовать стоп 2 и стоп 3 как некие вариации тейк профита с расширенными параметрами .
    • UseTrailing:  Использовать Трейлинг или нет, YES/NO. Параметры трейлинга и его производные описаны в основных настройках.
    • TrailingPersent: Процент Трейлинга (отрицательный).
    • TrailingEMA (по умолчанию 0 - отключен): число тиков, за которые усреднять пиковую цену. Этот параметр нужен для того, чтобы при резком простреле вверх (скажем  мгновенно на 10%), трейлинг не поднялся вверх на те же 10%, тк  после таких прострелов стакан ASK сразу же заполняется, то наш трейлинг окажется в зоне стакана ASK и активируется panic sell.
    • TrailingSpread:  Спред для Трейлинга, (в %).
    • UseTakeProfit: Использовать Тейк Профит, YES/NO. Если да, то Трейлинг включится только после достижения ценой значения Тейк Профита + трейлинга . Без использования трейлинга данные параметр не имеет смысла.
    • TakeProfit: Тейк Профит, (в %) к цене покупки.  
    • UseBV_SV_Stop: Использовать стоп при падении отношения BV к SV (объема покупки к объему продажи) за N посл. сделок или N секунд. Число N задается ниже.
      Важно: при включении этой функции стратегия так же проверяет условие на отношения BV к SV при входе в монету. Если условие  выполнено, автопокупка не производится! (в противном случае сразу же включилась бы продажа).
    • BV_SV_Kind: Метод расчета отношения BV к SV: за N сделок или N секунд.
    • BV_SV_TradesN: Число  N; сделок или секунд для расчета отношения BV к SV.
    • BV_SV_Ratio: Уровень отношения BV к SV, меньше которого включается стоп-лосс.
    • BV_SV_TakeProfit: Включать BV SV только после достижения заданной цены, (в %).

Важно! Помимо заданных вами фильтров Moon Bot так же учитывает фильтры группы Ограничение рисков из раздела Настройки - Основные, если они активированы.

Стратегия Drops Detection и ее параметры 

 

 

Задача данного метода - выдать сигнал на нисходящем тренде по заданным условиям.

111

DropsMaxTime:  Период анализа монеты,секунды. На основании этого параметра оцениваются все параметры ниже. Пример: задано 100 сек,  бот оценивает изменение цены монеты за последние 100 сек, т.е. по истечении каждой секунды времени бот отслеживает уже новый интервал.

DropsPriceMA: Интервал по времени за который бот усредняет цены, секунды. Т.е. бот будет брать среднее значение цены за заданный интервал. Пример: мы зададим 20 сек, а параметр DropsMaxTime =100. Тогда на всем периоде анализа в 100 секунд бот будет зоны для расчета (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: Падение за период анализа, в процентах.

DropsPriceIsLow: если стоит YES, то помимо вышеописанных условий текущая рыночная цена должна являться часовым минимумом.

DropsUseLastPrice: если YES, то для расчета цены покупки будет использована цена LastPrice (из расчета детектора).

Пример: пусть задано  DropsMaxTime =100 сек,  DropsMaxTime 20 сек,  DropsLastPriceMA 1 сек,  DropsPriceDelta 2%. Значит бот отслеживает изменение цены за последние 100 секунд. При этом на каждом интервале в 20 секунд он определяет среднюю цену в интервале. Из них он берет самую большую и сравнивает ее с текущей рыночной ценой. Если текущая рыночная цена на 2% ниже самой большой цены, то стратегия срабатывает. Важно! Пример приведен конкретно по параметрам стратегии, она могла бы не сработать, если бы не прошла общие для стратегии фильтры, описанные выше.

Стратегия Walls Detection и ее параметры 

 

 

Задача данного метода - выявляет монеты, на которых стоит большой объем закупочных ордеров длительное время (поддержка). Пример на рис. ниже:

Настройкой параметров можно задать период, на котором проверять наличие стены. Характерный признак долго стоящей стены - нет теней от свечей на графике (т.к. цена не падает ниже уровня поддержки).

Рекомендуется ставить небольшой стоп чуть ниже уровня стены и проверять новости (в твиттере и других источниках) по выявленной монете. В большинстве случаев наличие стены + положительный новостной фон являются признаком скорого хорошего роста.

WallsMaxTime: Время, за которое проверять свечи, секунды. Дельта изменения цены начинает проверяться на данном временном промежутке.

WallsPriceDelta:  Отклонение теней свечей на указанном промежутке, (в %). Измеряется отклонение цены, монета должна находиться в пределах этого изменения за заданное время WallsMaxTime. Задачей является определить как долго стенка на покупку стоит с минимальными ее передвижениями.

WallBuyVolDeep:  Расстояние между ценой и стеной на покупку в стакане, (в %). Этим параметром мы указываем на каком расстоянии от текущей рыночной цены мы будем проверять обьем стенки.

WallBuyVolume: Обьем проверяемой стены в BTC (не менее чем) .

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%.

После запуска стратегии бот начинает искать монеты, в которых на 3% ниже от текущей цены находится обьем на покупку в 50BTC или больше. Дальше необходимо, чтобы для конкретный монеты эти 50BTC были больше 10% от суточного обьема торгов. В нашем случае суточный обьем торгов 200BTC и наши 50 явно больше 10%. Значит монета идет на проверку дальше. Бот начинает смотреть обьемы в стакане BID. Если на расстоянии 5% вверх от текущей цены находится меньше чем 50BTC*30%=15BTC на продажу, то монета проходит проверку и проверяется дальше. Если в течении 600 секунд все предыдущие условия остаются выполненными и за это время монета не переместилась на 1% вверх или вниз, то стратегия срабатывает. Важно! Пример приведен конкретно по параметрам стратегии, она могла бы не сработать, если бы не прошла общие для всех стратегий фильтры, описанные выше.

Стратегия  Pumps Detection (только для Binance) и ее параметры 

 

 

Задача данного метода быстрое обнаружения закупочных ордеров, характерных при начале пампа. Важно! В отличие от остальных стратегий,  стратегию pumps detection можно запускать только одну. Если вы запустите  сразу несколько стратегий данного типа, будет работать только та, что находится выше в списке стратегий.

PumpPriceInterval: За какой интервал анализировать рост цены, выбор из вариантов: 60сек, 30с, 15с, 4с. 

PumpPriceRaise: Рост цены за последние PumpPriceInterval секунд, (в %).

PumpBuysPerSec: Число покупок в секунду (зеленые крестики на графике).

PumpVolPerSec: Обьем покупок в секунду, BTC (чем меньше значение, тем больше вероятность ложного срабатывания).

PumpBuyersPerSecMin: Число покупателей за заданный интервал (не менее чем). В зависимости от группы, которая делает пампы, покупателей может быть много с низкообьемными сделками в самом начале, либо есть всего 1-2 покупателя, которые покупают огромным обьемом.

PumpBuyersPerSecMax: Число покупателей за заданный интервал, не более чем (если 0, то не учитывается).

PumpVolEMA: Интервал для вычисления EMA объема покупок (по умолчанию 2 сек, может быть дробным) т.е. интервал усреднения обьема покупок.

PumpBuyersInterval: Интервал для подсчета числа покупателей (по умолчанию 1 сек, значение может быть дробным).

PumpMoveTimer:  Таймер перестановки селл ордера (если 0, ордер не переставляется). Этот параметр нужен для работы параметра, который описан ниже и работает только в случан, если вы используете автоматическую торговлю по этой стратегии.

PumpMovePersent:  Процент от пиковой цены, на который переставить селл ордер (однократно). Учитывается процент между пиковой ценой и ценой покупки. Пример: Если PumpMovePersent = 50%, покупка произошла по 1000 сат., за время PumpMoveTimer от момента детекта цена выросла максимум до 1200 сат., то селл ордер будет выставлен на 1100 сатоши автоматически.

Пример: PumpPriceInterval 4сек, PumpPriceRaise 2%, PumpBuysPerSec 5, PumpVolPerSec 1 BTC, PumpBuyersPerSecMin 2, PumpBuyersPerSecMax 100 , PumpVolEMA 2 сек , PumpBuyersInterval 1.

Итак, бот сканирует все монеты, которые подходят по общим фильтрам. Как только он замечает, что за последние 4 секунды цена выросла на 2 или более %, при этом из стакана ASK было выкупленно минимум 1 BTC с учетом PumpVolEMA=2, (согласно которого 50% обьема предыдущих 2 сек  + 100% обьема текущих 2 сек должно быть больше установленного значения  PumpVolPerSec=1 ВТС), и было выкуплено больше 5 ордеров в стакане, с учетом того, что данный ход цены провел не один покупатель, который купил по маркету, сделав прострел вверх, а было как минимум 2 и не более 100 покупателей, то сработает детект и купится при включенном autobuy по вашем параметрам, или просто просигналит.

ВНИМАНИЕ! Высокая вероятность ложного срабатывания. Метод выявляет закупы с заданными параметрами, тем не менее, они могут иметь случайный характер и не является следствием начала пампа.

Стратегия MoonShot и ее параметры 

 

 

Задача данного метода купить на простреле вниз. В отличие от остальных стратегий, муншот всегда держит открытые ордера по монетам тем самым *замораживает депозит*. Суть стратегии в том, что выставляются ордера на покупку монет, проходящих по фильтрам, на заданном расстоянии от текущей цены. Ордера перемещаются в зависимости от нижеописанных параметров.

MShotPriceMin: Мин. цена (в %) от текущей рыночной, на которую может подойти рыночная цена к цене ордера. Если рыночная цена подойдет еще ближе, чем указанное значение, ордер будет переставлен вниз на MShotPrice. Т.е. при заданном MShotPrice 10% и MShotPrice 7% цена может двигаться над ордером в интервале +7...+10% от него. Как только цена станет +6.9% ордер автоматически переставится ниже и встанет на 10% ниже от текущей цены.

MShotPrice: Цена (в %) от текущей рыночной, на которой ставить ордер на покупку  (всегда положительная, ордер всегда ставится ниже рыночной на указанное значение).

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. Аналогично вышеописанному примеру.

MShotSellAtLastPrice: После покупки ставить продажу по цене, равной максимуму из цены стратегии (селл прайс) и предпоследней (4х-сек давности, т.е. до прострела) цены ASK с учетом поправки (см. ниже), YES/NO.

MShotSellPriceAdjust: Поправка к цене ASK, (в %). Для расчета цены продажи из цены ASK вычитается поправка. Пример: цена ASK в момент прострела была 1000 сат. Поправка задана в 1%: 1000 - 1%=990 сат. Если MShotSellAtLastPrice = YES, то бот выставит продажу по наибольшей из двух цен: первая - цена продажи по общим настройкам стратегии, вторая -  990 сат.

MShotReplaceDelay: Задержка в секундах перед перестановкой buy ордера после падения цены до MShotPriceMin. (Т.е. при падении цены ниже MShotPriceMin цена переставится не сразу, а после заданного интервала времени в секундах).

MShotRaiseWait: Задержка в секундах перед перестановкой buy ордера после роста цены в секундах.

MShotSortBy: Сортировка монет, которые бот отбирает для работы по 1-,2-,3-часовой дельте цены или по соотношению суточного и часового объемов. Соответственно в приоритете монеты с максимальными параметрами.

MShotUsePrice: Ордер выставляется на рассстояние MShotPrice, отсчитывая цену от стакана BID или ASK.

Важно, из-за частого переставления ордеров (зависит от конкретной настройки стратегии, но в большинстве случаев это так) идет нагрузка на API ключи и есть шанс получить временный бан от биржи. Старайтесь держать меньше 30-35 активных ордеров одновременно. Если Вам этого мало, запустите часть ордеров на одних API ключах и часть на других API.

Стратегия Volumes и ее параметры 

 

 

Суть метода в детекте обьемов.Задается два интервала: "короткий" и "длинный" и вычисляются объемы на обоих интервалах. При этом объем на длинном интервале считается приведенным к минуте, т.е. объем в минуту. Например, если длинный интервал задан в 300 сек (5 мин), объем за 5 минут составил 10 BTC, то объем в минуту будет 2 BTC. На коротком интервале объем берется как есть.

Все отношения объемов задаются в виде чисел "во сколько раз одно больше другого", не проценты!

При срабатывании условий на объемы вторым шагом проверяются стаканы:

заполнение стакана BIDs (зеленого) на 2х уровнях.

-Уровень мин. цены на коротком интервале.

-Уровень макс. цены на коротком интервале.

Заполнение стакана BIDs на заданную глубину от текущей цены ASK.

Сравнение объема в стакане BIDs на заданной глубине с объемом ASKs (красного) на заданной высоте.

Определение динамики наполнения зеленого стакана от момента детекта на 1-м шаге до момента выставления ордера (бот ждет для проверки не более 20 сек, если условия не сработали, ордер не ставится)

VolShortInterval:  Короткий интервал в секундах.

VolShortPriseRaise:  Рост цены на коротком интервале (можно ставить 0).

VolLongInterval:  Длинный интервал в секундах.

VolBvShortToLong:  Отношение объема покупки (BV) на коротком интервале к общему объему в минуту на длинном (во сколько раз один больше другого).

VolBvLongToHourlyMin:  Отношение приведенного объема на длинном интервале к приведенному часовому объему, не менее.

VolBvLongToHourlyMax:  Отношение приведенного объема на длинном интервале к приведенному часовому объему, не боле.

VolBvLongToDailyMin:  Отношение приведенного объема на длинном интервале к приведенному суточному объему, не менее.

VolBvLongToDailyMax:  Отношение приведенного объема на длинном интервале к приведенному суточному объему, не более.

VolBvToSvShort:  Отношение BV к SV на коротком интервале.

VolBvShort:  Объем BV на коротком интервале, (в BTC).

VolBuyersShort: Число покупателей на коротком интервале.

VolAtMinP:  Объем в зеленом стакане на уровне мин. цены на коротком интервале, (в BTC).

VolAtMaxP:  Объем в зеленом стакане на уровне макс. цены на коротком интервале, (в BTC).

VolDeltaAtMaxP:  Динамика в зеленом стакане на уровне макс. цены на коротком интервале с момента детектирования до момента выставления ордера (бот ждет для проверки не более 20 сек, если условия не сработали, ордер не ставится), (в BTC).

VolSvLong:  Объем на продажу на длинном интервале, не более чем, (в BTC).

VoltakeLongMaxP: Брать ли цену MaxPrice на длинном интервале (полезно в случае ложного роста после провала).

VolDeltaAtMinP: Динамика в зеленом стакане на уровне мин. цены на коротком интервале.

volBidsDeep:  Глубина, на которую смотреть зеленый стакан, проценты от текущей ASК.

volBids:  Объем в зеленом стакане на заданной глубине, (в BTC).

volAsksDeep:  Высота, на которую смотреть красный стакан, проценты от текущей ASК.

volBidsToAsks:  Отношение объема BIDs к объему ASKs на заданных глубине и высоте, не менее чем, (в BTC).

 

Стратегия Volumes Lite и ее параметры 

 

 

Задается 4 интервала и проверяется, что средние цены и объемы росли от предыдущего к последующему интервалу. Рост задается в процентах. Если задать 0 процентов, то условие превращается в "цена (объем) не упали". Если задать -1000 на каком-либо интервале, то проверка на этом интервале отключается.

Обозначения: P - цены, V - объемы

VLiteT0 .. VLiteT3:  Интервалы в секундах (см. рис. выше).

VLiteP1 .. VLiteP3 :  Рост цен от предыдущего к последующему интервалу, не менее чем (в %).

VLiteMaxP:  Каждый рост не более, чем (в %).

VLitePDelta1, VLitePDelta2: Сравнение роста цен между собой, (в %).

VLiteDelta0: Изменение цены на нулевом интервале. (разница между макс. и мин. ценой в пределах нулевого интервала в процентах).

VLiteMaxSpike: Максимальная разница между макс. ценой на интервале и средней, не более чем (в %). Нужно для исключения прострелов.

VLiteV1 .. VLiteV3 :  Рост объемов от предыдущего к последующему интервалу.

VLiteWeightedAvg:  Способ вычисления средних цен: если YES, то считается взвешенное среднее по объему на интервале, если NO, то среднее по кол-ву сделок на интервале.

VLiteReducedVolumes: Еесли YES, то считать объем в минуту. Если NO то полный объем на интервале.

Стратегия Waves и ее параметры 

 

 

Принцип такой же, как у Volumes Lite: Задается 4 интервала и проверяется изменение цен и объемов от предыдущего к последующему интервалу. В отличие от Volumes Lite, если задать положительное значение для параметра изменения цены, проверяется рост. Если задать отрицательное значение, проверяется падение. Если ноль, параметр игнорируется.

Обозначения: P - цены, V - объемы

Описание параметров:

WavesT0 .. WavesT3:  Интервалы в секундах (см. рис. выше).

WavesP1 .. WavesP3 :  Изменение цены от предыдущего к последующему интервалу, проценты. Если задать положительное значение, проверяется рост. Если задать отрицательное значение, проверяется падение. Если ноль, параметр игнорируется.

WavesDelta0: Изменение цены на нулевом интервале. (разница между макс. и мин. ценой в пределах нулевого интервала в процентах). Если задать положительное значение, проверяется рост (измеренная дельта больше заданной). Если задать отрицательное значение, проверяется отсутствие роста (измеренная дельта не больше заданной. К примеру "-1" означает, что колебание было не больше 1%). Если ноль, параметр игнорируется.

WavesMaxSpike: Максимальная разница между макс. ценой на интервале и средней (не более чем, в %). Нужно для исключения прострелов.

WavesV1 .. WavesV3 :  Рост объемов от предыдущего к последующему интервалу. Если задать положительное значение, проверяется рост. Если задать отрицательное значение, проверяется падение. Если ноль, параметр игнорируется.

WavesWeightedAvg:  Способ вычисления средних цен: если YES, то считается взвешенное среднее по объему на интервале, если NO, то среднее по кол-ву сделок на интервале.

WavesReducedVolumes: Еесли YES, то считать объем в минуту. Если NO то полный объем на интервале.

Стратегия Delta и ее параметры 

 

 

Принцип работы: Берем длинный интервал последние 100 секунд (условно, все параметры настраиваемые) и короткое окно 10 секунд. На каждом тике прогоняем это 10-секундное окно через 100-секундный интервал и вычисляем усредненный за окно минимум и максимум цены. Получаем DeltaPrice за последние 100 секунд - степень шевеления монеты.

Считаем полный объем за последние 100 секунд и предыдущие 100 секунд и сравниваем, на сколько % подрос объем.

Смотрим последние 10 секунд и на них считаем число сделок и изменение средней цены на последних 10 секундах по сравнению со средней ценой за последние 100 секунд.

Описание параметров:

DeltaInterval: Интервал анализа изменения цены и объема (длинный).

DeltaShortInterval: Интервал усреднения цены и анализа динамики сделок (короткий).

DeltaPrice: Изменение цены (дельта) на длинном интервале (не менее чем). Считается как отклонение в процентах между мин. ценой и макс. ценой с учетом усреднения цен по коротким интервалам.

DeltaVol: Общий объем (BV+SV) на длинном интервале (не менее чем, в BTC).

DeltaVolRaise: Общий объем на длинном интервале больше, чем объем на предыдущем таком же интервале на заданный процент.

DeltaVolSec: Объем в секунду, усредненный с запаздыванием. Последние секунды перед детектом имеют больший вес,. единичные прострелы исключаются путем усреднения.Точный алгоритм расчета может меняться, параметр экспериментальный. Если ставить 0, он игнорируется.

DeltaBuyers: Число сделок (покупателей + продавцов) на последнем коротком интервале (не менее чем, в BTC).

DeltaLastPrice: Средняя цена на последнем коротком интервале выросла или упала на заданный процент от средней цены на длинном интервале. Если значение положительно, то проверяется рост цены. Если значение отрицательно, то падение цены. Если 0, параметр игнорируется.

Стратегия Combo и ее параметры 

 

 

Комбо - это объединение двух других стратегий ("Start" и "End"), которые работают вместе по следующему принципу: после срабатывания сигнала по первой стратегии "Start" бот ждет указанное время, на протяжении которого проверяет срабатывание второй стратегии "End". Если срабатывание произошло, дается сигнал на покупку. Если нет, то цикл сбрасывается до нового срабатывания первой стратегии.

Все условия покупки, продажи, стопов берутся из стратегии Комбо, а "Start" и "End" используются только для проверки сигналов. В самих стратегиях "Start" и "End" автопокупку нужно отключить!

Стратегия MoonShot не работает в комбо.

Все 3 стратегии должны быть активны. При уровне лога меньше 4 (Настройки - Специальные) в лог пишет только комбо-стратегия, 4 или 5 - в лог пишут "Start" и "End".

Описание параметров:

ComboStart:  Первая стратегия.

ComboEnd:  Вторая стратегия.

ComboDelayMin:  Время между первой и второй (не меньше чем, в сек).

ComboDelayMax:  Время между первой и второй (не больше чем, в сек).

 

Стратегия Manual ( Ручная торговля)  и ее параметры 

 

 

Для более тонкой настройки параметров ордера при ручной торговле предусмотрен специальный тип стратегий "Manual". Используя его вы можете задавать трейлинг, стоп лосс и многие другие параметры с любой точностью. После создания стратегии отмечать галочками и включать ее в списке стратегий не нужно, достаточно просто заполнить параметры и сохранить стратегию.

Чтобы торговать с применением ручной стратегии, нужно нажать кнопку МЕНЮ-РУЧНАЯ ТОРГОВЛЯ-ИСПОЛЬЗОВАТЬ СТРАТЕГИЮ. Далее, если у вас заполнено несколько вариантов ручных стратегий, выбрать нужную в данный момент нажатием на надпись с именем стратегии в верхней строке (см. рис. ниже)

Обратите внимание! Фильтры стратегии применяются при ручной торговле. Если они вам не нужны, ставьте заведомо широкие диапазоны, например дельта монеты от 0 до 1000, дельта BTC и маркета от -100 до +100.

  

Стратегия MoonStrike и ее параметры 

 

 

Задача стратегии - поймать прострел вниз и выставить ордер как можно быстрее, дабы успеть что-нибудь прикупить. Предположительная механика - ловятся сработавшие биржевые стопы во время прострела, поэтому (а также из-за лагана выставление ордера) фишка срабатывает НЕ ВСЕГДА.

Имеет смысл запускать на впс в японии, также имеет смысл повысить приоритет приложения MoonBot (в новых версиях при запуске от админа ставится приоритет “выше среднего” автоматически).

 https://lh6.googleusercontent.com/-RknrJ5kfcQ_NJduIuXNyBW03hqjloA-f438lb_7SJ_VxjHaoMMt0mn4PYYxt_v3cawoefmkqjUiN-iV0nrRuPKOT95Xub2UIfNa4hjb8HB8v05W9WvYo3BIWD_tK2yM4sh-nwtb

Описание параметров:

MStrikeDepth: Глубина прострела в процентах (10% по умолчанию, можно ставить 0.1% и выше).
Как измеряется:
 1. Считается LastBidEMA(4 тика) по след. Формуле: Если на предпоследнем тике бид меньше чем LastBidEMA, то LastBidEMA принимается равным биду на предпоследнем тике (т.е. при падении цены LastBidEMA будет равно. биду в стакане 2 сек назад)
Если на предпоследнем тике бид больше чем LastBidEMA, то считается обычное EMA(4)
Таким образом, при падении цены ластбид будет всегда минимальным, при росте будет плавно расти
2. Считается глубина от LastBidEMA до низа сопли на момент детекта.
Замечание1: ловит так же ситуацию “вверх-сразу вниз” (для исключения нужно наверное :считать EMA от бидов, с другой стороны это приведет к ловле медленных падений а-ля дропс, а это не интересно)
Замечание2: трейды с биржи прилетают по очереди, т.е. Сопля начинает рисоваться сверху вниз не мгновенно. Вследствии этого в какой-то момент (когда сопля стала ниже MStrikeDepth, произойдет детект, тем временем трейды могут пойти еще ниже. Для исключения см. ниже MStrikeBuyDelay)

MStrikeVolume: Объем прострела на момент детекта не менее, чем.

MStrikeLastBidEMA: Пока этого нет, только в планах.

MStrikeAddHourlyDelta: Аналогично как для шотов, добавить % к MStrikeDepth за каждый процент часовой дельты.

MStrikeAdd15minDelta: Аналогично.

MStrikeAddMarketDelta: Аналогично.

MStrikeAddBTCDelta: Аналогично.

MStrikeBuyDelay: Задержка выставления бай ордера в милисекундах. Кажется противоречит идее стратегии, однако в ситуации когда трейды после детекта продолжают рисовать соплю ниже, может помочь. Между детектом и выставлением ордера вставляется задержка , во время которой продолжается измерение сопли.

Важно:

  • Общие параметры SellPrice и BuyPrice УДАЛЕНЫ из этой стратегии! Вместо них введены параметры MStrikeBuyLevel и MStrikeSellLevel
  • MStrikeBuyLevel - процент от зафиксированной глубины прострела Если 0, то пытаемся купить в самом низу, если 50% то пытаемся купить на середине прострела
  • MStrikeBuyRelative - Если YES, то считается как описано в MStrikeBuyLevel. Если NO, то ордер на покупку выставится на конкретный процент от цены до детекта. Пример: MStrikeBuyRelative =YES, MStrikeBuyLevel=5 - выставиться бай ордер на 5% выше чем глубина прострела. MStrikeBuyRelative =NO, MStrikeBuyLevel=-5 - выставиться бай ордер на -5% от цены до прострела.
  • MStrikeSellLevel - процент от глубины прострела (а не от цены покупки). Например прострел на 10%, SellPrice = 80% - в этом случае продаем на 80% от 10% = 8% выше нижней зафиксированной цены сопли
  • Размер ордера OrderSize должен быть задан, указание 0 не будет брать ордер с ползунка на главном экране

В лог пишутся:

  • Значение LastBidEMA согласно формуле выше;
  • Мин. Зафиксированная цена сопли на момент выставления ордера
  • Глубина сопли в процентах
  • Объем сопли
  • Цена бай ордера
  • Заранее вычисленная цена продажи

Например:

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

Порядок действий для запуска созданных стратегий

1. В боте должна быть нажата кнопка "Старт".

2. Необходимо нажать кнопку  "Стратегии".

3. Вам нужно отметить галочкой нужные стратегии для запуска и нажать "Старт отмеч". При остановке соответственно "Стоп все".

4.  Для работы стратегий, связанных с автодетектом, нужно также включить кнопку "Autodetect ON",  Режим "Сигналы" нужен, чтобы бот автоматически покупал.

5. Для автоторговли удостовериться в наличии свободного баланса BTC.

Заполненную стратегию можно скопировать в буфер обмена, чтобы передать товарищу. Для этого выберите стратегию и нажмите Скопировать. Чтобы вставить готовую стратегию, выделите ее полный текст с описанием всех параметров, нажав кнопку Стратегии нажмите Создать новую - Вставить.

 Приоритеты применения настроек

По автодетекту: Если задано несколько стратегий для одного вида сигналов, то применяется первая по списку, где совпали условия на монету (белый список, черный список, ограничения сут. объемов).

По Телеграму: Поступает сигнал, бот находит все подходящие по названию канала стратегии. Если среди подходящих по названию канала стратегий есть стратегии с заданным ключем, под который подходит сигнал, то бот отдает приоритет первой в списке подходящей. Если среди подходящих по названию канала стратегий НЕТ стратегии с заданным ключем, то бот ищет стратегию с заданным каналом и ПУСТЫМ ключом, если такая есть, берется первая подходящая в списке. Если нет, используются общие настройки.

  • Телеграм-стратегии работают только если установлена галочка на "спец. фильтр" (в Настройках - Автопокупка)
  • Телеграм-стратегии работают независимо от положения галочки "Авто-покупка по Телеграму" (в Настройках - Автопокупка)
  • Телеграм-стратегии работают независимо от выбора каналов в Настройках - Телеграм
  • Если не задана стратегия для канала, или монета не прошла по фильтрам стратегии, то автопокупой и открытием графика управляет галочка "Авто-покупка по Телеграму" (в Настройках - Автопокупка)

Важно! Стратегии предназначены для раздельной тонкой настройки параметров работы бота с различными сигналами. Данный раздел относится к продвинутым настройкам. Все выведенные параметры могут быть изменены с любой точностью, в любом диапазоне. Бот не проверяет "адекватность" задания параметров. Мы не оказываем поддержку по настройке и работе стратегий, пожалуйста, включайте стратегии только если Вы уверены, что делаете. Вы всегда можете протестировать стратегии в режиме *Эмулятор*, но они не дадут такой точности, как использование реального счета.