По просьбе алготрейдера, а так же товарища по несчастью, Александра выкладываю все нижеследующее. Так же параллельно все изложенопо
этой ссылке на форуме TSLab
Уже несколько месяцев борюсь с багами Финама и Транзака. Все было им написано, расписано, данные были переданы. Да, они немного сделали и ликвидировали потерю тиков, почти. Ранее была потеря в тысячи штук, сейчас редко доходит до 100. Все остальные проблемы пока не решены. Дублирование, левые номера сделок и так далее. При всем при этом разработчики этого добра похоже сами и не пробуют тестировать свой софт. Авось прокатит и никто не заметит баги, если они есть. Но не вышло. Так как алгоритмы используемые мной активно используют тиковые данные, стал замечать что сигналы расходятся на двух машинах. Эти компы стоят в соседних комнатах. Было весьма странно. Начали копать данный вопрос. Подключил RA81 и он помог мне разрыть проблему и показать как мой брокер меня разводит. Поскольку требовать исправлений устал, решил выносить сор из избы. Возможно так проблему заметят и решат быстрее.
Для анализа тиковых проблем использовался
софт по конвертации бин файлов ТСЛаб в текстовики. Дальше самописная программа сравнивала текстовые файлы и получался результат. Сравнивались данные между двумя компами, и потом они же сравнивались в файлом биржи. Биржевые данные брались с
фтп сервера биржи.Были, так же, проверены брокеры АЛОР и ПЛАЗА. Там все чисто и совпадает полностью с биржей (время для алора и плазы не проверялось на совпадение с биржевым).Проверяемый инструмент RIZ4.
Список обнаруженных проблем:
- Расхождения в данных между двумя машинами
- Потеря тиков
- Дублирование тиков
- Кривое время и номер сделки
- В номера сделок RIZ попадают сделки от Лукойла.
- Время отлично от биржевого.
Если нет желания ломать глаза над испорченными картинками (которые смартлаб превращает в нечитаемые) и кривым форматированием, можно все это прочитать в другом месте с хорошим качеством
Расхождения в данных между двумя машинами
Если два компа стоят в одной комнате то результаты полученные от транзака могут быть совершенно разными. Вот пример за 11.11.2014 с двух машин в одной комнате. Как видим разница в числе строк достаточно велика (смотреть последнюю строчку).

При этом ниже будет показано что на одной машине много дублей (повторения данных), а на другой их нет. При этом число потерянных(есть в биржевых данных но транзак их не прислал) тиков тоже различается на обоих машинах.
Потеря тиков
Суть проблемы в том что часть тиков теряется и не доходит до клиента. Проверялось на нескольких машинах. Сравнивалось все с текстовиком полученным с фтп биржи РТС. Число потерь для Ri доходило до нескольких тысяч. В среднем от 100 до 1000 тиков. После некоторых фиксов со стороны финама стало лучше, но не устранили до конца.
Потеря тиков было проверена по логам транзак коннектора и подтсверждается то, что тики реально не приходили и ТСЛаб их не мог потерять.
Бывает что потеря только одной сделки

Еще отличия от биржевой информации имеются.

Сравнение тиков производится по трем параметрам: номер сделки, цена и объем. Если все 3 совпали, тогда сделки считаются идентичными. Время не используется, так как с миллисекундами у транзака были проблемы, как увидим ниже.
Лишних продублированных тиков целых 628.
Были потеряны:Id:970581134; Price:103450; Volume:1; Date:2014-11-11 10:00:00.000Id:970828687; Price:103150; Volume:1; Date:2014-11-11 12:06:37.007Id:970936123; Price:102920; Volume:1; Date:2014-11-11 13:08:33.137Id:970938231; Price:102970; Volume:1; Date:2014-11-11 13:09:02.060
За этот же день за 11 ноября 2014 года с другой машины стоящей в той же комнате результат следующий:

