Skip to content

Latest commit

 

History

History
1132 lines (710 loc) · 105 KB

faq_ru.md

File metadata and controls

1132 lines (710 loc) · 105 KB

FAQ

Триал версия.

Триал версия является ознакомительной версией продукта и обладает следующими ограничениями:

  • Лимит торгового депозита составляет 0.05 BTC.
  • Торговля только на парах c валютой btc (btc/usd, btc/ltc, eth/btc и т.д.)

В триал версии отсутствуют следующие ограничения:

  • Срок действия. Триал версия не ограничена по времени использования.
  • Доступ к биржам. Вы можете торговать на любой из доступных бирж.
  • Нет ограничения на количество копий. Вы можете запускать столько копий, сколько потребуется.

Лицензия

"Новая", "Продление" в чем отличия?

  • "Новая" - Вы приобретаете новую лицензию.
  • "Продление" - Продление срока лицензии, с возможной сменой компонентов лицензии.

При "Продление" лицензионный ключ не меняется. Изменяется только состав лицензии.

Оплата.

  1. Выберите нужную комплектацию лицензии и её тип (новая, продление).
  2. Отправьте на указанный (в Payment method) адрес крипто-кошелька необходимую сумму.
  3. В поле "ваш BTC адрес" укажите адрес вашего BTC кошелька к которому будет привязана лицензия.
  4. В поле Txid укажите id транзакции которой производилась оплата.
  5. После формирования заявки вам будет выдан лицензионный ключ, который необходимо вставить в ваш конфигурационный файл и перезапустить бота.
  6. После проверки транзакции ваш лицензионный ключ активируется. Это может занимать от нескольких секунд до суток.

Реферал код.

Когда вы вставляете в поле "ваш BTC адрес" свой btc адрес, генерируется ваш личный реферал код.

Так же появляется поле для реферал кода вашего друга для получения бонуса.

При покупке лицензии по реферал коду вам единоразово предоставляется бонус. Остальные бонусы вы будете получать, если ваши друзья воспользуются вашим реферал кодом.

Бонус предоставляется в виде продления лицензии на 10 дней. На момент получения бонуса лицензия должна быть активна.

Зачисление бонусов может происходить с задержкой до 24 часов.

Информация о лицензии (состав, срок действия).

Информацию о лицензии вы можете получить набрав к Telegram команду /version

Какой адрес в поле "ваш BTC адрес" необходимо указывать?

Указывайте адрес над которым у вас 100% контроль. Идеально это ваш локальный кошелек. Лучше не использовать кошельки от биржи (риск потери кошелька остается за вами).

С какого кошелька можно оплачивать?

Вы можете оплачивать с любого кошелька, он необязательно должен совпадать с адресом на который привязана лицензия.

Не удается отправить заявку автоматически.

  • У вас спешат/отстают часы (сделайте синхронизацию времени на вашем компьютере).
  • Не найдена транзакция или информация в ней не соответствует условиям оплаты.
  • С момента оплаты до создания заявки прошло больше 4 часов. Такая транзакция считается устаревшей и не валидной.

ЧаВо

1. Чем GBot отличается от других?

GBot Trader является серверным торговым ботом. Это значит, что его можно запускать на хостинге и дистанционно управлять им.
Также, бот может совершать более быстрые операции с ордерами. При хорошей связи с сервером API биржи, бот может за секунду устанавливать более 30 ордеров.
Нет ограничения на число торговых пар и апи ключей. Вы можете запускать несколько копий бота одновременно на одной или нескольких биржах (главное чтобы ключи не пересекались).
Гибкая, и в то же время простая система настроек под разные ситуации на рынке. Не нужно самому писать торговые комбинации.

2. Какие системные требования?

  • Версия Node.js 8 или выше.
  • Версия Npm 5 или выше. (Кроме версии 5.4.x)
  • Оперативная память 100mb
  • Место на диске 50mb
  • Доступ в интернет

3. Какие платформы поддерживает GBot Trader?

GBot Trader поддерживает все современные платформы Windows, Mac, *unix.

Его можно устанавливать на любые PAAS-платформы и VDS/VPS. Например heroku, pivotal, Zomro.

4. Нужны ли какие-то знания о трейдинге, чтобы пользоваться им?

Любой бот, это просто инструмент в руках трейдера. Как и любой инструмент, он облегчает и автоматизирует какие-либо действия трейдера. Т.е. пользователь должен иметь хотя бы минимальные представления о трейдинге и понимать рынок, только в этом случае можно гарантировать заработок и минимизировать риски.

5. Какие минимальные знания нужны, чтобы использовать бота?

Помимо знаний о торговле и рынке, желательно умение использовать git и начальные знания работы в консоли. А также умение работать с .bat (Windows) или .sh (Unix) файлами.

6. Как управлять этим ботом?

Бот может работать полностью автономно без вмешательства пользователя длительный промежуток времени. Но ботом можно и управлять используя мессенджер Telegram.

7. Что можно делать через Telegram?

  • получить информацию об открытых ордерах
  • информация о котировках рынка
  • информация о последних сделках
  • изменять тип торговли (полу ручная торговля)
  • включать и выключать различные торговые параметры
  • переключать торговые стратегии
  • модифицировать конфигурацию бота во время его работы
  • получать уведомления о скачках курса
  • получать уведомления об активных торговых парах
  • … и многое другое.

В Telegram 3 типа управления:

  • Кнопки
  • Консольные команды вида /command (список всех команд /info)
  • Изменение настроек через Telegram чат (например ONE_ORDERS_PROFIT_PERCENT=1)

8. Как установить бота?

Бота можно устанавливать как на локальный компьютер, так и на хостинг.
Подробная инструкция по установке описана в Readme_ru

9. Какие минимальные параметры нужно задать чтобы бот запустился?

Для успешного старта бота, необходимо указать Секретные ключи API биржи и Telegram.
Если использовать Telegram не нужно, например, у вас десятки торговых ботов, то можно его отключить, указав параметр TELEGRAM_OFF=true или просто не указывать TELEGRAM_TOKEN и TELEGRAM_ID.

10. Можно ли использовать бота с настройками по умолчанию?

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

11. Какой набор минимальных параметров нужно задать, чтобы понять как пользоваться ботом?

Самая безопасная стратегия, это стратегия “Усреднения”.
Суть стратегии в том, что во время движения цены вниз, бот набирает позицию, а во время отскока цены вверх бот продает 1 ордером весь накопленный объем.
Используя параметр Мартингейл SIZE_ORDERS_MARTINGALE, каждый следующий ордер будет больше предыдущего, тем самым снижая цену продажи в зависимости от купленного объема.
Для использования этой стратегии необходимо задать следующие параметры, на примере биржи Poloniex и торговой пары ltc/usd:

TELEGRAM_OFF=true
KEY=ваш ключ от api биржи
SECRET=ваш секрет от api биржи
EXCHANGE=Poloniex
NAME_COIN=ltc
NAME_COIN_TWO=usd
COUNT_ORDERS=20
QUANTITY_ORDERS_IN_BLOCKS=5
RANGE_OFFSET=10
ONE_ORDERS_SELL=true
ONE_ORDERS_OFFSET=1.5
ONE_ORDERS_PROFIT_PERCENT=0.5

Эти параметры не являются универсальными и составлены они во время написания данного FAQ, так что в ваше время, они могут быть уже не сильно актуальны, но их достаточно, чтобы понять, как работает данная стратегия.

12. Как добиться максимальной прибыльности сделки?

Нужно подобрать оптимальную комбинацию параметров именно под используемую торговую пару.

Внимание!

  • Не существует универсальных параметров. Для каждой биржи, каждой пары, каждого отдельного размера депозита и текущей ситуации на рынке оптимально работает только определенный набор параметров. Если вы меняете пару или у вас меняется размер депозита или рынок переходит в другую фазу, то конфигурацию параметров необходимо подстраивать под текущие условия.
  • Не стоит бездумно брать чужие конфиги и ставить их себе, т.к они написаны под условия торговли конкретного человека и его желания получить определенный результат. Ваши возможности депозита и желания могут не совпадать. Используя чужие конфиг. файлы проверяйте их подойдут ли они вам!
  • Учтите что 2 одинаковых конфигурационных файлов у людей с депозитом $1000 и $10000 будут выдавать абсолютно разные результаты профитности и безопасности торгов.
  • Возможно вам поможет этот сайт gbot-expert.com

