Git Product home page Git Product logo

e-botfutures's Introduction

E-BotFutures

Bot for trading on USDⓈ-M Futures on the Binance, Commex and Bybit exchanges.

Сайт ботов: https://ebot732.github.io/

E-BotFutures объединил функции BinFutures, BybitFutures и CommexFutures.

Теперь в одном боте можно выбирать биржу и работать с ней.

Ссылка для скачивания бота:
https://github.com/ebot732/E-BotFutures/releases/download/E-BotFutures-30/E-BotFutures-30

При регистрации на бирже Bybit по рефссылке использование бота бесплатное.
Реф ссылка для регистрации на Bybit: https://www.bybit.com/invite?ref=8E183W
Реф ссылка для регистрации на Commex: https://accounts.commex.com/en/register?ref=NUC4IQEU

Бот для торговли на Binance Futures USDⓈ-M, на Bybit фьючерсами (деривативами) USDT Perpetual и на Commex Futures USDT с использованием стратегии Мартингейла (усреднения- увеличения позиции с целью улучшения средней цены входа). Может работать и в LONG и в SHORT.
Чтобы не использовать усреднения, можно:

  • выставить limit_aver в 0,
  • или включить использование stop_loss, установить его срабатывание до усреднения и бот будет закрывать позицию в минус, если курс пойдет не в нужную сторону,
  • или установить значение min_bal_perc на 100% и бот не будет выставлять усредняющий ордер.

Бот может работать в одном из 4-х режимов:

  1. Режим СТАНДАРТНЫЙ- перебор пар для выбора подходящей по всем заданным условиям:
  • объем торгов за 24 часа в USDT больше указанного в настройках;
  • объем торгов последней свечи или предпоследней больше объема выбранной дальней свечи на %, указанный в настройках;
  • изменение текущей цены по отношению к цене открытия дальней свечи:
    с подрежимом delta_start1
  • при LONG рост цены больше, чем на указанный %,
  • при SHORT падение цены еще больше, чем на указанный %,
    с подрежимом delta_start2
  • при LONG падение цены еще больше, чем на указанный %,
  • при SHORT рост цены больше, чем на указанный %.
  1. Режим SUPER+ASSET- бот работает с парой без каких-либо условий до отключения или истечения таймера time_stop_sa.

  2. Режим CONTROL_AUTO- режим удержания выбранной по СТАНДАРТНЫМ параметрам пары всегда в позиции и работа с ней до истечения указанного таймера от старта позиции в этом режиме, или достижения стоп_цены (изменения на указанный % от цены старта).

  3. Режим MOST_CHANGED- перебор пар для выбора подходящей по следующим условиям:

  • объем торгов за 24 часа в USDT больше указанного в настройках,
  • курс пары за последние 24 часа изменился в заданном коридоре (с выбором ближе к максимальному или минимальному значению коридора),
  • или, вместо select_delta24 бот может смотреть объем последних 2-х свечей в коридоре измен цены за последн 24ч и выбрать пару с большим изменением.

Режимы super_asset, control_auto и most_changed взаимоисключающие, т.е. при выборе одного из режимов другие режимы отключаются. Если не выбран ни один из режимов, бот будет работать в стандартном режиме. После выбора монеты в одном из режимов бот:

  • покупает ее (встает в LONG) маркет-ордером (старт-ордер) на указанный объем (при работе в SHORT продает),
  • выставляет купленные монеты на продажу (для закрытия позиции в плюс) лимитным sell-ордером (FIX-ордером) по курсу на указанный процент прибыли выше курса покупки (в SHORT-е на покупку лимитным buy-ордером) ,
  • выставляет лимитный buy-ордер (усред-ордер) на покупку этой же монеты по курсу ниже предыдущей покупки на указанный процент (на случай падения курса монеты и уменьшения средней цены входа в сделку)(в SHORT-е лимитный SELL-ордер на случай повышения курса).

