Конфигурация "Управление торговлей криптовалютами" (Криптобот)

Публикация № 779684

Управление - Управленческий учет (прочее)

Криптовалюты биткоин трейдинг робототорговля алгоритмический криптовалют альткоин фиат торговля биткоином

Программа позволяет настроить торговую трейдерскую стратегию и запустить ее автоматическую работу. Обмен с криптовалютной биржей происходит через ее API. В данный момент подключена только биржа Bitfinex. Новый функционал - подключение к биржам и новые параметры для стратегий добавляем по запросам пользователей платно.

 

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

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

После настройки стратегии нужно ввести настройки биржи - секретный и публичный ключ (весь код программы открыт, поэтому это можно делать без опаски). Добавить строку на табло "Управление торговыми стратегиями". После установки флажка в колонке "Включено" будет запущена работа на бирже.

 

Что сделано:

  • Весь обмен с биржей происходит через регламентные задания. На табло только выводится результат запросов. Таким образом, ничего не зависает во время расчетов.
  • В отдельных вкладках выводятся текущее состояние стратегий, остатки по счетам на биржах, список заявок на биржах.
  • Возможна параллельная работа на разных биржах, разных стратегий, по разным валютам. Ограничение только в том, что по одной бирже и одной валюте может быть только одна активная стратегия.
  • Реализован алгоритм тестирования на исторических данных. Исторические данные загружаются с формате выгрузки с финама из файла с любым тайм-фреймом.
  • Сохраняется лог со всеми изменениями в процессе торгов.
  • В отдельной таблице хранятся дневные данные о результатах торговли, они скачиваются регламентным заданием с сайта investing.com
  • При неверной настройке могут возникать ошибки. Реализован их вывод в табло "Управление торговыми стратегиями". Контролируется более 20 различных видов ошибок, в том числе ошибки в коде формул стратегии, которые вводятся в конструкторе.

 

Планы развития:

  • Добавить торговлю короткими позициями;
  • Добавить дополнительные биржи для торговли (по запросам пользователей);
  • Добавить дополнительные параметры для торговли (по запросам пользователей);
  • Не обновлять информационное табло, когда оно находится в режиме редактирования;
  • Оптимизировать размер цены, по которой выставляется заявка. (Сейчас по умолчанию это цена последней сделки с биржи);

Требования

  • У Вас должна быть установлена лицензионная версия платформы 1С:Предприятие, не ниже релиза 8.3.10.
  • Для работы с биржей должна быть установлена библиотека CAPICOM 2 и ее dll должна быть зарегистрирована: https://www.microsoft.com/en-us/download/details.aspx?id=25281

Предупреждение

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

 

Описание конфигурации

Изначально программа была разработана на последней версии БСП, однако со временем стало понятно, что подсистемы БСП у нас в работе не используются. Пришлось вырезать ее. В будущем, возможно, добавим отдельные подсистемы снова, например, отправку смс-оповещений.

Причины купить

Если тема алгоритмической торговли криптовалютами Вам интересна, то эта программа отлично справится с автоматизацией торговли.

При этом Ваша фантазия по разработке алгоритмов практически не ограничена. И Вам не нужно делиться своими ноу-хау с разработчиками - все можете настроить самостоятельно.

Достоинства

Удобный интерфейс, простая настройка.

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

Не имеет аналогов на момент публикации в интернете.

Сравнение версий

04.02.2018 - выложена первая рабочая версия программы. С параллельной работой разных стратегий. Но открывает только длинные позиции пока и поддерживает тольк одну биржу - Bitfinex.

Гарантия возврата денег

ООО "Инфостарт" гарантирует Вам 100% возврат оплаты, если программа не соответствует заявленному функционалу из описания. Деньги можно вернуть в полном объеме, если вы заявите об этом в течение 14-ти дней со дня поступления денег на наш счет.

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