13. Как уменьшить риски при работе с ботом в полностью автоматическом режиме?

Чем больше ордеров указано, тем лучше (больше запас прочности депозита).
Уменьшите размер используемого депозита, указав разрешенный предел его использования.
Увеличьте отступы между ордерами. Идеально, когда 70% всех ордеров будут исполняться при очень крупных обвалах цены, при этом в запасе остается 30% на непредвиденные сквизы.
Учтите, чем больше запасы прочности, тем меньше прибыльность сделок. И наоборот, чем больше прибыльность сделки, тем больше рисков не продать купленный объем и стать "инвестором".

14. Чем отличаются разные стратегии друг от друга?

  1. Стратегия “Скальпер”. Данная стратегия используется, когда на рынке стоит, в основном, флет и цена ходит в известном диапазоне. Скальпер разбрасывает сетку ордеров на покупку и продажу, и при исполнении ордера сразу же ставит противоположный.

  2. Стратегия “Линии Боллинджера”. Это трендовая стратегия. Суть ее работы в том что когда рынок идет вверх, в какой-то момент создается перекупленность рынка, и в этот момент по показаниям индикаторов будет производиться продажа. Когда рынок начинает идти вниз, создается перепроданность рынка, и бот начинает делать покупки. Стратегия сложная, и требует соответствующих навыков ее использования и умения понимать торговые индикаторы. (Используются BBANDS и RSI / STOCHRSI).
    У стратегии есть 2 режима работы: с RSI и без RSI:

  • При работе без RSI: (RSI_PERIOD = 0) установка ордеров на покупку происходит если цена пересекла lowband-high или стала ниже lowband. Ордера на продажу устанавливаются аналогично только по уровню highband-low или если цена больше highband.
  • При работе с RSI: Условия теже что и без RSI, но за сигнал расстановки ордеров отвечает RSI, если значение индикатора находятся в обозначенном диапазоне (параметры RSI_RANGE_SELL и RSI_RANGE_BUY) то происходит установка ордеров. Если цена за пределами диапазона ордера не выставляются.
  1. Стратегия “Усреднения SELL”, она же “One Sell a lot Buy”. Данная стратегия построена на логике покупки при движении цены вниз, накопления объема и продажи всего объема одним ордером при откате цены наверх.

  2. Стратегия “Усреднения BUY”, она же “One Buy a lot Sell”. Данная стратегия построена на логике продажи при движении цены вверх и покупки всего объема одним ордером при падении цены.

В стратегиях Усреднения цикл начинается с расстановки сетки ордеров и заканчивается исполнением профитного ордера. Поэтому в стратегии “One Buy a lot Sell” новый цикл продажи может быть ниже чем покупка из предыдущего цикла на нисходящем тренде.

15. Можно ли торговать ботом в ручную?

Да, боту можно давать команды, чтобы бот только покупал или только продавал по требованию пользователя. Тем самым, вы сами решаете когда необходимо делать покупки и продажи. Никаких самостоятельных решений бот принимать не будет, только установка ордеров и их отмена. Для этого нужно в Telegram в Торговля -> Тип выбрать соответствующие действие. Так же вам могут пригодиться кнопки Закрыть активные ордера и Контроль -> Состояние

16. Может ли бот помочь узнать на какой паре лучше работать?

Это сложная задача, которая требует от пользователя понимания рынка.
Бот может подсказать только на каких парах в данный момент происходит более-менее заметное движение рынка.
Анализируя эти данные, вы можете принять решение, входить в данную пару или нет.

17. Мониторинг состояния рынка.

Бот может постоянно мониторить рынок на предмет резких изменений цен и прислать соответствующие уведомления.
Все уведомления можно включить через Telegram в разделе “Нотис”.
Для уведомлений необходимо задать через конфиг какие пары нужно мониторить и на какое отклонение цены стоить реагировать.

  • NOTIFICATION_PAIR - задает пары для уведомления если цена за 15 минут изменилась больше чем на указанный процент (параметр NOTIFICATION_DEVIATION_PERCENT)
  • MONITORING_PAIR - задает пары для мониторинга рынка. Больше необходим для Скальпера. Если спред на паре больше чем уровень торговли для безубытка (с параметром STEP_BREAKEVEN_PERCENT) и за последнюю минуту было хотя бы 2 сделки тогда будет брошено уведомление.
  • NOTIFICATION_ORDER_IS_EXECUTED отвечает за уведомление об исполнении профитного ордера в One orders. (Так же можно вкл/выкл через Telegram: Нотис -> Исполнение one orders)

18. Чем отличается параметры OFFSET_ORDERS_PERCENT и RANGE_OFFSET?

Параметром OFFSET_ORDERS_PERCENT вы указываете расстояние между ордерами, в процентах от цены.
Параметром RANGE_OFFSET указывается размер всей необходимой сетки ордеров (разница между первым и последним ордером. Другими словами, сколько процентов изменения цены вы хотите поймать всей сеткой ордеров). Отступы между ордерами будут рассчитаны автоматически.

19. Ограничение размера используемого депозита.

Параметр DEPOSIT_LIMIT принимает формат абсолютного числа или процентов.

При указании абсолютного числа, указывается сколько конкретно валюты необходимо использовать (тип валюты определяться в параметре NAME_COIN_TWO для прямых пар. И NAME_COIN для инвертированных пар).

Например для биржи Binance, торговая пара btc/usd:

  • DEPOSIT_LIMIT=400 - указан лимит использования $400
  • DEPOSIT_LIMIT=10% - указан лимит использования 10% от объема доступного депозита.
  • DEPOSIT_LIMIT_TWO=100 - второй вариант задания абсолютного значения лимита (если с DEPOSIT_LIMIT вы не смогли добиться ограничения на нужной монете, попробуйте этот вариант).

Для стратегий One Orders если не указан параметр DISABLE_CAPITALIZATION=true профит будет отдаваться в торги (капитализация), тем самым превышая разрешенный лимит.

Важно!

  • Если необходимо более жестко контролировать лимит депозита, т.е чтобы после перезапуска бот не добавлял новые средства в торги если уже есть профит ордер на ранее выкупленную сетку то используйте PERMANENT_DEPOSIT=true
  • Если вы используйте несколько ботов на одной смежной торговой валюте, при этом используете активный лимит депозита в процентах (либо он просто не верно выставлен для нескольких ботов), то есть вероятность, что часть депозита будет "украдено" другим ботом и текущему не хватит для установки профит ордера. Эту проблему можно попробовать обойти установив переменную DEPOSIT_TYPE=straight

20. Что такое шаг безубытка? Зачем нужен параметр STEP_BREAKEVEN_PERCENT?

Только для стратегии Скальпер.

Безубыток (breakeven) — это такой уровень цены, относительно открытой сделки, на котором нет ни прибыли, ни убытка.

STEP_BREAKEVEN_PERCENT используется только в стратегии “Скальпер”. И отвечает за то, когда начинать работать торговому боту.
Если уровень спреда меньше этого параметра, тогда покупка и продажа будет производиться в минус. Чтобы этого избежать и введено данное ограничение.
Чем больше указанный параметр, тем шире необходимо быть спреду, чтобы бот начал работать.
Параметр указывает на сколько процентов должен быть больше спред уровня безубытка.

21. Что делается в авто настройках, для чего нужен параметр TIME_UPDATE_AUTO_SETTINGS?

В авто настройках рассчитываются все необходимые торговые параметры относительно указанных настроек пользователя через конфиг и текущих цен рынка.

Здесь считается:

  • расчеты отступов сетки ордеров, коридоров цен и т.д.
  • расчеты StopLoss, BuyStop, AutoRevers, Danger price
  • расчеты BBANDS
  • расчеты авто страховок
  • моменты релоуда или закрытия ордеров
  • и т.д. в общем все что нужно конвертировать из конфиг. параметров заданных пользователем во внутренние переменные бота по тем или иным условиям рынка.

