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

Слой тестирования #19. Portfolio_1. Валидация портфелей. Коннекторы к OsEngine #74

Тест, направленный на валидацию данных о портфеле пользователя на площадке.

Слой тестирования #19. Portfolio_1. Валидация портфелей. Коннекторы к OsEngine #74

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

Слой тестирования #19. Portfolio_1. Валидация портфелей. Коннекторы к OsEngine #74
Рис.1. Расположение теста в проекте OsEngine.

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

Слой тестирования #19. Portfolio_1. Валидация портфелей. Коннекторы к OsEngine #74
Рис.2. Настройки теста в проекте OsEngine.

  1. Кнопка включения теста. Если Вы подключены к какому-то брокеру или бирже, тест начнётся.
  2. Портфель для ордера.
  3. Бумага для торгов.
  4. Класс бумаги для торгов.
  5. А это то, как будет отображаться позиция в портфеле. Чтобы мы могли брать по ней объёмы из него.
  6. Объём для ордера. Нужно ставить минимум. Не больше и не меньше 15 долларов в контексте Крипты.

Суть.

  1. Выставляем Лимитный ордер на покупку и проверяем, чтобы пришли правильные ответы для портфеля.
  2. Выставляем Лимитный ордер на продажу и проверяем, чтобы пришли правильные ответы для портфеля.
  3. Ну и по дороге проверяем всё, что можно дополнительно. Ордера, MyTrade, время задержки для обновления портфеля (макс 15 сек)

 

Portfolio.

  1. Number – по сути это название портфеля. На Moex это очень длинный номер, а вернее их почти всегда N. И на разных номерах счетов лежат разное кол-во денег и возможны разные валюты. В крипте это обычно просто название коннектора + «Portfolio».
  2. ValueBegin – актуально для Moex. По сути атавизм, однако сохраняемый нами, т.к. на MOEX существует единый брокерский рублёвый счёт. В коннекторах по Крипте здесь должна быть единица.
  3. ValueCurrent – то же самое, что и предыдущий пункт.
  4. Profit – то же самое, что и предыдущий пункт. Для крипты не актуально.
  5. List<PositionOnBoard> GetPositionOnBoard() – место хранения позиций. И активов в случае, если это не MOEX.

 

Обязательные поля в PositionOnBoard.

Все… Если есть запись о какой-либо бумаге или активе, и он торгуется. Должна быть запись об этом в PositionOnBoard по портфелю.

 

Требования к данным по портфелю.

  1. Отображаются бумаги со СПОТА.
  2. Отображаются бумаги в портфеле по ФЬЮЧЕРСАМ.
  3. Шортовые позиции отмечаются минусом в PositionOnBoard.
  4. Когда позиция закрывается, должен измениться VolumeNow на 0.
  5. Когда по позиции открыты ордера, должен измениться VolumeBlock.

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

Слой тестирования #19. Portfolio_1. Валидация портфелей. Коннекторы к OsEngine #74

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

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

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

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

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

Слой тестирования #19. Portfolio_1. Валидация портфелей. Коннекторы к OsEngine #74

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

Слой тестирования #19. Portfolio_1. Валидация портфелей. Коннекторы к OsEngine #74

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

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

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