fixFilterRule

Description

fixFilterRule is rule of filter. To fix filter can be added more than one rule

Parameters

Attribute Description Default Required
refid Reference name of the fix filter task. None Yes
active Enable fix filter rule or not. true No

Nested Elements

fixFilterRule supports nested elements

fixFilterMatchField

<fixFilterMatchField> element is filter filed rule. fixFilterMatchField is not required for fixFilterRule. If one or more <fixFilterMatchField> do not pass successfully then action will not apply to message.

Attribute Description Default Required
tag Field tag which will be looking in filtered message. None Yes
value Field value. Can be regular expressions if condition type is regexp None Yes
condition Type of conditions used for comparing the message fields. Possible values are:
equals
notEquals
regexp
None Yes
req Field in message required or not. True No

fixFilterMatchCounter

<fixFilterMatchCounter> element is filter counter rule. fixFilterMatchCounter is not required for fixFilterRule. This element can be only one in fixFilterRule. One of attribute(from/to) must be present in <fixFilterMatchCounter>. If <fixFilterMatchCounter> do not pass successfully then action will not apply to message.

Attribute Description Default Required
from Number of filtered messages, after which the rule will be successful. None Condition
to Number of filtered messages, after which the rule will be not successful. None Condition

fixFilterAction

<fixFilterAction> is action which will be apply to filtered message if all matchers are successful.

Attribute Description Default Required
operation Type of action over the filtered message. Possible values are:
insertBefore
insertAfter
replace
None Yes

The <fixFilterAction> element should contain a list of FIX messages.

Examples

Create filter rule. Send after 'New Order - Single'(only after first message) own message

	<fixFilterRule refid="ini_fix_out" active="true">
		<fixFilterMatchField tag="35" value="D" condition="equals" req="true"/>
		<fixFilterMatchField tag="55" value="ZX*" condition="regexp"/>
		<fixFilterMatchCounter from="0" to="1"/>
		<fixFilterAction operation="insertAfter">
			<fixMessage>
				<field name="MsgType" value="D"/>
				<field name="HandlInst" value="1"/>>
				<field name="Symbol" value="ZXZZT"/>
				<field name="Side" value="1"/>
				<field name="OrderQty" value="150"/>
				<field name="OrdType" value="2"/>
				<field name="ClOrdID" value="Order#2"/>
				<field name="Price" value="34.7"/>
				<field name="TransactTime" value="${new_order_trn_time}"/>
			</fixMessage>
		</fixFilterAction>
	</fixFilterRule>