Параметр TIME_UPDATE_AUTO_SETTINGS отвечает с какой частотой будут пересчитываться эти торговые параметры.
Слишком частое обновление это пустая трата вычислительных ресурсов и ложная реакция на незначительные события. Слишком редкое обновление это пропуск различных ситуаций на рынке.

По умолчанию через конфиг нельзя установить TIME_UPDATE_AUTO_SETTINGS меньше 0.5 минут. Это сделано для безопасности и защиты от кривых рук. Но при желании вы можете установить этот параметр меньше использую команду через Telegram.

22. Параметры COUNT_ORDERS, QUANTITY_ORDERS_IN_BLOCKS и QUANTITY_ORDERS_IN_CYCLES.

Параметр COUNT_ORDERS отвечает за общее (приблизительное) количество ордеров в сетке.

Параметр QUANTITY_ORDERS_IN_CYCLES отвечает за количество ордеров в цикле для стратегий One Orders. Он имеет приоритет над COUNT_ORDERS. Если он включен, то бот будет ставить указанное число ордеров в одном цикле, даже если во время работы бота депозита накопилось больше. Если депозита не хватит, то ордеров может быть меньше указанного числа.

Параметр QUANTITY_ORDERS_IN_BLOCKS контролирует сколько ордеров будет установлено за 1 раз, и при уменьшении этого числа, будет добавлять новые ордера до указанного значения.

Если установлен параметр HOLD_QUANTITY_ORDERS=true будет закрывать лишние ордера если их число стало больше чем указано в QUANTITY_ORDERS_IN_BLOCKS

23. За что отвечает параметр INTEGRITY_CONTROL_ORDERS?

Только для стратегий One Orders.

Данный параметр отвечает за целостность ордеров.

Иногда бывает что биржа по какой-либо причине не возвращает правильный объем купленных ордеров, или же просто теряет ордера. В такой ситуации неверно выставленный объем и цена SELL ордера приведет к убыточной сделке. Чтобы как-то следить за этой ситуацией и используется данный параметр.

В режиме hard ордер на продажу выставляется только в том случае, когда объем купленных позиций будет в точности совпадать с кэшем бота. Это означает, что все прошло гладко, и ни 1 ордер не потерялся, и не изменил свой объем.

В режиме soft (по умолчанию) ордер на продажу ставиться в любом случае, на основе данных, которые возвращает биржа.

24. Почему бот не ставит ордера?

Скорее всего, это происходит по нескольким причинам:

  1. У вас недостаточно денег на счете, чтобы хватило на установку даже 1 ордера. Это бывает, когда вы заходите маленьким депозитом в дорогие пары. Либо, вы установили лимит на использование депозитов очень большой, и средств не хватило.

  2. У вас включена стратегия “Скальпер”, и спред в текущей момент меньше, чем уровень безубытка. (см п. 20)

  3. У вас включена стратегия "Линии Боллинджера" и бот собирает статистику, это может занимать некоторое время. Либо индикаторы не находятся в нужных положениях для установки ордеров.

  4. Если включен параметр TRAILING_STOP_PERCENT в стратегиях One Orders, фиксирующий ордер будет установлен только при достижении уровня Level TS.

  5. У вас используется капитализация профита и работают несколько ботов на смежных парах одного аккаунта. В этом случае один бот мог использовать часть депозита другого бота и ему не на что ставить ордера.

  6. Только для стратегий One Orders. Если вы уверены, что на балансе есть средства, а бот пишет Недостаточно средств для торговли! вы неправильно задали начальное состояние баланса. При старте состояние одной из валют игнорируется и ваши средства как раз на игнорируемой валюте. (Читайте п. 36)

  7. Вы используете индикаторы и они не дают разрешающий сигнал.

25. Бот не реагирует на кнопки в Telegram.

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

26. Если много ботов, для каждого нужно создавать бота в Telegram?

Если вы хотите управлять и мониторить за ботом через Telegram и получать разные уведомления, то да. Если же вы отстроили работу бота и никаких нареканий нет, то можно указать параметр TELEGRAM_OFF=true и бот не будет взаимодействовать с сервисом Telegram.

27. Как получать уведомления об ошибках если Telegram не работает?

Больше недоступно.

28. Ошибка error_code: 409, description: 'Conflict: terminated by other long poll or webhook'.

Это ошибка сервера Telegram, она говорит о том что вы используете 2 клиента с одним и тем же токеном. Этого делать нельзя. Проверьте, возможно у вас уже запущен бот с таким токеном или же какое-либо другое приложение.

29. Работа несколько ботов одновременно.

Необходимо для каждой копии бота создать собственные уникальные ключи и секреты от API биржи, и при необходимости токены Telegram.

Копировать директорию с ботом нет необходимости. Достаточно просто создать несколько конфигурационных файлов и указать в них путь до директории с ботом.

Запрещено использовать на разных ботах одинаковые ключи, это вызывает конфликты в работе между ботами.

Также, следите, чтобы на 1 аккаунте биржи не пересекались несколько ботов, иначе они могут не поделить общий депозит.

При необходимости используйте параметр отключения капитализации DISABLE_CAPITALIZATION=true. Так же рекомендуется использовать параметр QUANTITY_ORDERS_IN_BLOCKS.

30. Как запустить бота на Windows, Linux или Mac?

Для Windows вы можете написать .bat файл, и в него прописать все необходимые параметры, а затем просто запускать этот файл. Пример простого start.bat выглядит так:

echo off

SET KEY=ваш ключ от api биржи
SET SECRET=ваш секрет от api биржи
SET EXCHANGE=binance
SET NAME_COIN=ltc
SET NAME_COIN_TWO=usd
SET COUNT_ORDERS=20
SET QUANTITY_ORDERS_IN_BLOCKS=5
SET OFFSET_FIRST_ORDERS_PERCENT=0.1
SET RANGE_OFFSET=10
SET ONE_ORDERS_SELL=true
SET ONE_ORDERS_OFFSET=1.5
SET ONE_ORDERS_PROFIT_PERCENT=0.5

cmd /K node ./build/server

Все параметры описаны в readme. Для Windows параметры задаются с использованием команды SET.

Про SET и переменные окружения можно прочитать здесь или здесь.

Для Linux и Mac

Создайте start.sh файл, укажите в нем необходимые параметры и запускайте этот файл.

#!/bin/sh
export KEY=ваш ключ от api биржи
export SECRET=ваш секрет от api биржи

... остальные параметры ...

node ./build/server

Вы можете использовать флаг --no-color если хотите отключить колоризацию текста в логе.
Пример: node ./build/server --no-color

31. Много сетевых ошибок, что делать?

Сетевые ошибки это ошибки с сообщением содержащие слова: 429, 502, 503, 520, ESOCKETTIMEDOUT, ETIMEDOUT и т.д.
Подробнее об ошибках Список кодов состояния HTTP.

Некоторые биржи не очень любит торговых ботов. Поэтому она использует очень жесткие ограничения, такие как ограничение на число запросов с одного IP адреса, частота запросов и др. Вы можете установить параметры ограничения на запросы к API биржи:

DELAY_REQUEST_API - время в миллисекундах между запросами к API.

DELAY_BETWEEN_MODULES - задержка в секундах между выполнением последовательных модулей (запрос баланса, списка ордеров, истории и т.д.).

RESTART_TRADER_TIME - время в секундах, через сколько пытаться повторить запрос после ошибки.

Общее время цикла опроса всех данных складывается из суммы всех задержек. Чем больше задержки тем медленнее будет работать бот и реагировать на рынок.

32. Комиссия на сделки биржи. Параметр EXCHANGE_FEE

Для некоторых бирж комиссия берется с сервера биржи.

Для остальных бирж комиссию необходимо указать вручную. За это отвечает параметр EXCHANGE_FEE.

  • По умолчанию, комиссия на сделки составляет 0.25%.
  • Комиссия указывается за сделку в одну сторону.

Биржи на которых можно вручную изменить комиссию:

  • Bitfinex
  • Bittrex
  • Exmo
  • Poloniex
  • Dsx

Важно!

  • При расчетах используется сумма комиссий за сделки в обе стороны + страховочный коэффициент равной сумме одной комиссии.
  • Если нужно изменить число комиссией используйте параметр FEE_COUNT (По умолчанию: 3)

