elektroyar

Читают

User-icon
22

Записи

26

Kurlyk - еще одна С++ обертка для curl

В общем, нужна была мне библиотека для более удобного использования curl. Нашел библиотеки, которые были более менее удобные, но работают без curl, а тащить еще зависимостей в проект ради них не хотелось. Готовых же оберток вокруг curl было полно, но мне они не понравились, да и велосипед хотелось построить.

И придумал тогда я библиотеку Kurlyk.
Kurlyk - еще одна С++ обертка для curl

Описание

Братишка, я тебе покушать принёс


Фраза из артхаусного фильма “Зелёный слоник”

Что такое kurlyk? Да это же еще одна библиотека для более простой работы с curl! Если вас по тем или иным причинам не устроили библиотеки easyhttp-cpp, curl_request, curlpp-async, curlwrapper, curl-Easy-cpp, curlpp11, easycurl, curl-cpp-wrapper... То может быть, стоит попробовать эту?

Использование

Чтобы сделать запрос, достаточно создать объект класса kurlyk::Client и настроить все необходимое в 



( Читать дальше )

Как продаваны сами себя обломали

Бытует мнение, что продажи рабочих роботов убивают закономерности или ломают схему заработка, если она основана не на закономерностях. И сегодня я расскажу вам одну эпичную историю, которая произошла совсем недавно.

Я сам торговал у одного брокера бинарных опционов, и неплохо зарабатывал. Но мои доходы были хоть и выше средних доходов по России в несколько раз, тем не менее, они были лишь мелочью по сравнению с доходами других трейдеров, у которых только на одном аккаунте могло быть 1000-5000$ против моих 70-80$. И множили они депозит не за 2-3 дня, как я, а за час, в худшем случае несколько часов. В общем обували брокера как могли.

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

В итоге брокер прикрыл лавочку. Теперь после регистрации нового аккаунта он начал ставить лимит сразу в течении нескольких минут, даже если на аккаунте ты сделал 0 сделок. Раньше он ставил лимит после х3-х6, в зависимости от скорости роста депозита.

Лимит не позволяет торговать, ведь его размер это 2-3$ суточного оборота. Лишь один трейдер, по рассказу знакомого, занимается таким извращением, что заводит 1000$ и делает одну ставку, а потом выводит. Всего лишь одну ставку.



( Читать дальше )

Зашифрованный и сжатый JSON с комментариями в качестве файла конфигурации

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

Для файлов конфигурации я уже давно использую файлы с JSON. Очень удобная вещь. Осталось лишь добавить поддержку комментариев и зашифровать текст при помощи алгоритма AES. А для большей красоты еще и сжать текст перед шифровкой алгоритмом brotli.

Сказано — сделано. Встречайте — crypto-jsonпроект на гитхабе. Репозиторий содержит готовый редактор JSON с комментариями, который может также сохранить текст в зашифрованном виде. Настройки сжатия и шифрования можно задать перед сохранением файла и во время открытия. Также редактор позволяет сделать проверку JSON и может подсвечивать проблемные места.



( Читать дальше )

Продолжаем сливать бабосики на бинарках 2

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

Победоносный слив бабосиков

Начну в хронологическом порядке. Тут график из прошлой статьи и моя дорисовка по памяти, так как сейчас построить нормальный график уже не могу, данные утеряны. Получив где-то минус 20% к депо, я остановил реальную торговлю (хотя был готов и к -50%). Но все потом стало хорошо, правда я уже не торговал на тот момент.
Продолжаем сливать бабосики на бинарках 2

Непростые заказчики

Дальше было интересней. Чтобы не проедать деньги зря на период допиливания торговой системы, я начал фрилансить кодером в теме трейдинга бинарками. Как оказалось, в бинарках нужны кодеры, которые умеют в С++ и прочие языки высокого уровня, а не только костыльный MQL. Для интересующихся, поднимать 70-100к в месяц тут можно. Но я считаю что не нужно. Почему? Будет рассказано дальше, тогда поймете.



( Читать дальше )

Расчет HMAC в С++

Расчет HMAC в С++


Всем привет! Продолжаем курс велосипедостроения. И на этот раз зачем-то решил  сделать простенький алгоритм расчета HMAC для SHA256 и SHA512. А то иногда бывает нужно подключить какую нибудь криптобиржу, а там нужен этот самый HMAC. Вот ссылка на репозиторий самой либы.

Для расчета HMAC надо вызвать функцию get_hmac, которая имеет несколько параметров:

std::string get_hmac(
	std::string key, 
	const std::string &msg, 
	const TypeHash type, 
	const bool is_hex = true, 
	const bool is_upper = false);
  • key — Строка, содержащая секретный ключ.
  • msg — Строка, содержащая сообщение.
  • type — Тип хеш-функции. Указать hmac::TypeHash::SHA256 или hmac::TypeHash::SHA512.
  • is_hex — Флаг, который отвечает за формат ответа. Чтобы получить строку, содержащую HMAC в шестнадцетиричном формате, данный параметр должен быть указан как true. Иначе строка будет содержать числовое значение HMAC по 8 бит в каждом элеименте строки. По умолчанию данный параметр true.
  • is_upper — Флаг, который отвечает за регистр символов ответа (нижний или верхний). Данный флаг влияет на ответ функции только если установлен флаг is_hex. По умолчанию данный параметр false.
Простой пример кода для расчета HMAC SHA256 и SHA512:

( Читать дальше )

Пошел сливать бабосики на бинарках

