Изображение блога
Алексей Ван <o-s-a.net>
Алексей Ван <o-s-a.net> Блог компании Os_Engine
09 января 2024, 16:55

Слой тестирования #4. Var_2. Стакан котировок. Коннекторы к OsEngine #45

Тест, проверяющий правильность формирования стаканов котировок.

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

Слой тестирования #4. Var_2. Стакан котировок. Коннекторы к OsEngine #45

 

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

Слой тестирования #4. Var_2. Стакан котировок. Коннекторы к OsEngine #45
Рис.1. Расположение теста в проекте OsEngine.


Настройки теста.

Слой тестирования #4. Var_2. Стакан котировок. Коннекторы к OsEngine #45
Рис.2. Настройки теста в проекте OsEngine.

  1. Кнопка включения теста. Если Вы подключены к какому-то брокеру или бирже, тест начнётся.
  2. Бумаги, на которые надо подписываться. Разделитель – нижнее подчёркивание. Не меньше трёх активных бумаг надо ставить.
  3. Класс бумаг, на которые мы хотим подписаться.
  4. Кол-во минут, которые тест будет анализировать стаканы. 5 – 10 минут достаточно.

 

Требования к данным MarketDepth.

Главный объект стакана котировок.

  1. Bid никогда не должен быть равен Ask.
  2. Bid не должен быть выше Ask.
  3. SecurityNameCode – обязательное поле. Не может быть равен null или содержать пустые строки.
  4. Time – поле, содержащее в себе время обновления стакана. Каждый стакан должен быть маркирован временем. Либо своим, либо временем сервера.
  5. В истории стакана не должно быть больше 25 уровней.
  6. Стаканы не должны вызываться без смены времени стакана. Каждый должен быть уникальным.
  7. Bids – 0 индекс самый высокий. И далее, чем больше индекс, тем меньше цена.
  8. Asks  – 0 индекс самый низкий. И далее, чем больше индекс, тем выше цена.
  9. С одинаковой ценой не может быть несколько уровней.
  10. Массивы не могут содержать в ячейках null.

 

MarketDepthLevel.

  1. Объект одного уровня в стакане.
  2. Price – обязательное поле цены.
  3. Bid – назначается, если это покупка.
  4. Ask – назначается, если это продажа.
  5. Id – не обязательное сервисное поле. Применяется в некоторых коннекторах при сборке стакана.
  6. Находясь в массиве Bids, Ask должен быть равен 0.
  7. Находясь в массиве Asks, Bid должен быть равен 0.

 

Если вы сделали всё правильно, увидите вот такой отчёт:

Слой тестирования #4. Var_2. Стакан котировок. Коннекторы к OsEngine #45

Удачных алгоритмов!

Пост из серии «Коннекторы к OsEngine»

Серия о том, как стать настоящим программистом и изменить свою профессию.

Оглавление и смыслы здесь: https://smart-lab.ru/company/os_engine/blog/959953.php

Комментарии открыты для друзей, добавляйтесь!

Слой тестирования #4. Var_2. Стакан котировок. Коннекторы к OsEngine #45

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
Слой тестирования #4. Var_2. Стакан котировок. Коннекторы к OsEngine #45

0 Комментариев

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн