Написать торговый робот для binance

Простой торговый робот для биржи Binance без индикаторов

Бот исключительно в демонстрационных целях. Когда я писал своего первого бота мне не хватало чего-то такого.

Идею для торговой стрегии взял из книги Ларри Вильямса «Долгосрочные секреты краткосрочной торговли» и слегка упростил. Он называет это прорыв волатильности. В чём суть:
— считаем разницу между хай и лоу предыдущей свечи
— к цене открытия текущей свечи прибавляем разницу из предыдущего пункта, это и будет ценой для входа в позицию
— если цена достигла этой цены покупаем
— выход на октрытии следующего бара

Всё. Максимально просто.

Теперь ещё раз то же самое на примере.
— Хай прошлой свечи 251 USDT, лоу 248 USDT. Разница 3 USDT.
— Открытие текущей свечи 250 USDT. Цена входа 253 USDT.
— Как только цена достигла 253 USDT покупаем 0,1 BNB
— На следующем открытии свечи выходим. Если цена выше, то заработали что-то, если нет, то нет.

Торговая пара BNB/USDT с биржи binance.

В боте я рассматриваю минутный таймфрейм, чтобы можно было быстро посмотреть что и как работает. График цен можно смотреть на самой бирже Можете поменять на любой на ваше усмотрение.

Торговля идёт фиксированным лотом 0,1 BNB. Можно поменять в переменной `quantity`.

Что нужно для работы:
— установить все зависимости из файла `requirements.txt`
— зарегистрироваться на бирже https://www.binance.com и получить ключи для api и заполнить глобальные переменные `BINANCE_API` и `BINANCE_SECRET`
— залогиниться в тестовой сети testnet.binance.vision/ через github, тоже получить ключи и заполнить переменные `TEST_BINANCE_API` и `TEST_BINANCE_SECRET`
— запустить файл `barackbot.py`

В консоли должны увидеть что-то такое:

Opened connection
Free USDT is 9976.63802, free BNB is 1000.1
Entry price is 249.36929999999998 USDT, quantity is 0.1 BNB
Time: 2021-03-03 08:00:00 Open: 249.10500000 High: 249.15930000 Low: 249.09580000 Close: 249.15880000 Volume: 48.44700000
Time: 2021-03-03 08:00:00 Open: 249.10500000 High: 249.32950000 Low: 249.09580000 Close: 249.32760000 Volume: 415.72900000
Buying 0.1 BNB at 249.3693 USDT
Buy order info: <'symbol': 'BNBUSDT', 'orderId': 111111, 'orderListId': -1, 'clientOrderId': '4K1iEdjslkdfjIjhpNb2', 'transactTime': 1614758407134, 'price': '249.36930000', 'origQty': '0.10000000', 'executedQty': '0.00000000', 'cummulativeQuoteQty': '0.00000000', 'status': 'NEW', 'timeInForce': 'GTC', 'type': 'LIMIT', 'side': 'BUY', 'fills': []>
Time: 2021-03-03 08:00:00 Open: 249.10500000 High: 249.49750000 Low: 249.06770000 Close: 249.49740000 Volume: 733.67700000
Time: 2021-03-03 08:00:00 Open: 249.10500000 High: 249.50000000 Low: 249.06770000 Close: 249.22690000 Volume: 817.82700000
Time: 2021-03-03 08:00:00 Open: 249.10500000 High: 249.50000000 Low: 249.06770000 Close: 249.31670000 Volume: 882.20500000
Time: 2021-03-03 08:00:00 Open: 249.10500000 High: 249.66020000 Low: 249.06770000 Close: 249.40270000 Volume: 3068.25600000
Time: 2021-03-03 08:00:00 Open: 249.10500000 High: 249.66020000 Low: 249.06770000 Close: 249.48930000 Volume: 3087.31000000
Time: 2021-03-03 08:00:00 Open: 249.10500000 High: 249.66020000 Low: 249.06770000 Close: 249.35270000 Volume: 3347.31700000
Time: 2021-03-03 08:00:00 Open: 249.10500000 High: 249.66020000 Low: 249.06770000 Close: 249.35280000 Volume: 3348.73900000
Stop order. Open price is 249.36350000 USDT
Loss is -0.002169999999750871 USDT
Stop order info: <'symbol': 'BNBUSDT', 'orderId': 111112, 'orderListId': -1, 'clientOrderId': 'Qw3zLdoIBqdf98df', 'transactTime': 1614758462874, 'price': '0.00000000', 'origQty': '0.10000000', 'executedQty': '0.10000000', 'cummulativeQuoteQty': '24.93476000', 'status': 'FILLED', 'timeInForce': 'GTC', 'type': 'MARKET', 'side': 'SELL', 'fills': [<'price': '249.34760000', 'qty': '0.10000000', 'commission': '0.00000000', 'commissionAsset': 'USDT', 'tradeId': 35189>]>
Free USDT is 9976.63585, free BNB is 1000.1
Entry price is 249.65974999999997 USDT, quantity is 0.1 BNB
Time: 2021-03-03 08:01:00 Open: 249.36350000 High: 249.42970000 Low: 249.30350000 Close: 249.39350000 Volume: 66.42300000
Time: 2021-03-03 08:01:00 Open: 249.36350000 High: 249.44160000 Low: 249.30350000 Close: 249.42620000 Volume: 88.59900000
Time: 2021-03-03 08:01:00 Open: 249.36350000 High: 249.44160000 Low: 249.30350000 Close: 249.42300000 Volume: 100.39700000

