Блог им. elektroyar

Библиотека OpenBoApi для работы с лохотронами

Кто-то этого давно ждал, кто-то не ждал, кому-то вообще параллельно. Тем не менее, встречайте: библиотека для работы с брокерами бинарных опционов OpenBoApi. Не благодарите.

Библиотека OpenBoApi для работы с лохотронами

Либа написана на С++, почему? Потому что это не питон. Либа пока еще сырая, тем не менее я сам ее использую, тут я как сыроед, в кодинге, ну. Либа будет дальше там, ну, улучшаться, дополняться и т.д.

Лирическое отступление


Обычно у библиотек и языков программирования есть какой нибудь талисман, ну там хомяк, лисичка, еще что нибудь безобидное. И тут я вспомнил, что был один в истории человек, который прям как в бинарках обещал 100% в месяц. Многие его называли мошенником, однако он всю жизнь проходил в трениках, был далеко не дурак, хотя, судя по всему, верил в свои пирамиды. И вообще о народе думал. В общем, нестандартная личность. 

Ближе к телу


OpenBoApi - это C++ header-only библиотека для работы с API брокеров бинарных опционов. С помощью этой библиотеки выполняется правило трех сигм, тфу, то есть, трех  'М' - Мы Можем Многое:

  • Открывать сделки (в перспективе — сразу на разных брокерах, пока только у двух можно, intrade.bar и olymptrade)
  • Получать котировки из разных источников
  • Фильтровать сигналы от новостей или использовать прогнозы новостей
  • Да в общем все, что угодно можно сделать на базе этой библиотеки
Проект пока еще находится в стадии разработки! Исходники могут измениться, а работоспособность программ не гарантирована! И вообще не торгуйте бинарками, есть куда надежнее способы заработать, ну там вклады в банках под 8% в год, акции, золото и все такое. Не пытайтесь просто так «поднять бабла», для этого нужны наукоемкие дела. 

Кому это может пригодиться?

Данная библиотека может быть полезна, если вы:

  • Умеете кодить на С++ и хотите сделать робота-грааль для торговли, заложив в него свою супер-стратегию
  • Умеете кодить на С++ и хотите сделать робота для продажи, так как это безопаснее, чем торговать самостоятельно
  • Умеете кодить на С++ и хотите сделать робота для продажи, так как ваши стратегии на самом деле не работают
  • Умеете кодить на С++ и хотите сделать робота с мартингейлом для заработка по партнерской программе
  • Умеете кодить на С++ и хотите сделать робота для копирования сигналов, чтобы вести ДУ
  • Умеете кодить на С++ и хотите сделать робота для копирования сигналов, чтобы зарабатывать по партнерской программе с оборота средств или со слива трейдеров
  • Не умеете кодить на С++, но собираетесь нанять фрилансера, который умеет в Си, чтобы сделать что-то из выше описанного на базе данной либы
  • Не умеете кодить на С++, но обращаетесь к автору библиотеки, который подумает, стоит ли с вами вообще связываться) Если что, пишите
Инструкция по установке

Данный проект поддерживает С++11 и был проверен на компиляторе x86_64-7.3.0-release-posix-seh-rt_v5-rev0. Проект имеет множество зависимостей, но большинство из зависимостей - header-only библиотеки. Все зависимости добавлены в папку lib как субмодули. Разработка библиотеки производилась в IDE Code::Blocks. Готовые примеры проектов можно найти в папке code_blocks.

Шаг №1

Загрузите репозиторий при помощи git сразу с субмодулями (библиотеками в папке lib). Для этого в командной строке выполните команду:

<code>git clone --recurse-submodules -j8 https://github.com/NewYaroslav/open-bo-api.git
</code>

Дождитесь завершения загрузки. Это будет не быстро.

Шаг №2

Распакуте в папке lib архивы boost_1_71_0.zip (библиотека boost с заголовками asio) и utf8_v2_3_4.zip (библиотека для работы с utf8). Без этих библиотек собрать проект не выйдет.

Шаг №3

