Fix ATDL and standard fields

Imported from previous forum

How can I proceed with Fix ATDL to restrict standard parameters ?
If I would like to restrict the Side(54) to Buy or Buy Minus,
or if I would to force the order Type(40) to 9 “On Basis”,
or if I would check that the quantity is a multiple of 100…

I think I can use it like tag >5000 but I’m not sure.
I am suspicious of the duplicate use of basic fields with standard interface of vendors.

How can I proceed with Fix ATDL to restrict standard parameters ? If I
would like to restrict the Side(54) to Buy or Buy Minus, or if I would
to force the order Type(40) to 9 “On Basis”, or if I would check that
the quantity is a multiple of 100…

I think I can use it like tag >5000 but I’m not sure. I am suspicious of
the duplicate use of basic fields with standard interface of vendors.

You would create a StrategyEdit and reference the standard field with “FIX_” its field name (eg “FIX_Side”)

Thus:

<val:StrategyEdit errorMessage=“Side must be Buy or Buy Minus”>
<val:Edit logicOperator=“OR”>
<val:Edit field=“FIX_Side” operator=“EQ” value=“1”>
<val:Edit field=“FIX_Side” operator=“EQ” value=“3”>
</val:Edit>
</val:StrategyEdit>

This assumes that the OMS/EMS application is “providing” the FIX standard field information to the FIXatdl component.

You would create a StrategyEdit and reference the standard field with
“FIX_” its field name (eg “FIX_Side”)

Thus:

<val:StrategyEdit errorMessage=“Side must be Buy or Buy Minus”>
<val:Edit logicOperator=“OR”> <val:Edit field=“FIX_Side” operator=“EQ”
value=“1”> <val:Edit field=“FIX_Side” operator=“EQ” value=“3”>
</val:Edit> </val:StrategyEdit>

This assumes that the OMS/EMS application is “providing” the FIX
standard field information to the FIXatdl component.

Thanks for the reply. But this solution is for validation.
I would like to do that in the Layout. Because I don’t want that the user have the possibility to choose “Sell” if the Algo works only with for “Buy” order.

You would create a StrategyEdit and reference the standard field with
“FIX_” its field name (eg “FIX_Side”)

Thus:

<val:StrategyEdit errorMessage=“Side must be Buy or Buy Minus”>
<val:Edit logicOperator=“OR”> <val:Edit field=“FIX_Side” operator=“EQ”
value=“1”> <val:Edit field=“FIX_Side” operator=“EQ” value=“3”>
</val:Edit> </val:StrategyEdit>

This assumes that the OMS/EMS application is “providing” the FIX
standard field information to the FIXatdl component.

Thanks for the reply. But this solution is for validation. I would
like to do that in the Layout. Because I don’t want that the user
have the possibility to choose “Sell” if the Algo works only with for
“Buy” order.

Perhaps this:

<lay:Control ID=“c_RadioButtonSell” xsi:type=“lay:RadioButton_t” label=“Sell”>
<flow:StateRule visible=“false” enabled=“false” value=“{NULL}”>
<val:Edit logicOperator=“OR”>
<val:Edit field=“FIX_Side” operator=“EQ” value=“1”>
<val:Edit field=“FIX_Side” operator=“EQ” value=“3”>
</val:Edit>
</flow:StateRule>
</lay:Control>

How can I proceed with Fix ATDL to restrict standard parameters ? If I
would like to restrict the Side(54) to Buy or Buy Minus, or if I would
to force the order Type(40) to 9 “On Basis”, or if I would check that
the quantity is a multiple of 100…

I think I can use it like tag >5000 but I’m not sure. I am suspicious of
the duplicate use of basic fields with standard interface of vendors.

Any time you prefix with FIX_ its assumed that is a very standard FIX field in the 0-4000 area. You should always use the exact FIXmlName. The data type of that parameter is, of course, a dead match to the FIXml usage and can’t be altered.

The FIX_ prefix used in the expression of a rule (for FLOW or VALIDATION) means - "this parameter MAY not have been defined in this FIXatdl file, but should easily be available from the OMS to test against.

The FIX_ prefix used in a parameter definition is an explicit declaration inside FIXatdl of a standard FIX field. You then use the attribute definedByFIX (boolean, default false, here you set it true) to clearly indicating you are creating a standardized FIX field. Our in line documentation says “redefintion” however be advised you are not allowed to over ride anything, extend, or change data types. You may however set sub sets of allowable enumerations, establish initial / default values, add help text, tool tips, etc (in the GUI language of your choice) etc.

A FIXatdl file can be packed with ALL all the fields needed on the FIX wire (all standard tags, plus all algo “enhancements”) and can thereby be made to draw the entire order screen (making internationalization very, very easy…) That way the FIXatdl file is an exact “recipe” for “cooking” exactly what message(s) the Target wants to get.

Explicitly packing in all the fields also allows the Target to be very specific on which “optional” according to FIX fields are indeed NOT OPTIONAL, but REQUIRED by them, and to limit the enums.

Rick