Потеряны тики:Id:970581134; Price:103450; Volume:1; Date:2014-11-11 10:00:00.000Id:970713564; Price:103720; Volume:1; Date:2014-11-11 11:02:29.857Id:970736109; Price:103840; Volume:1; Date:2014-11-11 11:11:21.443Id:970829358; Price:103180; Volume:4; Date:2014-11-11 12:07:01.583Id:970852703; Price:102990; Volume:1; Date:2014-11-11 12:15:59.397Id:971104243; Price:103170; Volume:1; Date:2014-11-11 14:51:26.823Id:971155754; Price:102330; Volume:1; Date:2014-11-11 15:24:38.530Id:971165279; Price:101980; Volume:10; Date:2014-11-11 15:26:55.640Id:971265256; Price:102480; Volume:2; Date:2014-11-11 16:11:33.717Id:971481847; Price:102430; Volume:3; Date:2014-11-11 17:51:26.330
Дублирование тиков
Часть сделок повторяется в файле тиков. Проверка производилась по номерам, цене и объему сделок и было обнаружено что некоторые номера повторяются. Число дублей было меньше чем число потерь, но всегда идет вместе с потерями.

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

Слава богу ТСЛаб отрабатывает дубли нормально и в выдаче пользователю их убирает. Сохраняет все как шлет финам, но потом лишнее ликвидирует. Поэтому данный трабл не сказывается на торговле.
Кривое время и номер сделки
Проблема имеет смешанный характер. Если сравнить два источника с разных компов, то видим что попадаются места где часть параметров тика не совпадает с параметрами другой машины. Пример на картинке

Видно что порядоковый номер тика совпадает, НО время тика справа неожиданно большое и не вписывается. При этом миллисекунды совпадают а вот секунды нет. При этом так же отличается номер сделки. Все остальные параметры совпадают. Значит проблема в кривых данных по времени и номеру сделки.
Так же попадаются варианты где кривой ТОЛЬКО номер сделки, а время при этом нормальное.

В номера сделок RIZ попадают сделки от Лукойла.
У нас есть проблемный тик. Он тупо не вписался в порядок. Имеет номер и время выбивающееся из общей массы.

Проверяем через тупой скрипт тслаба результат для проблемного тика

Как видим время и номер совпадают. То есть в бинарнике тслаба ТОЧНО записано такое же время какое записано в текстовике, который получили из бинарника. Конвертер бинарных файлов не тупит и работает верно.
Если вытащим из тслаба предыдущий тик и последующий, дабы проверить правильный ли порядок тиков нам дает ТСЛаб, а то может быть он их тоже неверно нам выдает?

Ниже из лога транзака видим что тик 970713563 есть (сей тик расположен в бинарном файле аккурат перед 638), и время его совпадает. То есть ТСЛаб честно попытался отсортировать то барахло что нам прислал транзак и выдает пользователю уже в отсортированном виде! Порядок выдачи ВЕРНЫЙ.
Посмотрим теперь в логи от транзаковского коннектора Финама. Как известно коннектор полностью отвечает за передачу данных, и даже Ведет свой лог файл. ТСлаб тут не имеет отношения.Видим сначала 563 тик.

Далее видим даже по времени получения инфы что пришел 638 тик. Между 563 и 638 НЕ было никаких данных. Время тоже видим совпадает с временем из бинарного файла на картинке выше.

Таким образом ТСЛаб честно записал все то, что пришло от Транзака в том же совершенно порядке. Все сохранил в бинарник.
Далее смотри файл с фтп биржи со сделками за этот день и что видим???

638 сделка вообще не по RIZ4 а по LKZ4 прошла. То есть совсем по другому инструменту. При этом так же видим что предыдущая от 638 по RIZ4 была 632 сделка, а последующей была 659. То есть ТСЛаб нам сделки, выше на картинке, выводил правильно! В правильном порядке, в том в котором сделки совершались на бирже. Только вот 638 сделка была по другому инструменту и ВРЕМЯ у нее другое для Лукойла судя по файлу биржи. Но ТСлаб об этом знать не мог.
При этом наблюдаем что на другой машине как раз сделка пришла правильная и номер ее попадает в общий порядок

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

Теперь эти же сделки но уже в файле от биржи. ВРЕМЯ НЕ СОВПАДАЕТ! Так же смотрим другие сделки ниже по тексту. Тоже самое. Время отличается.

Финам не может транслировать время сделки без искажения? Что еще он искажает?
Для доп проверки взял случайную сделку. Сравниваю информацию из бинарников ТСлаба и файл биржи

Как видим время отличается. Лезу в лог Транзака чтобы проверить какое пришло время сделки

То есть финам прислал именно то время которое в бинарниках ТСлаба, НО оно отлично от времени биржи.
пиши в поддержу!