HamFon HamTCScan
User's Guide
HamTCScan is a program that works with the TC2000 /
TCNet data servers, and with all of the
TCNet sorting and scanning features. It gives you the ability to access all of the TCNet data, to
access TCNet WatchLists and Sorts, and to access PCF calculations for any TCNet list. You can see the
data on the screen, or you can export it to text, HTML, or Excel spreadsheet files, as well as to
TradeStation Custom Symbol List and Easy Language eXtensions files.
- Downloading and installation of HamTCScan
- Registering your copy of HamTCScan
- The HamTCScan User's Guide is available while running HamTCScan
- Quickstart - displaying data for a TCNet/TC2000 watchlist
- Sorting displayed data for the current watchlist
- Using TCNet/TC2000 pre-programmed Sorts
- Viewing other pages of data for the selected watchlist
- Exporting displayed data to Excel, text, or HTML files
- Exporting displayed data to TradeStation files
- Backing up your User PCFs
- Adjusting the number of bars of data to use for calculations
- Surviving the TCNet/TC2000 Update cycle
- Ticker commands: Creating sub-lists of tickers, controlling TCNet and Yahoo
- Creating and modifying column formulae with Formula Builder
- Viewing HamTCScan program information and Registration status
- Custom programming for HamTCScan
Downloading and installation of HamTCScan
The set of files that make up HamTCScan is packaged is a downloadable, self-installing module.
Click here to start installing HamTCScan , select OPEN, then click SETUP and follow the on-screen
directions. All users MUST install the "Typical" setup. If, after installing the Typical
setup, you get an error trying to run HamTCScan that says that it is unable to find an .OCX
file (msflxgrd.ocx or comdlg32.ocx), install again, and select the "DLLs for error conditions" setup,
which will install these two files. Do NOT install these DLLs if HamTCScan is able
to start with your current setup. Thanks!
Registering your copy of HamTCScan
HamTCScan must be registered before it will load and display data. This registration information is used only
for communication and information specifically relating to the HamTCScan program. For example, by registering, you
automatically are placed on a mailing list that is used to announce updates and other information about HamTCScan.
When you first start HamTCScan, a Registration window will pop up. Enter your TCNet user name (if you have one), or
your on-line handle. Also, enter your email address. Please enter a valid email address because that is the only
way that I can contact you regarding your copy of HamTCScan, for bug fixes, updates, etc. Your email address is
NOT shared. You may also Register from the HamTCScan menu Settings / Register. The registration window looks like this:

Once you have registered, you can check your account registration status (as well as expiration dates and program
versions) from the HamTCScan menu, Help / About. This window looks like this:

