PureBytes Links
Trading Reference Links
|
Hi Lewis,
I just now solved all the conflicts of using FutureSource with
TradeStation4.
The problems were two-fold and consumed an entire week of
my time. This could have easily been prevented by tech support
supplying new FS users a memo on the following. Both features
are unique to FS as compared to any other data compatable with
TS4. Thus, any new TS4 user to FS will not be familiar with them
and why there is a possibility that code they previously used on
other feeds suddenly errs on FS.
Other than that, tech support has been excellent and no other major
conflicts have surfaced.
There are solutions to both problems and can easily be addressed.
I highly recommend this to be sent to all new TS4/FS users.
1. Turn off the automatic tick correction feature in FS. This has
been coded into FS software but the coresponding code to make
it function has been left out by the programmers of the TS4 software.
Leaving it on causes TS4 to search for a response to the feature which
causes a total resources hourglass that leads to loss of accurate
calculations of the TS4 user's EasyLanguage systems and indicators
that depend on file access because file corruption of any user processes
that write or read to file occur in realtime.
2. Make new customers aware of the fact that FS stores tick data
in a time stamp manner that is different from the method TS4 uses to
read data. FS begins timestamps for the next minute at 1 sec after
the previous minute while TS4 reads data for the next minute only at
anytime during that minute.
This will cause a conflict to any TS4 code that is working off tick bars
and referencing the time and date of the previous bar and comparing
them to the date and time of the currentbar. This is specifically
essential to any code that reads or writes to files.
The solution is to include an iteration variable in the EL code that
begins at 1 when currentbar=1 and iterates parallel to the currentbar
function.
Code previously written by a TS4 user might look something like
this where lastD is the variable name for the date of the previous
bar and lastT is the variable name for the time of the previous bar
and lastcnt is an iteration variable used to find a specific line in a
data file:
if (date=lastD and time>lastT) or d>lastD
then begin
...perform write-to-file tasks here...
lastD=date;lastT=time;lastcnt=lastcnt+1;
end;
To make Time and date references using FS, the code would be
altered to the following by adding one extra statement;
if (date=lastD and time>lastT) or date>lastD
or (date=lastD and time=lastT and currentbar>lastcnt)
then begin
best regards,
dave stanley
|