I know that the FIX protocol specifies user defined fields that cover the range 5000 to 9999. The same specification says, that you can use the tags 20000 to 39999 bilaterally between parties.
In December 2009 the Global Technical Committee Governance Board approved the use of tag numbers in the 20000 to 39999 range for use as user defined tags to be used bilaterally between parties.
But tags between 10000 and 19999 are also used - for example Trading Technologies uses tag 18214 as IncludeNumberOfOrders in MarketDataRequest (V).
Can somebody explain the usage of tags 10000 to 19999 and give an overview to the current tag ranges of the FIX protocol specification?
I already got an answer on StackOverflow. Tanks to Christoph John. He referenced the definition of user defined fields here where it says:
The tag numbers greater than or equal to 10000 have been reserved for internal use (within a single firm) and do not need to be registered/reserved via the FIX website.
Do you have examples of using tags greater than 10000? How do you use them?
@yannickstoffelsdz, you quoted the rule for tags 10000 - 19999. “Internal” means that messages with such tags must not be sent to external parties, e.g. customers. The example from Trading Technologies is hence not FIX compliant.
The answer to your questions is simply “do not use these tags when sending or receiving messages from the outside of your company”. The range 20000 - 39999 is the one for UDFs to use for external communication. You only have to agree with your counterparties on the tag numbers, field names and semantics. You document them just like any other fields in your rules of engagement (interface spec). However, it is possible that others have also used the same tag numbers for something completely different. As long as you do not have to communicate with them there will be no clash of values.