Читайте также:  Доходность трежерис американских 10 летних

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

Источник

Роботы для Binance

В этом посте поговорим о том как запускать торговых роботов для биржи Binance. Делать это будем при помощи нашей открытой и бесплатной библиотеки для алготрейдинга — OsEngine.

Скачать библиотеку и роботов можно здесь: http://o-s-a.net/os-engine.html

Для тех кто пришёл из поисковой системы небольшая справка. OsEngine – полный комплекс программ необходимых алготрейдеру. Скачивание данных, тестирование и оптимизация и торговля. Всё полностью бесплатно и открыто. Мы делаем софт для алгоритмических фондов и алготрейдеров. В этом процессе и родилась библиотека. Пользуйтесь. У нас есть обучение и поддержка для начинающих программистов. Не начинающие – сами всё очень быстро поймут.

1) Настраиваем Апи на бирже

2) Подключаем торговых роботов к Binance

3) Личное мнение о торговле на Бинанс

1. Настраиваем Апи на бинанс

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

Находим блок настроек для Api и жмём на кнопку “Api Setting”.

В этом окне нам предстоит как-то назвать наш будующий ключ и нажать на кнопку «Create new key». Я не стал ничего выдумывать и назвал наш ключ “testKey”.

После чего перед нами открывается окно в котором мы должны подтвердить наши действия:

Сначала подтвержаем через СМС, на номер телефона который привязан к аккаунту. А чуть позже и через почту. Вам придёт специальное письмо от биржи в котором Вы должны подтвердить что это были Вы. Если мне память не изменяет, там должно быть что-то вроде надписи «Confirm».

После того как мы это всё сделали, сайт нас оповестить о том что ключи созданы и Вам разрешено торговать через внешнее подключение:

Однако это ещё не всё! Для того чтобы узнавать балансы и иметь возможность выставлять и снимать ордера, Вам нужно это отдельно указать.

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

2. Жмём на кнопку редактировать, которая здесь зачем-то названа «Edit»

Разрешаем к торговле все площадки.

После этого жмахаем на кнопку «Save» и второй раз проходим процедуру верификации. Через смски и почту.

На этом настройка сайта закончена и можно уже переходить к торговым роботам.

2 Подключаем торговых роботов к Binance

Идём к экзешнику и запускаем его:


В главном меню выбираем программу Bot Station:

1. Переходим во вкладку управления.

2. Жмём на «Connection Servers»

3. В открывшемся окне выбираем Binance, щёлкая на него ЛКМ, 2 раза.

После этого перед нами должно открыться окно настроек сервера Binance:

Вводим сюда ключики, которые мы с таким трудом добывали в первой части данного гайда. Если Вы их сохранили – хорошо, закрываем это окно. Не сохранили сразу после создания. Возвращаемся в главу 1.

Теперь наконец-то можно перейти к созданию роботов:


1. Жмём на кнопку Add bot (создать робота).

2. Выбираем робота которого Вы хотите включить. Называете его и жмёте на кнопку Принять.

Далее настраиваем подключаемые данные:


И вуаля:

Можно торговать роботами на бинанс!

3 Личное мнение о торговле на Бинанс

Не с проста эта биржа так быстро выстрелила. Всем понравилось как она работает.

Не знаю как там с технологичностью, но на ней минимум косяков с работой Апи и проблем с выставлением заявок. Это конечно не Плаза 2, но уже и не Кракен. В общем, ядро готово к приёму большого количества подключений и торгует НОРМАЛЬНО. Нормально для биржи криптовалют.

Читайте также:  Как узнать есть ли у человека биткоины

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

Также частенько они меняют чего-то в ядре и Апи. Иногда «планово» не работают, когда что-то делают. Нужно следить за их соц-сетями. Там они пишут про это. Так же что-то может отвалиться после этого и у нас, несколько случаев уже было. Пишите на форум если что-то перестало работать.

Источник

Как создать бота для торговли на бирже Binance

В данной статье мы расскажем вам о том, как создать и настроить вашего первого бота. Данная инструкция поможет вам лучше разобраться в интерфейсе и параметрах настройки. Итак, приступим:
Регистрируемся и логинимся в https://revenuebot.io/, переходим во вкладку «Bots» (https://app.revenuebot.io/office/#/bots/)

Раскрываем меню «CREATE NEW BOT»…

Идентификация, API и кошелек бота

Bot name: Название бота (чаще всего в названии используются характеристики: биржа, торговая пара криптомонет, алгоритм работы и тп.)

