{"id":14291,"url":"\/distributions\/14291\/click?bit=1&hash=257d5375fbb462be671b713a7a4184bd5d4f9c6ce46e0d204104db0e88eadadd","hash":"257d5375fbb462be671b713a7a4184bd5d4f9c6ce46e0d204104db0e88eadadd","title":"\u0420\u0435\u043a\u043b\u0430\u043c\u0430 \u043d\u0430 Ozon \u0434\u043b\u044f \u0442\u0435\u0445, \u043a\u0442\u043e \u043d\u0438\u0447\u0435\u0433\u043e \u0442\u0430\u043c \u043d\u0435 \u043f\u0440\u043e\u0434\u0430\u0451\u0442","buttonText":"","imageUuid":""}

Как заработать на трейдинге криптовалют? Создаем свой торговый бот для Бинанс

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

Создаём торговую стратегию

Один из самых успешных фондов Medallion от компании Renaissance Technologies на протяжение более 30 лет демонстрирует рентабельность более 66% годовых. Фонд использует множество торговых стратегий в том числе - высокочастотный трейдниг. Вдохновимся их результатом и реализуем собственную скальпинг стратегию.

Для реализации скальпинг стратегии нам потребуются:

  • низкие комиссионные сборы биржи: 0% для лимитных ордеров
  • высокая ликвидность торгуемого инструмента: $3 млрд в сутки
  • стабильная волатильность на рынке: биткоин
  • небольшой спред: 0,01 - 0,03%

Под данные параметры нам подходит криптовалютная пара BTC/FDUSD на бирже Бинанс.

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

Для начала определим стоп-лимит, например, 60 000. Если цена падает ниже этой отметки, мы просто приостанавливаем торговлю.

Наша сделка будет состоять из пары лимитных ордеров, первый ордер в сделке у нас всегда будет "продажа" (SELL), а второй ордер, закрывающий, соответственно "покупка" (BUY).

Пример прибыльной сделки. Первый ордер SELL по цене 63421.13 , второй BUY 63401.47

Для пары BTC/FDUSD на бирже Бинанс нулевая комиссия за сделку, но только для лимитного ордера. Для маркетного ордера взымается комиссия в 0.1% Для скальпинга это существенная комиссия, поэтому нам необходимо будет избегать проскальзывания, чтобы не платить комиссию бирже.

Книга ордеров BTC/FDUSD в режиме реального времени.

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

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

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

Как только пара ордеров выполнена, мы может открывать новую пару ордеров. Также новую пару одрдеров можно открывать не дожидаясь закрытия предыдущего BUY ордера, если цена выросла более чем на 0,1 от последнего выполненного SELL ордера. Таким образом мы можем продолжать торговлю на новом ценовом диапазоне.

Создаём торгового бота для Binance

Для реализации криптовалютного скальпинг бота возьмем NodeJS и библиотеку Node Binance API, которая позволит ускорить разработку нашего бота.

Устанавливаем библиотеку:

npm install -s node-binance-api

Подключаем библиотеку и активируем API ключ от биржи Binance:

const Binance = require('node-binance-api'); const binance = new Binance().options({ 'APIKEY': 'Ваш API ключ от биржи Binance', 'APISECRET': 'Ваш секретный ключ от биржи Binance' });

Для быстрого и асинхронного получения актуальной информации о цене, балансе и о статусе наших ордеров будем использовать WebSocket:

binance.websockets.bookTickers("BTCFDUSD", onBookTickers); binance.websockets.userData(onBalanceUpdate, onOrderStatusUpdate);

Пример обновления цены в режиме реального времени через WebSocket:

let price = {sell: 0, buy: 0}; function onBookTickers(data) { price.sell = data.bestBid; price.buy = data.bestAsk; }

Вычисляем цену для получения заданной прибыли и открываем лимитный ордер на продажу:

let quantity=0.001;//размер ордера в BTC let profit=0.01;//желаемая прибыль в USD let orderPrice = (price.buy * quantity + profit/2) / quantity; binance.sell("BTCFDUSD", quantity, orderPrice, {type:'LIMIT'}, (error, response) => { console.log("Limit SELL order response:", response); console.log("Order id:", response.orderId); });

Отслеживаем выполнение SELL ордера и выставляем закрывающий BUY ордер:

function onOrderStatusUpdate(data) { let { x: executionType, s: symbol, p: price, q: quantity, S: side, o: orderType, i: orderId, X: orderStatus, c: clientOrderID, C: canceledClientOrderID, n: commissionAmount, Z: actualQuote, L: lastExecutedPrice } = data; if (orderStatus === "FILLED" && side === "sell") {//ордер исполнен let orderPrice = (price * quantity - profit) / quantity; binance.buy("BTCFDUSD", quantity, orderPrice, {type:'LIMIT'}, (error, response) => { console.log("Limit BUY order response:", response); console.log("Order id:", response.orderId); }); } }

В общих чертах наш торговый бот готов. Можем преступать к торговле.

Результаты криптовалютой торговли

Запускаем бота на 5 долларовых ордерах с прибылью $0.001 за сделку:

Лог работы криптовалютного бота на бирже Binace на $5 ордерах.

Работает. За полторы минуты работы тестового запуска бот успел выполнить 2 пары сделок и заработать $0,002.

Запускаем бота на более длительный срок на 150 долларовых ордерах с прибылью $0.04 за сделку SELL/BUY:

Лог работы криптовалютного бота на бирже Binace на $150 ордерах.

За 6,5 часов бот закрыл 258 сделок и получил доход $10,7 и один раз было проскальзование.

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

Если хотите попробовать бота в деле, можете написать мне в телеграм или в личку на vc.ru

Дисклеймер

Многие операции на криптовалютных или любых иных финансовых рынках могут быть высокорискованными. Автор привёл вышеуказанную информацию для ознакомления и не пропагандирует криптовалюты или высокорискованные торговые операции

0
4 комментария

Комментарий удален автором поста

Развернуть ветку

Комментарий удален автором поста

Развернуть ветку

Комментарий удален автором поста

Развернуть ветку

Комментарий удален автором поста

Развернуть ветку

Комментарий удален автором поста

Развернуть ветку

Комментарий удален автором поста

Развернуть ветку

Комментарий удален автором поста

Развернуть ветку

Комментарий удален автором поста

Развернуть ветку
S A

Спасибо за классный пост! А как ваш бот обрабатывает ситуацию, если после выставления buy ордера цена пошла вверх и не снижается и в какой-то момент превысит цену продажи?

Ответить
Развернуть ветку
Сергей Ефименко
Автор

В боте стоп лимит, ниже него ордера не создаются. Соответственно, если BUY ордер не выполняется сразу, будет ожидаться его выполнение в будущем. А в этот момент создается новая пара ордеров SELL/BUY на новом уровне цен.

Ответить
Развернуть ветку

Комментарий удален автором поста

Развернуть ветку
S A

"если BUY ордер не выполняется сразу, будет ожидаться его выполнение в будущем" - в целом это может и не произойти же, или же произойти через очень и очень длительное время, непонятно, что с этим делать?

Сколько параллельных пар должно работать, чтобы была прибыль? в боте это настраивается?

Ответить
Развернуть ветку

Комментарий удален автором поста

Развернуть ветку
Сергей Ефименко
Автор

Я рекомендую не менее 10 пар ордеров выставлять. А так зависит от вашего баланса, конечно. С висячими ордерами BUY можно ничего не делать, считайте вы продали часть битка по текущей цене и получили доллары.

Ответить
Развернуть ветку
1 комментарий
Раскрывать всегда