|JTOOLS CATEGORY TRACKER
JTools Table of Contents
Project Location: \JTools_CatTracker
The Category Tracker is an application I use at Nanex on almost a daily basis
for customer support regarding category messages. The application allows you to
search for any category message for every symbol, single symbols, or anything
in between. It will allow you to search for multiple categories, all
categories, a single category, etc., and can go full 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 category detail, with every category being completely expanded with all
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
- 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.
- Show Categories - What category messages to scan for. Leave this
field blank for all category messages, 0 for no category messages or comma
deliminated for single or multiple category messages (for example - 4,16,82).
- View - Bring up a reference table with all NxCore Categories listed.
- 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 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).
- Age Filter - Because many category messages may have been generated
at an earlier date than the previous date, this setting allows you to filter by
Age. If the field is blank, the age of the message does not matter. If set to 0
then only messages for the current day are shown. For any other value, message
less than or equal to the value (in days) will be scanned for.
- 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. If not set messages will be displayed as fast as the system
- Next - If Pause On Hit is set, and a message is generated causing
the application to pause, pressing Next will un-pause the application so
additional messages can be scanned for.
- Symbol Changes - If set symbol change messages will also be
- Symbol Ads - If set symbol add messages will also be displayed.
- Symbol Deletes - If set symbol delete messages will also be
- Reset All - Resets all fields specific to the Cat Tracker
application to their defaults.
It's often nice to have a quick reference to all the Category numbers/names (as
opposed to finding the documentation fast). Pressing the "View"
button in the main dialog will pop up such a reference. The table is dynamic
built from the NxString defines in each tape.
Pressing "View Log" on the main dialog will launch the current log
file in Notepad, making it easy to search for specific entries or just to
scroll through the entire log from start to finish. As you can see, the logs
contain all category information in human readable format.
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