Затем, в зависимости от того, какой ордер исполнился (примеры для LONG, для SHORT- наоборот):

  • если исполнился sell-ордер (FIX-ордер), бот фиксирует прибыль и отменяет buy-ордер (усред-ордер) для усреднения(если buy-ордер при этом успел исполниться частично или полностью- выставляется sell-ордер), затем снова ищет подходящую пару,
  • если исполнился buy-ордер (усред-ордер), бот отменяет sell-ордер (FIX-ордер),выставляет новый sell-ордер (FIX-ордер) уже с новым количеством монет и по новой цене(средняя цена входа + указанный процент прибыли), выставляет новый buy-ордер (усред-ордер),
  • если buy-ордер (усред-ордер) исполнился больше, чем наполовину и прошло более 5-ти минут после этого , бот отменяет sell-ордер (FIX-ордер), и выставляет новый sell-ордер (FIX-ордер) уже с новым количеством монет и по новой цене(средняя цена входа + указанный процент прибыли).

Рекомендуется E-BotFutures установить на VPS сервер ubuntu 20/22 и запускать в SCREEN (чтобы бот не отключался при разрыве SSH-соединения с VPS), настроить telegram-бот и канал, куда будет приходит информация о работе бота.

  • Остановка бота командой: ctrl+c (важно!: не останавливайте бот в момент совершения сделок, возможна ошибка записи в базу данных бота).
  • В white_list (список пар для работы) можно внести от 1 пары до нескольких сотен пар, главное, чтобы котируемая валюта была USDT (ETHUSDT, BTCUSDT, XRPUSDT и т.д.),
  • min_order должен быть больше, разрешенного биржей.
  • При работе с парами к USDT активы должны находится на фьючерсном балансе USDT, если работаете с парами к BUSD, активы должны находится на фьючерсном балансе BUSD.
  • Для прокрутки экрана терминала вверх в SCREEN есть команда: ctrl+a, esc и далее стрелка вверх. Для выхода из этого режима: esc, esc.

Для работы E-BotFutures на Binance можно использовать BNB для оплаты комиссий биржи (нужно перевести нужное количество BNB на фьючерсный счет в лк binance) и следить за наличием BNB на Futures аккаунте.

После закрытия каждой сделки E-BotFutures:

  • отправляет сообщение в telegram-канал,
  • каждую минуту в описание канала отправляет информацию об открытой позиции,
  • в полночь в канал отправляет суточный отчёт о работе. Если не было прибыли за сутки, то суточный отчёт в telegram не придёт. Точные данные по прибыли наблюдать лучше в лк binance, так как бот показывает приблизительные значения.