Откройте проект code_blocks\trading_robot_template\trading_robot_template.cbp при помощи Code::Blocks. В проекте указан компилятор mingw_64_7_3_0, который в вашем Code::Blocks отсутствует. Вы можете добавить настройки компилятора с именем mingw_64_7_3_0 в Settings->Compiler или поменять компилятор проекта на стандартный GNU GCC Compiler. Проект точно должен работать с компилятором x86_64-7.3.0-release-posix-seh-rt_v5-rev0, но вы можете скачать последнюю версию тут Почитать про устанвоку компилятора можно в инструкции MINGW_INSTALL.md

Шаг №5

Внесите изменения в проект trading_robot_template, trading_robot_template_with_mt4trading_robot_template_with_mt4_2 и другие под ваши нужды. Библиотека xtechnical_analysis содержит индикаторы, корреляцию и статистические показатели. Конечно же можно использовать и другие библиотеки, такие как ta-lib

  • Проект trading_robot_template_with_mt4_2 использует поток котировок от MetaTrader4, остальные проекты используют поток котировок брокера.

  • Пример trading_robot_template_bb просто показывает, как можно обрабатывать сразу массив индикаторов.

  • Пример intradebar_olymptrade_template_rsi торгует по сигналам RSI сразу на двух брокерах, выбирая наилучшие условия

Шаг №6

Забыл удалить этот шаг. Удалил)

Возможности библиотеки
  • Можно работать с брокером intrade.bar (получать процент выплат, баланс депозита, открывать сделки) и olymptrade, остальные брокеры будут постепенно добавляться в библиотеку
  • Можно использовать поток котировок брокера intrade.bar
  • Можно перехватывать поток котировок из MetaTrader4 (библиотека mt-bridge)
  • Можно загружать экономические новости
  • Можно использовать индикаторы, корреляцию и статистические показатели из библиотеки xtechnical_analysis
  • Можно работать со временем при помощи библиотеки xtime_cpp
P.S. Нравится? Не благодарите. Не подписывайтесь на мой канал в телеге и всем успехов.

P.S. Не нравится? Ну извиняйте.
6.7К | ★8
8 комментариев
Зачем uint32_t по конст-ссылке передаёшь? Если пишешь на плюсах, то юзай enum class, не засоряй код капсами енамов.
 static const std::map<std::string, uint32_t> intrade_bar_currency_pairs_index
Такие вещи всё-таки лучше через const char *делать, если постараться можно и как constexpr это оформить.
а почему там фотка мавроди?
сейчас всё в докерах надо, как микросервис, и без разницы на сях или на питонах он будет написан
avatar
Как её состыковать с mql?
avatar
leonardo4, через DLL можно, например. 
avatar
elektroyar, а вы такое можете написать? я на mql пишу, библиотеки подключать умею.
avatar
leonardo4, но вообще я бы рекомендовал просто писать робота на С++ и не париться) 
avatar

Читайте на SMART-LAB:
Фото
Налоги инвестора в 2026. Новые правила, международные соглашения и структурирование капитала. Закрытый эфир 5 марта
5 марта в 11:00 мы проведем прямой эфир «Налоги инвестора в 2026. Новые правила, международные соглашения и структурирование...
Фото
📌 Сегодня стартует сбор заявок на облигации ПАО «МГКЛ» серии 001PS-02
Сегодня, 3 марта, с 11:00 до 15:00 (мск) проходит сбор книги заявок на второй выпуск биржевых облигаций ПАО «МГКЛ» на СПБ Бирже, ориентир...
Фото
Размещения облигаций на предстоящей неделе
На этой неделе выпуски не радуют премией ко вторичному рынку, предлагая доходности в рыночном диапазоне и даже ниже его. 🔥 — выпуски...
Фото
Мой Рюкзак #64: Усиление в банковском секторе в ожидании справедливой переоценки
Февраль продолжает радовать стоимостных и смелых инвесторов Прошлый пост тут —  smart-lab.ru/company/mozgovik/blog/1265828.php...

теги блога elektroyar

....все тэги



UPDONW
Новый дизайн