PureBytes Links
Trading Reference Links
|
The functionality of the dll support has basically not been changed
in TS2000 - if you don't have the the new documentation you can
basically use the old userdlls.wri as a guideline. There are some
additional features however.
If you are really hot you can ask Omega for the new developers kit.
Gerrit Jacobsen
> >1) Omega's USERDLLS.WRI states that the EL DLL interface will support
> >the following data types: BYTE, CHAR, INT, WORD, LONG, DWORD, FLOAT,
> >DOUBLE, BOOL. I thought that EL was limited to single precision float,
> >character string and TRUE - FALSE. Basic will handle all of those other
> >data types but what good is it to pass them back and fourth to EL?
>
> They mean the DLL interface was supposed to support all those types, but it
> doesn't seem to. There doesn't seem any way to return a BOOL (True-False)
> value to Easy Language. Perhaps sometime in the late 80's Omega intended that
> capability would exist.
> >
> >2) Regarding TS_KIT that comes with TS and SC. I sort of see the
> >usefulness of TS_KIT.DLL. However, what use is TS_KIT.H and TS_KIT.LIB
> >to me? Perhaps for "C", but compiled Basic needs no header file and the
> >Basic DLL can call another DLL. So, are the H and LIB files strictly
> >for C?
>
> You can put you own headers in or whatever your program requires to compile.
> In order to do a static link you will need to reference TS_KIT.LIB in the list
> of your link libraries. TS Charting seems to do a dynamic link to the user
> program so you will need to generate a DLL that uses the standard "C" linkage
> that TS Charting expects.
>
> >
> >3) The only documentation I've seen on interfacing EL to a DLL is
> >Omega's USERDLLS.WRI, the Investment Engineering's Global Variables
> >documentation and HASHNUMS documentation. The Omega DLL stuff is
> >vintage 1992. Has Omega ever updated? Is there any other documentation
> >on this subject?
>
> Omega is in the process of releasing the 32-bit version of TS 2000 now, but even
> userdlls.wri seems to have been dropped for TS 2000. I'm not aware of any
> other documentation.
>
> It seems Omega (Bill Cruz) is convinced that Omega users only want Easy Language
> and users will pay Solution Providers to do everyting else. However support
> for the Easy Language DLL API and data base API is provided by Developer support
> at Omega: devsupport@xxxxxxxxxxxxxxxxxx Be aware if you ask about a
> capability that the Omega DLL API doesn't have "no reponse" means "we don't have
> that capability".
>
> I wonder why it's called "Developer" support, but perhaps Omega thinks a
> developer is another name for a "Solution Provider". In any case they have
> answered a few questions. Perhaps they haven't noticed I'm not a Solution
> Provider.
>
> >
> >Questions for this case are:
> >
> >a) Say the DLL gets the data series from TS and calculates the
> >delayless MA for each bar in the series when CurrentBar = 1? TS then
> >gets the delayless MA for each bar from the DLL as TS moves forward for
> >each bar (when CurrentBar is > 1). So, how can we get data for bars in
> >the future while CurrentBar = 1? That data does exist in a file
> >previously downloaded by the Omega Downloader. And, when we key in an
> >optimization run, how do we prevent TS from re-running CurrentBar = 1
> >over and over again? Is it as simple as setting a switch after the
> >first pass, to skip initialization (calculating MA's) forever more?
>
> For TS 4, TS Charting will likely return 0 for any price or value beyond the
> current bar. TradeStation Charting doesn't seem to be oriented around "data
> series".
> >
> >b) If it is not possible for TS to look forward in the historical data
> >series when CurrentBar = 1, then can TS be forced to do two passes? On
> >first pass get and move the data to the DLL which will calculate MA's.
> >On second pass run the trading system or plot the indicator. On
> >optimization runs, don't make the DLL calculate MA's again.
>
> You can manually turn the indicator Status off and on again. Also using your
> DLL you could save whatever data you want in a dll array and re-read the array
> in your dll. You seems to be correct that using a DLL seems to get around
> the code size limitations of Easy Language and it's considerably more accurate.
>
> __ Chris Baker
>
>
|