Настройки бота (в основном описано для LONG, для SHORT применяется наоборот):

  • fix_perc: процент повышения цены для продажи при LONG или падения для SHORT,
  • step_aver: ввод step_aver1, step_aver2, ... step_aver7 шагов изменения цены для выставления усредов,
  • qty_aver: ввод qty_aver, кратного увеличения объема усредняющего ордера в формате 7 чисел через пробел (например, 1 1.2 1.3 1.4 1.5 1.6 2),
  • limit_aver: разрешенное количество усреднений (от 0 до 30),
  • min_order: минимальная покупка (продажа) в котируемой валюте (например, в паре ETH/USDT это USDT, ставить не меньше, чем разрешено биржей, например 6, и учитывайте, что в зависимости от выбранного leverage (кредитного плеча) будет использоваться меньше USDT, например: если min_order указан 20, а leverage указан 10, то для ордера будет использовано 20/10=2 USDT),
  • min_bal_perc: минимальный процент от депозита, ниже которого E-BotFutures не будет выставлять усредняющий ордер,
  • delta_start: процент изменения цены для входа в сделку, нужно выбрать delta_start1 или delta_start2:
  • delta_start1: для LONG на сколько % должен подняться курс от цены открытия выбранной свечи до текущей для старта (для SHORT пишем со знаком минус, на сколько % должен упасть курс от цены открытия свечи до текущей),
  • delta_start2: для LONG пишем со знаком минус, на сколько % должен упасть курс от цены открытия выбранной свечи до текущей для старта (для SHORT на сколько % должен подняться курс от цены открытия свечи до текущей),
  • delta_vol_start- на сколько % должен увеличиться объем торгов последней закрытой свечи по сравнению с объемом выбранной дальней свечи,
  • control_auto: режим удержания подходящей по стандартным параметрам пары всегда в позиции до достижения условий по изменению цены или времени,
  • delta_stop: на сколько % должна изменится цена для возврата после закрытия позиции в перебор-поиск пары,
  • time_stop_ca: время удержания пары всегда в позиции после старта из перебора-поиска пары в минутах,
  • most_changed: режим выбора в коридоре измен цены за последн 24ч,
  • delta24_min: min изменение цены в коридоре для most_changed,
  • delta24_max: max изменение цены в коридоре для most_changed,
  • select_delta24: выбирать ближе к max или min для most_changed,
  • delta_vol_most_ch, вместо select_delta24 смотреть объем последних 2-х свечей в коридоре измен цены за последн 24ч и выбрать пару с большим изменением,
  • delta_vol_mc_interval, период свечей для использования в delta_vol_most_ch,
  • stop_loss: на сколько % должен измениться курс монеты от средней цены входа для закрытия в минус,
  • use_stop_loss: включить использование stop_loss для закрытия в минус (да/нет), если усред-ордер будет частично исполнен, то stop_loss не сработает ,
  • pause_after_stop_loss: ставить E-BotFutures на паузу после срабатывания stop_loss и закрытия позиции по рынку или продолжить работу,
  • send_aver_message: включение/выключение отправки сообщений в телеграм канал о каждом исполненном усредняющем ордере и о старте позиции,
  • check_last_pair: проверять пару после закрытия позиции на соответствие условиям для входа и продолжения работы с ней, или сразу возвратиться в перебор пар,
  • completed: поставить бота на паузу при закрытии очередной сделки (1-вкл/0-выкл),
  • kline_interval: интервал свечей для анализа (1m, 3m, 5m, 15m, 30m, 1h, 2h, 4h, 8h, 12h, 1d, 3d),
  • interval_limit: какое количество свечей анализируем (если следим за изменением цены за последние 3 минуты, то можно выбрать kline_interval 1m и interval_limit 3),
  • super_asset: режим для торговли парой без каких-либо условий до отключения или истечения таймера time_stop_sa, при этом пары из white_list не будут работать (в терминале вводится командой -super_asset_add в формате ETHUSDT),
  • time_stop_sa: время удержания пары в SUPER_ASSET, после которого при закрытии позиции бот вернется в режим СТАНДАРТНЫЙ, в минутах,
  • manual_aver: команда для ручного усреднения по рынку, не дожидаясь цены лимитного усред-ордера, но не сработает, если усред-ордер, выставленный ботом, исполнен частично ('PARTIALLY_FILLED'),
  • fix_loss: команда для закрытия открытой позиции по рынку,
  • clear: сброс из базы данных сведений об открытых ботом ордерах,
  • leverage: размер кредитного плеча от 1 до 120 (оно разное для разных пар, смотрите в лк биржи),
  • marginType: ISOLATED или CROSSED
  • direction: LONG или SHORT (менять направление работы LONG/SHORT рекомендуется в терминале и только при отсутствии открытых позиций)
  • clear_profit: сброс из базы данных сведений о прибыли,
  • t_sleep: при получении от биржи ошибки о превышении лимита api-запросов, можно выбрать значение паузы в секундах (например: 0.5, 1, 3),
  • t_sleep_perebor: пауза перед повтором перебора монет для выбора подходящей для старта (по умолчанию 30 сек),
  • white_list: список пар, которые бот будет использовать для анализа и выбора подходящей для открытия сделки,
  • api_key: открытый api-ключ от биржи с разрешением на фьючерсную торговлю,
  • api_secret: секретный api-ключ от биржи,
  • botID: api телеграм бота полученный от @BotFather (пример: 5656544920:AAHrXhjhujhfdf7RPJlheqJXEulBW),
  • channelID: ID канала telegram бота для уведомлений, полученное от @userinfobot (пример: -1001656543985),
  • tguserid: ID основного user-a телеграм, полученное от @userinfobot (пример: 346549043)
  • licens_key: лицензионный ключ для продления периода работы бота, полученный от разработчика,
  • quoteVolume24hr: минимальный 24-х часовой объем торгов в котируемой валюте (в паре ETH/USDT это USDT), чтобы бот взял пару из white_list в работу.

При изменении marginType, direction, leverage убедитесь, что нет открытых позиций

