Как сделать бота для Биткоина

Всем привет! Сегодня мы напишем своего первого боевого торгового робота для игры на бирже. Криптобирже. Почему криптобирже?

а) хайповая тема;
б) у них как-то все попроще.

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

Во-вторых, Вы заработаете. Просто немного.

— Этот запах, что это? Чем пахнет?
— Одеколоном?
— Нет…
— Возможностями?
— Нет. Деньгами.
— Оу….всё ясно
— Запах денег!
— Понятно.

Для самых нетерпеливых, весь код на гитхабе exmo-exchange-trade-bot.

Этап №1: Биржа.

Торговать мы будем на бирже EXMO. Причин несколько. Биржа популярна на просторах СНГ, она русскоязычная и поддерживает ввод рублей, имеет возможность создания пар к рублю.

Среди минусов — неудобный процесс ввода рублей, приличная комиссия, мало торгующихся пар.

Для нас главное, что она имеет готовые решения для работы с их API. Это безусловно облегчит нашу работу.

Разумеется, на бирже нужно зарегистрироваться и внести немного денег. Я для примера внес 5$.

Далее в личном кабинете Вы получите ключи для доступа к API.

Я буду использовать клиент для NodeJS (поэтому потребуется установить nodejs и npm).

На своем компьютере создаем новую папку и файлом, в котором будет наш торговый робот (напр. exmo/index.js), открываем консоль и делаем последние стандартные приготовления.

Переходим в папку с нашим проектом и пишем — npm init, далее на все вопросы нажимаем клавишу enter.

Пока пакеты устанавливаются, создадим еще один файлик, назовем его exmo.js и наполним вот этим содержимым.

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

Всё, мы все подготовили и теперь можем непосредственно приступить к созданию персональной «машины по зарабатыванию денег» 😉

Этап №2: Код

Открываем наш index.js и подключим фаил exmo.js:

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

Теперь создадим две переменные:
currency1 — это ЧТО покупаем;
currency2 — валюта, за которую покупаем.

Я хочу купить биткоины за доллары:

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

Идем по адресу https://api.exmo.com/v1/pair_settings/ ищем свою пару (для меня это BTC_USD) и смотрим первый параметр — min_quantity — 0.001

И ещё немного переменных:

количество минут, через которое неисполненный ордер на покупку будет отменен currency1

биржевая комиссия (0.002 = 0.2%)

период времени (в минутах) для вычисления средней цены (это понадобится для нашего алгоритма)

количество currency2 для покупки currency1 при единоразовой сделки (я закинул 5$ — ими и буду оперировать)

желаемое количество прибыли с каждой сделки (0.001 = 0.1%)

Если расходится время биржи с текущим

Для удобства объединяем нашу пару через _

Для теста можете запросить информацию о себе:

Переходим в консоль и запускаем

Если все сделано верно, то Вы увидите информацию по Вам!

Все работает и можно переходит к самому интересному — функции, которая будет генерировать нам бабки.

Итак, я выше уже говорил что наш алгоритм будет тупым, сейчас Вы поймете на сколько)

Весь фокус состоит в том, чтобы взять историю завершенных сделок за какой-либо период — у нас за это отвечает переменная avgPricePeriod — и посчитать среднюю цену, за которую была продана currency1. За эту среднюю цену мы и выставим свой ордер.

Итак, приступим. Пишем нашу функцию trade()

Сначала получим список наших открытых ордеров:

1) проверяем есть ли у нас открытые ордера по нашей паре с помощью api-метода user_open_orders. Если есть и они на продажу,

то мы просто ждем, когда они исполнятся ( иногда до скончания веков). Если есть ордера на покупку, просто их запоминаем.

2) Проверяем, если у нас есть открытые ордера на покупку.

Перебираем все ордера и получаем историю по ним с помощью метода order_trades, передав туда id ордера.

Здесь может быть 3 варианта:

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

2) при втором варианте нам нужно проверить не слишком ли долго висит наш ордер. Цены меняются быстро и, возможно, средняя цена уже не актуальна. Для этого мы завели переменную orderLifeTime, где указываем, сколько наш ордер должен висеть в минутах.

Читайте также:  Где скачать Биткоин miner виндовс 10 торрент

Если время вышло, то отменяем ордер с помощью метода order_cancel, передав ему id ордера.

3) если время ещё не вышло, то мы просто надеемся, что сможем купить по нашей цене.

Все, с открытыми ордерами мы разобрались, теперь наш робот знает, что делать с ордерами когда их создаст. Половина дела сделано.

Итак, блок если у нас нет ордеров.

Получаем информацию по нашему аккаунту с помощью метода user_info:

Для удобства запишем балансы по нашим парам:

Проверим, есть ли currency1, которую можно продать?

Если да, нам нужно высчитать курс продажи.

Нужно продать всю валюту, которую купили, на сумму которую купили плюс прибыль за вычетом комиссии биржи.

