{"id":7070,"date":"2025-08-28T22:35:57","date_gmt":"2025-08-29T03:35:57","guid":{"rendered":"https:\/\/librarytestdev.wpenginepowered.com\/?post_type=doc&#038;p=7070"},"modified":"2025-09-05T13:33:40","modified_gmt":"2025-09-05T18:33:40","slug":"order-routing-message-flows","status":"publish","type":"doc","link":"https:\/\/library-test.tradingtechnologies.com\/tt-fix\/tt-fix-order-routing\/tt-fix-message-conversations\/order-routing-message-flows\/","title":{"rendered":"Order-routing message flows"},"content":{"rendered":"\n<section id=\"intro\">\n\t<p>A FIX client starts an order-routing FIX session by sending a <a href=\"..\/general\/Msg_Logon_A.html\">Logon (A)<\/a> message to TT FIX and ends the session by calling the <a href=\"..\/general\/Msg_Logout_5.html\">Logout (5)<\/a> message. While connected to a FIX Order Routing session, a FIX client engages in a series of message conversations (requests and responses) with TT FIX to enter and manage orders. Typically, order-routing message conversations involve the following request and response messages.<\/p>\n\n\t<table class=\"table table-striped table-bordered\" border=\"1\">\n\t\t<tr>\n\t\t\t<th>Requests<\/th>\n\t\t\t<th>Responses<\/th>\n\t\t<\/tr>\n\t\t<tr>\n\t\t\t<td width=\"50%\">\n\t\t\t\t<a href=\"..\/..\/..\/tt-fix\/order-routing\/Msg_NewOrderSingle_D.html\">New Order Single (D)<\/a>\n\t\t\t\t<br>\n\t\t\t\t<a href=\"..\/..\/..\/tt-fix\/order-routing\/Msg_OrderCancelReplaceRequest_G.html\">Order Cancel\/Replace Request (G)<\/a>\n\t\t\t\t<br>\n\t\t\t\t<a href=\"..\/..\/..\/tt-fix\/order-routing\/Msg_OrderCancelRequest_F.html\">Order Cancel Request (F)<\/a>\n\t\t\t<\/td>\n\t\t\t<td width=\"50%\">\n\t\t\t\t<a href=\"..\/..\/..\/tt-fix\/order-routing\/Msg_ExecutionReport_8.html\">Execution Report (8)<\/a>\n\t\t\t\t<br>\n\t\t\t\t<a href=\"..\/..\/..\/tt-fix\/order-routing\/Msg_OrderCancelReject_9.html\">Order Cancel Reject (9)<\/a>\n\t\t\t<\/td>\n\t\t<\/tr>\n\t<\/table>\n\n<\/section>\n\n<section id=\"message-flows\">\n\t\t<h2>Common message conversation flows<\/h2>\n\t\t\n\t\t<ul>\n\t\t\t<li>\n\t\t\t\tFlows for exchange-listed instruments\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\tFlows for multi-leg instruments\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\tFlows for synthetic orders\n\t\t\t<\/li>\n\t\t<\/ul>\n\t\t\n\t<section id=\"flows-native\">\n\t\t<h3>Flows for exchange-listed instruments<\/h3>\n\t\t<p>The following illustration shows how a new order for an exchange-listed instrument is typically entered into the market and how the subsequent responses and requests track the order&#8217;s progress.<\/p>\n\t\t<p><img decoding=\"async\" class=\"img-responsive\" src=\"https:\/\/library-test.tradingtechnologies.com\/wp-content\/uploads\/2025\/08\/order-routing-message-flow-new.png\" alt=\"\"><\/p>\n\n\t<ol>\n\t\t<li>\n\t\t\tThe order-routing message flow begins with a FIX client submitting a <a href=\"..\/..\/..\/tt-fix\/order-routing\/Msg_NewOrderSingle_D.html\">New Order Single (D)<\/a> message that enters an order in the market.\n\t\t<\/li>\n\t\t<li>\n\t\t\tWhen the exchange receives the <a href=\"..\/..\/..\/tt-fix\/order-routing\/Msg_NewOrderSingle_D.html\">New Order Single (D)<\/a> request, it either:\n\t\t\t<ul>\n\t\t\t\t<li>\n\t\t\t\t\tSends an <a href=\"..\/..\/..\/tt-fix\/order-routing\/Msg_ExecutionReport_8.html\">Execution Report (8)<\/a> message with tag <strong>150=0<\/strong> to acknowledge the order is working in the market.\n\t\t\t\t<\/li>\n\t\t\t\t<li>\n\t\t\t\t\tSends an <a href=\"..\/..\/..\/tt-fix\/order-routing\/Msg_ExecutionReport_8.html\">Execution Report (8)<\/a> message with tag <strong>150=8<\/strong> to indicate the exchange rejected the order request.\n\t\t\t\t<\/li>\n\t\t\t<\/ul>\n\t\t<\/li>\n\t\t<li>\n\t\t\tWhile the order is working in the market, the following messages flows can occur:\n\t\t\t<ul>\n\t\t\t\t<li>\n\t\t\t\t\t(3A) As the working order receives fills, the exchange sends either:\n\t\t\t\t\t<ul>\n\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\tSends an <a href=\"..\/..\/..\/tt-fix\/order-routing\/Msg_ExecutionReport_8.html\">Execution Report (8)<\/a> message with tag <strong>150=1<\/strong> to indicate a fill occured for less than the total order quantity; the order continues to work in the market.\n\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\tSends an <a href=\"..\/..\/..\/tt-fix\/order-routing\/Msg_ExecutionReport_8.html\">Execution Report (8)<\/a> message with tag <strong>150=2<\/strong> to indicate that a fill occurred for the total order quantity; the order flow is complete.\n\t\t\t\t\t\t<\/li>\n\t\t\t\t\t<\/ul>\n\t\t\t\t<\/li><li>\n\t\t\t\t\t(3B) At any point while the order is working, you can cancel it by submitting an <a href=\"..\/..\/..\/tt-fix\/order-routing\/Msg_OrderCancelRequest_F.html\">Order Cancel Request (F)<\/a> message.\n\t\t\t\t\t<ul>\n\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t(4B) If the cancel request is accepted, the exchange sends an <a href=\"..\/..\/..\/tt-fix\/order-routing\/Msg_ExecutionReport_8.html\">Execution Report (8)<\/a> message with tag <strong>150=4<\/strong> to indicate the order was canceled; the order flow is complete.\n\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t(4B) If the change request is rejected, the exchange sends an <a href=\"..\/..\/..\/tt-fix\/order-routing\/Msg_OrderCancelReject_9.html\">Order Cancel Reject (9)<\/a> message; the existing order continues working in the market.\n\t\t\t\t\t\t<\/li>\n\t\t\t\t\t<\/ul>\n\t\t\t\t<\/li>\n\t\t\t\t<li>\n\t\t\t\t\t(3C) At any point while the order is working, you can change it by submitting an <a href=\"..\/..\/..\/tt-fix\/order-routing\/Msg_OrderCancelReplaceRequest_G.html\">Order Cancel\/Replace Request (G)<\/a> message.\n\t\t\t\t\t<ul>\n\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t(4C) If the change request is accepted, the exchange sends an <a href=\"..\/..\/..\/tt-fix\/order-routing\/Msg_ExecutionReport_8.html\">Execution Report (8)<\/a> message with tag <strong>150=5<\/strong> to indicate the existing order was replaced.\n\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t(4C) If the change request is rejected, the exchange sends an <a href=\"..\/..\/..\/tt-fix\/order-routing\/Msg_OrderCancelReject_9.html\">Order Cancel Reject (9)<\/a> message; the existing order continues working in the market.\n\t\t\t\t\t\t<\/li>\n\t\t\t\t\t<\/ul>\n\n\t\t\t\t<\/li>\n\t\t\t<\/ul>\n\t<\/li><\/ol>\n\t<\/section>\n\n\t<section id=\"flows-synthetic\">\n\t\t<h3>Flows for synthetic orders<\/h3>\n\t\t<p>The following illustration shows how a new order for a synthetic is typically entered into the market and how the subsequent responses and requests track the order&#8217;s progress.<\/p>\n\t\t<p><img decoding=\"async\" class=\"img-responsive\" src=\"https:\/\/library-test.tradingtechnologies.com\/wp-content\/uploads\/2025\/08\/order-routing-message-flow-synthetic.png\" alt=\"Add Image\"><\/p>\n\n\t\t<ol>\n\t\t<li>\n\t\t\tThe order-routing message flow begins with a FIX client submitting a <a href=\"..\/..\/..\/tt-fix\/order-routing\/Msg_NewOrderSingle_D.html\">New Order Single (D)<\/a> message that enters an order in the market.\n\t\t<\/li>\n\t\t<li>\n\t\t\tWhen the exchange receives the <a href=\"..\/..\/..\/tt-fix\/order-routing\/Msg_NewOrderSingle_D.html\">New Order Single (D)<\/a> request, it either:\n\t\t\t<ul>\n\t\t\t\t<li>\n\t\t\t\t\tSends an <a href=\"..\/..\/..\/tt-fix\/order-routing\/Msg_ExecutionReport_8.html\">Execution Report (8)<\/a> message with tag <strong>150=0<\/strong> to acknowledge the order is working in the market.\n\t\t\t\t<\/li>\n\t\t\t\t<li>\n\t\t\t\t\tSends an <a href=\"..\/..\/..\/tt-fix\/order-routing\/Msg_ExecutionReport_8.html\">Execution Report (8)<\/a> message with tag 150=8 to indicate the exchange rejected the order request.\n\t\t\t\t<\/li>\n\t\t\t<\/ul>\n\t\t<\/li><\/ol>\n\t\t\n\t\t\n\t<\/section>\n\n<\/section>\n","protected":false},"excerpt":{"rendered":"<p>A FIX client starts an order-routing FIX session by sending a Logon (A) message to TT FIX and ends the session [&hellip;]<\/p>\n","protected":false},"author":2,"template":"","meta":{"_acf_changed":false,"footnotes":""},"docs-category":[460],"class_list":["post-7070","doc","type-doc","status-publish","hentry","docs-category-tt-fix-message-conversations"],"acf":[],"_links":{"self":[{"href":"https:\/\/library-test.tradingtechnologies.com\/ja\/wp-json\/wp\/v2\/doc\/7070","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/library-test.tradingtechnologies.com\/ja\/wp-json\/wp\/v2\/doc"}],"about":[{"href":"https:\/\/library-test.tradingtechnologies.com\/ja\/wp-json\/wp\/v2\/types\/doc"}],"author":[{"embeddable":true,"href":"https:\/\/library-test.tradingtechnologies.com\/ja\/wp-json\/wp\/v2\/users\/2"}],"version-history":[{"count":0,"href":"https:\/\/library-test.tradingtechnologies.com\/ja\/wp-json\/wp\/v2\/doc\/7070\/revisions"}],"wp:attachment":[{"href":"https:\/\/library-test.tradingtechnologies.com\/ja\/wp-json\/wp\/v2\/media?parent=7070"}],"wp:term":[{"taxonomy":"docs-category","embeddable":true,"href":"https:\/\/library-test.tradingtechnologies.com\/ja\/wp-json\/wp\/v2\/docs-category?post=7070"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}