[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: DLL adventure



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