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 possible data.

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 meanings.

  • 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 "eA".

  • 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 generates them.

  • 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 displayed.

  • Symbol Ads - If set symbol add messages will also be displayed.

  • Symbol Deletes - If set symbol delete messages will also be displayed.

  • 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