Трейдинг-бот для криптовалютной биржи - Binance Bot v2.5

fridayman

Client
Регистрация
25.03.2018
Сообщения
146
Благодарностей
241
Баллы
43
Binance Bot - это первый бесплатный криптовалютный трейдинг-бот на ZennoLab, написанный в качестве обучающего материала и распространяемый в открытом виде (без ограничений на использование и редактирование).

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

AdobeStock_4449190735.jpeg


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

Пошаговый алгоритм:

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

Так, например, при активации чекбокса "Отслеживать историю исполненных ордеров..." (см. 1й скриншот настроек п.4) и при наличии ранее исполненной сделки на бирже по выбранной паре - бот подхватит эти данные и начнет отслеживать тренд по ним. Если же история по сделкам в личном кабинете пуста и не выбран указанный параметр, то бот будет ориентироваться на выбранное в настройках действие (см. 1й скриншот настроек п.3), чтобы создать стартовую позицию в принудительном порядке. В последнем случае, при указании обеих действий сразу, по умолчанию и в приоритетном порядке будет произведена попытка открыть стартовый ордер именно на покупку по текущему курсу.

92664

* обязательное поле
* обязательно для стартовой позиции
* необязательное поле

2. Теперь, когда бот зафиксировал нашу активность на графике, он будет всегда совершать зеркальные и поочередные действия: если была сделка на покупку, значит следующей будет продажа. И наоборот. Соответственно, исходя из действия (BUY/SELL) будет учитываться и направление отслеживания: покупаем на просадке, продаем при подъеме - от цены последней сделки. При необходимости можно ограничить направление отслеживания. Это удобно, если Вы решите совмещать ручную и автоматизированную торговлю.

3. Выставлять сумму сделки нужно ориентируясь именно на ту валюту, по которой предстоит расчет. Например, если предстоящая сделка - BUY (покупка), то для расчета потребуется квотируемая валюта (BTC/USDT), если же SELL (продажа), то распоряжаться бот будет имеющимися средствами в базовой валюте (BTC/USDT).

Существует два режима расчетов (см. 1й скриншот настроек п.5): исходя из свободного депозита по расчетной монете и из полученных средств в последней сделке. В первом случае, бот ориентируется на средства по одной из монет в рамках торговой пары, находящиеся на спотовом счету и не занятые в лимитных ордерах на бирже. Во втором случае, действует ограничение на тот объем токенов, которые были получены в последней сделке, и их также можно дробить, выставляя определенный процент для суммы сделки (см. 1й скриншот настроек п.6).

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

4. Как только бот достигает необходимого значения по котировкам, который был рассчитан исходя из указанного параметра "Коридор цены" (см. 1й скриншот настроек п.2), сделка происходит не сразу. Вместо этого активируется режим "трейлинг-стоп", который будет отодвигать новую цель, устанавливая ее на достигнутом прогрессе, а подхватит ее на разовороте, если цена скорректируется в пределах 70%-80% всего пути отслеживания. Это позволяет преодолевать мелкие колебания и ловить тренд на более глубоких просадках и стремительных подъемах рынка.

5. Каждую новую сделку, совершенную ботом, можно отслеживать в моменте через Telegram.

92303



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

92304


* обязательное поле
* необязательное поле

Бот работает с использованием базы данных sqlite 3, для ее работы потребуется соответствующий драйвер - найти можно тут (sqliteodbc_w64.exe для 64-разрядной Windows)

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

Вложения

Для запуска проектов требуется программа ZennoPoster.
Это основное приложение, предназначенное для выполнения автоматизированных шаблонов действий (ботов).
Подробнее...

Для того чтобы запустить шаблон, откройте программу ZennoPoster. Нажмите кнопку «Добавить», и выберите файл проекта, который хотите запустить.
Подробнее о том, где и как выполняется проект.

Последнее редактирование:

Gomer

Client
Регистрация
26.09.2016
Сообщения
51
Благодарностей
26
Баллы
18
Круто! Долгожданная обнова вышла!
 
  • Спасибо
Реакции: fridayman

Zedx

Client
Регистрация
12.06.2018
Сообщения
929
Благодарностей
591
Баллы
93
Почему не в конкурсных?

UPD. Вспомнил, была в прошлом конкурсе )
 
Последнее редактирование:
  • Спасибо
Реакции: fridayman

fridayman

Client
Регистрация
25.03.2018
Сообщения
146
Благодарностей
241
Баллы
43
Перезалил шаблон, ошибку с записью ордера в БД на реальном счету пофиксил

UPD: периодически обновляю, нахожу некоторые мелкие баги время от времени - отлаживаем общими усилиями, спасибо тестировщикам!:br:
 
