Тест, проверяющий правильность формирования стаканов котировок.
Чего только со стаканом не бывает, если это не тестировать. Покупки выше продаж, уровни с нулевыми объёмами, неправильная сортировка и много ещё чего. Данный тест вот такие вещи смотрит.

Где находится в проекте:

Рис.1. Расположение теста в проекте OsEngine.
Настройки теста.

Рис.2. Настройки теста в проекте OsEngine.
- Кнопка включения теста. Если Вы подключены к какому-то брокеру или бирже, тест начнётся.
- Бумаги, на которые надо подписываться. Разделитель – нижнее подчёркивание. Не меньше трёх активных бумаг надо ставить.
- Класс бумаг, на которые мы хотим подписаться.
- Кол-во минут, которые тест будет анализировать стаканы. 5 – 10 минут достаточно.
Требования к данным MarketDepth.
Главный объект стакана котировок.
- Bid никогда не должен быть равен Ask.
- Bid не должен быть выше Ask.
- SecurityNameCode – обязательное поле. Не может быть равен null или содержать пустые строки.
- Time – поле, содержащее в себе время обновления стакана. Каждый стакан должен быть маркирован временем. Либо своим, либо временем сервера.
- В истории стакана не должно быть больше 25 уровней.
- Стаканы не должны вызываться без смены времени стакана. Каждый должен быть уникальным.
- Bids – 0 индекс самый высокий. И далее, чем больше индекс, тем меньше цена.
- Asks – 0 индекс самый низкий. И далее, чем больше индекс, тем выше цена.
- С одинаковой ценой не может быть несколько уровней.
- Массивы не могут содержать в ячейках null.
MarketDepthLevel.
- Объект одного уровня в стакане.
- Price – обязательное поле цены.
- Bid – назначается, если это покупка.
- Ask – назначается, если это продажа.
- Id – не обязательное сервисное поле. Применяется в некоторых коннекторах при сборке стакана.
- Находясь в массиве Bids, Ask должен быть равен 0.
- Находясь в массиве Asks, Bid должен быть равен 0.
Если вы сделали всё правильно, увидите вот такой отчёт:

Удачных алгоритмов!
Пост из серии «Коннекторы к OsEngine»
Серия о том, как стать настоящим программистом и изменить свою профессию.
Оглавление и смыслы здесь: https://smart-lab.ru/company/os_engine/blog/959953.php
Комментарии открыты для друзей, добавляйтесь!

OsEngine: https://github.com/AlexWan/OsEngine
Поддержка OsEngine: https://t.me/osengine_official_support
Регистрируйся в АЛОР и получай бонусы: https://www.alorbroker.ru/open
Сайт АЛОР БРОКЕР: https://www.alorbroker.ru
Раздел «Для клиентов»: https://www.alorbroker.ru/openinfo/for-clients
Программа лояльности от АЛОР БРОКЕР и OsEngine: https://smart-lab.ru/company/os_engine/blog/972745.php