Exchange: Выбираем биржу в выпадающем списке (рассмотрим на примере Binance)

Как только вы выберете биржу вам станут доступны следующие поля для заполнения:

Pair: Выбрать торгуемую пару криптомонет. О том, как выбрать эффективную торговую пару подробно написано тут — «Как подобрать эффективную торговую пару криптомонет»

API key: Выбрать API ключ из ранее созданных, либо создать новый.

Depo: Выбрать виртуальный кошелек из ранее созданных, либо создать новый, где ввести:

Commission: Выбрать вариант комиссии, которая будет применятся биржей. Данная настройка актуальна только для биржи Binance, так как на ней возможна оплата комиссии в третьем токене, который не участвует непосредственно в текущей торговле (BNB токен).

Для использования такого вида комиссии, необходимо активировать ее в аккаунте биржи Binance. Рекомендуем всегда использовать этот вид оплаты комиссии торговли на бирже Binance, так как это дешевле.

Необходимо лишь следить, чтобы BNB был на аккаунте. Для этого наш бот проверяет баланс BNB токена перед каждым пуском. Если баланс токена меньше необходимого, то бот не запускается в работу и отправляет нотификацию пользователю с информацией о необходимости пополнить баланс BNB токена для начала торговли.

Алгоритмы работы бота и его настройки

Algo: Выбрать алгоритм работы бота.

Бот использует API интерфейс бирж для выставления ордеров по выбранному алгоритму и отслеживания их выполнения.
На данный момент существует два алгоритма работы бота RevenueBot:

После выбора алгоритма работы бота, пользователю предлагается воспользоваться шаблонами настройки данного алгоритма: Light trade mode, Normal trade mode, Extreme trade mode.

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

Rate cover: Процент перекрытия изменения цены для расчета сетки ордеров. Данная настройка определяет в процентах отступ последнего ордера в сетке ордеров.

First order indent: Отступ в процентах первого ордера в сетке ордеров.

Price rate to use: Выбор рейта на бирже, от которого вести расчет сетки ордеров. Это могут быть рейты buy, sell, average.

Orders matrix, martingale: Сетка ордеров и мартингейл.

Тут задается количество ордеров в сетке и мартингейл (на сколько процентов каждый следующий ордер в сетке будет весомее предыдущего). Кликнув на view orders matrix, Вы сможете увидеть рассчитанную сетку ордеров.

Profit: Тут задаем в процентах профит, который будет заложен ботом при расчете цены завершающего цикл ордера.

Profit coin: Данная настройка доступна только для алгоритма short. Задает в какой из торгуемых монет будет профит.

Читайте также:  Claymore nvidia ethereum настройки

Cycle up: Бывает, что бот выставил сетку ордеров, а цена ушла в другую сторону. Получается, что нужно ждать пока цена не вернется, а ждать можно долго.

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

Sleep before cancel orders for cycle up: Тут задается задержка в минутах, перед тем как начать отменять текущую сетку ордеров, когда срабатывает настройка Cycle up.

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

Sleep before cycle up after cancel orders: Тут задается задержка в минутах перед выставлением новой сетки после отмены предыдущей сетки ордеров.

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

Sleep after end of cycle: Тут задается задержка в минутах перед тем как начать новый цикл после завершения текущего цикла.

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

Дополнительные настройки

add revenue to depo: При получении прибыли можно добавлять ее к депозиту который использует бот, таким образом увеличивая депозит.
При включенной настройке весь профит от работы бота зачисляется на виртуальный кошелек, который использует данный бот.

logarithmic scale for orders: Обычно сетка ордеров рассчитывается так, что все ордеры в ней расположены линейно, на одинаковом расстоянии друг от друга по всему перекрытию цены.

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

Плотность ордеров можно настроить для разных ситуаций по разному с помощью коэффициента logarithmic factor увеличивая или уменьшая его.
Для большинства случаев подойдет значение logarithmic factor = 1.5.

Кликнув на «view orders matrix», Вы сможете увидеть рассчитанную сетку ордеров.

cost limit: Используйте эту настройку, чтобы не начать покупать слишком дорого и не начать продавать слишком дешево.
Задает максимальную цену, выше которой бот не начнет цикл для алгоритма Long и минимальную цену ниже которой бот не начнет цикл при алгоритме Short.

fix first partial order with profit: Бывает, что первый ордер в сетке частично выполнился, но цена пошла в другую сторону. Такое случается, когда бот оперирует большим депо и ордеры в сетке довольно объемные, даже самый первый.

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

Фильтры для старта бота

Мы рекомендуем всегда настраивать фильтры для старта бота. Они необходимы для того, чтобы бот начал торговлю в самое выгодное время, основываясь на выбранном алгоритме торговли и ваших предпочтениях. Подробнее читайте тут: «Фильтры для старта бота. Описание и настройка.»

Уведомления

Выставляем необходимые уведомления: WEB, E-mail, SMS, Telegram

И нажимаем «Create New Bot».

Поздравляем! Вы создали своего первого бота для биржи!

Источник

Оцените статью