Tâche terminée
![](https://c.mql5.com/i/avatar/avatar_na2.png)
Spécifications
Задание для Andrey Glebov
Техническое задание.
сделать модуль трансляции данных из LMAX
Работа над одним из модулей механической торговой системы. Модуль должен собирать данные по одному, ВЫБРАННОМУ МНОЙ, инструменту из представленных в LMAX и представлять как исходные для следующего модуля в котором будет происходить дальнейшая систематизация и обработка.
Представленные в результате работы данные не должны указывать на свое происхождение. То есть следующий программист при разработке следующего модуля не должен знать, что за цифры он обрабатывает и откуда именно они взялись. То есть на выходе должен получатся блок к которому будет возможно «прицепить» другой модуль. У этого блока должны быть доступные и понятные другому программисту коды. Поясню для чего это необходимо: Во-первых, поставщик данных может изменится и что бы не переписывать всю программу каждый раз, я создаю этот «входящий» модуль; Во-вторых, банальная защита коммерческой информации.
Данные которые представляет LMAX и которые собственно мне необходимы это тики. В конечном продукте должно быть видно следующее:
3.1. Число изменения тика в формате ГГ.ММ.ЧЧ.
3.2. Время изменения тика в формате Час.Мин.Сек,Милисек (дискретность одна тыс.)
пункты 3.1 и 3.2 должны быть объединены в одну переменную. Формат приведен ниже. Трансляция должна идти по GMT.
3.3. Лучший АСК
3.4. Лучший БИД
3.5. Разница между текущем и предидущем временем изменения тика в формате МИЛИСЕКУНДЫ
3.6. Между 3.4 и 3.5 искусственно добавить шесть полей с постоянной переменной равной единице = 1.
Таким образом трансляция должна выглядеть следующим образом:
2015-08-24 12:27:06:528;17,10954;17,10386;1;1;1;1;1;1;803
В случае разрыва связи с LMAX модуль должен самостоятельно восстановить связь и, по возможности, подгрузить пропущенные данные и сообщить об этом каким либо сигналом с фиксацией времени разрыва и времени восстановления соединения. И отобрать разрыв каким либо специальным символом в транслируемых данных, которые будет видеть следующий разработчик.
Все настройки должны сохраняться в случае перезагрузки модуля. Данные при этом должны очищаться.
Реализовать возможность сделать «паузу» в визуальном отображении транслируемых данных.
Должна быть возможность подключения параллельно нескольких модулей. При этом у каждого будут свои настройки.
Желательно реализовать возможность подключить к трансляции каждого модуля сразу несколько пользователей. (кстати на предидущей разработке тоже)
Предоставить версию для проверки и тестирования.