Здесь E-BotFutures представлен для ознакомления и использования в течении пробного периода до 01 ноября 2023 г. Если Вы хотите увеличить время работы до 1/6/12 месяцев: напишите в телеграм, по данным, указанным при запуске E-BotFutures. При использовании бота на тестовой бирже срок работы 2 недели после запуска.

Если хотите испытать E-BotFutures на фьючерсной тестовой бирже Binance- переходите на: https://testnet.binancefuture.com/ru/futures/ Где получите тестовые api-ключи, пропишите их в настройках бота, в use_testnet запишите: да, и экспериментируйте.

E-BotFutures поставляется по принципу «как есть». Никаких гарантий не прилагается и не предусматривается. Вы берете на себя весь риск относительно использования этого бота и должны понимать, что торговля на криптобиржах сопряжена с повышенным риском, и подходить к управлению рисками со всей ответственностью.

Пояснения по установке, запуску, настройке бота и телеграм, screen, ошибке на VPS utf-8.

Иногда бот может получить от биржи неправильные ответы на api-запросы и выдавать ошибку, поэтому рекомендуется периодически заглядывать в лк binance, и, если бот показывает открытые ордера а в лк binance их нет (или наоборот), нужно использовать команду -clear, чтобы сбросить в боте данные о неактуальных ордерах. Редко, но бывает, что сервера telegram кратковременно недоступны, и в этот момент сообщение от E-BotFutures может не доходить в канал бота. Для управления ботом на VPS сервере с телефона можно использовать приложение JuiceSSH (или другое для SSH-соединения). Если возникла ошибка 'code: -4061' «Order’s position side does not match user’s setting», значит биржа не дает открыть позицию, так как у Вас установлен хедж вариант торговли «Hedge Mode». Боту нужен односторонний режим "One-way".

Если при запуске бота на VPS выскакивает ошибка типа : "UnicodeEncodeError: 'latin-1' codec can't encode characters...", то нужно установить locale LANG=ru. Решение №1: dpkg-reconfigure locales Далее выбираем все ru_RU.xx, и консоль по умолчанию в en_US.UTF-8 Решение №2: sudo apt-get install language-pack-ru sudo update-locale LANG=ru_RU.UTF-8 sudo apt-get install --reinstall locales

Установка и запуск E-BotFutures:

  • на VPS-сервере ubuntu 20 или 22 создайте новую папку, например, BinFutures (mkdir BinFutures)
  • зайдите в эту папку (cd BinFutures)
  • перенесите в эту папку файл бота E-BotFutures-30 (или скачайте с github командой: wget https://github.com/ebot732/E-BotFutures/releases/download/E-BotFutures-30/E-BotFutures-30)
  • откройте screen-сессию (например: screen -S BinFutures)
  • дайте права запуска файлу (команда: chmod 755 E-BotFutures-30)
  • запустите E-BotFutures (команда: ./E-BotFutures-30)
  • команда для остановки бота: ctrl+c
  • после запуска бота введите свои параметры: api_key и т.д.
  • откорректируйте, при необходимости, настройки
  • жмите ENTER и наблюдайте
  • для выхода из SCREEN перед закрытием SSH-сессии используйте команду ctrl+a, d
  • для входа в screen работающего бота используйте команду: screen -x BinFutures

Для удобства настройки E-BotFutures используется телеграм бот, которого нужно сделать админом в телеграм канале. Необходимые данные телеграм бот возьмет из БД E-BotFutures и будет управляться через чат telegram-Botа. (https://github.com/ebot732/BinFutures/blob/main/README_telegram_uprav_bot.md)

Табличка BinFutures_averaged.xls (https://github.com/ebot732/BinFutures/raw/main/table/BinFutures-19_averaged.xls) показывает приблизительные расчёты усреднений и цены ликвидации, точные данные смотрите в лк binance.

         Скриншоты

Screenshot

=================================================================

Screenshot

==================================================================

Screenshot

==================================================================

Screenshot

==================================================================

==========================
время |BUY/SELL| статус |кол-во| пара | сумма | цена | id ордера на бирже
Стартовый и усредняющие ордера в консоли выделены зеленым цветом.


Ордер (FIX) для закрытия сделки по стратегии выделен фиолетовым цветом.


Строка состояния бота выделена желтым цветом.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.