Последнее редактирование:
  • Спасибо
Реакции: H769 и ggugiman

temass

Client
Регистрация
06.06.2015
Сообщения
93
Благодарностей
3
Баллы
8
Добрый день, подскажите, что означает динамика?
 

fridayman

Client
Регистрация
25.03.2018
Сообщения
146
Благодарностей
241
Баллы
43
Добрый день, подскажите, что означает динамика?
это по сути то же самое, что и процент изменения цены в приложении бинанса по каждому рынку. Разница в том, что там показана плавающая 24-часовая дельта цены, которая отсекает график за минувший интервал (каждую миллисекунду). А тут интервал с начальной точкой в виде последней сделки и конечная - текущий момент
 
  • Спасибо
Реакции: H769

schnaps

Client
Регистрация
07.02.2010
Сообщения
836
Благодарностей
150
Баллы
43
использую демо-счет, в паре ETH/BTC депозит 50% (начальный демо депозит 5BTC)
произошла операция "купить", бот потратил половину BTC (сумма сделки 2.5, купил 32.8402 ETH).
Спустя некоторое время произошла обратная сделака "продать", бот продал только половину ETH
я так понимаю в этом случае он должен был продать весь ETH?
или я неправильно понял схему работы бота?
или это баг?
96443
 
  • Спасибо
Реакции: vasyaya

fridayman

Client
Регистрация
25.03.2018
Сообщения
146
Благодарностей
241
Баллы
43
использую демо-счет, в паре ETH/BTC депозит 50% (начальный демо депозит 5BTC)
произошла операция "купить", бот потратил половину BTC (сумма сделки 2.5, купил 32.8402 ETH).
Спустя некоторое время произошла обратная сделака "продать", бот продал только половину ETH
я так понимаю в этом случае он должен был продать весь ETH?
или я неправильно понял схему работы бота?
или это баг?
Посмотреть вложение 96443
Вроде бы не наблюдалось проблем с этим. Скорее всего выбран режим соответствующий. Чтобы всегда продавал и покупал на сумму 2.5BTC, надо поставить в сумму сделки 100% и режим расчетом "Полученные средства в последней сделке". Но только надо иметь ввиду, что по умолчанию для стартового ордера всегда режим "Свободный депозит по расчетной монете".
 

schnaps

Client
Регистрация
07.02.2010
Сообщения
836
Благодарностей
150
Баллы
43
я может не так объяснил, что я имел в виду
вот настройки
96454

стартовый баланс равен 5 ВТС, это тот актив, что мы имеем, прибыль так же будем фиксировать в этом активе, мы ведь хотим увеличивать именно его.

Итак, первая сделка была на сумму 2.5BTC, что есть 50% от стартового баланса, что собственно и указано в настройке "сумма сделки %"
эту сделку можно обозвать "вход в позицию", в ней бот потратил 2.5 BTC и купил 32 ETH
следующая сделка назовем "выход из позиции" заключается в том, что бот потратил ЕТН и купил BTC
по завершеню выхода из позиции, как раз и следует подсчитывать прибыль, так как это и есть стратегия бота "купили ETH подешевле, продали подороже"
но при размещении ордера выхода из позиции бот потратил только половину ETH, хотя согласно стратегии (насколько я ее понял) должен был потратить весь ETH
 

fridayman

Client
Регистрация
25.03.2018
Сообщения
146
Благодарностей
241
Баллы
43
я может не так объяснил, что я имел в виду
вот настройки
Посмотреть вложение 96454
стартовый баланс равен 5 ВТС, это тот актив, что мы имеем, прибыль так же будем фиксировать в этом активе, мы ведь хотим увеличивать именно его.

Итак, первая сделка была на сумму 2.5BTC, что есть 50% от стартового баланса, что собственно и указано в настройке "сумма сделки %"
эту сделку можно обозвать "вход в позицию", в ней бот потратил 2.5 BTC и купил 32 ETH
следующая сделка назовем "выход из позиции" заключается в том, что бот потратил ЕТН и купил BTC
по завершеню выхода из позиции, как раз и следует подсчитывать прибыль, так как это и есть стратегия бота "купили ETH подешевле, продали подороже"
но при размещении ордера выхода из позиции бот потратил только половину ETH, хотя согласно стратегии (насколько я ее понял) должен был потратить весь ETH
ETH в количестве 32 монеты. Половина - это 16. Два одновременных процесса надо было сделать с разными настройками: выбрать 100% Продажа "Свободный депозит по расчетной монете" для одного, а другой пусть будет Покупка и 100% "Средства, полученные в последней сделке". Тогда было бы именно то, о чем вы говорите

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

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)