Постов с тегом "c++": 48

c++


Pump crypto Bot обновление C# с 40 мс до 20 мс на выставление

В продолжении к моему прошлому посту про заработок на пампах. 

KuCoin выпустил немного сыроватое специальное HF APi, которое я протестировал буквально недавно. 
Оно создано специально, чтобы иметь минимальную задержку. Отвечает такое API только за отправку и отмену ордеров.

Вы даже не сможете завести себе отдельный счет внутри своего аккаунта, если не сделаете перевод через их API.
Только после этого в личном кабинете появиться специальный аккаунт «HF» 

Pump crypto Bot обновление C# с 40 мс до 20 мс на выставление

Я, честно говоря, думал, что это чисто маркетинг, но оказалось, что новое АПИ реально быстрее почти в 2 раза. 
В среднем мы имели скорость от 35 до 42 мс на выставления ордера, после использования специализированно HF API стали получать по 20 мс. 
Замеры с коло из Токио ->

1 ордер — 98 мс (прогрев)
2 ордер — 56 мс (прогрев)
3 ордер — 26 мс
4 ордер — 20 мс
5 ордер — 30 мс
6 ордер — 28 мс
7 ордер — 18 мс
8 ордер — 19 мс
9 ордер — 16 мс

Наша прошлая версия:



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

Pump crypto bot. Путь построения торгового бота на C#. Тестирование скоростей С++, RUST, Python. Заработок на синтетических скачках на крипте

Приветствую!

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

Что такое Pump — это когда «крипто школьники» собираются и решают вместе в один момент купить какую-то монету. Монета сильно подскакивает, а потом нужно резко выйти с огромной прибылью. 

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

Pump crypto bot. Путь построения торгового бота на C#. Тестирование скоростей С++, RUST, Python. Заработок на синтетических скачках на крипте

Большинство «пампов» выкладываются в телеграм и дискорд группы.

 

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

Как ускорить python в 2000 раз, или как расчитывать максимальный дродаун со скоростью света :) (python, c++, cuda)

Смотрю некоторые люди интересуются темой как же скрестить питон и с++.

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



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

О быстродействии авто торговой системы.

    • 01 мая 2021, 02:25
    • |
    • 3Qu
  • Еще
На вечерке измерил быстродействие своей ТС. ТС обрабатывает в среднем ~2.8 запроса в секунду.
Если ТС занята обработкой предыдущего запроса, то следующий запрос пропускается и не обрабатывается. При этом рыночные данные в системе постоянно обновляются и всегда остаются актуальными для системы.
Ну, и о системе. Это Lua программа в паре с C++ DLL. Вся необходимая обработка производится в DLL. Lua является только источником рыночной информации — стакан, обезличенные сделки и свечи.

PS Начал заниматься тем, о чем написал в комментариях — попыткой ускорить обработку данных ТС до 4-5 запросов в секунду. Практически ничего не меняю — небольшая перекомпоновка программы C++ DLL, и обнаружил несколько уже ненужных операторов, оставшихся как мусор от этапа отладки.

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 и настроить все необходимое в 



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

Лаборатория интрадея и скальпинга - ScalpLab.

    • 14 апреля 2021, 03:03
    • |
    • 3Qu
  • Еще
ScalpLab — не знаю, употреблял ли ранее кто такое название, м.б. оно уже кем-то зарегистрировано. Если так, то потом изменю на что нибудь типа ScalpJob, но пока, до выяснения, пусть будет ScalpLab.
Идея эта у меня не новая. Она была реализована для терминала АД 3.5, который приказал долго жить где-то в 2015 году. Компьютеры сменились, программа затерялась в архивах на старых дисках, технологии утеряны, а подробности реализации уже не вспомнить. Да и если будет реализация, толку не будет — взаимодействие терминала АД и Quik с внешним ПО построено на совершенно различных принципах и ничего общего не имеют.
Конечно, интрадеить из Quik можно, но скальпить уже весьма проблематично. Настройки стакана для этого весьма примитивны и особо не развернешься — можно второпях и щелкнуть не туда. А надо всего 2 кнопки Buy и Sell, все настройки и отступы автоматом, и, чтоб вообще не думалось.
В старой программе ScalpLab были не только Buy, Sell и настройки, это была именно лаборатория, со своими микротаблицами, индикаторами, типа столбцовых диаграмм и пр. вспомогаловки для скальпинга и интрадея. Графики там не нужны, их не нужно анализировать, нужны только результаты измерений и обработки — вся информация должа быть обработана подана максимально готовом виде.

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

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

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

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

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



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

