QWFIX RTAnalyzer provides a high performance, user friendly and extremely flexible query tool, the "Query Wizard".
"Query Wizard" can be used to search FIX messages or orders by complex criteria across all FIX sessions in real-time.
To start the "Query Wizard", select "Query" -> "New Query" from main menu.
In this example, we are going to search all "canceled orders of BSC orders" from all sessions in the client process.
In the first page, user needs to provide a query name and query type. The name is optional and will show up in title of the result panel.
In this example, we use query type of "Query FIX Orders" -> "Regular Orders".

After the query name and query type is selected. User is required to select the FIX sessions. In this example, we choose all FIX sessions in the client process.

After the session is chosen, the "Query Builder" page will appear.
Query Tree
Query builder is used to build the query tree, where each non-leaf node is either an "And" or an "Or" node.
In practice a flat "And" group is just enough. That's why initially the query builder inserts a top level "And" node by default.
Tool Bar Buttons
The tool bar button of the query builder is quite straight forward. From the left to the right are: "Group" button ("And" or "Or"), "FIX" button, "Visual Lambda" button, "Edit" button, "Move Up" and "Move Down" button.
Also we can see that an "And" group is added to the top level.

In this example, we are going to query all "canceled BSC orders". So our first criteria is to test whether the order is an order of "BSC" (Bear Stearns).
The "BSC" Criteria
First highlight the "And" node, then click the "FIX" tool bar button.
A FIX criteria build dialog will pop up. There is a filter text box in the upper left conner. We input the field "Symbol" in the filter.
All fields that contain the text of "Symbol" are listed below the filter box, even including "SymbolSfx". Note the symbol field in root order message, current order message and execution message should all be the same.
So we just choose "RootOrder.Symbol", then we continue to build the criteria in the right side of the dialog window. In this case, the "Match Type" should be "Equals" and the "Value" should be "BSC".

The "Canceled" Criteria
Next we need to add another criteria to check if the order has been canceled, by checking if the "OrdStatus" field in last execution report message is "Canceled".
So we choose the field as "Execution.OrdStatus". Note the criteria builder automatically recognizes the type of the field and prompts all possible values of "OrdStatus" for you to choose. In this case we choose "Canceled".

The final query looks like this:

After the query is built, click "Next" button and click "Finish". RTAnalyzer will run the query and display a viewer panel with results.