Для возврата оплаты просто свяжитесь с нами.

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
2. Sergant 46 04.02.18 17:20 Сейчас в теме
Ждем возможность открытия коротких позиций
4. Техподдержка 04.02.18 18:32
(2) Да, в текущей ситуации это актуально)
3. WalterFOX 8 04.02.18 17:58 Сейчас в теме
Коллеги,
историчность за какой период?
В какой валюте?
Можно поподробней? "Исторические данные загружаются с формате выгрузки с финама из файла с любым тайм-фреймом".
5. Техподдержка 04.02.18 18:34
(3) Тестирование на исторических данных запускается на самом мелком тайм-фрейме из загруженных в программу данных. То есть, какие данные загрузите, на тех и будет тестировать. А тайм-фрейм можно выбрать при выгрузке с финама.

Раньше было еще тестирование в онлайн-режиме, но отключили (в программе осталось). Так как мало выводов получается сделать, ждать приходится долго.
6. sansys 59 06.05.18 02:17 Сейчас в теме
Очень полезная конфигурация!!! Автору огромное спасибо, однозначно плюс!!!
Подскажите - есть в планах добавление биржи Binance? Готов оказать посильную помощь в разработке :))) но мало понимаю в web технологиях
7. sansys 59 08.05.18 23:45 Сейчас в теме
Как добавите Binance, сразу покупаю!!!
8. Техподдержка 17.06.18 20:18
Коллеги, добрый день.
В этом году планирую выступать на конференции INFOSTART EVENT 2018 EDUCATION. Если предложенные темы заинтересуют, то можете, пожалуйста, проголосовать за них?

Заявки на выступление поданы по темам:
http://event.infostart.ru/2018/agenda/#item846287
http://event.infostart.ru/2018/agenda/#item846284
9. rfcor 74 04.08.18 01:30 Сейчас в теме
Ого, алготрейдинг на инфостарте, круто!)

Вот немного потока мыслей из моего опыта по автоматизации торговли на криптобиржах, может наведёт автора или участников на полезные мысли) Ниже изложенное - это всё исходя из цели: 1 раз задал параметры для системы и забыл, совершенно всё-превсё на автомате, а через год приходишь и видишь плюс 100500 % профита в usd (usdt), который больше самой крутой стратегии (buy&hold :D).

В начале 2017 года тоже пытался сделать торговую систему для крипты на 1С, но в итоге отказался от 1С, потому что вылезла куча минусов, и вот малая часть.

Технические
- в 1С очень скудные средства для анализа числовых данных. Писать простейшие индикаторы - это адский ад. Торговая система без индикаторов - это не бот, а просто инструмент, немного облегчающий ручную торговлю (не в укор сказано :)). Не говоря уже про сложные индикаторы.
- в 1С нужно много строк кода чтобы адекватно управлять http-соединением (подключиться к API, отправить, получить, обработать ответ), обрабатывать разные виды исключений, разложить json, ну и подобные простейшие задачки типа использования хеш-функций для верификации значимых вызовов API биржи (вон даже CAPICOM пришлось использовать).
- в 1С визуализация свечного графика просто ужасна (сравните статичное его отображение в 1С и офигительное произведение искусства на tradingview). А визуализация (индикаторов, входов, выходов, баланса и др) - это важнейшая часть подсистемы бэктестинга. Без визуализации - считай вслепую.

Идеологическо-лицензионные
- для полноты ощущений нужна серверная 1С
- для быстрости нужна ms sql
- для ms sql нужна винда
- для автономности и безопасности - vds (virtual dedicated server) не в РФ. Виртуализация сказывается на производительности.
В итоге чтобы было всё православно - нужны деньги, неоправданно много. Опустим холивар, что торговую систему можно поставить на сервер работодателя, что есть postgresql на шустрой centos, что виртуализация (на самом-то деле) не тормозит и др.

Другие
- в сравнении с общемировыми у 1С крошечное сообщество, поэтому мало готовых модулей для данной прикладной области (алготрейдинга), нет готовых оберток для API бирж, нет библиотек для визуализации, нет библиотек для расчета сложных индикаторов, ну короче много чего нет)

Что-то больше и не вспоминается навскидку.

Теперь немного критики непосредственно продукта автора. Надеюсь всё воспримется конструктивно, и даже если нет - всё равно автору большой респект что ведет деятельность в алготрейдинге на 1С и популяризирует это :)
- Нет индикаторов. Это плохо. Те параметры что есть - трудны для понимания трейдеров.
- Очень своеобразное определение направления тренда. Это же краеугольный камень, священный неведомый грааль всея технического анализа - правильно определить направление тренда и моменты его изменения. По классике я бы посоветовал использовать хотя бы простейший способ - по пересечению двух EMA (экспоненциальное скользящее среднее) с разными периодами, навскидку на 1С это можно сделать, хоть и не без боли).
- Данные с Финам. Не нашел на финаме источник данных. На каждой бирже свои данные ohlc (open high low close) и объемов, а это ключевые входные данные для расчета индикаторов, генерации сигналов и принятия торговых решений. Не существует единого точного графика цены биткоина, в каждый момент времени, даже на самых крупных криптобиржах, цены в стаканах ордеров могут очень значительно отличаться. Точность важна.
- Данные с investing.com. Инвестинг берёт данные с bitfinex. Опять же, скорее всего они немного искаженные, даже канонический tradingview грешит периодически заполнением гэпов, добавлением/удалением фитилей. Почему бы не брать данные напрямую с bitfinex? Хоть у них в API и присутствуют антинародные ограничения на засасывание объемов исторических данных, всё же по кускам это сделать можно.
- Не увидел на гифке данных по объемам. В алготрейдинге эти данные очень важны. Говорят что изучив объемный анализ можно быть на шаг ближе к дзену)
- Непонятно, это полностью автоматическая система (выставил 1 раз параметры и забыл на месяц, неделю, год), или всё же наполовину ручной привод, когда надо каждый день подстраиваться под рынок самому и вводить готовые параметры в систему.
- Не увидел статистику по сделкам, профиты, убытки, финансовый результат, соотношения сделок, просадка и остальные классические статистические показатели, характеризующие торговую систему. Хотя может зря грешу и есть отчет)

Офигель портянка получается) надеюсь не зря пишу. Теперь собственно мой опыт.
После решительного отказа от 1С занялся исследованием альтернативных средств автоматизации. Первое что проверил - конструктор торговых стратегий на tradingview. Отличная визуализация, бэктестинг, подробнейшая статистика, все классические индикаторы (плюс граали от народа из элиты алготрейдинга). Но так и не понял их внутреннего птичьего языка программирования, не понял как запустить это в реальную торговлю и как оно должно работать. Поискал по другим ресурсам и брокерам - везде аналогичные. Например, еще крутой quant connect. А сколько в интернете якобы криптоботов...
В итоге для меня это всё оказалось слишком сложно, непонятно и вообще тёмный лес. Как завещал Джек Швагер - торговая система должна быть простой и понятной.
Выбор пал на python. У питона громадное сообщество, поэтому для любой грязной работы уже написаны все средства, что дает необъятный простор для творчества и убирает все ограничения. До этого никогда не писал на питоне, но это мелочи. И понеслись приключения - изучение питона, параллельное чтение классики теханализа, изучение принципов работы бирж как таковых, и конкретных экземпляров. Бессонные ночи, тонны кофе, гитхаб, стековерфлоу, форумы алготрейдеров, ютуб, вот это вот всё) После выбора языка нужно было выбрать биржу. Был выбран poloniex, у которого API сочетает все необходимые качества - быстрый, простой, без зверских ограничений, дает сколько угодно исторических данных, безотказный, есть простая обертка на питоне. Binance тогда еще не было. Выбирал между bittrex, bitfinex и poloniex. Везде свои плюсы и минусы, но именно для торговой системы лучше подошел poloniex (опять же, по моему субъективному мнению). Для хранения исторических данных (а далее и данных необходимых для реальной торговли) использовал postgresql. Поверх обертки psycopg2 написал собственную с нужными мне методами для быстрого получения/записи данных в/из бд. Для расчета индикаторов скопипастил часть модуля talib (сам talib не использовал). Для визуализации использовал matplotlib (он очень неповоротливый, но это не критично для бэктестинга). Далее написал свой оптимизатор, в долгих и упорных муках родил стратегию (которая на бэктестинге показала профит) и модули для реальной торговли. Оттестил реальную торговлю на крошечных деньгах, выдохся и устал) Поставил бота на торговлю со 100 долларами (чтоб не жалко потерять) и улетел на Кубу поправлять здоровье. Олдовые ретрокары, ром, сальса, атмосфера коммунизма, Гавана - нормально так поправил здоровье) На Кубе нет 3g от слова вообще, нет дешевого интернета (впрочем вообще ничего нет). Только государственный платный вайфай в массовых местах за 1 евро в час. Что-то меня понесло. Забыл сказать - ещё написал телеграм бота, который вещал мне в какую сделку зашел, с каким результатом вышел и чего там как. Торговал одновременно на нескольких парах: usdt-btc, usdt-rep и ещё что-то, в общем только деньги к крипте и только в лонг. Это был декабрь, вся крипты была в дичайшем бычьем тренде. Бот радовал - за пару недель 100 долларов превратились в 190. То есть +90% профита за пол месяца, что недурно для полностью автоматической системы.

