Сертификация торговой системы

Сертификация торговой системы
Atom
09.09.2011
FiNick


Народ, кто-нибудь уже проходил сертификацию робота на РТСе? Поделитесь опытом


Теги:


Спасибо:


<< < 8 9 10 11 12  > >>
frontman

Фотография
Дата: 20.12.2011
Ответить


Александр это в мой огород камень? Я вот например понятия не имею что и как у вас там в BaseTrader. И тем более почему стаканы, заявки и т.д. ставятся в соответствие с инструментом по isin_id. Просто ссылкой на объект Security это сделать нельзя было?

Спасибо:

Alexander

Фотография
Дата: 20.12.2011
Ответить


frontman: Александр это в мой огород камень? Я вот например понятия не имею что и как у вас там в BaseTrader. И тем более почему стаканы, заявки и т.д. ставятся в соответствие с инструментом по isin_id. Просто ссылкой на объект Security это сделать нельзя было?

Не в ваш. Цель того чтоб это починить - не чтобы закрыть таск. А чтоб действительно работало как нужно.

На биржу вы что передаёте? Security? Везде - в стаканах, сделках, заявках используется isin_id. Именно поэтому и нужен маппинг в PlazaTrader. Биржа о Stock# и Security знать не знает. Ей важен лишь номер инструмента, что вы передали. Именно по нему идёт сделка на бирже.

Спасибо:

frontman

Фотография
Дата: 20.12.2011
Ответить


Ну да. Это я понимаю. Ну т.к. у нас в Stock# есть Security - класс общий для всех торговых систем, на него и надо ссылаться. А при отправки запросов бирже использовать те поля этого класса которые нужны биржи. В случае плазы можно наследоваться от BaseSecurity и расширить этот класс isin_id и еще если тем что нужно. А можно сделать маппинг и исп в качестве колюча объект Security а в качестве значения тот же isin_id ... Но в любом случае ссылаться везде на Security.

Это мой взгляд на устройства такой системы. Если вы его считаете неверным, то просто ваше видение расскажите... Это нормальная практика проектирования: сначала обсудить и подумать, а лишь потом кодить...

Спасибо:

Alexander

Фотография
Дата: 20.12.2011
Ответить


frontman: Ну да. Это я понимаю. Ну т.к. у нас в Stock# есть Security - класс общий для всех торговых систем, на него и надо ссылаться. А при отправки запросов бирже использовать те поля этого класса которые нужны биржи. В случае плазы можно наследоваться от BaseSecurity и расширить этот класс isin_id и еще если тем что нужно. А можно сделать маппинг и исп в качестве колюча объект Security а в качестве значения тот же isin_id ... Но в любом случае ссылаться везде на Security.

Это мой взгляд на устройства такой системы. Если вы его считаете неверным, то просто ваше видение расскажите... Это нормальная практика проектирования: сначала обсудить и подумать, а лишь потом кодить...

Мы вроде это обсуждаем и мусолим уже 2 месяца.

У нас есть класс Security, при работе со стаканами и т.д. и т.п. мы на него и ссылаемся. Что такое BaseSecurity я не знаю, в Security добавлять новое поле смысла нет, т.к. его никто кроме плазы использовать не будет.

Поэтому и предлагается сделать маппинг внутри PlazaTrader.

P.S. Михаил как раз об этом вчера и писал

Спасибо:

frontman

Фотография
Дата: 20.12.2011
Ответить


BaseSecurity - это базовый класс всех инструментов. О нем Михаил упоминал ранее. От него можно наследоваться и создать например PlazaSecurity. Просто маппинг как то не очень похож на решение из ООП... А если необходимо будет добавить еще какое нибудь поле которого нет в BaseSecurity? Еще одно соответствие лепить?((

Спасибо:

frontman

Фотография
Дата: 20.12.2011
Ответить


Alexander Mukhanchikov: ...На биржу вы что передаёте? Security? Везде - в стаканах, сделках, заявках используется isin_id... Alexander Mukhanchikov: ...У нас есть класс Security, при работе со стаканами и т.д. и т.п. мы на него и ссылаемся...

Я окончательно запутан...

Спасибо:

Alexander

Фотография
Дата: 20.12.2011
Ответить


frontman: BaseSecurity - это базовый класс всех инструментов. О нем Михаил упоминал ранее. От него можно наследоваться и создать например PlazaSecurity. Просто маппинг как то не очень похож на решение из ООП... А если необходимо будет добавить еще какое нибудь поле которого нет в BaseSecurity? Еще одно соответствие лепить?((

Базовый класс - Security, другого класса инструментов нет (ну кроме BasketSecurity).

Например, какое поле вам может ещё потребоваться для реализации шлюза Плаза2? Лепить для каждого шлюза свой инструмент - как раз не самый лучший вариант, ибо надо будет везде приводить, проверять на тип. А это скорость.

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

Спасибо:

Alexander

Фотография
Дата: 20.12.2011
Ответить


frontman:

Alexander Mukhanchikov: ...На биржу вы что передаёте? Security? Везде - в стаканах, сделках, заявках используется isin_id... Alexander Mukhanchikov: ...У нас есть класс Security, при работе со стаканами и т.д. и т.п. мы на него и ссылаемся...

Я окончательно запутан...

Так. Давайте в очередной раз попробую объяснить.

Внутри S# мы работаем с понятием Security - оно используется при регистрации заявки (RegisterOrder), оно используется в стакане (MarketDepth). Везде где вы в S# работаете с инструментом - вы работаете с Security.

Биржа о Security ничего не знает, она знает лишь о isin_id и sess_id. Именно поэтому для того чтобы подавать заявки на биржу, идентифицировать инструменты в заявках, пришедших с биржи, строить стаканы по инструменту, прешедшему с биржи, нам надо взаимно однозначно сопоставлять isin_id и sess_id с Security.

Для этого и должен быть сделан простейший маппинг.

Спасибо:

frontman

Фотография
Дата: 20.12.2011
Ответить


Например поле ShortIsin. Т.к. оно не меняется при смене сессий. Именно по нему можно обновлять инструмент. Т.е. получаеться у нас есть уже 2 поля которые есть только у плазы isin_id и ShortIsin

Спасибо:

Alexander

Фотография
Дата: 20.12.2011
Ответить


frontman: Например поле ShortIsin. Т.к. оно не меняется при смене сессий. Именно по нему можно обновлять инструмент. Т.е. получаеться у нас есть уже 2 поля которые есть только у плазы isin_id и ShortIsin

ShortIsin используется где-то при подаче заявок и т.д. и т.п.? Это просто secCode, который мы проставляем в Security.Code

Ещё попытка? :)

Спасибо:
<< < 8 9 10 11 12  > >>

Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy