|JTOOLS MESSAGE TRACKER
JTools Table of Contents
Project Location: \JTools_MsgTracker
The Message Tracker is another application I use at Nanex on almost a daily
basis for customer support regarding trade, exchange quote and or market maker
quote messages. The application allows you to search for any message for every
symbol, single symbols, or anything in between. It will allow you to blast
through a tape for a complete output log or pause after each "hit" to
allow for immediate viewing. The application will let you view messages as
single line entries or full detail, with every message being completely
Every item is labelled in each line output, so all output is human readable
without the need to reference table values or headers. This make it very easy
to simply output a message and immediately know all the value and their
With the release of NxCore Version 3.0, three new timestamps are available with
microsecond resolution (SRC, PTP1 and PTP2). Also available with NxCore Version
3.0 are new expanded trade conditions, with four simultaneous trade conditions
- Start Time - The start time that all messages are to be filtered by,
Message with a time prior to start-time are eliminated.
- Stop Time - The stop time that all messages are to be filtered by,
Message with a time past the stop-time are eliminated.
- Symbol Filter - The symbol(s) to scan for. Leave this field blank
for all symbols, or a full symbol to filter for. You may also specify a
wildcard at the end of a symbol using the character '*'. For instance,
"eA*" would filter for all symbols beginning with the characters
- Listed Exchange Filter - Because symbols may be duplicated on
different exchanges (for instance eGE exists on the New York Exchange and the
Canadian exchange and represents two different companies), you can filter for
the symbol using only the listed exchange(s) specified in this field. Leave
this field blank for all exchanges or comma deliminated for single or multiple
exchanges (for example - 3,4,12).
- Reporting Exchange Filter - Because symbols may be duplicated on
different exchanges, and because equities and options trade on multiple
exchanges, you can filter for the symbol using only the reporting exchange(s)
specified in this field. Leave this field blank for all exchanges or comma
deliminated for single or multiple exchanges (for example - 3,4,12).
- Trade Condition Filter - It is often desirable when browsing through
trades to search for specific trade conditions. Leave this field blank for all
trade conditions, or comma deliminated for single or multiple conditions (for
example - 62,95).
- Quote Condition Filter - Like trades, it is often desirable when
browsing through quotes to search for specific quote conditions. Leave this
field blank for all quote conditions, or comma deliminated for single or
multiple conditions (for example - 8,16,25).
- MMQuote Types Filter - Leave this field blank for all MMQuote types,
or comma deliminated for single or multiple types (for example - 2,4,5).
- Status - If set status messages are displayed.
- Sym Spin - If set symbol spin messages are displayed (single line
- Symbol Changes - If set symbol change, symbol add and symbol delete
messages are displayed (single line only).
- Category - If set category messages are displayed (single line
- Trades - If set trade messages are displayed.
- Exchange Quotes - If set exchange quote messages are displayed.
- NBBO Quotes - If set only NBBO (National Best Bid Offer) quotes will
be displayed (Equities and Equity Options Only).
- NBBO Change - If set only NBBO (National Best Bid Offer) quotes will
be displayed (Equities and Equity Options Only) and only when the NBBO quote
has changed in some regard (price, size or exchange).
- MM Quotes - If set market maker (level 2) and depth messages are
- All On - Sets all message type off.
- All Off - Turns all message types off.
- Single Line - If set, messages are displayed as a short, single
line. If not set, messages are expanded (with multiple lines) to display the
entire dataset for the message.
- Pause On Hit - If set, the application will pause after every
"hit", to allow you to examine the message before it possibly scroll
of the display. Pressing the "Next" button will forward you to
the next message. If not set messages will be displayed as fast as the system
- Reset All - Resets all fields specific to the Message Tracker
application to their defaults.
NOTE: Milliseconds in ExgTime is only available in tapes that end with
the .nx2 or .nx3 file extension. Extended time-stamps (SRC, PTP1 and PTP2) are
only available in tapes that end with the .nx3 file extension.
- ExgTime - Displays the timestamp found in
- SRC Time - Displays the source timestamp found in the extended
- PTP1 Time - Displays the Participant 1 timestamp found in the
- PTP2 Time - Displays the Participant 2 timestamp found in the
- Expanded Trade Conditions - If set all four possible trade
conditions will be displayed.
Pressing "View Log" on the main dialog will launch the current log
file in Notepad, making it easy to search for specific entires or just to
scroll through the entire log from start to finish. As you can see, the logs
contain message information in human readable format. (Note the following image
was trucated on the right side to fit this webpage (we look at logs on large
monitors) Additional information on EXGQUOTE entries is not shown in the
It would be a trivial task to turn this log into a machine readable file, such
as a pipe-deliminated file with no readable labels, etc. As I use these logs in
real time customer support at Nanex, it is invaluable for me to have the output
in human readable format, so that I immediately know the meaning of each field
without the need to reference a header or other table elsewhere. Should you
desire the output in another format, you have the code! Have at it!
JTools Table of Contents