На этой радужной ноте вынужден прерваться, прям физически устал печатать)

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

Ещё раз - автору респект, продолжай в том же духе!
Elisy; AndreykO; d.zhukov; rintik; PeterVP; le0nid; +6 Ответить
12. PeterVP 30.08.18 15:47 Сейчас в теме
(9)
Очень интересно! С интересом почитаю продолжение!
15. Техподдержка 06.09.18 09:01
(9)
- Очень своеобразное определение направления тренда. Это же краеугольный камень, священный неведомый грааль всея технического анализа - правильно определить направление тренда и моменты его изменения. По классике я бы посоветовал использовать хотя бы простейший способ - по пересечению двух EMA (экспоненциальное скользящее среднее) с разными периодами, навскидку на 1С это можно сделать, хоть и не без боли).

Дело в том, что в разработке все сигналы для определения направлений тренда и т.д. рассчитываются по собственным сигналам. Можно создать любое количество нужных стратегий и прописать те сигналы, которые именно вы считаете корректными.
19. Elisy 928 03.02.20 19:11 Сейчас в теме
(9) Есть подозрение, что вы заново написали FreqTrade бота. Тот же Talib, Python, sqlite, backtesting. Только еще эмуляция торговли есть. Во Freqtrade не хватает short-торговли, а также martingale
14. rfcor 74 05.09.18 23:35 Сейчас в теме
Ого, целых два плюса) сори что так поздно, очень плотный график и всё такое. А ещё я не могу найти где тут личные сообщения. Чел что прислал мне письмо, спасибо за ценную инфу, обязательно почитаю на досуге!

Ну и продолжение истории.
Немного технических подробностей. Раньше я знал что есть всякие разные среды разработки, что есть питон нескольких версий, системы контроля версий и сборщики поставок, но на очень поверхностном уровне (впрочем и сейчас ни во что не углубляюсь дальше чем необходимо для кратчайшего решения моей прикладной задачи). Так что за нубство в отдельных вопросах сорян)
В январе уже устал держать бота на ноуте и арендовал пару vds. Их сейчас везде полно. Кстати они на windows server 2012 (позже объясню почему). Я занимался разработкой в pycharm одновременно на Mac и ПК, а для контроля версий ткнул на первое что попалось - bitbucket. Выбор postgresql был оправдан тем что эта субд есть для всех ос. Для сборки использовал pyinstaller - очень хотелось чтобы бот был в 1 файле, типа скопировал на сервер и запустил. Прочел где-то про ограничения, что на mac можно делать сборки только для os x, а на винде только под винду (скорее всего всё можно, просто я не знаю как). Поэтому очевидно, что линукс на сервере отпадает, остается только винда.

В январе началось самое веселье) боты торговали крипту к крипте (землю к земле, прах к праху), а учитывая сильную волатильность - делали и хороший плюс и хороший минус (опять же, если считать в крипте). А дальше было это бесконечное падение.. Даже учитывая что в количественном отношении крипты у меня стало немного больше, в деньгах я потерял много-премного процентов. Мое предположение о том что альты к биткоину будут приносить такие же дикие прибыли как в 2017 году не сработало :)

В какой-то момент я остановил торговлю и занялся переписыванием биржевого апи чтобы оно было "более лудшим", ордера чаще закрывались и ошибки биржи не выбивали ботов из колеи, перестройкой и упрощением стратегии, адаптацией для торговли только на usdt-btc в лонг. Пробовал задружить бота с другими биржами.. Как ни странно, всеми нелюбимый poloniex оказался самой стабильной и дружелюбной биржей с точки зрения API. Вот краткое резюме: bitfinex - красивая и функциональная там только оболочка в браузере. Для моих же целей API был очень враждебный - конские ограничения по загрузке исторических данных, длинные задержки, периодические отвалы. Конечно можно было задействовать какую-нибудь чужую продвинутую обертку или потратить кучу времени и написать свой велосипед, но чего-то мне не хватало, уже не помню чего. Bittrex - аналогично, но отвалы и задержки во время активной торговли были вообще за пределами адекватности. Последнее что пробовал недавно - binance. Нашел качественную обертку, но опять же, одним взмахом историю не загрузить, какие-то там веса для вызовов, непонятные лимиты, временные баны, чёрт ногу сломит. Но я даже честно сделал выставление ордера параллельно с poloniex. Последняя ошибка, которая заставила меня забить - если время сервера отличается хоть на пол секунды от времени биржи, запрос отклоняется. Когда пинг больше половины секунды - считай всё. А пинг скачет рандомно. На форумах люди советовали поставить какой-то секретный параметр, но было уже лень. Итого - остался на poloniex. Пусть там нет маркет-ордеров, стопов и трейлинг-стопов, зато стабильность. По мне так эта биржа была сделана специально для ботов, ведь в браузере интерфейс ужасный, торговать руками очень неудобно.

После перехода на торговлю usdt-btc только оттачивал обертку для биржи и бэктестил свои недалёкие стратегии) Относительно недавно попробовал внедрить канонический риск-менеджмент, но результатом остался недоволен (небольшое увеличение профита на истории) потому что не умею правильно считать уровни S/R - уж очень сложно, неточно и медленно это у меня получилось, бектестинг превратился в улитку, об оптимизаторе и говорить не стоит. Скорее всего это потому что я ничего толком не умею в математике на питоне) Но идея осталась. Возможно смогу правильно поставить задачу каким-нибудь индусам и они мне что-то напишут.

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

Вот несколько карточке из стобца ideas у меня в trello))
- сбор и экспорт подробной статистики, чтобы дальше повертеть это и визуализировать в экселе
- приложение для контроля бота. Это очень большая карточка. Идея следующая. Бот работает полностью автономно, но таки есть случаи когда требуется вмешательство человеков. Например, во время интенсивного пролива апи биржи иногда подвисает и бот выставляет ордер с опозданием с уже неактуальной ценой. Программно это обрабатывать сложно. Проще вручную нажать в приложении - выйти любой ценой. Или я вижу, что бот сделал плохой вход. В таком случае нужно его подстраховать - пододвинуть стоп, либо заставить его выйти без потерь прямо сейчас - изменить тейкна текущую цену. Ну и просто посмотреть текущие позиции, статус, статистику, остановить, запустить с телефона очень удобно. Для всего этого требуется сервер приложения на стороне сервера и клиент на стороне телефона. Сервер приложения делает две простые вещи - считывает/записывает данные о текущей позиции, стопе, тейке в postgresql и общается с клиентом допустим через http-сервис данными в json.

Ну про самое интересное - результаты. Итого я довольно бездарно слил около 3000$ )) Всего на эксперименты с ботом выделял около 5000$. Довольно дорогой опыт, зато было весело получать такой опыт, гореть новыми идеями и вот это вот всё. Для кого-то это вообще не деньги. Изначально рассчитывал что потеряю всё, потому что каждый должен терять всё перед тем как начать что-то немного понимать)

Нынешняя стратегия довольно простая.
Таймфрейм 15 минут.
Точка входа: наличе бычьего тренда, сигнальная линия пересекает macd сверху вниз, rsi находится в диапазоне от 40 до 50.
Точки выхода: rsi>74 или тейк (+15% от цены входа, это на всякий случай:)) или стоп (-1% от медленной ema, по которой определяется тренд)
Бычий тренд определяется когда быстрая ema пересекает медленную снизу вверх.

При текущих параметрах на истории стратегия дает доходность как на рисунке. Естественно на истории все стратегии супер граали) так что не стоит обольщаться. В реальности всё будет не так радужно.

Синяя линия - баланс в usdt (его шкала справа).
Красная линия - график цены биткоина, его шкала слева.
В этом бэктесте начальный баланс 1000$.
На графике красной линией отмечен момент когда бот начал торговать usdt-btc.
Видно что баланс чуточку вырос при том что курс биткоина немного упал.
Ещё видно что при медвежьем тренде бот находится в просадке, но не такой сильной как при buy&hold. Ловит некоторые бычьи движения даже в общем медвежьем тренде. Ну а в бычьем тренде естественно наращивает баланс.
Прикрепленные файлы:
AndreykO; d.zhukov; sansys; +3 Ответить
16. Boneman 257 06.09.18 09:22 Сейчас в теме
крипта скам )) Делал бота, на 1С, в начале года..до 8 марта, он даже прибыль приносил. А потом началось, падение-падение и до сих пор продолжается. Волантильности рынка почти никакой нет, колебания маленькие. Что-либо отжать стало очень сложно. В основном стригут бесконечно.
В итоге забил, баловство все это. ))
17. rfcor 74 06.09.18 10:17 Сейчас в теме
(16) Естественно сложнее стало) купить биткоин и сидеть следить за его курсом, надеясь на ИКСЫ - весьма больно) а плюс бота в том что он убережет от больших потерь в деньгах при масштабных падениях курса.. а при повышении курса естественно увеличит баланс в деньгах. На длинной дистанции это хорошо, потому что волатильность всё же есть (по крайней мере на 15 минутном таймфрейме).
То что биткоин скам - этот холивар ведется с 2012 года) мне без разницы, скам это или нет. Если на этом можно заработать и получить некоторый опыт и удовольствие от процесса - это хорошо)
18. ae560 10.10.19 13:13 Сейчас в теме
rfcor спасибо за обстоятельные объяснения. Может поделитесь наработками с обществом... Хотя бы некоторыми модулями, подключение к бирже, к примеру. Я тоже, давно уже, занимался автотрейдингом, знаю сколько много времени уходит на разработку. А так кто-нибудь еще продолжет и разовьёт ваше дело.
20. Elisy 928 03.02.20 19:22 Сейчас в теме
(18) Извините, что вмешиваюсь, но уважаемый rfcor пытается разработать то, что уже разработано и лежит на github.
https://www.freqtrade.io/en/latest/
Оставьте свое сообщение

См. также

Публикаций не найдено

Попробуйте расширить область поиска, проверьте поисковый запрос и повторите попытку.

Или закажите индивидуальную разработку вашего решения.

Создать заказ на разработку