Постов с тегом "cpp": 6

cpp


Библиотека для работы с временем и датой ztime

 С++ библиотека для работы с датой и временем Z-time

Библиотека для работы с временем и датой ztime

Всем привет! Ранее я уже писал про библиотеку для работы с датой и временем. С тех пор я добавил в нее новый функционал и адаптировал под использование в VS (оказалось, что в VS имя xtime уже занято). Эта библиотека очередной велосипед, но что поделать, люблю делать велосипеды
boost::posix_time, std, boost ::chrono… надо учиться эффективно использовать чужие велосипеды, иначе легко завязнуть в своих...

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


Описание


Данная библиотека представляет собой сборник алгоритмов, классов, функций и констант для удобной работы с временем:

  • Измерение точного времени при помощи NTP
  • Получение реального времени компьютера с точностью до микросекунд
  • Преобразование даты в метку времени и обратно
  • Парсинг строк или формирование строки из даты
  • Расчет фаз Луны, поиск следующего новолуния
  • Преобразование UINX времени в OLE Automation Date и обратно
  • Получение секунды, минуты, часа дня из метки времени, получение последней метки времени месяца и т.п.
  • И многие другие возможности...


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

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



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

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

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

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

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



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

Интеграция Lua и С++ (2)


Обмен данными между Lua и Сpp осуществляется через Lua-стэк, то есть через специальным образом структурированное (по принципу Last In — First Out) пространство. 


Интеграция Lua и С++ (2)

Иллюстрация процесса добавления переменных в Cтэк (Push) и извлечения переменных из Стэка (Pop).

Иными словами, Lua стэк — это одномерный массив переменных (список, строка) с прямой (от 1 до n) индексацией.



Заполняется стэк командами lua_push (С-side) :

void lua_pushnumber (lua_State *L, lua_Number n);
const char *lua_pushstring (lua_State *L,  const char *s);

и другими. 


Новой переменной в стэке Луа длинной n автоматически присваивается индекс [n+1] или [-1], где n+1 — абсолютный индекс переменной, а -1 — индекс новой переменной относительно конца (!) стэка. 




Доступ, к переменным, соответственно осуществляется функциями lua_to (C-side) :

lua_Number lua_tonumber (lua_State *L, int index);
const char *lua_tostring (lua_State *L, int index);
где L — указатель Lua-стэка, а index — абсолютный или относительный индекс переменной в стэке.

( Читать дальше )
  • обсудить на форуме:
  • Quik Lua

Practical C++ Financial Programming.pdf есть у кого-нибудь?

Вечер добрый, нет ли у кого-нибудь файла этой книги, релиз был в феврале сего года.
В интернете пару ссылок нашел, но никак.Или можно, как-то, скачать из гугл букс? 
Спасибо! 

программисты трейдеры АУ

парни очень нужна консультация программиста на С++

суть: не могу разобраться с векторами (((
пишу ДЛЛ пока для МТ4
дан двумерный ДИНАМИЧЕСКИЙ массив баров.
необходимо этот массив передать в ДЛЛ.

в С++ как таковое отсутствует понятие ДИНАМИЧЕСКОГО массива ((( поэтому через вектора…
но информация слишком скудная в нете…
не могу понять как вектор двумерного массива инициализировать в классе, как в отдельной функции добавлять в него новые элементы, и как из другой функции читать..

если есть тут прогеры — откликнитесь плиз!

прошу плюсануть 

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