PureBytes Links
Trading Reference Links
|
Hi,
I am a former TS4,.0 user who is currently using Qcharts and considering
either trading with the www.tradestation.com people or using MultiCharts
with my current broker's feed (interactive brokers). I still have the
HASHNUMB.DLL (Kim Horn) that I used with TS4.0 (brings back memories
from 1998 - how soon we forget!). I have included the top summary of the
DLL from the MS-Word documentation. Is anyone using this DLL with either
of these two newer charting products (assuming it still works that is).
I emailed Kim with a 10 year old email address to see if there may be an
upgraded version but that email may bounce. Maybe he will pick it up here.
Thanks,
John.
HASHNUMB.DLL
This DLL is used to enhance Tradestation and SuperCharts programs by
adding global variables to Easy Language. The main use of the DLL is to
get around the 64K size limitation of Tradestation systems. A common
problem, when writing large systems, is the error: "EXE CODE TOO LARGE".
The DLL gets around this problem by allowing you to cascade Multiple
Tradestation systems with each accessing a pool of global variables. The
DLL also allows data to be shared between and across pages, systems,
indicators, paintbars, and studies.
Another feature of the DLL is that it provides a means to read and write
data from files. The global variables can be written to and read from
CSV files, to allow easy integration with other programs such as Excel,
AI or statistical packages. CSV (Comma Separated Values) files are a
standard text format for data files under windows. A problem with
Tradestation's Easy language print function is that when used in
multiple systems to output large amounts of data, multiple line feeds
are inserted into the record. This DLL allows data to be collected
across multiple systems but appended to a file as one record.
The main advantage of this DLL, over others on the market, is the
ability to store values symbolically (as well as by index). To store a
value symbolically you just use a representative variable name. Most
other DLLs only allow values to be stored by using a numeric index.
The global variables are represented as an object-attribute-value
dictionary. The DLL provides a way to store a floating point value or a
string at a specified objects attribute name. You can then retrieve the
value by specifying the object and attribute names. The use of objects
allows attributes to be grouped together in a meaningful way. For
example a ‘Person’ object may have the attributes: age, sex, height and
a ‘car’ object may have the attributes: color, cost, engine-size. In
this DLL, values can also be stored in an object by an index, much like
an array. For example, we may have an ‘Inflation rate’ object and store
the actual rate by a numeric index made up from month and day, eg, 397,
697, 1297.
The system uses a hashing scheme to store data and so lookup is fast.
All memory is dynamically allocated and the only limits are what windows
can supply.
The DLL can be used with any Windows application, not just Tradestation.
A demo program, HASHTEST.EXE, written in Visual Basic, is provided to
demo the functionality of the DLL. The program employs a simple windows
interface so you can play with the DLL.
There are 40 functions in the DLL that can be grouped into 5 based on
functionality:
1) Storing (put) and Retrieving (get) by Symbolic Attribute (At)
1.1 Functions to Store Numbers
putAt
putAtPrec
putAtDef
getAt
getAtDef
1.2 Functions to Store Strings
putStringAt
putStringAtDef
getStringAt
getStringAtDef
getTypeAt
2) Storing and Retrieving by Index Number (No)
2.1 Functions to Store Numbers
putNo
putNoPrec
putNoDef
getNo
getNoDef
2.2 Functions to Store Strings
putStringNo
putStringNoDef
getStringNo
getStringNoDef
getTypeNo
3) Writing to File
openWriteCSV
appendCSV
appendDefCSV
4) Reading from File
openReadCSV
readNextCSV
readLineCSV
readNextDefCSV
readLineDefCSV
openWriteReadCSV
5) Miscelaneous Functions
cleanUp
setDefObj
setDefPrec
setMissing
setCrLf
|