33. Логирование в боте.

Вы можете установить параметры:

LOG=true - отображает общие расчеты торговли.

LOG_DEBUG=true - отображает более подробные расчеты при работе с ордерами.

Также вы можете указать тип лога через параметр LOG_TRANSPORTS. И указать путь, куда сохранять лог (параметр LOG_PATH), если выбрали вариант сохранения лога в файл. Если путь не указан, директория logs будет создана в корневой директории бота.

Эта информация вам может понадобиться для общения с разработчиками, если будут какие-то серьезные ошибки.

34. Как задавать параметры Вкл/Выкл в консоли?

Чтобы включить какой-либо логический параметр, необходимо присвоить ему значение true или 1.

Чтобы выключить параметр, нужно присвоить значение false или 0. Либо просто удалить данный параметр из настроек.

Некоторые параметры выключить невозможно и при установке их значений в 0 будут браться значения по умолчанию. К таким параметрам относятся:

  • TIME_UPDATE_AUTO_SETTINGS
  • TIME_CLOSE_ORDERS
  • TIME_CLOSE_ORDERS_INACTIVITY
  • ONE_ORDERS_OFFSET

35. Изменение параметров при работе бота без перезапуска.

Некоторые параметры можно менять через Telegram.

Список параметров доступен по команде /params в Telegram.

Изменить параметр можно, отправив в Telegram команду с указанием значения параметра. Например OFFSET_ORDERS_PERCENT=1 изменит отступ между ордерами на 1%.

Все вновь введенные изменения будут применены, когда произойдет новый перерасчет авто параметров.

Так же можно менять параметры нажимая соответствующие кнопки в Telegram.

Важно! Если вы остановите бота, то новые параметры будут удалены. При запуске бота возьмутся параметры из конфига.

36. "Недостаточно средств для торговли!". Бот не видит купленные/проданные ордера при старте.

Только для стратегий One Orders.

При запуске стратегии "One Sell a lot Buy" начальное состояние баланса основной валюты в паре игнорируется.

При запуске стратегии "One Buy a lot Sell" начальное состояние баланса второстепенной валюты в паре игнорируется.

На примере BTC/USD и (LTC/BTC) биржа Exmo:

  • One Sell a lot Buy - накапливаются USD (BTC). Баланс BTC (LTC) на момент запуска игнорируется.
  • One Buy a lot Sell - накапливаются BTC (LTC). Баланс USD (BTC) на момент запуска игнорируется.

На примере BTC/LTC и (USDT/BTC) биржа Poloniex / Bittrex:

  • One Sell a lot Buy - накапливаются BTC (USDT). Баланс LTC (BTC) на момент запуска игнорируется.
  • One Buy a lot Sell - накапливаются LTC (BTC). Баланс BTC (USDT) на момент запуска игнорируется.

Чтобы включить загрузку истории, используйте параметр FIRST_LOADING_HISTORY=true.

История загрузится в стратегии "One Sell a lot Buy" до первого SELL, но не больше NUMBER_ROWS_LOAD_HISTORY BUY ордеров.

История загрузится в стратегии "One Buy a lot Sell" до первого BUY, но не больше NUMBER_ROWS_LOAD_HISTORY SELL ордеров.

Если вы хотите чтобы при старте бот попытался продолжить сетку ордеров от последнего значения, используйте параметр CONTINUE_MARTINGALE_GRID=true.

37. Автоматическое изменение размера отступов ордеров и профита.

Опция DYNAMIC_OFFSET_ORDERS. Это авто страховка если ваши параметры расчета сетки ордеров не подошли под условия рынка.

  1. Интервал (в минутах) DYNAMIC_OFFSET_INTERVAL по умолчанию равный 60 минутам.

  2. Делитель DYNAMIC_OFFSET_PROFIT_DIVISOR для изменения процента профитного ордера (ONE_ORDERS_PROFIT_PERCENT) в зависимости от текущего размера сетки (RANGE_OFFSET), который высчитывается как RANGE_OFFSET / DYNAMIC_OFFSET_PROFIT_DIVISOR, но не меньше значения пользователя. По умолчанию делитель равен 10. При установке параметра деления DYNAMIC_OFFSET_PROFIT_DIVISOR=1, процент профитного ордера ONE_ORDERS_PROFIT_PERCENT не будет изменяться при изменении размера сетки и будет установлен в соответствии с конфигом. Данный параметр, как и параметр ONE_ORDERS_PROFIT_PERCENT работает ТОЛЬКО в стратегиях усреднения One_Sell и One_Buy и НЕ работают в стратегиях Скальпер и Bollinger Brands.

  3. Делитель DYNAMIC_OFFSET_INDENTION_DIVISOR для изменения процента отступа ордеров (OFFSET_ORDERS_PERCENT) в зависимости от процента изменения цены за интервал времени (см. пункт 1 DYNAMIC_OFFSET_INTERVAL), но не меньше значения пользователя. По умолчанию делитель равен 0 и данные об изменении размера сетки рассчитываются от процента изменения цены за интервал времени деленного на число ордеров COUNT_ORDERS.

Неважно какой тип отступов вы используете проценты или пункты все данные пересчитываются в процентных величинах.

Имейте в виду, что расчет происходит не мгновенно при изменении цены, а с интервалом указанном в TIME_UPDATE_AUTO_SETTINGS (см. п.21).

Также, отступы не будут пересчитаны на уже установленных ордерах. Чтобы не устанавливать все ордера сразу, используйте опцию QUANTITY_ORDERS_IN_BLOCKS (см. п.22).

Важно!

  1. Если рынок успокоился и дельта цен вернулась в допустимый предел, то открытые ордера останутся на своих позициях до тех пор, пока они не будут исполнены, либо вы не закроете их вручную используя Telegram (Закрыть активные ордера) или перезапуск бота.
  2. Работает со всеми типами отступов кроме: OFFSET_ORDERS_EXPONENTIAL, OFFSET_ORDERS_BLOCK.

38. Изменение часового пояса.

Используйте параметр TIME_ZONE. Список всех временных зон можно посмотреть тут Database Time Zones в колонке TZ.

Например, для Москвы значение будет TIME_ZONE=Europe/Moscow

39. Анализ торговли за сессию, как его читать?

Анализ отображается когда сработает /stats, "Авто выход из пары" или "Закрыть активные ордера".

Анализ считается сравнением начального баланса с текущим балансом аккаунта.

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

Full Profit - процент изменение баланса.

Total - показывает абсолютное значение депозита, т.е сумму двух валют на момент анализа по последней цене рынка. Это значение может меняться как в большую, так и в меньшею сторону, так как привязано к текущей цене на момент анализа.

Full - доступный баланс аккаунта в одной и в другой валюте (по их суммам) по текущей цене.

Установлено ордеров - сколько всего ордеров было установлено за время работы бота, с момента его включения.

Исполнено ордеров - сколько ордеров было исполнено.

Ошибок - Сколько раз бот перезапрашивал данные при ошибках в ответе api биржи.

Анализ торговли за сессию (несколько секунд):
0 ฿
0 $
Full Profit: 0%
Total ฿: 0 | 0% 
Total $: 0 | 0%
Full ฿: 1
Full $: 3700
По цене: 3700
Установлено ордеров: 5
Исполнено ордеров: 0
Количество циклов: 0
Ошибок: 0

Важно!

  • Данные являются неточными, так как рассчитываются на основании рынка и не учитывают разные погрешности цен и округления. Не стоит воспринимать их как точную статистику. Реальные данные баланса вы можете узнать только в ЛК биржи.
  • Если на одном аккаунте запущено несколько ботов, в расчет могут попадать профиты/убытки от другого бота.
  • Если включен FIRST_LOADING_HISTORY, значение профита одной из валют будет отрицательным.
  • Если вы используете STRATEGY_AUTO_REVERS статистика может не работать.

40. Типичные ошибки в консоли бота.

Иногда в консоли могут появляться сообщения об ошибках, например:

  • ESOCKETTIMEDOUT, ETIMEDOUT, 429, 503 и т.д - это сетевые ошибки, вызванные отсутствием ответа от биржи или отсутствием соединения с интернетом.
  • INSUFFICIENT_FUNDS - недостаточно средств для установки ордера. (Встречается на бирже Bittrex. Уменьшите размер использования депозита, чтобы на балансе оставался небольшой резерв. Либо переключите параметры из п. 23).
