Это приложение работает на стороне сервера и управляется через Telegram.
Web Panel для GUI бота лежит тут: GBot Web Panel
- Poloniex
- Exmo
- Bitfinex
- Liqui
- Dsx
- Binance (Unofficial)
- Cex (Unofficial)
- Cryptopia (Unofficial)
- Kraken (Unofficial)
- Yobit (Unofficial)
- Huobi (Unofficial)
- Kucoin (Unofficial)
- Hitbtc (Unofficial)
- Stex (Unofficial)
- Bleutrade (Unofficial)
- Модуль на биржи Unofficial приобретается отдельно у сторонних разработчиков! Модули можно купить у проверенного разработчика написав ему в Telegram - @solvento.
- Модули запущенные в режиме DEMO не требуют лицензии.
Перед тем как задавать вопросы, прочитайте, пожалуйста, FAQ. Большинство ответов вы найдете в нем.
Скачайте ZIP архив и разархивируйте его.
Все API модули которых нет в комплекте бота, нужно положить в папку api.
Для запуска создайте .bat (для Windows) или .sh (для *nix) файл с перечисленными конфигурационными параметрами и запустите его.
Примеры .bat и .sh есть в архиве.
-
Установите git если у вас он не установлен. Откройте консоль и введите ваш e-mail и никнейм:
git config --global user.name "Your Name" git config --global user.email "[email protected]"
-
Установите node.js.
-
На своем компьютере создайте любую папку (например
gbot
) и сохраните туда данный репозиторий. Чтобы директорияbuild
и остальные файлы были в корне директорииgbot
. -
Перейдите в папку и установите пакеты зависимостей командой
npm i
.
Установка через Download ZIP:cd /D E:\gbot (Если папка находится в корне диска E) npm i
Установка через git:
cd /D E:\gbot (Если папка находится в корне диска E) git clone https://github.com/steeply/gbot-trader.git cd gbot-trader npm i
-
Чтобы обновить бота на новую версию: a) Если устанавливали через
Download ZIP
скачайте новое приложение с текущего репозитория в свою папку, где распологается прошлая версия бота и замените в ней файлы.б) Если устанавливали через
git clone
перейдите в консоле в папку с ботом и выполните команды:git fetch --all git reset --hard origin/master
При необходимости обновите зависимости библиотек командой:
npm i
-
Дальше приступайте к настройке конфигурации и запускайте бота.
Предупреждение!
- Если вы не дружите с консолью, git или не знаете ни чего о PaaS платформах, лучше не используйте этот вариант.
- Heroku раз в сутки автоматически перезагружает ваше приложение. Для стратегии "Линии Боллинджера" это может быть критично.
-
На своем компьютере создайте любую папку (например
gbot
) и сохраните туда данный репозиторий. Чтобы директорияbuild
и остальные файлы были в корне директорииgbot
.cd /D E:\gbot (Если папка находится в корне диска E) git clone https://github.com/steeply/gbot-trader.git cd gbot-trader
-
Зарегистрируйтесь на сайте heroku.
Скачайте heroku CLI и установите его.
Откройте консоль и перейдите в ней в папку с ботом и выполняйте следующие команды:
Выполните команду: heroku login и введите свой e-mail и пароль, под которым вы зарегистрировались на Heroku (Во время ввода пароля символы не отображаются).
Если вы сохранили репозиторий через кнопку
Download ZIP
, выполните следующие действия (если через git clone, пропустите этот пункт):git init git add . git commit -m "first commit"
Затем создайте новое приложение на heroku:
heroku create git push heroku master heroku ps:scale web=0 - отключить WEB (Бот это ни сайт, так что этот пункт обязательный)
-
В приложении на heroku зайдите в Settings -> Reveal Config Vars (вводим параметры приложения из документации (ключи от биржи и телеграма, настройки и стратегию)).
Или можно сделать через консоль:heroku config:set PARAM=VALUE - установить параметр heroku config:unset PARAM - удалить параметр heroku config - показать все установленные параметры
-
Чтобы включить бота, в разделе Resources -> WORKER - Включить.
Или консольная команда:heroku ps:scale worker=1 - включить heroku ps:scale worker=0 - выключить
-
Чтобы обновить бота на heroku на новую версию:
a) Если устанавливали через
Download ZIP
скачайте новое приложение с текущего репозитория в свою папку, где распологается прошлая версия бота и замените в ней файлы.Дальше выполните команды:
git add . git commit -m "update bot" git push heroku master
б) Если устанавливали через git clone выполните команды:
git pull origin master git push heroku master
При необходимости обновите параметры конфигурации (см. п. 3)
Если используете опцию TELEGRAM_OFF, тогда в этом пункте нет необходимости.
@BotFather - это бот для создания и управления ботами в Telegram
Напишите команду /newbot, чтобы создать нового робота. BotFather спросит у вас имя нового бота и предложит придумать username.
Имя (name) будет отображаться в контактах и чатах.
Username — короткое имя на латинице, которое используется для упоминаний бота и в ссылках на профиль в telegram.me. Username должен состоять из букв латинского алфавита, подчёркиваний и цифр и быть длиной от 5 до 32 символов. Также имя пользователя обязательно должно заканчиваться на «bot», например: «trade_bot» или «TradeBot».
Ключ (токен) это набор символов вида 110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw
, который нужен, чтобы получать и отправлять сообщения с помощью Bot API.
- Установите параметры API биржи
EXCHANGE
,KEY
,SECRET
иTELEGRAM_TOKEN
. - Запустите GBot Trader.
- Напишите вашему Telegram боту (которого вы создали ранее через @BotFather) любое сообщение, в ответе получите ваш id номер.
- Выключите GBot Trader.
- Установите
TELEGRAM_ID
.
Или воспользуйтесь ботом в Telegram @userinfobot
Option | Description | Type | Default |
---|---|---|---|
KEY | API key | string | - |
SECRET | API secret | string | - |
NAME_COIN | Торговая валюта (FAQ п.49) |
string | ltc |
NAME_COIN_TWO | Торговая валюта (FAQ п.49) |
string | usd |
EXCHANGE | Выбор биржи: poloniex (инвертированные пары) bittrex (инвертированные пары) exmo bitfinex liqui dsx |
string | - |
EXCHANGE_HOST | Адрес API биржи. Если основной адрес недоступен. Exmo: https://api.exmo.com Dsx: api.dsxglobal.com/api/2 |
string | - |
Внимание!
У биржи Dsx стоят жесткие ограничения на число знаков в объеме ордера для каждой торговой пары, которые в большинстве случаев равно 2 - 5 знакам. Для все остальных бирж обычно используются 8 знаков. В связи с этим возникает момент когда размер ордера может не быть равным указанной длине, по этому будет происходить обрезание или округление числа в большую или меньшую сторону. А значит в ордер будет установлен больший/меньший объем чем не обходимо, чтобы вписаться в эти ограничения. В связи с этим на балансе должно оставаться достаточное количество средств чтобы компенсировать это округление.
У биржи есть ДЕМО аккаунт, где можно протестировать ваши настройки.
Эти параметры относятся только к подключению и работе с Telegram
Option | Description | Type | Default |
---|---|---|---|
TELEGRAM_TOKEN | Ваш токен для Telegram | string | - |
TELEGRAM_ID | ID вашего пользователя в Telegram | number | - |
SOCKS5_HOST | Хост SOCKS5 | string | - |
SOCKS5_PORT | Порт SOCKS5 | number | 1080 |
SOCKS5_USERNAME | Username SOCKS5 | string | - |
SOCKS5_PASSWORD | Password SOCKS5 | string | - |
TELEGRAM_BASEURL | URL сервера или прокси | string | - |
TELEGRAM_OFF | Отключить Telegram. | boolean | false |
Опция TELEGRAM_OFF отключает возможность использовать Telegram в боте. Всё управление и все уведомления посылаемые через Telegram будут так же отключены!
По умолчанию бот запустится на дефолтных настройках. По этому указывать все известные параметры совсем не обязательно если они совпадают с настройками по умолчанию.
Option | Description | Type | Default |
---|---|---|---|
TIME_UPDATE_AUTO_SETTINGS | Интервал обновления авто параметров (в минутах) (FAQ п.21) |
number | 2 |
DEPOSIT_LIMIT | Размер использования депозита в процентах или абсолютное число Если задано абсолютное число то указывается размер использования депозита в валюте параметра NAME_COIN_TWO. Для бирж с инвертированной валютой в валюте параметра NAME_COIN (FAQ п.19) |
number or string | 100% |
DEPOSIT_TYPE | Вариант отдачи депозита в баланс бота для профит ордера. reserve - расчетный с резервированием. straight - прямой с биржи (FAQ п.19) |
string | reserve |
PERMANENT_DEPOSIT | Жесткий контроль ограничения депозита (FAQ п.19) |
boolean | false |
COUNT_ORDERS | Количество ордеров. Сколько всего будет установлено. (FAQ п.22) |
number | рассчитывается на основе размера депозита |
QUANTITY_ORDERS_IN_CYCLES | Количество ордеров в цикле. Сколько ордеров будет установлено в одном цикле для One Orders (FAQ п.22) |
number | 0 |
QUANTITY_ORDERS_IN_BLOCKS | Количество ордеров в блоке. Сколько ордеров будет одномоментно на рынке. (FAQ п.22) |
number | 0 |
HOLD_QUANTITY_ORDERS | Удерживать заданное число ордеров в QUANTITY_ORDERS_IN_BLOCKS (FAQ п.22) |
boolean | true |
GREEDY_FIRST_ORDER_SIZE | Размер "нулевого" ордера в торгуемой валюте или процентах Формат: 0.1 или 5% |
number or string | 0 |
GREEDY_FIRST_ORDER_SIZE_INSECOND_CURRENCY | Размер "нулевого" ордера в базовой валюте | number | 0 |
SIZE_FIRST_ORDERS | Размер первого ордера в торгуемой валюте или в процентах Пример: 0.1 или 5% |
string | 0 |
SIZE_FIRST_ORDERS_INSECOND_CURRENCY | Размер первого ордера в базовой валюте | number | 0 |
SIZE_ORDERS_FROM_DEPOSIT | Размер ордера в процентах от оставшегося депозита | number | 0 |
SIZE_ORDERS_MARTINGALE | Размер ордеров по Мартингейл (для Экспоненты - проценты, для Линейного - абсолютное число) Формат: 0.1 или 5% (FAQ п.43) |
string or number | 0 |
TYPE_ORDERS_MARTINGALE | Тип увеличения Матерингейла. add - суммирование, multiply - умножение, pow - возведение в степень (FAQ п.43) |
string | add |
CONTINUE_MARTINGALE_GRID | Продолжать сетку Мартингейл при перезапуске бота (сохраняет размер ордера) (FAQ п.43) |
boolean | false |
ENABLE_HARD_GRID | Включает игнорирование защитной функции от разницы в ценах между Last Price и последним ордеров в истории (FAQ п.43) |
boolean | false |
TRADING_PRICE_RANGE | Диапазон цен разрешенных для торгов, абсолютные числа или проценты. Например: 3000/5000 10%/20% 10% 1000/10% Если не указано, нет ограничений (FAQ п.51) |
string | - |
TRADING_PRICE_RANGE_OTHER | Диапазон цен, другой валютной пары, разрешенных для торгов, абсолютные числа или проценты. Например: 3000/5000 10%/20% 10% 1000/10% Если не указано, нет ограничений |
string | - |
OTHER_PAIR | Валютная пара для мониторинга диапазона цен. Указывается так же как на бирже. Например: btc/usd |
string | - |
IGNORE_ORDERS_AT_START | Игнорировать ранее установленные ордера при старте/рестарте бота. (FAQ п.55) |
boolean | false |
DELAY_TIME_CYCLES | Задержка в секундах перед началом нового цикла * для One orders: после исполнения профитного ордера * для Скальпера: после TIME_CLOSE_ORDERS |
number | 0 |
STOP_LOSS_ABS | Абсолютное значение цены для срабатывания Stop Loss (FAQ п.53) |
number | 0 |
BUY_STOP_ABS | Абсолютное значение цены для срабатывания Buy Stop (FAQ п.53) |
number | 0 |
STOP_LOSS_FLOATING | Процент падения цены от High price для срабатывания плавающего Stop Loss (FAQ п.53) |
number | 0 |
Важно!
Размер ордера при
SIZE_FIRST_ORDERS_INSECOND_CURRENCY
будет рассчитан по формуле SIZE_FIRST_ORDERS_INSECOND_CURRENCY / price
SIZE_FIRST_ORDERS
илиSIZE_FIRST_ORDERS_INSECOND_CURRENCY
выбирается только 1 из параметров!
GREEDY_FIRST_ORDER_SIZE
илиGREEDY_FIRST_ORDER_SIZE_INSECOND_CURRENCY
выбирается только 1 из параметров!
SIZE_ORDERS_MARTINGALE
илиSIZE_ORDERS_FROM_DEPOSIT
выбирается только 1 из параметров!
При ручном размере первого ордера RANGE_OFFSET не работает, а COUNT_ORDERS будет рассчитано автоматически.
При использовании
QUANTITY_ORDERS_IN_CYCLES
параметрCOUNT_ORDERS
будет переопределен автоматически.
Если
SIZE_ORDERS_MARTINGALE
задан в процентах, тоTYPE_ORDERS_MARTINGALE
не применяется.
Варианты возможных отступов ордеров. Выберите один из предложенных.
Option | Description | Type | Default |
---|---|---|---|
FIX_PRICE_FIRST_ORDER | Фиксированная цена первого ордера | number | 0 |
OFFSET_FIRST_ORDERS_PERCENT | Отступ первого ордера в процентах | number | 0 |
OFFSET_FIRST_ORDERS_POINTS | Отступ первого ордера в пунктах | number | 0 |
OFFSET_ORDERS_POINTS | Отступ между ордерами в пунктах | number | 10 |
OFFSET_ORDERS_PERCENT | Отступ между ордерами в процентах | number | 0 |
OFFSET_ORDERS_EXPONENTIAL | Отступ между ордерами по экспоненте в % | number | 0 |
OFFSET_ORDERS_MULTIPLY | Отступ для ордеров по множителю | number | 0 |
OFFSET_ORDERS_BLOCK | Отступ между ордерами по блокам в % Например в первом блоке ордера будут с отступом 0.2, во втором блоке 0.4 и т.д. |
number | 0 |
RANGE_OFFSET | Диапазон перекрытие сетки ордеров (расстояние от первого до последнего ордера) (FAQ п.18) |
number | 0 |
Параметр OFFSET_FIRST_ORDERS_PERCENT или OFFSET_FIRST_ORDERS_POINTS можно использовать совместно с любым из выбранных вариантов.
Чтобы установить первый ордер в стакане цен самым первым, используйте
OFFSET_FIRST_ORDERS_PERCENT=-1
.
Можно использовать любые отрицательные значения, тем самым сдвигая ордера в противоположную сторону.
Чтобы ограничить максимальный отступ для OFFSET_ORDERS_EXPONENTIAL используйте параметр OFFSET_ORDERS_EXPONENTIAL_MAX. Важно! OFFSET_ORDERS_EXPONENTIAL_MAX должен быть больше чем OFFSET_ORDERS_EXPONENTIAL.
Будет установлен один ордер с максимальным объемом вместо сетки ордеров.
Option | Description | Type | Default |
---|---|---|---|
DISABLE_GRID_SELL | Отключить расстановку ордеров по сетке для Sell ордеров | boolean | false |
DISABLE_GRID_BUY | Отключить расстановку ордеров по сетке для Buy ордеров | boolean | false |
Подробнее FAQ п.41
Option | Description | Type | Default |
---|---|---|---|
DANGER_PRICE_STOP | Остановка бота при большом скачке цены | boolean | false |
DANGER_PRICE_STOP_PERCENT | Процент скачка цены для остановки бота | number | 9 |
DYNAMIC_SETTINGS_TIME | Динамическое время обновления авто параметров | boolean | false |
DYNAMIC_OFFSET_ORDERS | Динамическое распределение ордеров (FAQ п.37) |
boolean | false |
DYNAMIC_OFFSET_INTERVAL | Интервал проверки цены для динамической сетки (в мин) (FAQ п.37) |
number | 60 |
DYNAMIC_OFFSET_PROFIT_DIVISOR | Делитель изменения профитного ордера (FAQ п.37) |
number | 10 |
DYNAMIC_OFFSET_INDENTION_DIVISOR | Делитель изменения размера сетки (FAQ п.37) |
number | COUNT_ORDERS |
TREND_DEFINITION | Определение тренда (Экспериментально) | boolean | false |
ABRUPT_CHANGE_TREND | Быстрый разворот тренда (Экспериментально) | boolean | false |
OFF_MODULES_AUTO_SETTINGS | Отключение всех модулей авто настройки | boolean | false |
Опции TREND_DEFINITION и ABRUPT_CHANGE_TREND только для стратегии Scalper.
Опция OFF_MODULES_AUTO_SETTINGS контролирует DANGER_PRICE_STOP, DYNAMIC_SETTINGS_TIME, DYNAMIC_OFFSET_ORDERS, TREND_DEFINITION, ABRUPT_CHANGE_TREND
Все стратегии взаимоисключающие. Если ни одна стратегия не выбрана, используется стратегия "Скальпер".
Option | Description | Type | Default |
---|---|---|---|
TIME_CLOSE_ORDERS | Время закрытия неиспользованных ордеров (в минутах) (FAQ п.44) |
number | 5 |
TIME_CLOSE_ORDERS_INACTIVITY | Время закрытия ордеров при бездействии (в минутах) (FAQ п.44) |
number | 15 |
Option | Description | Type | Default |
---|---|---|---|
TYPE_SCALPER | Тип работы скальпера. Значение: 1 или 2 (FAQ п.57) |
number | 1 |
STEP_BREAKEVEN_PERCENT | Только для TYPE_SCALPER=1 Процент отступа от безубытка между bid и ask (FAQ п.20) |
number | 50 |
TRADING_AMOUNT_RANGE | Диапазон рандомного размера ордеров Значения указываются в формате начало/конец диапазона. |
string | - |
При использовании
TRADING_AMOUNT_RANGE
параметрыCOUNT_ORDERS
,SIZE_ORDERS_MARTINGALE
,SIZE_FIRST_ORDERS_*
и т.д. не имеют смысла и будут проигнорированы.
Option | Description | Type | Default |
---|---|---|---|
BBANDS | Линии Боллинджера (Трендовая стратегия) | boolean | false |
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 |
CLOSE_GRID_OPPOSITE | Закрывает противоположную сетку ордеров как только индикаторы изменят тип действия (покупать или продавать) | boolean | false |
CLOSE_GRID_IS_TRADING_SIGNAL_CANCELED | Закрывает сетку ордеров при отмене сигнала | boolean | false |
SAVE_PRICE_FILE | Сохранять кэш цен в файл | boolean | false |
PRICE_FILE_PATH | Пользовательский путь до директории с файлом | string | Директория с ботом |
Если
RSI_PERIOD=0
тогда индикатор отключается и торговля происходит только по индикатору BBANDS!
При использовании параметра
SAVE_PRICE_FILE
необходимы права на запись в директории. Учтите, что если вы запустите бота и реальные цены рынка отличаются от тех что в файле, первоначальные ордера могут встать неправильно и продать в убыток!
Параметр
SAVE_PRICE_FILE
не будет работать на PaaS платформах (Heroku, Pivotal и любых других платформах где используются средства виртуализации контейнера), так как при перезапуске контейнера все данные очищаются!
Если использован дефолтный bbands без внешних индикаторов, то ордера ставятся не по bid и ask рынка, а по границам линий bbands, соотвественно отступы первого ордера так же расчитываются от этих значений
При запуске Стратегии "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
) на момент запуска игнорируется.
Option | Description | Type | Default |
---|---|---|---|
ONE_ORDERS_SELL | Стратегия "One Sell a lot Buy" | boolean | false |
ONE_ORDERS_BUY | Стратегия "One Buy a lot Sell" | boolean | false |
ONE_ORDERS_OFFSET | Разница между ценой LastPrice и первым ордером в стеке ордеров в %. Будет подтягивать ордера вслед за ценой, если это значение будет превышено. |
number | 2 |
ONE_ORDERS_PROFIT_PERCENT | Задает процент желаемой прибыли. Может принимать фикс значение, так и диапазон min/max (если 1 исполненный ордер то max, если несколько то min) |
string or number | 1 |
ONE_ORDERS_SPO_PERCENT | Сквиз-профит-ордер. Задает процент желаемой прибыли при сквизе цены (и задержу перед срабатыванием). (FAQ п.61) |
string/number | 0 |
INTEGRITY_CONTROL_ORDERS | Контроль целостности ордеров: soft - Что вернула биржа то и ставим hard - Бот считает сам (FAQ п.23) |
string | soft |
TYPE_DATA_USED | Откуда брать информацию об исполненных ордерах: active - активные ордера history - активные ордера + история сделок |
string | active |
FIRST_LOADING_HISTORY | Загрузка истории с биржи при старте бота | boolean | false |
NUMBER_ROWS_LOAD_HISTORY | Количество строк для загрузки истории | number | 100 |
LOAD_HISTORY_DAYS | Количество дней истории Пока используется только для Poloniex |
number | 30 |
SAVE_HISTORY | Сохранять копию истории на компьютер | boolean | false |
CYCLES_AUTO_EXIT | Через сколько циклов совершить автовыход (FAQ п.48) |
number | 0 |
AUTO_EXIT_PERCENT | Процент отдаления цены от последнего профитного ордера для выполнения автовыхода. (FAQ п.62) |
number | 0 |
STOP_LOSS_PERCENT | Уровень Stop Loss в процентах (FAQ п.53) |
number | 0 |
STOP_LOSS_DEPOSIT_LIMIT | Процент остатка депозита для срабатывания Stop Loss | number | 0 |
BUY_STOP_PERCENT | Уровень Buy Stop в процентах (FAQ п.53) |
number | 0 |
TRAILING_STOP_PERCENT | Уровень Trailing stop в процентах (FAQ п.45) |
number | 0 |
TRAILING_STOP_PROTECTIVE_SPREAD | Устанавливает процент дополнительного отклонения цены заявки от цены инициировавшей заявку (FAQ п.45) |
number | 0 |
TRAILING_GRID_PERCENT | Уровень Trailing grid в процентах (FAQ п.56) |
number | 0 |
DISABLE_CAPITALIZATION | Отключить капитализацию в profit ордере (FAQ п.47) |
boolean | false |
CAPITALIZATION_BUY_ORDER | Включает частичную капитализацию Buy ордера при DISABLE_CAPITALIZATION (FAQ п.47) |
boolean | false |
PARTIALLY_EXECUTED_GRID | Учитывать частичное исполнение ордеров из сетки Только для DISABLE_CAPITALIZATION=true |
boolean | false |
SHIFT_GRID_PARTIAL_EXECUTION | Разрешить сдвигать сетку ордеров, если есть частичное исполнение ордеров из сетки | boolean | false |
STRATEGY_AUTO_REVERS | Автопереключение стратегии на обратную (FAQ п.52) |
boolean | false |
OFFSET_LAST_ORDER_PERCENT | Процент отдаления цены от последнего ордера чтобы сработало автопереключение стратегии (FAQ п.52) |
number | 5 |
PRICE_TRADING_TYPE_CHANGE | Цена при которой изменится тип торговли в абсолютном или процентном значении Формат number или low/high Например: 3000 3000/5000 10%/20% 10% 1000/10% (FAQ п.58) |
number or string | - |
IND_CHECK | Использование индикаторов для сетки Значния: 'rsi', 'bbands', 'rsi,bbands' (FAQ п.59) |
string | - |
IS_PROFIT_INDICATORS | Учитывать индикаторы так же для профит ордера | boolean | false |
Если параметр INTEGRITY_CONTROL_ORDERS в режиме
hard
, то ордер будет установлен только, если объемы установленных и исполненных ордеров будут совпадать (если ни один ордер не потеряется).
Если параметр FIRST_LOADING_HISTORY включен, будет загружены в кэш первые
NUMBER_ROWS_LOAD_HISTORY
исполненных ордеров из сетки ордеров до первого SELL/BUY ордера на выбранной паре и выставится профитный SELL/BUY ордер исходя из этих данных.
Если параметр ONE_ORDERS_OFFSET меньше OFFSET_FIRST_ORDERS_PERCENT (или OFFSET_ORDERS_PERCENT если OFFSET_FIRST_ORDERS_PERCENT не включен) или его эквивалента в OFFSET_FIRST_ORDERS_POINTS тогда переставление ордеров будет в обе стороны.
Включенный параметр DISABLE_CAPITALIZATION переводит
INTEGRITY_CONTROL_ORDERS
в hard.
Подробнее FAQ п.60
Option | Description | Type | Default |
---|---|---|---|
EXTERNAL_INDICATORS | Включить использования внешних индикаторов | boolean | false |
URL_INDICATOR | URL адрес расположения индикаторов | string | - |
STRATEGY_LABEL | Стратегия работы внешнего индикатора | string | - |
Включение внешних индикаторов отключает внутренние индикаторы бота и бот работает только по этим сигналам.
Подробнее FAQ п.17
Option | Description | Type | Default |
---|---|---|---|
NOTIFICATION_PAIR | Пары для уведомления о скачках курса (Например: btc/usd, ltc/usd или all/all для всех пар) |
string | - |
NOTIFICATION_DEVIATION_PERCENT | Насколько процентов должна скакнуть цена, чтобы сработало уведомление | number | 5 |
MONITORING_PAIR | Пары для мониторинга. (Например: btc/usd, ltc/usd . Или только валюта пары, например: btc ).Если ничего не задано (параметр не установлен) будут мониториться ВСЕ доступные пары на бирже. |
string | Все пары |
NOTIFICATION_ERROR_COUNT | Количество ошибок за 5 минут для уведомления через telegram | number | 0 |
NOTIFICATION_ORDER_IS_EXECUTED | Уведомление об исполнении профитного one orders | boolean | false |
NOTIFICATION_END_GRID | Уведомление об окончании сетки ордеров. Будет выслано уведомление если осталось меньше 3 ордеров | boolean | false |
Option | Description | Type | Default |
---|---|---|---|
LOG | Вывод лога расчета авто-параметров (FAQ п.33) |
boolean | false |
LOG_DEBUG | Вывод дебаг лога (расчет ордеров и остальная матиматика) | boolean | false |
LOG_INDICATORS | Непосредственный вывод лога индикаторов Внимание! большой поток информации в консоль - включайте только при необходимости. |
boolean | false |
LOG_STACK | Стек вывода ошибки при падении бота. | boolean | false |
LOG_TRANSPORTS | Куда писать лог: 0 - консоль 1 - файл 2 - консоль и файл |
number | 0 |
LOG_PATH | Пользовательский путь до директории с логом | string | Директория с ботом |
LOG_TREE | Сохранять логи по директориям год/месяц/день | boolean | false |
Option | Description | Type | Default |
---|---|---|---|
NUMBER_CHECK_DATA | Сколько раз перепроверять данные. Используется значение 2 и более. 0 - выключено (FAQ п.54) |
number | 0 |
AUTO_RESTART_HANGING | Авто-перезапуск воркера в случае его зависания (сообщение об ошибке "Worker does not meet" ) Это НЕ рестарт всего бота со сбросом всех данных. |
boolean | true |
RESTART_TRADER_TIME | Через сколько секунд перезапрашивать данные после сетевых ошибок (FAQ п.31) |
number | 5 |
Option | Description | Type | Default |
---|---|---|---|
TIME_ZONE | Временная зона Database Time Zones | string | Asia/Yekaterinburg |
EXCHANGE_FEE | Комиссия на сделки биржи (FAQ п.32) |
number | 0.25 |
MINIMUM_ORDER_SIZE | Минимально допустимый размер ордера при IS_ORDER_CALCULATION_BTC или IS_ORDER_CALCULATION_CURRENCY Подробней тут. | number | 0.001 |
DELAY_REQUEST_API | Задержка при выполнении запросов к api в миллисекундах (FAQ п.31) |
number | 200 |
DELAY_BETWEEN_MODULES | Задержка в секундах между выполнением последовательных модулей (опрос баланса, истории, списка ордеров и т.д) (FAQ п.31) |
number | 3 |
TITLE | Заголовок окна консоли. (Работает не на всех системах). | string | GBot |
LANGUAGE | Язык интерфейса (ru или en ) |
string | ru |
NODE_ENV | Значение production включает: 1. уведомления об ошибках на E-mail. 2. запрещает использовать conf-dev.js. 3. отключает колоризацию в логе. (+ флаг --no-color) 4. отключает TITLE |
string | dev |
BOT_TRADE | Разрешить установку ордеров и торговлю | boolean | true |
URL_STATISTICS | URL адрес сервера куда будет отправлена статистика в формате post json (FAQ п.46) |
string | - |
REPEAT_COMMAND_ACTION | Будет несколько раз дублировать команду для установки/переоткрытия ордеров чтобы максимально полно выполнить команды /sell_all, /buy_all, stop_loss и т.д | boolean | false |
SAVE_STATE | Сохраняет внутреннее состояние в файл при завершении работы. При перезапуске восстанавливается из файла, игнорируя первую ступень инициализации и пропуская все стартовые расчеты | boolean | false |
SAVE_STATE_PATH | Путь куда сохранять SAVE_STATE | string | Директория с ботом |
TIME_SESSION | Время сессии. Формат startTime/endTime (FAQ п.63) | string | - |
HIDE_SECRET_KEY | Скрывает приватные ключи при передачи в web api | boolean | false |
Важно:
- Если вы изменили LANGUAGE, отправте команду
/start
в telegram бота для инициализации нового языка в telegram.
Для включения Demo модуля и эмуляции торгов установите параметр EXCHANGE=demo
.
Option | Description | Type | Default |
---|---|---|---|
DEMO_EXCHANGE | Выбор биржи для эмуляции | string | - |
BALANCE_COIN | Виртуальный баланс первой монеты | number | - |
BALANCE_COIN_TWO | Виртуальный баланс второй монеты | number | - |
Signal | Actions |
---|---|
SIGINT | Shutdown process |
SIGHUP | Shutdown process |
SIGTERM | Shutdown process |
SIGUSR2 | Cycles Auto Exit = 1 |
Смотрите инструкцию к хостингу как запускать приложения на Node.js.
npm start
или
node ./build/server
Создайте start.bat файл, укажите в нем необходимые параметры и запускайте этот файл.
echo off
SET TELEGRAM_TOKEN=110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw
SET TELEGRAM_ID=12345678
SET DEPOSIT_LIMIT=80%%
... остальные параметры ...
cmd /K node ./build/server
Важно!
Параметры процентов для Windows задаются двойным знаком процента (%%)
Создайте start.sh файл, укажите в нем необходимые параметры и запускайте этот файл.
#!/bin/sh
export TELEGRAM_TOKEN=110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw
export TELEGRAM_ID=12345678
export DEPOSIT_LIMIT=80%
... остальные параметры ...
node ./build/server
/start
/info - список всех команд
/version - Версия бота
/params - Параметры которые можно менять через Telegram
/params_no_comment - Тоже что /params только без комментариев
/martin [cache] - Теоретический расчет ордеров Мартингейла (параметры берутся из конфига).
(cache - необязательный параметр, указывающий включить в расчет сетки
данные ордеров из кэша истории)
/ticker coin_name - Показывает котировку пары coin_name
/trade - Переключает на указанную торговую пару
/stop [codeExit] - Завершение работы приложения. codeExit - необязательный код выхода.
/sell_all - Продать по рынку немедленно. (Внимание: Продажа будет без потверждения!)
/buy_all - Купить по рынку немедленно. (Внимание: Покупка будет без потверждения!)
/restart - Горячая перезагрузка GBot Trader
/stats - Статистика торговли
/note [ignore text] - Текст в этой строке будет проигнорирован. Можно использовать как коментарий.
/stoplossfloating - Отображает информацию о StopLossFloating (Плавающий StopLoss)
/stoploss - Отображает информацию о StopLoss
/buystop - Отображает информацию о BuyStop
/trail - Отображает информацию о Trailing Stop
/trail_grid - Отображает информацию о Trailing Grid
/getbalance - Отображает стартовый баланс
/setbalance number - Устанавливает стартовый баланс
/addbalance number - Добавляет монет к стартовому балансу
DEBUGGER_ONE_ORDERS=true - включает вывод дебаг информации для профит ордера (единоразово)
DEBUGGER_ORDERS=true - включает вывод дебаг информации для ордеров из сетки (единоразово)
DEBUGGER_SYSTEM=true - включает вывод дебаг информации о расчете баланса и другое. Значение true или 1 - вывод неприрывный, 2 - только при изменении. Для выключения false
BTC: 1AMmeM2ERD6nd1K1y5Zta2BvfugHt5UjPo
LTC: LTSkBKFN6i1oy8pnBdpAR71xJTt9UU51sH