Quik 8.11.0.66. Вот так номер. Шо, опять Win32, опять 32 бит?

    • 18 февраля 2021, 20:35
    • |
    • 3Qu
  • Еще
Сегодня брокер Альфа обновил Квик с версии 8.8… до версии Quik 8.11.0.66. Появился кроме Lua 5.3.5 еще и Lua 5.4.1. Отлично, мне бы радоваться, давно этого хотел. Но...
Запустил рабочую в Quik 8.8 версию системы использующую DLL, И увидел вот это:
Quik 8.11.0.66. Вот так номер. Шо, опять Win32, опять 32 бит?
Во первых, ничего не работает даже в уже отлаженной версии Lua 5.3.5. Вы видите на картинке, что Lua не нравится 64-бит DLL, и она хочет 32-битную.
Во вторых, то ли Quik стал опять 32-х битным (пока не смотрел), то ли Lua в Quik стала снова 32-х битной, а это означает, что все надо переделывать с 64 бит на 32 бит. С чем боролись, на то и напоролись. Вечный кайф.
Признаться, сильно лень переделывать все опять на 32 бит, тем более, многих библиотек для DLL С++ для 32 бит просто не существует в природе.
О моей борьбе с этим буду сообщать. Наверно, дополнением этого топика. Подписывайтесь, чтобы ничего не пропустить. Мало ли, м.б. решение и найдется.



  • обсудить на форуме:
  • QUIK

Использование Машинного Обучения в торговых системах. Реализация.

    • 18 января 2021, 22:58
    • |
    • 3Qu
  • Еще
В топике Использование Машинного Обучения в торговых системах. Простейшее применение описаны принципы построение логики ТС с применением Машинного Обучения (МО). Вкратце опишем пути реализации.
Это уже посложней — нам понадобятся знания  Lua, С++ и Python.
Я предпочитаю ничего не делать сам, особенно, если для написания программы требуется изучение и реализация сложных алгоритмов. Зачем это делать, если можно использовать уже готовое. В современном программировании это один из основных принципов объектно-ориентированного программирования — берешь готовый объект и используешь. Если есть уже готовые библиотеки с нужными программами, то их и используем — сокращает время реализации, не надо беспокоиться об отладке, и много других плюсов. Извините, ленив и нелюбопытен — есть масса других интересных вещей, на которые можно потратить свое время.
Для начала пишем на C++ простенькую DLL для связи с Lua — шаблон проекта такой DLL вы можете найти в моих топиках. Нужный Вам код вам придется писать самим.

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

Ухожу в отпуск. Творческий.

    • 05 ноября 2020, 21:33
    • |
    • 3Qu
  • Еще
Наконец все предварительные работы по системе закончены. Тесты системы в Python на разных инструментах вы уже видели ранее. Система совершенно новая, хотя, по прежнему Lua и С++, но все переписано заново. Появилось множество потоков — все чтение данных из терминала выполняется в фоновом режиме.
Осталось только вбить саму стратегию. Поначалу хотел в стратегии использовать библиотеки Python, но нашел и оттестировал неплохие эрзацы на С++ (эрзац кофе — это не кофе, а заменитель кофе). Существенной разницы нет, и можно обойтись без Python.
Ожидаются проблемы со сделками и стаканом — на истории и минутных данных это никак не оттестируешь. С этим надо работать уже с реальными данными.
В общем, с завтрашнего дня ухожу в творческий отпуск. В январе надеюсь выйти на тест уже с мелким реалом. До того, еще тест с виртуальными сделками. Учитывая то, что многое не готово, планы не такие уж маленькие.
Топики особо писать не буду, разве, что комментарии.

....все тэги
UPDONW
Новый дизайн