В общем, угрохав на исследования 2-3 года (не ну конечно за 2-3 года я еще успел сделать несколько безуспешных проектов инвесторов) я таки запустил наконец-то реальную торговлю сразу на двух брокерах бинарок.

Поковырявшись в 264 стратегиях я выяснил, что хорошо себя ведут стратегии, которые были изобретены еще 2 года назад. Ну то есть сильные закономерности существуют до сих пор и уверенно себя чувствуют. С тех пор конечно что-то было улучшено, но сами закономерности остались те же. Даже обидно, мог бы раньше запуститься.

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

Если торговать с коэффициентом ослабления критерия Келли 0.2 и процентами выплат 82% у одного брокера и 80% у другого, получается неплохой результат. Винрейт у сигналов разный, но в среднем он 59%. Вот результат теста с начала 2020 года по 26.05.2020. Т.е. этот период вообще никак не участвовал в настройке стратегий. 

Пошел сливать бабосики на бинарках



( Читать дальше )

С++ Библиотека для сервера и клиента Named Pipe

В общем, сделал библиотеку simple-named-pipe-server для  работы с именованными каналами. Библиотека содержит сервер и клиент для C++11, а также клиент для MQL4.

С++ Библиотека для сервера и клиента Named Pipe


Очень простая, многопоточная серверная и клиентская библиотека Named Pipe, реализованная с использованием C++11. Проект был проверен на компиляторе mingw 7.3.0 x64. Папка code_blocks содержит примеры для IDE Code::Blocks. Не забудьте в проектах указать свой компилятор, иначе проект не соберется. Сделал либу только сегодня, так что в ней могут быть ошибочки.

Пример сервера
#include <iostream>
#include "named-pipe-server.hpp"

int main() {
    /* в конструкторе сервера можно также задать размер буфера */
    SimpleNamedPipe::NamedPipeServer server("my_server");

    /* обработчики событий */
    server.on_open = [&](SimpleNamedPipe::NamedPipeServer::Connection* connection) {
        std::cout << "open, handle: " << connection->get_handle() << std::endl;
    };
    server.on_message = [&](SimpleNamedPipe::NamedPipeServer::Connection* connection, 
			const std::string &in_message) {
        /* обрабатываем входящие сообщения */
        std::cout << "message " << in_message << ", handle: " << connection->get_handle() << std::endl;
        connection->send("ok");
    };
    server.on_close = [&](SimpleNamedPipe::NamedPipeServer::Connection* connection) {
        std::cout << "close, handle: " << connection->get_handle() << std::endl;
    };
    server.on_error = [&](SimpleNamedPipe::NamedPipeServer::Connection* connection, const std::error_code &ec) {
        std::cout << "error, handle: " << connection->get_handle() << ", what " << ec.value() << std::endl;
    };

    /* запускаем сервер */
    server.start();
    std::system("pause");

    /* останавливаем сервер 
     * (деструктор класса сам выполнит остановку, вызывать не обязательно)
     */
    server.stop();
    std::cout << "close program" << std::endl;
    return EXIT_SUCCESS;
}


( Читать дальше )

Достали вопли о плохих бизнесменах, не такие уж они и плохие

Увидел посты Достали вопли про бизнес и Достали вопли про бизнес 2. Раньше я тоже был околокоммумнистом. Но сейчас понимаю, что все решается сложнее. Так что с постами не согласен и сейчас я объясню, почему.
1. Бизнес- это деятельность с целью извлечения прибыли на свой страх и риск. То есть учитывать риски бизнесмен должен сам. Должен. Примерно также как плотник должен уметь работать с деревом, а инженер производить технические расчёты.
Наемный рабочий должен нести ответственность за себя сам и отстаивать свои интересы с другими рабочими: создавать профсоюзы, организовывать забастовки, так или иначе не быть пассивным. Никому нет дела до рабочего класса кроме самого рабочего класса, а цена пассивности — обнищание и закручивание гаек. 

Государство — по сути тот же бизнес, монополист на предоставление многих жизненно важных услуг. И сменить поставщика этих услуг нельзя, как и выбрать изначально. Еще государство может издавать свои законы, в общем взяло всех за яйца. Так что участь простого рабочего — бороться за себя и своих собратьев. Иначе никак,

( Читать дальше )

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

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

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

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

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


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

Ближе к телу


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



( Читать дальше )

Что еще можно ждать от текущей ситуации или угроза смена власти

Осторожно! Дальше абсолютно не научно!

Больше, чем 2 года назад, когда еще были выборы в президенты и баллотировался Навальный, я решил спрогнозировать, получится ли ему прийти к власти и что в целом будет дальше.

Но сначала немного лирического отступления

Как можно строить прогноз? Можно его делать аналитически: изучать информацию из интернета, смотреть новости и много думать.

Нет, тут не про этом метод. Лет 5 назад я увлекался темой ИСС (это измененные состояния сознания) и индуцировал эти состояния у себя при помощи собственных практик. Позже даже написал статью на хабре.

Идея в том, что наш мозг на самом деле все делает на автопилоте, а когда «мы думаем», то по факту лишь получаем готовый ответ, а наша причастность к процессу размышлений не более, чем иллюзия и просто присвоение явления к нашему «Я».

Поэтому, чтобы получить «прогноз», достаточно, грубо говоря, спросить его у себя самого. И мозг даст ответ, ведь скорее всего он уже все «посчитал». А если еще не «посчитал», то «посчитает сейчас» по нашему приказу.

( Читать дальше )

теги блога elektroyar

....все тэги



UPDONW