Промяна на реда на полетата в FIX съобщение

Използвам QuickFix/n инициатор. Моят брокер отхвърля моите съобщения за влизане, като се позовава на грешен ред на полетата (тагове) в заглавката на съобщението. Вместо 34, 49, 52, 56, редът трябва да бъде 49, 56, 34, 52.

QuickFix/n изглежда автоматично сортира различните полета в рамките на трите региона (заглавие, тяло, трейлър) на съобщенията по номер на етикет при изпращане на съобщението до сесията.

Има ли начин да промените реда на полетата в съобщение, изпратено до приемник? Има ли начин да се предотврати поведението на сортиране? (Добавянето на групи към съобщението или промяната на речника с данни не работи.)

Или ако това е невъзможно с QuickFix/n, има ли FIX двигател, който позволява промяна на реда на полетата в съобщенията?


person user3723746    schedule 09.06.2014    source източник
comment
Сигурен съм, че не разбирате нещо. В протокола FIX редът на полетата няма значение, освен в рамките на повтарящи се групи. Всички тези полета са в заглавката, така че редът няма значение в заглавката (с изключение на 8,9,35, които трябва да са първи). Какво е действителното съобщение за грешка, което изпращат?   -  person Grant Birchmeier    schedule 10.06.2014
comment
Да Грант, но трябва да ги добавите към правилната група (заглавие, тяло или трейлър), в противен случай получавате тази грешка!   -  person MD-Tech    schedule 10.06.2014


Отговори (2)


Тази грешка обикновено се причинява от опит за поставяне на заглавно поле в тялото на съобщението. Обектът DataDictionary, предоставен или от вас самите, ако го добавяте ръчно към сесията, или от самата сесия (ако използвате конфигурационния файл, за да укажете на сесията кой речник на данни да използва), има функции, наречени isHeaderField(int tagNumber) и isTrailerField( int tagNumber), за да ви помогне да решите дали полето да бъде в заглавката или в трейлъра. Различни файлове с речник на данни за различни контрагенти могат (виждал съм го само веднъж или два пъти) да поставят полета на заглавката в основната част на съобщението, полета на тялото в заглавката или (най-често) персонализирани тагове в заглавката. Това означава, че обикновено е добра идея да използвате наличните функции, за да проверите дали трябва да се добави поле към заглавката, тялото, трейлъра или повтаряща се група в тялото. Тъй като този въпрос е за съобщения за влизане, предполагам, че добавяте полета към този тип съобщение, така че може да се наложи да видя кода, който прави това, за да помогна допълнително.

person MD-Tech    schedule 10.06.2014
comment
Здравей @MD-Tech, намерих отговорите ти за полезни през последните няколко месеца при разработването на нашата вътрешна платформа за търговия. Очакваме преглед на кода/консултация, ако се интересувате, моля, отговорете тук и можем да измислим начин за свързване! - person Mir; 15.05.2021
comment
@Mir, за съжаление, сега преминах към клиентската страна - най-вече работя на позиция за успех на клиента - и не съм се развивал от много години. Бих бил напълно безполезен за вас от техническа гледна точка. - person MD-Tech; 15.05.2021
comment
оценявам отговора, ако се интересувате отново да потопите краката си от тази страна, свържете се с нас! Късмет! - person Mir; 17.05.2021

По подразбиране quickFix пренарежда етикетите в група по възходящ ред. Ако искате да запазите поръчката, трябва да възстановите буркана за бързи корекции, както е предложено тук.

person halbs    schedule 25.06.2015