Есть ли какие-нибудь советы о том, как лучше всего составить карты FIX Specs?

Площадка 1 может использовать специальное сообщение для запроса, скажем, рыночных данных, в то время как площадка 2 может использовать другое сообщение для той же задачи. Теперь, как лучше всего отобразить это? Мы ценим любые предложения

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

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


person userH    schedule 01.03.2013    source источник


Ответы (1)


К сожалению, гибкий характер FIX не делает эту задачу легкой. Мой другой ответ содержит более подробную информацию о том, почему преобразование между версиями FIX невозможно и как два места, использующие одну и ту же версию FIX, могут на самом деле быть радикально несовместимым.

По моему опыту, вам действительно нужно написать собственный адаптер для каждого места. Один из способов — создать независимый от места проведения набор объектов данных для использования вашим приложением, а затем реализовать преобразования между вашими объектами и сообщениями FIX в/из места проведения. Приложение увидит конвертер только как общий интерфейс; ему не нужно знать, является ли целевое место 4.2 или 4.4 или что-то еще.

Например, вы можете создать класс GenericNewOrder и интерфейс IConverter с помощью метода SendNewOrder(GenericNewOrder). IConverter имеет реализацию для каждого места, например. VenueAConverter и VenueBConverter. VenueAConverter создает новое сообщение заказа, подходящее для VenueA, а VenueBConverter создает его для VenueB. Если вам когда-нибудь понадобится добавить новое место, просто реализуйте новый IConverter.

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

(Вопросы, подобные вашему, на самом деле довольно редко появляются в списках рассылки QuickFIX.)

person Grant Birchmeier    schedule 01.03.2013
comment
Большое спасибо за ответ! - person userH; 01.03.2013