Ошибки, связанные с настройками бота.
  • There is no KEY or SECRET api exchange - Не указан API KEY или SECRET KEY (возможно вы забыли указать команду SET или export в конфиг. файле перед параметрами)
  • Not valid pair - Не правильно указана торговая пара. (Проверьте существует ли такая пара на бирже, возможно вы опечатались).
  • There is no token Telegram - Не указан токен Telegram. (Если вы не хотите использовать Telegram используйте TELEGRAM_OFF=true).
Ошибки, связанные с настройками биржи.
  • APIKEY_INVALID - неправильно указан API KEY или SECRET KEY (Укажите верные ключи, проверьте на наличие лишних пробелов).
  • INVALID_PERMISSION - на Bittrex. Означает, что вы не прошли верификацию для торговли.
  • unable to verify the first certificate - проблема с сертификатом биржи. (NODE_TLS_REJECT_UNAUTHORIZED=0 отключает проверку HTTPS/SSL/TLS)
Ошибки произошедшие по неизвестным причинам.
  • Worker does not meet - торговый воркер (модуль внутри бота) по неизвестной причине завис. (Попробуйте использовать параметр AUTO_RESTART_HANGING=true для автоматического перезапуска этого модуля. Либо перезапустите командой /restart или Контроль -> Состояние -> пауза/продолжить, либо в ручную перезапустите всего бота.)
  • There is no price to set an order - попытка установить ордер по несуществующей цене.
  • Information in the profit order is incorrect - информация о профитном ордере не найдена или неверна.
  • Can not parse text или Not known error format и т.д - бот получил ответ на свой сетевой запрос и не смог разобрать его. Информация пришла в неверном формате.

41. Модули авто конфигурации.

Модули авто конфигурации вносят коррективы в заданные настройки пользователя при незапланированных ситуациях на рынке.

DANGER_PRICE_STOP - параметр поставит бота на паузу, если за короткий период цена изменилась больше чем на DANGER_PRICE_STOP_PERCENT (по умолчанию 9%), например резкий сквиз. Также пользователю будет выслано уведомление в Telegram. Будут закрыты Buy ордера если скачок был вверх.

DYNAMIC_SETTINGS_TIME - параметр включает автоматическую регулировку скорости обновления авто настроек. Если за определенный период (50 циклов) разница между high и low price будет больше 2%, тогда скорость обновления авто настроек будет увеличена. (Для BBANDS этот параметр не действует).

DYNAMIC_OFFSET_ORDERS - Параметр автоматически изменит размер отступов (см п. 37).

TREND_DEFINITION - Параметр включает попытку определение направления тренда..

Только для стратегии Скальпер.

Зачем это нужно?
Идея в том, что если начался памп, то чуть попозже продать, а при дампе - купить.

Условия срабатывания:
Если текущая цена bid и ask выше чем прошлое значение этих цен, а также текущий уровень безубытка стал выше 200% (появилась свеча) и скорость бота в режиме normal то тренд восходящий. Если текущие цены ниже чем прошлые цены..., то тренд нисходящий.

Что происходит:
Если все условия выполнены, то сетка ордеров по тренду растягивается, а сетка ордеров с противоположной стороны стакана сжимается до минимальных отступов рассчитанных системой.
Если выключен ручной тип торговли и работает auto (ALL) тогда ордера по направлению тренда будут закрыты, до следующего перерасчета цикла.

ABRUPT_CHANGE_TREND - Является доп. опцией параметра TREND_DEFINITION.

Только для стратегии Скальпер.

Зачем это нужно?
Если начался резкий памп или дамп с огромной свечой, то лучше сразу закупиться по максимуму, по текущей цене или распродать соответственно.

Условия срабатывания:
Все условия из параметра TREND_DEFINITION, только размер возникшего уровня безубытка больше 400% от нормы.

Что происходит:
Происходит выставление ордеров выше/ниже текущей цены bid или ask (смотря какой ордер). Тем самым, совершается покупка/продажа по рынку.
Размер ордера рассчитывается как N / 2, т.е. каждый следующий ордер будет в 2 раза меньше предыдущего (чтобы самим не создать сквиз).
После этого сразу же запускается новый цикл перерасчета авто параметров.

OFF_MODULES_AUTO_SETTINGS - включает или выключает сразу все выше указанные параметры.

42. После установки на Windows node.js в консоли появляется ошибка "node не является внутренней или внешней командой" (npm not found)

  1. Удалите установленную node.js.
  2. Установите node.js в директорию windows. В пункте выбора директории установки, измените program files на windows.

43. Что такое Мартингейл. Для чего он используется?

Мартингейл - это система управления ставками. Суть ее заключается в том, что каждая следующая ставка больше предыдущей. Использование мартингейла повышает риск, и требует бОльшего депозита. Однако, в умелых руках, это отличный инструмент для того, чтобы закрывающий ордер быстрее двигался вслед за ценой.

Для управления Мартингейл используются параметры:

  • SIZE_ORDERS_MARTINGALE - на сколько увеличить размер ордера от предыдущего. Каждый следующий ордер будет больше предыдущего на этот размер. В процентах или абсолютное число.
  • TYPE_ORDERS_MARTINGALE - как увеличивать размер ордера. add - суммирование, multiply - умножение, pow - возведение в степень.
  • CONTINUE_MARTINGALE_GRID - продолжать ли сетку ордеров с использованием Мартингейл при перезапуске бота. Если выключена, сетка начнется с 0. Если включено, будет найдена сумма ордеров с одинаковой ценой последней в стеке и от нее будет продолжена сетка.
  • ENABLE_HARD_GRID - разрешает устанавливать сетку, отключая все ограничения и защиты от большой разности цены и последних исполненных ордеров.

Подробнее про ENABLE_HARD_GRID:

Работает только при включенном CONTINUE_MARTINGALE_GRID=true

Внимание! Включая этот параметр вы понимаете, что ордера могут сработать немедленно по рынку.

Например: последний ордер в истории был исполнен по цене 1000, следующий должен был встать на 1100, а текущая цена 5000, то при выключенном параметре новый ордер в сетке встанет 5000 + отступ, при включенном параметре ордер встанет на 1100 тем самым сработает по рынку.

Подробнее про TYPE_ORDERS_MARTINGALE:

Если SIZE_ORDERS_MARTINGALE задан в процентах, то TYPE_ORDERS_MARTINGALE не применяется.

Мартингейл не работает если используется SIZE_ORDERS_FROM_DEPOSIT.

За базовое значение берется прошлый размер ордера, он калькулируется используемым методом TYPE_ORDERS_MARTINGALE с числом заданным в SIZE_ORDERS_MARTINGALE.

44. Параметры TIME_CLOSE_ORDERS и TIME_CLOSE_ORDERS_INACTIVITY.

Только для стратегий Скальпер и BBANDS.

TIME_CLOSE_ORDERS - Если во время работы бота какие-то ордера не будут исполнены в течении указанного времени, они будут закрыты и сетка пересчитается заново.
Это нужно для того чтобы держать ровную сетку. Т.к во время работы скальпера ордера могут 'откусывать рынком' по чуть-чуть и собираться в кучу на одной цене.
Также, это позволяет сдвигать ордера если рынок движется.

TIME_CLOSE_ORDERS_INACTIVITY - Если рынок стоит, и ни одной сделки не совершается, а также спред упал ниже уровня безубытка, то этот параметр закроет ордера.

По умолчанию TIME_CLOSE_ORDERS_INACTIVITY = 3 * TIME_CLOSE_ORDERS

45. Trailing Stop. Параметры TRAILING_STOP_PERCENT и TRAILING_STOP_PROTECTIVE_SPREAD.

Только для стратегий One Orders.

Параметр TRAILING_STOP_PERCENT может быть полезен когда необходимо поймать рост/падение цены и продать/купить по лучшей цене, а не по-фиксированному, профитному, ордеру. Логика работы напоминает функцию Trailing Stop в MetaTrader, но имеет некоторые отличия.

Для One Sell a lot Buy продажа будет осуществлена как только цена развернется от Max Price и пойдет вниз.

Для One Buy a lot Sell покупка будет осуществлена как только цена развернется от Min Price и пойдет вверх.

Принцип работы на примере стратегии One Sell a lot Buy:

  1. Во время исполнения Buy ордера из сетки формируется виртуальный профитный ордер. Физический ордер при этом не устанавливается.
  2. Как только цена LastPrice превысила цену виртуального ордера (Profit price), активируется вилка цен (Max Price и Level TS) для работы Trailing Stop.
  3. Если цена идет дальше вверх, максимум цены (Max Price) обновляется при этом рассчитывается новый Level TS.
  4. Как только цена развернулась и пошла вниз, дойдя до Level TS (который является уровнем задаваемым TRAILING_STOP_PERCENT), Trailing Stop дает команду и выставляется физический ордер.
  5. Поскольку ордер выставляется по цене Profit price, а Last price выше этой цены, то продажа происходит по рынку. Если ликвидности не хватит, то остатки ордера остаются на цене Profit price до полного исполнения ордера или до его перерасчета.

Если ордер не был исполнен и цена снова развернулась и пошла вниз, то после исполнения очередного BUY ордера Profit ордер будет пересчитан начиная с пункта 1. Физический Sell ордер будет закрыт.

Параметр TRAILING_STOP_PROTECTIVE_SPREAD позволяет изменить цену установки профит ордера. Параметр задает процент на сколько должна сдвинуться цена профит ордера относительно уровня срабатывания TRAILING_STOP_PERCENT. При использовании этого параметра уровень профита при установке ордера не учитывается! Т.е ордер может исполниться в убыток.

Принцип работы:

1-4 идентичны пункты идентичны. 5. Ордер выставляется по цене: Max Price - TRAILING_STOP_PERCENT - TRAILING_STOP_PROTECTIVE_SPREAD

Внимание!

  • Если по какой-то причине Trailing Stop дал команду на установку ордера, а профитный ордер не установился, то в консоли будет уведомление об ошибке Problem with Trailing Stop active и показана DEBUGGER информация (в ней интерес представляет строки minAmount: xxxx и amount: xxxxx. Первая это какие лимиты по установке ордеров для биржи. Вторая это сколько денег вернула биржа и если это значение меньше лимита, то ордер выставлен не будет! Строка minCoin: true как раз говорит что денег нет даже на минимальный размер ордера!).
  • Trailing Stop только дает команду на установку ордера, выставляет ордер уже другой механизм. Так что возможна ситуация когда ордер не будет установлен, например по причине того что биржа не вернула корректный баланс. Имейте это ввиду. Трал это не гарантия установки ордера!.
  • Поскольку Trailing Stop отслеживает каждый тик получения данных, то работа на нестабильных по API биржах не гарантируется.

Информацию данных, рассчитанных Trailing Stop, можно посмотреть по команде /trail

Strategy: One Sell
Amount: 0.62396155             - Примерный объем ордера.
Profit price: 6518.357         - Расчетная цена ордера. 
Last price:   6598.23          - Цена рынка.
Max Price:    6621.5           - Максимальная цена рынка за цикл.
Level TS:     6582.481         - Уровень срабатывания Trailing Stop.

Важно!

  • При использовании Trailing Stop "авто-выход" не работает.
  • Параметр TRAILING_STOP_PERCENT можно менять через Telegram.
  • Или Контроль -> TrailStop.

46. Параметр URL_STATISTICS.

Только для стратегий One Orders.

Вы можете собирать статистику о торговле на свой удаленный сервер.

Для этого укажите в настройках бота параметр URL_STATISTICS=ваш url адрес сервера. На указанный адрес после выполнения цикла покупка/продажа будет отправляться POST запрос в JSON формате.

title:                       - Название TITLE                                   (string)
tradeCurrency:               - Название валютной пары                           (object)
balanceStart:                - Стартовый баланс                                 (object)
balanceCurrent:              - Баланс на момент вызова функции                  (object)
depositProfPercent:          - Разница депозита в процентах в первой валюте     (number)
depositProf2Percent:         - Разница депозита в процентах во второй валюте    (number)
price:                       - Цена которая участвовала в расчетах              (number)
currentCycle:                - Текущий цикл                                     (number)
cycles:                      - Общае число циклов                               (number)
profitAmount:                - Размер профитного ордера (для One Orders)        (number)
oneOrdersProfitPercent:      - Тоже что и параметр ONE_ORDERS_PROFIT_PERCENT    (number)

47. Параметр DISABLE_CAPITALIZATION.

Только для стратегий One Orders.

Параметр позволяет запускать на смежных парах несколько ботов без драки за баланс.

В профит ордер будет установлено только то количество актива которое было выкуплено по сетке ордеров. Оставшиеся средства будут оставлены на счету.

При использовании дополнительного параметра CAPITALIZATION_BUY_ORDER=true в профитный ордер Buy будет установлена сумма увеличенная на уровень профита относительно цены покупки. Например, вы продали 1 монету по цене 10, то при установке ордера по цене 5 будет установлено 2 монеты за вычетом комиссии.

Параметр DISABLE_CAPITALIZATION=true принудительно устанавливает INTEGRITY_CONTROL_ORDERS в значение hard.

Профитный ордер:

  • Параметр отключает капитализацию профитного ордера.
  • В профитный ордер будут установлен только тот объем который был исполнен по сетке ордеров.

Сетка ордеров:

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

ВАЖНО!!!

  • Поскольку использование параметра подразумевает запуск нескольких ботов для общего депозита, статистика (п. 39) будет считаться для каждого бота не правильно, т.к. она использует информацию общего баланса и его изменения относительно рабочего бота.
  • Для расчета статистики по торговому инструменту используйте собственные технические решения.
  • Виртуальный расчет Мартингейла так же может выдавать погрешность.

48. Авто-выход и выход через заданное число циклов.

Только для стратегий One Orders.

Авто-выход.

Это выход из сделки после полного цикла покупки/продажи с 0% профитом и установка бота на паузу. Другими словами это экстренный выход в безубыток.

Включается только через Telegram. Торговля -> Авто-выход.

Выход через заданное число циклов.

Бот будет поставлен на паузу как только отработает указанное количество циклов покупки/продажи.

Включается через Telegram. Торговля -> Выход по циклам.

Так же есть возможность задать параметр в конфиге CYCLES_AUTO_EXIT. Указывается число, сколько нужно совершить циклов.

49. Как правильно указывать валюту в NAME_COIN / NAME_COIN_TWO.

Указывать валютную пару необходимо так как она указана на бирже!

Если это Poloniex и Bittrex (биржи с инвертированными парами), то для пар с USDT все пары будут в таком формате USDT/xxx. Если это пары с BTC, то BTC/xxx. (Пара USDT/BTC задается таким образом).

Если вы торгуете на бирже Exmo то пары с USD в таком формате xxx/USD, если с BTC то xxx/BTC. (Пара BTC/USD задается таким образом).

50. Описание кнопок Telegram.

Главная панель:

  • Ордера - список открытых ордеров.
  • Котировки - котировки рынка по выбранной паре. Если пары нет в списке, то можно использовать команду /ticker name_coin (например /ticker btc_usd или /ticker btc/usd или /ticker btc-usd).
  • История - история последних сделок.
  • Контроль - раздел для изменения состояния бота и активации вспомогательных модулей.
  • Нотис - раздел для управления уведомлениями.
  • Торговля - раздел для управления торговлей.
  • Закрыть активные ордера - закрытие открытых ордеров или переоткрытие их. (Сетка сбрасывается).

Раздел Контроль:

  • Info - То же самое что и команда /info. Показывает список доступных команд.
  • Состояние - ручная остановка бота на паузу и снятие с нее. (Снятие с паузы происходит не мгновенно, а через несколько секунд после нажатия).
  • Модули - список дополнительных модулей для работы бота. (В этом разделе включается логи, авто-страховки, изменяется тип получения данных).
  • TrailStop - управление Trailing Stop
  • StopLoss - управление Stop Loss
  • AutoRevers - управление авто переключением стратегий

Раздел Нотис:

  • Мониторинг - вкл/выкл мониторинг указанных пар (Пары задаются в конфигурационном файле, параметр MONITORING_PAIR).
  • Уведомление - вкл/выкл уведомления о скачках курса (Пары задаются в конфигурационном файле, параметр NOTIFICATION_PAIR).
  • Исполнение one orders - вкл/выкл уведомления об исполнении профитного ордера в стратегиях One Orders.
  • End Grid - вкл/выкл уведомление об окончании сетки ордеров. Будет выслано уведомление если осталось меньше 3 ордеров.

Раздел Торговля:

  • Отступы - изменяет отступ ордеров, первого ордера и процент профита.
  • Стратегия - переключение стратегий (Конфиг для стратегий нужно задать заранее).
  • Тип - переключение типа торговли (Только покупка, только продажа, оба действия).
  • Выход по циклам - Указывается число циклов после чего будет бот поставлен на паузу. (Только для One orders)
  • Авто-выход - Установка бота на паузу после исполнения первого же профит ордера с установкой 0 профита для скорейшего выхода. (Только для One orders).

51. Ограничение диапазона торгов.

Параметр TRADING_PRICE_RANGE задает ограничение цен торгового диапазона. Используется диапазон как Минимальная / Максимальная цена.

Если параметр задан, например TRADING_PRICE_RANGE=5000/7000, тогда боту разрешено устанавливать ордера пока LastPrice находиться внутри указанного диапазона. Как только LastPrice выйдет за пределы диапазона боту запрещено устанавливать новые ордера.

Если в параметре используются проценты, то на основании их будет построен торговый диапазон. Высчитывается средние значение цен за интервал времени равный 50 * TIME_UPDATE_AUTO_SETTINGS, и от полученной цены создаются границы диапазона.

В процентах может иметь значение как одно число, так и диапазон в формате нижняя /верхняя граница. Например TRADING_PRICE_RANGE=10% или TRADING_PRICE_RANGE=10%/30%

Можно комбинировать проценты и обычные ценовые значения. Например TRADING_PRICE_RANGE=10%/1000.

Если параметр не задан, боту разрешено работать на всем диапазоне рынка.

Проверка цен происходит с интервалом TIME_UPDATE_AUTO_SETTINGS.

52. Авто переключение стратегий.

Только для стратегий One Orders.

Параметр STRATEGY_AUTO_REVERS.

Когда в сетке ордеров не осталось ни одного ордера, при этом LastPrice отдалилась от последнего ордера больше чем на указанный процент (параметр OFFSET_LAST_ORDER_PERCENT) будет автоматически переключена стратегия на обратную (Если была One Buy, станет One Sell).

Проверка цен происходит с интервалом TIME_UPDATE_AUTO_SETTINGS.

Важно!

  • При переключении стратегий происходит рестарт бота. При рестарте бот заново пересчитывает размер депозита согласно условиям вашего конфига. Это значит, что если вы используете ограничение депозита, то он будет рассчитан заново.

53. Параметры STOP_LOSS_PERCENT, BUY_STOP_PERCENT, STOP_LOSS_ABS, BUY_STOP_ABS и STOP_LOSS_FLOATING.

  1. Параметр STOP_LOSS_PERCENT:

    Только для стратегии One Sell a lot Buy.

    Если закончилась сетка ордеров и курс продолжает снижаться, то параметр позволяет зафиксировать убыток.

    Когда в сетке ордеров не осталось ни одного ордера, при этом LastPrice отдалилась от последнего ордера больше чем на указанный процент (параметр STOP_LOSS_PERCENT) будет активирована функция Stop Loss.

    Функция Stop Loss так же как и команда /sell_all произведет немедленную продажу по рынку всего объема валюты.

    Цена лимитного ордера будет установлена на 3% ниже LastPrice. Тем самым продавая по рынку, если же ликвидности рынка не хватит то остатки средств будут установлены по этой цене.

    После исполнения команды бот будет поставлен на паузу в не зависимости от того исполнился ордер полностью или нет.

    Так же если при установке ордера произошла ошибка об этом будет уведомление. Вам необходимо будет в ручную разобраться с ситуацией.

    Команда для просмотра уровней /stoploss

  2. Параметр BUY_STOP_PERCENT:

    Только для стратегии One Buy a lot Sell.

    Параметр аналогичен Stop Loss, только для стратегии One Buy (все действия зеркальны).

    Команда для просмотра уровней /buystop

  3. Параметр STOP_LOSS_ABS:

    Для любой стратегии. Текущая цена должна быть выше указанного значения.

    Параметр задает абсолютную цену при прохождении которой будет выставлен на продажу весь доступный объем.

    Sell ордер выставиться на 1% ниже текущего bid price, чтобы осуществить продажу по рынку.

    После активации Stop Loss параметр сбрасывает значение в 0 и выключается.

    Вновь включить его снова или обновить отправьте команду в Телеграм например: STOP_LOSS_ABS=7600

  4. Параметр BUY_STOP_ABS

    Для любой стратегии. Текущая цена должна быть ниже указанного значения.

    Параметр задает абсолютную цену при прохождении которой будет выставлен на покупку весь доступный объем.

    Buy ордер выставиться на 1% выше текущего ask price, чтобы осуществить покупку по рынку.

    После активации Buy Stop параметр сбрасывает значение в 0 и выключается.

  5. Параметр STOP_LOSS_FLOATING

    Для любой стратегии.

    Параметр задает процент падения цены от High price. Если цена упала ниже чем указанное значение, то будет выставлен на продажу весь доступный объем.

    Sell ордер выставиться на 1% ниже текущего bid price, чтобы осуществить продажу по рынку.

    После активации Stop Loss Floating параметр сбрасывает значение в 0 и выключается. (Этот пункт не применяется если включен параметр DISABLING_PAUSE_AFTER_ACTION)

    Команда для просмотра уровней /stoplossfloating

Проверка цен происходит с интервалом TIME_UPDATE_AUTO_SETTINGS.

54. Параметр NUMBER_CHECK_DATA.

Параметр отвечает за то, сколько раз нужно перепроверить данные. Используются значения 2 и более.

Чем больше число перепроверок, тем позже будет реагировать бот на события на рынке.

Пока работает только проверка количество ордеров в сетке, частичная проверка активных ордеров и исполнении профитного ордера.

Проверка активных ордеров осуществляется путем проверки на пустые ответы от биржи. Если пустой ответ пришел больше указанного числа раз, тогда это значение считается достоверным, что ордеров реально нет.

Проверка исполнения профитного ордера происходит путем перезапроса данных несколько раз. Если ни в одной из попыток не появится профитный ордер, то он считается исполненным.

55. Параметр IGNORE_ORDERS_AT_START.

Параметр позволяет игнорировать ордера во время старта бота и не учитывать их во время дальнейшей работы.

Бот не будет закрывать эти ордера, но будет учитывать освободившийся баланс если эти ордера будут закрыты по каким-либо причинам во время работы бота.

Ордера будут отображаться в списке открытых ордеров в Telegram наравне с остальными ордерами. (Для удобства мониторинга).

Если выключение бота вызвано сигналами SIGINT, SIGHUP или SIGTERM, то перед выключением бот попытается закрыть открытые во время работы ордера.

Важно!

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

56. Параметр TRAILING_GRID_PERCENT.

Только для стратегий One Orders.

Это не TRAILING в прямом понимании его смысла!

Данный параметр создает динамическую границу цен в котором запрещено устанавливать ордера.

Ограничение установки ордеров происходит в экстремумах ценового диапазона текущего цикла.

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

Пример для стратегии One Sell.

  1. Если цена сформировало локальное дно - low price, тогда вилка цен будет принимать вид X — Y. Где Y - это low price, а X это уровень отступа TRAILING_GRID_PERCENT от low price.
  2. Если цена LastPrice будет выше X тогда установка ордеров разрешена.
  3. Если LastPrice будет находиться между X и Y или быть меньше Y тогда установка ордеров будет запрещена.
  4. Каждый раз когда цена в текущем цикле будет обновлять свой минимум вилка цен будет сдвигаться.
  5. Когда исполнится профитный ордер вилка цен будет обнулена и начнется расчет заного от lastPrice.

Для стратегии One Buy все инвертированное. Считается не low price, а high price.

57. Параметр TYPE_SCALPER.

Только для стратегии “Скальпер”.

Параметр отвечает за переключение режима работы Скальпера.

Режим:

  • 1 - Решение о выставлении ордеров зависит от шага безубытка, а ордера начинаются выставляться от краев стаканов.
  • 2 - Ордера начинают выставляться от медианы спреда, уровень безубытка не контролируется, установка типа ордеров buy/sell будет в рандомном порядке. Авто-режим Extra отключен.

Медиана спреда - это среднее число между ask и bid.

По умолчанию используется режим 1.

Авто-режим Extra - Это режим в котором зажимаются отступы между ордерами до минимального значения, время преоткрытия ордеров сбрасывается до 1 минуты, а размер спреда-безубытка становится равным 0.

Авто-режим Extra включается когда частота исполнения ордеров трехкратно превышает общее количество ордеров. Режим используется чтобы максимально загнать весь депозит(все ордера) в коридор цены при накрутке объемов.

58. Параметры PRICE_TRADING_TYPE_CHANGE

Только для стратегий One Orders.

Параметр переключает тип торговли с All на Buy или Sell при пересечении указанной цены.

  1. Абсолютное значение как одиночное число или нижняя/верхняя граница.

    Если задано одиночное значение, то:

    • Для One Sell параметр переключает тип торговли с All на Only Buy когда LastPrice будет меньше чем PRICE_TRADING_TYPE_CHANGE.
    • Для One Buy параметр переключает тип торговли с All на Only Sell когда LastPrice будет больше чем PRICE_TRADING_TYPE_CHANGE.

    Если задана нижняя/верхняя граница:

    • При пересечении нижней границы будет переключен тип на Only Buy
    • При пересечении верхней границы будет переключен тип на Only Sell
  2. Процентное значение как одиночное число или нижний/верхний уровень.

    Высчитывается средние значение цен за интервал времени равный 50 * TIME_UPDATE_AUTO_SETTINGS и от полученной цены создаются границы диапазона.

    Полученные границы работают так же как параметр заданый в абсолютном значении. За исключением когда процент задается одним числом например PRICE_TRADING_TYPE_CHANGE=10% эквивалентно PRICE_TRADING_TYPE_CHANGE=10%/10%.

Можно комбинировать проценты и обычные ценовые значения. Например PRICE_TRADING_TYPE_CHANGE=10%/5000.

При выходе цены за указанную границу в консоли будет уведомление LOW LINE PRICE или HIGH LINE PRICE.

Важно!

  • Установка ручного типа торговли имеет более высокий приоритет перед этим параметром. (Telegram: Торговля -> Tип).
  • При переключении типа торговли противоположные ордера закрываются.

59. Параметр IND_CHECK

Только для стратегии One Orders

Параметр указывает какой тип индикатора необходимо использовать для определения момента установки сетки ордеров. Доступные значения: rsi, bbands или их совмещение (rsi, bbands)

При включении IND_CHECK необходимо настроить параметры индикаторов. Доступны следующие параметры:

Option Description Type Default
BBANDS_DEVIATION Стандартное отклонение Боллинджера number 2
BBANDS_PERIOD Период BBANDS
Период - это количество цен (свечей) в массиве.
number 20
RSI_TYPE Тип rsi или stochrsi string rsi
RSI_PERIOD Период RSI number 14
RSI_RANGE_SELL Диапазон RSI для продажи
Значения указываются в формате начало/конец диапазона.
string 70/100
RSI_RANGE_BUY Диапазон RSI для покупки string 1/30
TIMEFRAME Таймфрейм. Интервал запроса цен (в минутах)
Используйте значения доступные на бирже.
number 1
IND_FOR_FIRST_ORDER Устанавливает первый ордер из сетки по индикатору, все остальные как обычно bool false

По умолчанию индикаторы работают только для сетки ордеров. Если необходимо чтобы индикаторы контролировали профит ордер, то используйте параметр IS_PROFIT_INDICATORS=true

Параметры IND_FOR_FIRST_ORDER меняют поведение логики IND_CHECK. При нем логика распространяется только на первый ордер из сетки, все остальные ордера работают как будто IND_CHECK выключен.

60. Внешние индикаторы

Только для стратегий One Orders и BBANDS.

Вы можете использовать торговые сигналы по индикаторам с внешнего сервиса.

При использовании внешних индикаторов, внутренние индикаторы полностью отключаются.

Для использования внешних индикаторов нужно установить параметры:

  • EXTERNAL_INDICATORS - включает/выключает использование внешних индикаторов.
  • URL_INDICATOR - указывается URL адрес сервера с внешними сигналами. (Название биржи указывать не нужно!)
  • STRATEGY_LABEL - метка внутренних стратегии на сервисе сигналов (если она есть).

По умолчанию индикаторы работают только для сетки ордеров (для One Orders). Если необходимо чтобы индикаторы контролировали профит ордер, то используйте параметр IS_PROFIT_INDICATORS=true

API:

Бот принимает ответа от сервиса внешних индикаторов формата вида JSON:

{
    "success": true,
    "result": {     
        "buy": true, 
        "sell": false 
    },
    "minilog": { 
        "close": 0.0000569, 
        "rsi7": 35.6, 
        "rsi14": 39.2, 
        "stoch": {"a":31,"b":38.1},
        "macd": {"a": -2e-7, "b": -1.15e-7, "c": -8.49e-8},
        "vol": 10200
     }
}

success - Флаг ответ.
result  - Тип разрешаемой операции (buy - покупать, sell - продавать).
minilog - Небольшой лог показаний задействованных индикаторов, используется чтобы выводить этот лог в консоль.
Можно добавлять свои поля, они так же будут выведены в лог.

61. Параметр ONE_ORDERS_SPO_PERCENT

Только для стратегии One Orders.

Параметр используется для отлова скивзов. SPO [СПО] - Сквиз Профит Ордер.

Если включен ONE_ORDERS_SPO_PERCENT, то:

  1. Выставляется профит ордер по цене ONE_ORDERS_SPO_PERCENT.
  2. Если цена плавно достигла ONE_ORDERS_PROFIT_PERCENT тогда ордер переставляется по этой цене и исполняется.
  3. Если используется TRAILING_STOP_PERCENT, тогда как только цена доползет до ONE_ORDERS_PROFIT_PERCENT и безубытка, то ONE_ORDERS_SPO_PERCENT снимается и работает обычный тралл.
  4. Если используются индикаторы (IND_CHECK или IS_PROFIT_INDICATORS) тогда сначала выполняется требование индикаторов, затем с п.1 и т.д.
  5. Если задан формат ONE_ORDERS_SPO_PERCENT=x/y, то значение Y задержка в секундах перед срабатыванием п.2

62. Параметр AUTO_EXIT_PERCENT

Только для стратегии One Orders.

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

Для стратегии One Sell, если цена упала ниже прошлого профитного ордера на указанный процент, то после исполнения текущего профитного ордера цикл завершится, и бот встанет на паузу.

Для стратегии One Buy, если цена выросла выше прошлого профитного ордера на указанный процент, то после исполнения текущего профитного ордера цикл завершится, и бот встанет на паузу.

Важно!

  • Срабатывание функции не выключает её, а только ставит бота на паузу.
  • Если вы включили авто выход через телеграм, то эта функция прекращает работу.
  • Авто-выход через N циклов

63. Параметр TIME_SESSION

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

Количество сессий не ограничено, но они все должны быть в пределах одних суток (с 00:00 до 23:59)

Параметр задается в формате TIME_SESSION=startTime/endTime

Например:

SET TIME_SESSION1=13:00:00/18:55:00
SET TIME_SESSION2=19:10:00/20:30:00

Как только время сессии закончится, наступит endTime, бот снимет ордера с рынка. Когда начнется новый интервал сессии startTime бот вернет ордера на рынок.

Важно!

  • Если в период когда бот находится на паузе, изменится курс, и будет не хватка депозита, то ордера могут не восстановится.
  • Параметр создавался, чтобы задать время приостановки бота, когда биржа прекращала торги по времени в течение дня.
  • Если функционал работы сессий реализован в api модуле, то использовать эти параметры не нужно!