Важный момент! Валюты у нас меньше, чем купили — биржа взяла комиссию.

При создании ордеров, методу order_create нужно передать параметры:

  • pair — это наша актуальная пара для торговли;
  • quantity — количество;
  • price — цена;
  • type — типа создаваемого ордера (buy/sell);

Мы хотим продать — в типе указываем sell.

и отправляем запрос, если все верно, то Вы увидите запись «Создан ордер на продажу»

Здесь все. Если у нас была валюта, мы просто создали ордер на его продажу.

Теперь переходим к самому интересному блоку: случай, если у нас нет currency1(btc) и мы хотим ее купить за нашу currency2 (usd).

Для начала проверим, достаточно ли денег на балансе в валюте currency2.

Если есть, то нам нужно получить среднюю цену, за которую продают currency1(btc) за промежуток времени, который мы указали в avgPricePeriod.

Немного лирики:
У Exmo есть метод ticker со статистикой и объемами торгов по валютным парам. В статистике указана средняя цена за последние 24 часа. Однако разница средней цены и той, по которой идут торги сейчас может очень отличатся.

Из за этого мы можем долго ждать, когда исполниться ордер на продажу.

Мы сделаем свой велосипед.

У Exmo есть метод trades, он возвращает список сделок по валютной паре.

Мы возьмем совершенные сделки за интересующий нас avgPricePeriod и из них посчитаем среднюю цену.

Это не идеальный вариант, но он покажет реальные цены, по которым продают и покупают.

Например, на момент написания статьи средняя цена BTC_USD — 8314, при этом покупка на бирже осуществляется по цене 7970.

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

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

Итак, обратимся к методу trades и запросим у него статистику по нашей паре currentPair:

Переберем все результаты и оставим только те, которые подходят к нашему временному периоду.

И посчитаем среднюю цену.

Средняя цена у нас есть, но нам нужно ее немного подправить — вычесть комиссию биржи stockFee и добавить желаемый профит. Таким образом, получив цену ниже средней цены рынка, мы купим чуть больше валюты, так как биржа впоследствии забирает ее часть;

Получаем конечное количество, которое нам нужно купить.

Проверяем можно ли купить такое количество валюты (не нарушается ли минимальная сумма покупки).

Если наше количество больше, то формируем параметры для метода order_create, только на этот раз уже с типом buy.

Теперь нужно поставить нашу функцию на таймер (диапазон — раз в 5 секунду, например) и можем запускать.

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

Думаю у вас возник резонный вопрос «Сколько же денег так можно заработать?»

За одну операцию с 5$ я зарабатываю примерно 2-3 цента. Это связано с примитивностью алгоритма, который работает в случае, если цена колеблется в определенном диапазоне (а это почти всегда не так на криптобиржах). За сутки происходит порядка 10-20 операций (при хороших раскладах). Посчитать можете сами;)

Но мы же не ради денег код мастерим)

Ещё раз ссылка на гитхаб с полной версией бота и комментариями.
https://github.com/v-florinskiy/exmo-exchange-trade-bot

Эта моя первая статья — не судите строго)

P.S.: Для тех, кто не работал с node, ваш скрипт естественно будет работать, пока отрыта консоль.

Чтобы ваш робот работал 24/7, вам нужен какой-нибудь vps: там вы ставите nodejs, npm и, например, pm2. С помощью этой утилиты скрипт продолжит работу, даже если консоль закрыта.

Хардкорная конфа по С++. Мы приглашаем только профи.

Читайте также:  Что такое демо счет в Биткоине

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

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

Бот – это программное обеспечение, которое функционирует в рамках заданного алгоритма.

Существует два вида ботов:

  1. Торговые – выполняют работу в рамках одной биржи: покупают подешевле и продают подороже.
  2. Арбитражные – выполняют такие же действия, но на нескольких биржах одновременно. То есть купить валюту можно на одной платформе, а продать на другой, по более выгодной цене.

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

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

У торговых программ для заработка криптовалют есть свои преимущества и недостатки.

Плюсы:

  1. В отличие от человека, программа может работать без перерыва 24 часа в сутки.
  2. Робот заключает сделки беспристрастно, опираясь только на анализ данных.
  3. Бот с точностью производит все вычисления согласно заданному алгоритму. Ошибки в расчетах практически невозможны.
  4. Программа быстро анализирует большое количество информации с разных бирж. Человек физически не сможет следить за десятком платформ одновременно.
  5. Программу можно настроить под конкретную биржу.

