- Krypto v4.1 — скрипт сервиса криптовалюты
- Простой бот для торговли на криптобирже
- Скрипт для биржи криптовалют
- Содержание
- На что смотреть?
- Архитектура
- KYC и AML модули
- Ликвидность
- Валюты и Криптовалюты
- Торговля и обмен
- Функционал пользователя
- Функционал административной части
- Где выбрать скрипт обменника криптовалют?
- Вывод
Krypto v4.1 — скрипт сервиса криптовалюты
Krypto — это скрипт онлайн сервиса для работы с криптовалютами: онлайн-трейдинг, расширенные данные, анализ рынка, список наблюдения, портфолио, подписки. Более 2100+ доступных криптовалют, ваш баланс кошелька, Купить / Продать, Расширенные страницы, Диаграммы, Диаграммы с техническими характеристиками и многое другое.
Version 4.1 (22/10/2018)
— Fix bugs
— Delete user feature
— Automatic withdra
— Limit order system (in native trading)
— New payments gateway
— Alternative email system (2 options now)
— Template editing from admin section
— Identity form (you can add some fields)
— Enable native trading without exchange (you just need to connect exchanges you want for data)
— Disable real account feature
— Change chat icon
Version 4.0.5 (02/10/2018)
— Fix bugs
— Add system for remove the ‘.php’ to the dashboard extension
— Change logo more easily from admin section
— Fix coinbase issue on coin
— Fix alerts shown with CryptoNotifications
— Fix coingate on subscription
— Improve the deposit system with a textfield
Version 4.0.3 (02/10/2018)
— Optmize the search system
— Fix the add exchange
— Fix the change default pair in general settings
— Fix the POEditor error
— Add identity title changing
— Fix save trading configuration
— Fix coinpayment
— Fix order list error
Источник
Простой бот для торговли на криптобирже
Всем привет! Сегодня мы напишем своего первого боевого торгового робота для игры на бирже. Криптобирже. Почему криптобирже?
а) хайповая тема;
б) у них как-то все попроще.
Во-первых, хочу сразу предупредить любителей казино «три топора»: на машину вы завтра не заработаете. Статья больше о том, как начать писать своих роботов, поэтому алгоритм будет примитивный, но рабочий.
Во-вторых, Вы заработаете. Просто немного.
— Этот запах, что это? Чем пахнет?
— Одеколоном?
— Нет…
— Возможностями?
— Нет. Деньгами.
— Оу….всё ясно
— Запах денег!
— Понятно.
Для самых нетерпеливых, весь код на гитхабе 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, где указываем, сколько наш ордер должен висеть в минутах.
Если время вышло, то отменяем ордер с помощью метода 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. С помощью этой утилиты скрипт продолжит работу, даже если консоль закрыта.
Источник
Скрипт для биржи криптовалют
Скрипт Обменника и Биржи Криптовалют
Содержание
Бизнес по обмену биткоинами, альткоинами, да и в целом криптовалютами развивается стремительно не то, что с года в год, но даже каждый квартал. Инвесторы, трейдеры все они с огромным ожиданиям сидят у мониторов наблюдая графики курса валют. Но как самому запустить криптовалютную биржу? Стоит ли рассматривать white-label криптовалютную биржу, или лучше инвестировать и купить скрипт обменника/биржи криптовалют? На что нужно обратить внимания при покупке и скачивании читайте далее в нашей статье.
На что смотреть?
Некоторые решения и скрипты кажутся полезными и очень крутыми, но это обманчиво. Всего лишь продажная упаковка. Узнав, как он на самом деле работает можно только путем установки на собственном сервере, методом проб и ошибок. Кастомизация может быть сущим адом, функционал не гибким, а платформа и вовсе не масштабируется. В таком случае, в будущем вас ожидают только разочарование. Чтобы этого не допустить, мы поможем вам.
Архитектура
Пожалуй, основа всех веб приложений это их архитектура. Архитектуру разрабатывают под несколько типов проектов рознящиеся между собой нагрузкой. В криптовалютных биржах это мелкие, средние и крупные (enterprise) проекты. Впрочем, это касается и разработки маркетплейс платформ. Характерной особенностью мелкого проекта это архитектура все в одном. Одна из наиболее популярных в 2000 годах. Она может стоить дешевле, однако, и пропускная способность, нагрузка тоже не ахти, а минимальная.
Не стоит говорить, и думать о объемах торгов, транзакций превышающих несколько тысяч. На текущий момент наибольшее количество это среднего уровня проектов. Чтобы создать и запустить криптовалютную биржу стоит использовать модульную систему, с изолированными компонентами. Если у вас есть в команде несколько высококлассных системных администраторов, тогда вы сможете запустить эффективную платформу с приличными суточными объемами.
Крупные или enterprise криптовалютные биржи не будут работать с вышеупомянутой архитектурой. Но что тогда делать в этом случае? Распределенная изолированная модульная система с балансировкой и сверх мощным сервером (а-ля, m5.24xlarge) поможет вам. Компоненты программного обеспечения криптовалютной биржи были описаны в наших предыдущих статьях. Это графический интерфейс пользователя, кошельки, торговый движок, административная система и база данных.
Правильная синхронная работа залог успеха на старте. Каждый из этих компонентов для среднего проекта должен быть размещен на изолированном сервере. Уровни защиты варьируются от компонента к компоненту. Технические требования к серверу тоже разняться.
KYC и AML модули
В последнее время часто всплывают новости – та или иная страна запретила биржи. Facebook запретил рекламу криптовалют. Binance перенес операционную деятельность из Японии в Мальту, а ведь это крупнейшая биржа в мире. Требования к биржам, и сложность их открытия возрастает в Индии. А Беларусь и вовсе с Эстонией легализовали эти бизнесы.
Однако, это ни в каком случае не отменяет что нужно соблюдать требование ваших стран. Знать своего клиента требуют от бирж и платежные системы. Что же входит в минимальный набор для KYC? Для большинства стран достаточно предоставить данные пользователей, их идентификация с помощью ID-карт, международных паспортов, и водительских удостоверений.
Следующий уровень идентификации предполагает обладание информацией о месте проживания пользователя. Выписка из банка, счет за коммунальные услуги, или счет по оплатам мобильного оператора. KYC важно не только для торговых площадок, и и при запуске ICO. AML или борьба с отмыванием денег. Вкратце, чтобы обезопасить себя вы обязаны предоставлять отчеты по финансовым операциям, проходящим через вашу биржу вышестоящим органам управления, государству.
Важно помнить, что это все необходимо только для биржи, которые работа с фиат деньгами, как доллар, евро и другими регулируемые государствами. Если на вашей биржи представлены торговые пары криптовалюта к криптовалюте, тогда не обязательно внедрять эти модули. Однако, как только вы решите запустить фиат деньги, будьте готовы.
Ликвидность
Ликвидность самый важный элемент при разработке криптовалютной биржи. Без достаточной ликвидности вашу биржу не разместят на Coinmarketcap, пользователи будут недовольны, и как следствие отток клиентов. Дезинформация существовала всегда, но существует всего 2 варианта генерации ликвидности.
Локальные маркетмейкеры. Генерация заявок, основанная на алгоритмах, текущем курсе валют, и общем состоянии рынка. Маркетмейкеры работают от имени владельцев платформы и их кошельков. По данным 2017 года, каждая крупная биржа имеет локальных маркетмейкеров.
Внешняя ликвидность. Если первый вариант вас не устраивает, есть куда более интересный – получение внешней ликвидности, например с Kraken. Что же происходит в таком случае? Биржи синхронизируются между собой, как только заявка появляется на Кракене, она тут же и у Вас и наоборот. Какой из этих двух вариантов выбрать — сложно сказать. Плюсы и минусы есть в каждом из них. Добиться единства и гармонии в ликвидности можно однозначно только совмещая оба варианта в платформе.
Валюты и Криптовалюты
Какие валюты стоит поддерживать криптовалюты в бирже? Что на счет фиат денег? На самом деле, здесь все довольно просто. Проделав небольшой анализ целевых стран вы с легкостью скажите, какими фиат деньги они пользуются. Например, для большинства европейских стран должно быть минимум 2 валюты: евро и национальная валюта страны (швейцарский франк к примеру).
Касательно криптовалют вы всегда можете обратиться в Coinmarketcap чтобы посмотреть какие монеты набирают популярность, а какие утрачивают ценность. Капитализация еще одни важный момент. Однозначно стоит использовать Bitcoin и Ethereum. Добавьте к ним Litecoin и вот минимально приемлемый набор. Разумеется, если вы размышляете как создать токен на Ethereum, было бы здорово и его интегрировать. В какой-то степени это также зависит от целевой страны. Например, в Турции продолжительное время популярна Monero. Ваш списко валют может быть огромным преимуществом для Вас, и используя его также как и ICO маркетинг.
Торговля и обмен
Биржи существуют трех типов с несколькими подвидами. В первую очередь это обменники, торговые системы со стаканом, и конечно маржинальная торговля с кредитным плечом. Каждый тип обладает своими особенностями. Первая зарабатывает на курсе, вторая на транзакциях, а третья вовсе на азарте. При выборе скрипта криптовалютной биржи обращайте внимание, какими свойствами он обладает.
Функционал пользователя
Помимо стандартного профиля с несколькими полями данных, еще существуют возможности получения живых уведомлений, 2ух факторная аутентификация, депозит и вывод денег включая фиат и криптовалюты. История торгов, логов и безопасность. Неотъемлемый функционал для пользователей.
Функционал административной части
Как владелец биржи, вы должны обладать полным ассортиментом функционала. Если включен модуль KYC, то в первую очередь управления пользователями. Будете ли вы делать это самостоятельно, или, используя своих менеджеров – разницы не имеет. Однако разграничение пользовательских ролей для большей безопасности просто должно быть.
Горячие и холодные кошельки должны быть подключены. Управление торговыми парами тоже важно, но не столь как отчеты и списки транзакций. Умные фильтры, основанные на пользовательских предпочтениях, состоянии рынка. Общения с пользователи лучшем реализовать тоже через административную часть. Альтернативой же может служить Zendesk.
Где выбрать скрипт обменника криптовалют?
Рынок напичкан разными вариантами, каждый со своими особенностями и недостатками.
Бесплатные, open-source скрипты. Возможно наиболее лакомое решение. Бесплатные скрипты, которые каждый момент скачать и установить для запуска биржи. Стоит ли их скачивать? Однозначно да. По крайней мере, вы поймете архитектуру биржи и ее составляющие. Тем не менее, в таких скриптах часто есть дыры для того чтобы разработчики смогли вытягивать деньги мало-помалу. В таком случае, вы нанимаете команду разработчиков и экспертов, которые проделывают аудит, а затем реструктуризацию и рефакторинг кода. Думаю, это излишне говорить, что подобные скрипты не выдержат порядочных нагрузок.
Дешевые скрипты. Если у вас есть маломальские знания в разработке, к примеру, на WordPress, вам не составит труда скачать готовые open-source скрипт, сделать небольшие изменения в CSS и продать его под своим именем. Именно такие решение вы встретите на просторах интернета. По своей сути, они практически ничем не отличаются от предыдущего пункта.
White-label скрипты. Такие скрипты уже имеют готовый функционал, который вы можете развернуть на сервере и запустить. Идеально подходит для начала своего бизнеса по обмену биткоинами, но часто не соответствует требованиям компаниям с чуть большими ожиданиями.
Изготовленная на заказ биржа. Подходит для бирж предполагающие уникальный функционал, собственное виденье или доработку. Годится для крупных, высоконагруженных проектов.
Вывод
Итак, мы рассмотрели важнейшие этапы при покупке или скачивании скрипта обменника криптовалют. Какой выбрать решать вам, по крайней мере, вы знаете, на что обратить внимание. Если у вас остались вопросы, или вы хотите попробовать скрипт Merehead, напишите нам.
Источник