1) Винда, DLL. Не, я понимаю, что первый релиз для скорости можно было сделать исключительно под винду, но сколько лет-то уже прошло, неужели нельзя было подпилить и собрать static build .so хотя бы под линукс? Спасибо хоть не используете ничего особенного и под WINE всё нормально работает, как на MacOS так и на Linux.
2) Полностью намешаны все уровни протоколов. Библиотека работает на всех уровнях ISO OSI от прикладного до транспортного. Из-за этого работа с ней превращается в набор костылей.
3) Невозможно подключиться по одной учётной записи одновременно из двух приложений. Это вероятно прямое следствие пункта (2)
4) Есть магические часы, когда "логин" не проходит.
5) Даже если вы передали language=en в команде login часть ошибок вам будет приходить на русском. Например ошибка о проблемах с логином.
6) После подключения вы можете получить несколько пакетов <orders> — в них ваши ордера за текущую сессию. В обратной сортировке, то есть первыми придут последние ордера. Кажется тоже самое с вашими трейдами за текущую торговую сессию.
7) В какой-то момент после закрытия вечерней сессии вы всё ещё можете получить свои ордера и трейды после логина, потом в какой-то момент времени ордера перестают отдаваться, отдаются только трейды, примерно в 8 утра (МСК) система перестаёт логинить, а в 9 утра вы уже не видите вчерашние трейды.
8) Очень не радует наличие слов "иногда" и "В некоторых случаях" в официальной документации по работе с библиотекой. Поищите сами
https://www.finam.ru/files/TXmlConnector.pdf9) Поле correction в структуре stoporder->takeprofit в документации заявлено как double, на деле вам прилетит строка "0%". Это прямое расхождение с документацией, не говоря уже о том, что даже школьнику понятно, что ноль это и есть ноль, его единицу измерения не надо обозначать.
10) нет временной метки в структуре <quotes>. Это само по себе очень плохо, но ещё и рождает следующую проблему
11) Если вы подписались на трейды и стакан по одному инструменту, не ждите что в процессе у вас будет стакан, удовлетворяющий условию maxBidPrice <= tradePrice <= minAskPrice — по моим наблюдениям, примерно в ПОЛОВИНЕ случаев это условие не будет выполнено.
12) Результат команды get_united_equity видимо кешируется, в программах реального времени на него расчитывать нельзя.
Всё это относится к использованию библиотеке на реальном логине с реальными деньгами. Про так называемый "демо режим" в котором кажется не работает практически ничего, в смысле что он даже на чуть-чуть не приближен к реальному режиму, на нём невозможно не то что проверить стратегию, на нём невозможно даже проверить работоспособность библиотеки — я даже писать не хочу.
При возникновении какой-то продуктивной обратной связи, продолжение последует. Из супер критичных я бы выделил пункты 3, 10 и 11, потому что я не смог придумать никаких обходных решений для самостоятельного фикса этих проблем.