This window displays the following information:
- The main product web page - for updates and other relevent information.
- The email address for technical support. Send email here if you have problems, questions, or suggestions.
- Application Expiration displays the date on which the application expires. Generally, this will be at the
start of each month, since new updates will replace the old versions of the program.
- Account Expiration and Account Type display the date on which your account expires, and the type of account
that you have (Temporary, Trial, Monthly, etc). Currently, accounts are "Temporary" and are automatically
extended for one month at a time.
- Current Version displays the current version of the HamTCScan program that is running.
- Latest Version displays the current version of the HamTCScan program that is publicly available for downloading.
-
The HamTCScan User's Guide is available while running HamTCScan
This User's Guide for HamTCScan is available both on the
HamTCScan web site as well as locally installed on your machine. To view the local copy, select Help / User Guide
from the HamTCScan menu.
Quickstart - displaying data for a TCNet/TC2000 watchlist
Start by running HamTCScan, and then click on the LISTS pulldown. Lists are separated into several
categories. Each category has a header line (all capitalized), followed by the lists in that category.
As you can see, LISTS is a collection of all of the WatchLists that you have defined in TCNet/TC2000.
Select one - a good one for testing is the "Dow Jones 30 Industrial Component Stocks" - scroll all the way
to the bottom, then scroll up to the COMPONENT WATCHLISTS (which start with 8:) to select it. Immediately,
you will see the data from the TCNet/TC2000 databases. Next, click on the PAGES pulldown and select a
different entry to see other data. In addition to the watchlists that you have set up in TCNet, HamTCScan
scans the TradeStation directory for CSL (Custom Symbol List) files. Any CSL files that are found are added
to the LISTS, so that you can select one to have HamTCScan display the data for a list of tickers that you
built in TradeStation.
Starting in Version 3.00.01,
you can also select the Watchlist or Stock Group from the menu Data / Choose WatchList. This is a
much easier way to access the full collection of WatchLists, which can number several hundreds. By using
the menu technique, the watchlists are organized by type in sub-menu hierarchies. In addition, the Media
General Industry Groups are sub-categorized for easier use.
Sorting displayed data for the current watchlist
Once you have some data displayed, you can click on the column header buttons at the top of
each column of data to have HamTCScan sort the data using that column. Click again to reverse
the sort order. HamTCScan indicates which column is used for sorting by color coding the headers as
Ascending or Descending.
Using TCNet/TC2000 pre-programmed Sorts
Next, click on the SORTS pulldown to see a list of all of the sort orders that you have
defined in TCNet/TC2000. You may select one to change the sort order of the data. Starting in Version 3.00.01,
you can also select the TC Sort from the menu Data / Choose TCSort.
Viewing other pages of data for the selected watchlist
Click on the PAGES pulldown again, and select a different page. Each page has it's own set
of data columns, using the same WatchList that you have selected. You may add a new Page by selecting
Settings / Page Setup / Add Page from the menu. To give the current page a new name, select Data /
Configure Pages / Rename Current Page. If you would like to delete the current page, select
Data / Configure Pages / Remove Current Page. You can also change the name of the current page with
Data / Configure Pages / Rename Current Page. Starting in Version 3.00.01, you can also select
the Page from the menu Data / Choose Page.
The "Criteria" page demonstrates many of the features that HamTCScan offers:
- The "Volatility" column, refers to the System criterion "Volatility" that comes with TCNet, and displays two digits after the decimal point.
- The "Worden" column displays the Worden Number. This number is used throughout TCNet/TC2000 to
identify tickers. You may need this number to clear a bad cache entry, for example.
- The "BetaRank" column displays where the ticker is ranked (1 to 99) by TCNet, according to it's Beta.
- The "BetaLower" column displays the Lower range value of the Beta. See below for a discussion on Ranges.
- The "BetaUpper" column displays the Upper range value of the Beta. See below for a discussion on Ranges.
- The "BetaValue" column displays the actual calculated value of Beta
(which you will see on TCNet using Ctrl-V to access the Data Sheet). Notice that this is calculated
by TCNet - it's the average of the BetaLower and BetaUpper values. It's displayed with four digits after
the decimal point
- The "BOP Today" column displays the BOP as calculated by TCNet.
- The "Volume" column displays the last Volume value - in 100's of shares (add two zeroes).
- The "Optionable" column refers to a System PCF that comes with TCNet, and displays as a true/false value
The "True Range" page has High, Low, and Previous Close, the True Range, and two different methods for calculation of the
Average True Range.
- The "TrueRange" column is similar to Range (which is High minus Low, but it accounts for gaps from
yesterday's close. It is calculated as MaximumOf(High, Previous Close) minus MinimumOf (Low, Previous Close)
- The "ATR14" column demonstrates the first method of calculating the Average True Range. It is the
mean average of the True Ranges of the past 14 days: (TR[13] + TR[12] + ... + TR[2] + TR[1] + TR) / 14
- The "ATR14Smooth" column demonstrates the second method of calculating the Average True Range.
It is the original Welles Wilder definition of smoothed ATR, calculated by weighting the previous ATR,
adding the current True Range, and then dividing by the period: (ATR[1] * (Length - 1) + TR) / Length
Note that although the ATR14 method of calculating the Average True Range can be calculated in a
TCNet/TC2000 PCF, the SmoothedATR can not. It is possible to approximate the SmoothedATR value
in a PCF (to with close enough accuracy that it's "correct"), but iterative calculations like this
can not be calculated exactly. HamTCScan is able to calculate and display these values exactly,
including more complex calculations that would either generate prohibitively long PCFs or would
just not be possible.
The "Dir Movement" page demonstrates the various Welles Wilder Directional Movement indicators,
including DI+ and DI- (which gives indication of direction), the DMI, and ADX (which gives
indication of trend strength - but NOT direction), and the smoothed ADXR average.
The "S+R Pivots" page demonstrates the traditional calculations of Pivot Support and Resistance levels.
NOTE on how TCNet stores Fundamental and System Criteria data, and what information is available:
For System Criteria (including Fundamentals - you'll see them preceded with '*' in the UserPCF/*SystemCriteria
dropdown selector in the Formula Builder), the actual numeric values are not stored. Instead, TCNet/TC2000
ranks all tickers with a value of 1 through 99 (0 indicates that the ticker is not ranked), from lowest to
highest value, and grouping tickers with similar values together in each of the 99 ranking levels. This ranking
level is available in HamTCScan ("Rank"). In addition, TCNet stores the lower and upper limits for each of
the 99 rank values. That is, if a particular stock has a rank of 25, then the actual value of the Criteria
is between the lower and upper limits that TCNet stores. These limit ranges are available in HamTCScan ("Upper"
and "Lower"). Finally, HamTCScan will also calculate a "Value" (which is the same value that TCNet shows on
the Data Sheet) for System Criteria. It does this in the same way that TCNet does, so the value is NOT exact,
but "approximate" (see the TCNet Data Sheet accessed via Ctrl-V to notice that TCNet also lists the values as
approximate). The "Criteria" Page, described above, contains examples of Value, Rank, and Upper data values.
Exporting displayed data to Excel, text, or HTML files
Now that you have some data displayed, you can export it to other program formats. HamTCScan
currently supports export to text files (using spaces to align the data - so they should be
viewed in a fixed (non-proportional) font), HTML files (exported as an HTML <Table> which
you can easily upload to your web server), and Excel files (XLS spreadsheets). To export the data
for all of the displayed columns, select Data / Export Data from HamTCScan's menu. When exporting to
Excel, HamTCScan will create a new spreadsheet file, modify an existing file, or even paste the
data into a spreadsheet that you have open on your screen. HamTCScan remembers the last directory
that you used for each type of export, and stores each one separately.
You can select one or more pages to export together to a single file. HamTCScan brings up a selection
window that allows you to choose which page(s) to export. Select a page to export by clicking on it,
and remove it from being selected by clicking on it again. The Page Selection window (with Pages
Criteria and S+R Pivots selected to export) looks like this:
Exporting displayed data to TradeStation files
HamTCScan has two features that allow you to export to TradeStation files. You can export the list
of tickers currently shown based on a TCNet list or one of your own Easy Scans. In addition, you can
export the values of each of the columns for each symbol. These are exported to an ELX file,
which TradeStation Indicators and Strategies can read. Here are examples of each type of export:
Exporting the list of ticker symbols
- In TCNet or TC2000, select a List or EasyScan that has a relatively small number of members (for
example, "Stocks With Rebounding EPS" EasyScan which has 25 hits as of today).
- Now, in HamTCScan, select that same List or EasyScan from the LISTS drop-down. EasyScans are in the
EASY SCANS group, all starting with "1:".
- From the HamTCScan menu, select Data / Export Data / TradeStation CSL. A file selection dialog window
will pop up, automatically pointed to the default TradeStation Custom Symbol Lists directory. If this
is not the correct directory, navigate to the location you prefer. Enter a filename (TCReboundingEPS
for this example) and click Save.
- From TradeStation, open a new RadarScreen (from the menu, select File / New / RadarScreen). Right
click in the Symbol column, Row 1, and select Insert Symbol List. Under "Custom Symbol Lists", find
the file that you just created above (TCReboundingEPS), double click it, then click OK. Your TCNet
watchlist/scan is now displayed on the Radar Screen!
NOTE! There are two issues relating to passing symbol tickers between TCNet and TradeStation. First,
both programs have tickers for stocks that the other program is unaware of. If you create a list in
TCNet that includes unknown tickers, TradeStation will display that row as Invalid Symbol. Second, some
tickers (particularly indices and calculated values like TRIN) differ between TCNet and TradeStation.
For example, the Dow Jones Industrial Average is $INDU on TradeStation, but DJ-30 on TCNet.
Importing a list of ticker symbols into HamTCScan from TradeStation
- While in TradeStation from the above Export example, delete a few of the tickers. For example, I
deleted the Invalid Symbol, and all Hard-to-Borrow symbols (which have "(HB)" as part of their name).
- Select all remaining rows with ticker symbols on the Radar Screen. Right click, and select "Append
Selected Symbols To Custom Symbol List", then Create List, name it TCReboundingEPSNew and click OK.
- Start HamTCScan, and in the LISTS dropdown, scroll to the bottom where all TRADE STATION CUSTOM SYMBOL
LISTS are listed, finding the newly created TCReboundingEPSNew, and select it. As you can see, the
changes that you made in TradeStation have been reflected in this new LIST!
Exporting ticker data from HamTCScan to TradeStation ELX files
TradeStation has an add-on DLL called ELX.DLL. This is not part of the regular release. It is not
automatically installed when you install TradeStation. You need to install the DLL and a series of
support Functions to use the ELX features. ELX is Easy Language eXtensions. Using ELX allows you
to pass data and settings between Indicators, Charts, Strategies, etc. By exporting HamTCScan data
(including calculated PCF values and System Criteria) via ELX, you can provide this data to TradeStation
so that it can display it or use it for calculation of Strategies or Indicators.
To install TradeStation's ELX extensions, go to TradeStation World
and log in (join if you haven't - it's free, and there is a *huge* amount of information there). Scroll
down to TradeStation 7 Support Discussions, then select EasyLanguage-DLL Questions. Click on the first
"sticky" topic, "ELX", and follow the directions. You may be able to get to the ELX download by a
direct link.
The example below assumes that you have already installed the ELX.DLL file and that you have imported the
ELX Functions.
- In TradeStation, create a new indicator (from the menu, File / New / EasyLanguage / Indicator), name
it TCCapitalization, no template, and click OK. Copy the code below (you can copy and paste from your web
browser), and insert it into the Indicator.
inputs: ForceUpdate (0);
variables: ELXGroup (""), hRecord (0);
variables: TCValue (0);
ELXGroup = GetSymbolName + "_" + "test.txt";
if CurrentBar = 1 then begin
Value1 = UseELX (true);
hRecord = OpenRecord (ELXGroup);
if hRecord > 0 then
Value1 = ReadRecord.f (hRecord, "Capitalization", TCValue);
end;
Plot1 (TCValue, "Capitalizatn", red);
Save and Verify by pressing the F3 key.
Use the Radar Screen from the above example, showing the TCReboundingEPSNew custom symbol list.
Insert this new indicator by right clicking on the header of the last current
column, selecting Insert Analysis Technique, then double clicking on TCCapitalization, then click OK.
- In HamTCScan, make sure that TCReboundingEPSNew.CSL is the selected LIST. Right click in the empty
space to the right of the last column to create a new column. In the UserPCF/*SystemCriteria drop-down,
select *Capitalization. In the Formula Editor, delete the "C", then click the Value button. Change the
label to "Capitalization" (NOTE! This MUST match the text in the TradeStation ReadRecord.f function call!)
Click Save ALL And Exit to see a new column displayed in HamTCScan with the Capitalization values.
- In HamTCScan, from the menu select Data / Export Data / TradeStation ELX. Type a unique file name, such as
"test.txt" and click Save. (NOTE! This file name MUST match the text in the ELXGroup line in the TradeStation
indicator!)
- Back in TradeStation, refresh the Radar Screen to see the Capitalization values passed from TCNet!
Note - a Ctrl-R reload may not work, so there's an input parameter to the Indicator. To force a refresh,
right click on the TCCapitalization column header on the Radar Screen, select "Format TCCapitalization For
All Symbols", go to the Inputs tab, and change the value of ForceUpdate. The value does not matter,
just make it different - for example, alternate between 1 and 0.
Backing up your User PCFs
Often in TCNet/TC2000, you will create or acquire PCFs and get a collection of many more
than you actually use. These extra PCFs slow down the update process significantly. By
"backing up" your PCFs, you can remove them, and speed up the update process. You can also
preserve them in case of loss of TC data. HamTCScan will dump all of your User PCFs to a
text file (editable with WordPad). This format is NOT compatible with TC, and can not be
imported. It's only purpose is to save the PCFs, one per line, including the PCF name. The
format of each line is PCFName=Formula. After you have backed up and removed the unused PCFs from your
system, you can bring individual ones back by copy-and-paste from the HamTCScan dump file.
Adjusting the number of bars of data to use for calculations
Just like TCNet/TC2000, HamTCScan looks at historical data to calculate function values. The more data needed,
the longer the calculation takes. The Settings / Max Bars Back menu item lets you adjust the number of bars
of data that HamTCScan will use. You can select Fast, Medium, or Slow settings. Slow settings are necessary
for calculations that use long moving averages, or use BOP. HamTCScan will automatically test your settings,
and inform you if there are not enough bars of data - and then it will adjust the setting for you. These
menu items are only provided so that you can test your own optimizations, to try and speed up the calculations
Surviving the TCNet/TC2000 Update cycle
If a TC Update cycle is started while HamTCScan is running, TC will change the data that
HamTCScan needs to do it's calculations. To handle this issue, HamTCScan detects a TC Update
cycle, and pops up a message window. This window tells you that TC is updating, and gives
you instructions for reloading the data. In addition, HamTCScan changes the color of the
Update field (in the upper right of the main window) to Red to indicate that data has changed,
and needs to be reloaded. Note that you may continue to use HamTCScan while TC is doing the
update, but that the data will not be updated until you specifically tell HamTCScan to
reload it. To reload the data, wait until the TC update is
completely finished. Then, from the menu of HamTCScan, click Data / Reload TC Data.
This will cause a restart of the TC data interface, and will reread the data for the current
screen, and all other screens. The formulae will be recalculated. After you have done this
Reload, the Update field on the main screen will be changed from Red back to the default color.
Ticker commands: Creating sub-lists of tickers, controlling TCNet and Yahoo
With the Tickers that are displayed in HamTCScan, you can right click on any of the displayed
tickers (not hidden), and perform several operations. These operations include hiding and showing
groups of tickers (to narrow your list down), as well and the ability to control TCNet, TC2000,
and Yahoo with the ticker you select.
After selecting a LIST from the Lists drop-down, you may wish to eliminate some of the tickers based on the data
displayed. This will trim your list to make it easier to evaluate the remaining tickers, and will also make the list
smaller if you export it. For example, you might sort on column "BullishTrend" (with your own formula in it), and
identify 25 out of 100 stocks that have this condition as "TRUE". To further examine only the matching tickers,
you can right-click on a ticker symbol to bring up a pop-up menu. You can select a ticker by left-clicking on it.
You can select a group of tickers by left-clicking and dragging - or by using the SHIFT key with a mouse click.
The popup menu includes the following options:
- Hide current and above removes the current ticker and all tickers above it from the display
- Hide current and below removes the current ticker and all tickers below it from the display
- Hide selected removes any highlighted tickers that have been selected from the display
- Unhide all restores all previously hidden tickers that are in the current LIST to the display
- Save tickers for TC watchlist import After you have hidden the ticker symbols that are not part of your current
search criteria, you can save the list of remaining tickers to a file. This file immediately shows up in the
LISTS drop-down for future reference. In addition, the file is compatible with TCNet/TC2000,
and can be imported as a new watchlist. To do this (after saving a list of tickers in HamTCScan
to a file), from the TC menu, select File / Create New Watchlist / Import from a file / Text File,
and then select the file that you just saved in HamTCScan.
- Ticker info from Yahoo brings up a Yahoo Finance web page showing information for the
ticker that you just selected in HamTCScan.
- Select ticker in TCNet/TC2000 causes TC to "Jump" to the ticker you just selected
in HamTCScan, and displays the chart and other information in TC.
Using the advanced Formula Builder features
Select the Personal choice from the PAGE pulldown on the main HamTCScan screen. This displays
an (initially) empty page, containing only the Ticker column. Right click on the Ticker
header and select Add to create a new column with a calculated formula that you specify.
To change a formula, right click on the column header.
To add a new column, right click in the blank space to the right of the last column,
or right click on any column header and select Add.
After choosing Formula Builder, a new window (see above) will pop up to allow you to edit the formula for that
column of data.
- The "Formula Editor" displays your current calculation formula.
- You can use the UserPCF/*SystemCriteria drop-down to select System Criteria or User PCF values
(see Formula Editor features) to have HamTCScan display or use these values in
calculations.
- The "Label" entry specifies the text for the column header (and also the text if you Save the Formula)
- The "Display as:" entry lets you choose what format to have HamTCScan display the data. Options:
- 0.00 Displays numeric data as a decimal number with two digits following the decimal point.
- 0.0000 Displays numeric data as a decimal number with four digits following the decimal point.
- 0 Displays numeric data as an integer number.
- true/false Displays the calculation as a Boolean value (True or blank for False).
- LeftText Displays the text value (for company name, etc.) left-justified (all data lined up to the left).
- RightText Displays the text value (for company name, etc.) right-justified (all data lined up to the right).
- P(+)/N(-) Interprets the numeric value as Positive or Negative, displaying P for positive and N for negative.
- Bullish(+)/Bearish(-) Interprets the numeric value as Positive or Negative, displaying Bullish for positive and Bearish for negative.
- Choice This selection is used for System Criteria that return a text value that identifies one of several
"choices." For example, the Exchange System Criterion displays "New York Stock Exchange", "NADSAQ", etc.
Use this display format when selecting one of these choice System Criteria.
- Date YYYY/MM/DDThis selection is used to format the display value as a date - it would be used for
the Date() function as well as any other functions that provide a date
the data as a number with 0, 2, or 4 digits after the decimal point, or you may display the data as a true/false
value. Also, you can display a "P" or "N" (or "Bullish" or "Bearish") depending on whether the value is Positive or Negative.
- The "Text Export Width:" entry allows you to specify how many character spaces this particular formula
will use when exported to a TXT text file. This provides some simple formatting capability.
- The "HTML Export Width:" entry allows you to specify how wide this particular formula column
will be when exported to an HTML web file. This value is used in the "width=" specifier in the HTML code.
This provides some simple formatting capability.
- To remove a column from the HamTCScan display, click the Remove Column button.
- The Formula Builder window also allows you to save Formulae. All controls for this are in the "Saved Formulae"
group box. These allow you to save copies of each formula that you create for later reloading,
so that you don't have to manually retype it each time. To save a formula, enter a formula in Formula Editor,
and give the formula a name in the Label box, then click the "Save as Label" button.
Formulae that you have saved are listed in the "Saved Formulae" dropdown. You may remove a saved formula
by selecting it in the "Saved Formulae" dropdown, and clicking "Delete Saved Formula".
To copy a formula to the Formula Editor, select the formula from the "Saved Formulae" dropdown, then click "Load to Editor".
If you make changes to the Formulae, be sure to click the "Save ALL and exit" button to save the changes, or click "Cancel ALL" to ignore
the changes.
- Formula Builder also allows you to import TCNet/TC2000 PCF formulae (using the "Formula" button).
HamTCScan converts the TC format to HamTCScan format. Since HamTCScan
calculates each formula whenever you change a stock list, you may want to put most of your formulae in TC,
so that they are only calculated once. Create PCFs in TC, then reference these PCFs in the Formula Builder.
- In FormulaBuilder, if you select a User PCF, then click the Formula button, the
complete TC formula is copied (and converted) - and is fully supported. When HamTCScan reads in a TCNet
PCF formula, it converts it to HamTCScan language, with the
idea that the parameters are more flexible. For example, it converts AVGC20.5 (the average of the 20
preceding Close prices, starting 5 bars back) to Avg(C,20,5). Note that the 20 and 5 can be variable or
calculated values, and don't need to be hardcoded. Also, for the Avg, Min, Max, and Sum functions, the
first parameter can be ANY PCF calculation. An easy way to calculate the mean average of True Range for 5
bars, for example, is with Avg(TR(0),5) ... or you could use SUM(TR(0),5)/5. If you want the average of
the last 20 Typical Price values, starting 8 bars ago, you can use Avg((H+L+C)/3,20,8).
Creating your own Formula
A HamTCScan Formula consists of:
- Variables representing data values (Close price, Volume, etc.)
- PCF specifiers represent calculated PCF values obtained from TCNet
- Arithmetic operators used to combine the data arithmetically (+, -, *, /, etc.)
- Comparison operators used to compare data values (<, >, etc.)
- Boolean operators used to test multiple conditions (AND, OR, XOR, etc.)
- Function calls used to perform complex calculations on data (Avg(), Stoch(), etc.)
- Symbol modifiers allow you to use additional tickers in a formula ('DJ-30', etc.). In general,
the Symbol Modifier can precede any Variable or Function to specify the ticker to use for the calculation
instead of the current ticker. For example, 'DJ-30'C1 provides the Close of the Previous Bar of DJ-30.
- Numeric values used as constants (2, -5, 1.618, etc.)
- Comments You may insert one or more comments into your formula (they are ignored during
calculation) by surrounding the comment in {} curly brackets. HamTCScan does not support comment nesting.
Variables may be optionally followed by an "offset" which specifies how many bars back (C1 is Close of Previous Bar)
- C specifies Closing Price of bar
- H specifies High Price of bar
- L specifies Low Price of bar
- M specifies the Media General Sub-Industry group
- N specifies the Company Name - note - this should be displayed with LeftText or RightText formatting
- O specifies Open Price of bar
- V specifies Volume (in 100's) of bar
- W specifies Worden Number of current ticker (offset is not used for W)
PCF Specifiers provide access to all PCF and System Criteria values as calculated by TCNet. In the
following PCF Specifiers, the 'xxxx' is a code used internally by TCNet to identify which PCF or Criterion.
HamTCScan will determine the value of xxxx for you. Select the PCF or System Criterion (preceded by '*')
from the UserPCF/*SystemCriteria drop-down. Then click the Value (or other) button to paste the
corresponding PCF Specifier into the formula editor. HamTCScan will also include a comment that provides
the name of the PCF or Criterion, so that you can remember which PCF/Criterion you selected.
- Pxxxx provides the Value (Use the Value button) calculated by TCNet for User PCFs and System Criteria.
- Rxxxx provides the Rank (Use the Rank button) of the current ticker, compared to all other tickers.
The Rank value is a number from 1 to 99, or 0 for not-ranked.
- Txxxx provides the Lower Range value (Use the LowerRange button) of the Rank of the current ticker,
compared to all other tickers. TCNet ranks each ticker from 1 to 99, compared to other tickers. Each
rank has a set of values that fall into that range. The Lower Range specifies the smallest value for
all tickers in the same rank as the current ticker.
- Uxxxx provides the Upper Range value (Use the UpperRange button) of the Rank of the current ticker,
compared to all other tickers. TCNet ranks each ticker from 1 to 99, compared to other tickers. Each
rank has a set of values that fall into that range. The Upper Range specifies the largest value for
all tickers in the same rank as the current ticker.
Arithmetic operators: HamTCScan follows standard algebraic order of precedence rules, that is,
Multiplication and Division are calculated before Addition and Subtraction. For example, 2*3+4*5 is
calculated as (2*3)+(4*5).
- ( ) parentheses may be used to explicitly state the order of operation, for example (1 + 2) * 3 is 9.
- + adds two values
- - subtracts the second value from the first
- * multiplies two values
- / divides the first value by the second
- - can also be used as a unary minus sign to negate a value
- ^ provides exponentiation: X^Y is X raised to the power of Y
Comparison operators:
- < returns a true/false value, true if the left value is Less Than the right value
- <= returns a true/false value, true if the left value is Less Than or Equal To the right value
- > returns a true/false value, true if the left value is Greater Than the right value
- >= returns a true/false value, true if the left value is Greater Than or Equal To the right value
- = returns a true/false value, true if the left value is Equal To the right value
- <> returns a true/false value, true if the left value is Not Equal To the right value
Boolean operators:
- AND returns a true value only if the values on both sides of it are true
- OR returns a true value if either of the values on both sides of it are true
- XOR returns a true value only if the value on one side is false and the value on the other side is true
- The Boolean NOT capability is implemented as a function - see below
Function calls: perform complex calculations on values. Parameters for Functions are contained in
parentheses. Parameters may be constants, variables, or other complete formulae. In the following functions:
- 'p' indicates the "period" of the function (generally, the number of bars back of data that the function uses),
default value is 1 except for Bollinger and Standard Deviation functions where default is 20
- 'o' indicates the "offset" which specifies how many bars back to go before starting the calculation, default value is 0
- 'calc' indicates an arbitrary calculation such as (O+H+L+C)/4
Note that you do not need to supply all parameters to functions - only from left to right the ones that are needed.
- Abs(calc) returns Absolute Value
- ADX(p,o) provides Welles Wilder's Directional Movement value of ADX
- ADXR(p,o) provides Welles Wilder's Directional Movement value of ADXR
- ATR(p,o) calculates the mean Average True Range
- ATRW(p,o) calculates the Wilder Average True Range
- Avg(calc,p,o) calculates mean Average, p is Length
- AvgX(calc,p,o) calculates Exponential Average, p is Length
- AvgVA(calc,p,o) calculates Richard Arms' Volume Adjusted Average, p is Length
- AvgVW(calc,p,o) calculates Volume Weighted Average, p is Length
-
- BBbot(calc,p,SDev,o) returns the Bottom Bollinger Band (using Standard Deviation SDev) of the calculated formula
- BBpctB(calc,p,SDev,o) returns the Bollinger %B (using Standard Deviation SDev) of the calculated formula
- BBtop(calc,p,SDev,o) returns the Top Bollinger Band (using Standard Deviation SDev) of the calculated formula
- BBwidth(calc,p,SDev,o) returns the Bollinger Band Width (using Standard Deviation SDev) of the calculated formula
- BOP(p,o) returns the Worden proprietary BOP value
- CCI(p,o) returns the Commodity Channel Index value
- Date(o) returns the Date of the bar 'o' bars back - recommend to display in the DateYYYYMMDD display format
- DIDiff(p,o) provides Welles Wilder's Directional Movement difference of the values of DI+ and DI-
- DIMinus(p,o) provides Welles Wilder's Directional Movement value of DI-
- DIPlus(p,o) provides Welles Wilder's Directional Movement value of DI+
- DMI(p,o) provides Welles Wilder's Directional Movement value of DMI
- Exp(calc) returns e^x
- Frac(calc) returns the fractional part of the number, e.g., Frac (1.93) = .93
- Int(calc) returns the integer part of the number, e.g., Int (1.93) = 1
- Log(calc) returns Natural Logarithm
- Max(calc,p,o) finds the largest value, p is Length
- MaxL(a,b,c,d) gives the highest value of two or more values separated by commas
- MGInd(calc) computes the calc formula for the Media General Industry for the current ticker
- MGSub(calc) computes the calc formula for the Media General Sub-Industry for the current ticker
- Min(calc,p,o) finds the smallest value, p is Length
- MinL(a,b,c,d) gives the lowest value of two or more values separated by commas
- Mod(calc1,calc2) returns the remainder of dividing calc1 by calc2, e.g., Mod (100,7) = 2
- MS(p,o) returns the Worden proprietary MS value - note that these are raw SDK numbers,
and are not scaled, so they should generally be used in comparison with other MS values for the same ticker
- NRB(p,o) is a Boolean function for NarrowRangeBar, returning True if the current (or offset) bar is NRB compared to the p bars before it
- NOT(calc) is a Boolean function that returns True if calc evaluates to zero, or False if calc evalutes to anything other than zero
- OBV(p,o) provides the On Balance Volume for the specified number of bars, optionally starting at offset number of bars back
- PivotR(x,o) provides Resistance Pivots where x is pivot level (R1, R2, etc)
- PivotS(x,o) provides Support Pivots where x is pivot level (S1, S2, etc)
- RSI(p,y,o) returns Wilder's RSI, y is smoothing period
- SDev(calc,p,o) returns the Standard Deviation of the calculated formula, p is length
- Sign(calc) returns -1 if x<0, 0 if x=0, or 1 if x>0
- Sqr(calc) returns Square Root
- Stoc(p,y,o) returns a Stochastics value, y is smoothing period
- Sum(calc,p,o) adds all values together, p is Length
- TP(o) calculates the Typical Price of specified bar
- TR(o) returns True Range of specified bar
- TSV(p,o) returns the Worden proprietary TSV value - not functional - no SDK support.
- VHF(p,o) returns the Vertical Horizontal Filter value
- WRB(p,o) is a Boolean function for WideRangeBar, returning True if the current (or offset) bar is WRB compared to the p bars before it
Viewing HamTCScan program information and Registration status
You can get the current version information for HamTCScan by clicking on the Help / About menu.
This will also provide you with web and email contact information. Also, it will display your
registration status, and the current and latest version numbers of HamTCScan.
Custom programming for HamTCScan
If you have special needs for calculations of strategies or indicators, and want to display them
in HamTCScan, please contact me for a price quote. I
will need your specifications and any calculation methods that I don't already have. Customized versions
of HamTCScan are written for YOU only - the techniques and calculations do not become part of the
public version. Other people may ask for a similar calculation, of course. Also, HamTCScan can do
additional specialized calculations like comparing two or more tickers or indices, or even accessing
external databases such as calculation of Volatility Bands based on Put and Call data from
www.ivolatility.com.
All discussions of your methods remain private between you and me, even if you decide to not pursue
a customized version.
Thanks for your continued support!
HamFon