FIX protocol customization

Customization is required, when changes to be made do not fit into the user defined fields approach (see User defined fields). For example:

FIX Antenna has a notion of "additional fields" to create FIX dialects. The configuration parameter can be used to customize standard FIX version.

Old format

The value syntax is the following:
Version:MsgType1:GroupLeadingTag1(ReqTag1, OptTag2?,..), GroupLeadingTag1=>NestedGroupLeadingTag1(ReqTag1, OptTag2?,..), OptTag1?, optTag2?,..,ReqTagN;Version:MsgType2:..

The example below means:

Validation.AdditionalFields = FIX42:8:639?,204?;FIX44:r:528,534(50001?);

New Format

The new format is XML. The protocol customization is specified in separate file. Example of the FIX Dialect:

<?xml version="1.0" encoding="UTF-8"?>
<fixdics>
<update>
<fixdic fixversion="4.3" title="FIX 4.3" date="2007/03/22">
  <fielddic>
  </fielddic>
  <msgdic>
    <msgdef msgtype="F" >
      <field tag="555" />
      <group nofield="555" startfield="600">
        <field tag="600" req="N"/>
        <field tag="608" req="N"/>
        <field tag="610" req="N"/>
        <field tag="616" req="N"/>
        <field tag="624" req="N"/>
      </group>
    </msgdef>
  </msgdic>
</fixdic>

<fixdic fixversion="4.1" title="FIX 4.1" date="2007/03/22">
  <fielddic>
      <fielddef tag="386" name="field386" type="int">
      </fielddef>
      <fielddef tag="336" name="field336" type="String">
      </fielddef>
      <fielddef tag="339" name="field339" type="int">
      </fielddef>
      <fielddef tag="389" name="field389" type="float">
      </fielddef>
      <fielddef tag="385" name="field385" type="char">
      </fielddef>
  </fielddic>
  <msgdic>
    <msgdef msgtype="G" >
      <field tag="386" />
      <group nofield="386" startfield="336">
        <field tag="336" req="N"/>
        <field tag="339" />
      <group nofield="339" startfield="389">
          <field tag="389" req="N"/>
        </group>
      </group>
      <field tag="385" req="N"/>
    </msgdef>
  </msgdic>
</fixdic>

<fixdic fixversion="4.4" title="FIX 4.4" date="2007/03/22">
  <fielddic>
      <fielddef tag="6070" name="field6070" type="int">
      </fielddef>
      <fielddef tag="6071" name="field6071" type="String">
      </fielddef>
      <fielddef tag="6072" name="field6072" type="String">
      </fielddef>
      <fielddef tag="6073" name="field6073" type="int">
      </fielddef>
      <fielddef tag="6074" name="field6074" type="String">
      </fielddef>
      <fielddef tag="6024" name="field6024" type="String">
      </fielddef>
      <fielddef tag="6001" name="field6001" type="String">
      </fielddef>
      <fielddef tag="4999" name="field4999" type="String">
      </fielddef>
  </fielddic>
  <msgdic>
    <msgdef msgtype="U-ReqExec" name="U-ReqExec" >
      <field tag="6070" />
      <group nofield="6070" startfield="6071">
        <field tag="6071" req="N"/>
        <field tag="6072" req="N"/>
        <field tag="6073" />
      <group nofield="6073" startfield="6074">
          <field tag="6074" req="N"/>
        </group>
      </group>
      <field tag="6024" req="Y"/>
      <field tag="6001" req="N"/>
    </msgdef>
    <msgdef msgtype="D" >
      <field tag="4999" req="N"/>
    </msgdef>
  </msgdic>
</fixdic>

<fixdic fixversion="4.2" title="FIX 4.2" date="2007/03/22">
  <fielddic>
  </fielddic>
  <msgdic>
    <msgdef msgtype="AB" name="AB" >
      <field tag="55" req="Y"/>
    </msgdef>
  </msgdic>
</fixdic>

</update>
</fixdics>

Generated on Fri Apr 17 12:26:08 2009 for B2BITS FIX Antenna C++ by  doxygen 1.5.6