Минусы:

  1. Бот всегда действует по заданному алгоритму, он не может менять стратегию в зависимости от ситуации на рынке. Человек способен анализировать и выстраивать новые алгоритмы. Исходя из этого, заработок трейдера может в несколько раз превысить доход бота за сутки.
  2. Даже сложные софты с многочисленными настройками не способны действовать в нетипичной ситуации. Отметим, что чаще всего инвесторы зарабатывают именно на таких случаях, так как фундаментальный анализ рынка и новая стратегия может в несколько раз увеличить доход.
  3. С каждой совершенной сделки биржа берет комиссию. Если у бота недостаточно настроек, и он заключает слишком много сделок, трейдер уйдет в убыток.
  4. Бот – это программа, поэтому есть риск, что она может зависнуть или выйти из строя.
  5. Отдавая свои средства в распоряжение бота, не нужно забывать о безопасности. Программа может быть сконструирована мошенником и настроена так, чтобы все средства в итоге переходили третьему лицу. В этом случае, нужно очень внимательно подходить к выбору криптобота, а лучше написать его самостоятельно.

Трейдер может написать, купить бота или установить его бесплатно.

Выгоднее всего написать его самостоятельно под конкретную биржу. Необходимо учитывать API (Application Programming Interface), это набор функций платформы, которые помогут настроить программу для торгов. Если трейдер конструирует арбитражного бота, то необходимо учитывать параметры нескольких бирж.

Многие компании, например, HaasOnline или BTC Robot, разрабатывают биржевых ботов для торговли на заказ или продают уже сконструированные программы. Стоимость зависит от пакета услуг и набора функций. Также есть вариант сделать заказ у программиста, который напишет робота по вашим требованиям.

Приобрести можно не только готовый продукт, но и скрипты, по которым в дальнейшем пишется криптобот.

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

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

Биржа RevenueBOT Binance, Bitfinex, Bittrex, Poloniex, Exmo, Livecoin, Cex.io, Hitbtc, Okex Условно бесплатный облачный робот без абонентской платы. Работает за комиссию 20% от прибыли, которую приносит, но не более 50 USD в месяц (выгодно пользователям и с маленьким и с большим депо). Основные функции и возможности описаны в FAQ
HAAS Bot Все Сайт предлагает купить пакет услуг, в который, помимо прочих трейдерских уникальных инструментов, входит бесплатный торговый бот. на данный момент это самый надежный и прибыльный бот.
Cryptotrader.org Эта платформа – известная криптовалютная биржа. В ней есть возможность создавать собственные алгоритмы, которые будут работать так жк, как и любой другой бот.
Арбитражный бот
Читайте также:  Почему Биткоин резко упал

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

Crypto-Change Bot – сервис предоставляет трех ботов для работы с BitCoin, LiteCoin, DogeCoin. Платформа удобна тем, что работает сразу с долларом и рублем. Также есть русский чат поддержки. Дополнительно включен The Bot of Wall Street, который показывает актуальные котировки сразу по 24 валютным парам.

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

Биткоинчик отлично подойдет начинающим инвесторам. В программе собран весь обучающий материал: статьи, видео, графика. Также есть описание популярных бирж для тех, кто еще не определился с платформой для торгов.

CryptoTrader – популярный софт для арбитража криптовалюты. Особенностью является то, что робота не нужно устанавливать на компьютер, он функционирует прямо из облака.

Zenbot в открытом доступе предлагает трейдерам исходный код программы. Настройки робота очень широкие, он проводит анализ бирж и плагинов. Поддерживает следующие платформы: GDAX, Poloniex, Kraken и Bittrex.

Haasbot подойдет для продвинутых пользователей. Бот можно приобрести минимум на 3 месяца. Поддерживает все основные биржи, а также может использоваться для margin trading.

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

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

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

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

Для примера, будет создавать бота для бесплатной лотереи FreeBitcoin. Лотерея позволяет один раз в час получать Bitcoin бесплатно (от 0.00000021 BTC до 0.02146040 BTC).

Бота будем создавать с помощью iMacros. Для тех, кто не знает что это. iMacros — инструмент, который позволяет автоматизировать различные действия в браузере, с помощью создания скриптов.

Также, для автоматического решения капчи в браузере нам понадобиться расширение AntiCaptcha plugin.

Устанавливаем расширения iMacros и AntiCaptcha plugin для своего браузера, и переходим на сайт FreeBitcoin.

Как мы видим, для получения бесплатных сатош, нам необходимо решить reCaptcha и нажать на кнопку «ROLL!». Кстати, если, AntiCaptcha plugin активирован, то при посещении страницы он автоматически начнет решать капчу.

Запускаем iMacros, переходим на вкладку «Record», жмем «Record Macro» и кнопку «ROLL!», сохраняем скрипт.

У Вас должно получиться нечто подобное:

Но для решения reCaptcha, плагину AntiCaptcha plugin потребуется время. В среднем, решение занимает 10 секунд, но иногда и дольше. Поэтому после того, как мы перейдем на страницу получения биткоина, необходимо сделать паузу. Я рекомендую ставить с запасом 30 секунд.

И наш скрипт приобретет такой вид:

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

Но необходимо учитывать, что минимальная цена за 1000 разгаданных капч составляет 0.7 USD. Поэтому, выбирайте такие биткоин раздачи, которые бы окупали затраты на решение капч.

Читайте далее:

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

Биткоин и всё о нём © 2020

Adblock detector