Jump to content

Welcome to the new Traders Laboratory! Please bear with us as we finish the migration over the next few days. If you find any issues, want to leave feedback, get in touch with us, or offer suggestions please post to the Support forum here.

  • Welcome Guests

    Welcome. You are currently viewing the forum as a guest which does not give you access to all the great features at Traders Laboratory such as interacting with members, access to all forums, downloading attachments, and eligibility to win free giveaways. Registration is fast, simple and absolutely free. Create a FREE Traders Laboratory account here.

Tams

ADE - All Data Everywhere (EasyLanguage)

Recommended Posts

author: Bamboo

 

 

ADE - All Data Everywhere

 

Introduction

 

The “All Data Everywhere” library (or ADE for short) is a set of EasyLanguage functions and indicators that allow you to store any kind of data for any symbol and bar interval.

You can then access that data from any study or strategy, regardless of the symbol or bar interval.

 

One powerful use for ADE is to store higher timeframe data for a symbol and then access that data from a lower timeframe.

For example, you can calculate and store ADX and RSI for a 30 minute chart, and then you can access that data from a 5 minute chart.

 

Another powerful use for ADE is to look at data for other symbols.

You can use ADE to store data (OHLC, volume, indicators, etc) for an entire portfolio of symbols, and then you can access the data for any symbol from any other symbol. This makes it possible to perform analyses that depend on the relationships between different symbols in your portfolio.

 

ADE includes the ability to save data to text files and load it back.

This means that you can pre-calculate and store data for any symbols and timeframes you want, and you can retrieve that data whenever you want.

For example, you can store five years of data for a 30 minute MSFT chart. If you open a 30 minute MSFT chart with only one month of data, your study or strategy can load the five years of historical data and append only the new data. It is not necessary to recalculate the entire five years every time.

 

Installation instructions and sample indicators are provided in the zip file.

 

 

note: ADE uses the ELCollections library, so you must install ELCollections before you install ADE. Also, taking the time to learn how ELCollections works will allow you to make the most of ADE.

http://www.traderslaboratory.com/forums/f46/collections-for-easylanguage-5929.html

ADESETUP.ZIP

Share this post


Link to post
Share on other sites

After installation, look under c: \program files\ADE for

 

All Data Everywhere.doc (manual)

 

and

 

All Data Everywhere.ELD (indicators)

Share this post


Link to post
Share on other sites

OK, Let's go !!

 

The setup creates a C:\ADE

 

Modify the function to return the directory you are using, and then verify the function. For example, if you are using E:\ADE as your ADE root directory, you would change the function as follows: ADE.Directory = “E:\ADE”;

 

So we can move this directory (better at my opinion to free the precious C:\ )

 

Here are

 

All Data Everywhere.pdf

 

And the list of 123 Fonctions (66 are already imported - from Collections ?) + 5 indicators imported with ELCollections.eld (Compilation takes a long time)

 

After have reading (quickly) the doc, it looks a great tools...

 

it's nice from Tams to share all his tools with us.

All Data Everywhere.pdf

Snap2.thumb.jpg.6cb83a676bb40639c007591ce43b7aa9.jpg

Share this post


Link to post
Share on other sites

If you have access to the TradeStation forum, can you get the following?

 

The “TypeZero Sync” library, which contains several indicators,

including the “TZU Save OHLCV” indicator which saves OHLCV data for TypeZero bars.

 

 

TIA

Share this post


Link to post
Share on other sites

ThanX Tams for the clean explanation

 

If I'm right ; Collections extracts data in background and ADE imports them in an other graph/time ?

 

If so, Collections is the engine and ADE the layer ?

Share this post


Link to post
Share on other sites

more information on TypeZero Library

 

 

 

The "TypeZero Sync" framework (TZS) allows you to synchronize data between tick or volume charts with the same symbol and bar type but a different bar interval. For example, you can synchronize a 100 tick chart and a 300 tick chart, or you can synchronize a 1000 share chart and a 5000 share chart. It's even possible to syncrhonize charts where one bar interval is not a direct multiple of the other. Currently the framework only supports a chart with a lower interval retrieving data for a higher interval. This seems to be the typical setup that people want to use.

 

The TZS framework uses my All-Data-Everywhere library, version 1.07 or later. You must install ELCollections 1.03 and ADE 1.07 before you install TypeZero Sync.

 

Note that if you want to work with ADE and TypeZero bars (tick and volume bars), you almost certainly need to install the TypeZero Sync library as well, since it will allow you to correctly synchronize data between different charts.

 

Here are the instructions for using the TZS framework. Please read and follow them carefully, since you must set things up correctly in order for the framework to work properly.

 

1. Set up each chart that you want to synchronize so that the first bar on the chart is at the start of a session. This just means that the range should be set with Days/Months/Years Back or with First Date, rather than with Bars Back. Don't ever use the Bars Back range setting with the TypeZero Sync framework!!!

 

2. Apply the "! TZS Setup Sync" indicator to each chart involved in synchronization (both sender and receiver). Check the "Prompt for Format" box and make sure that the Interval input is set correctly -- e.g. it should be ADE.TickBarV(BarInterval) for tick bars using trade volume, and ADE.VolBarV(BarInterval) for volume bars using trade volume. The indicator is named with a ! at the start to ensure that it comes first in the indicator list. Indicators that use TypeZero Sync should always be named so that they come after the "! TZS Setup Sync" indicator.

 

3. Apply the indicator that saves data to the higher-interval chart. To save OHLCV data, use the "TZU Save OHLCV" indicator. Again, make sure the Interval input contains the appropriate TypeZero interval function for the chart.

 

4. Apply the indicator that consumes the higher-interval data to the lower-interval chart. Check the "Prompt for Format" box and enter the appropriate function calls for ThisInterval and ThatInterval. ThisInterval refers to the interval for the current chart, and ThatInterval refers to the higher interval. You can always pass BarInterval to the function used for ThisInterval (e.g. ADE.VolBarV(BarInterval)), but you will need to specify the correct interval for the higher interval (e.g. ADE.VolBarV(5000)).

 

That's it!

 

When you write an indicator that uses the TypeZero Sync framework, you should call the TZS.SyncBarID function to get the correct BarID for the higher interval. Pass the function the ThisInterval and ThatInterval inputs that have been specified for the indicator. See the "TZU Bollinger Bands" indicator for an example of how to use this function.

 

Do not call the ADE.OnNextBar function when using the TypeZero Sync framework. Instead, save the previous BarID into PrevBarID before calling TZS.SyncBarID. After the call, check whether the BarID has changed (BarID <> PrevBarID) and only perform your higher interval logic if it has. Again, the "TZU Bollinger Bands" indicator provides an example of this.

 

I've provided a couple example workspaces that show the framework in action. The "TZU Plot OHLCV Demo" workspace provides a visual demo of bar synchronization. The "TZU Bollinger Bands Demo" workspace shows how to plot Bollinger Bands from a higher bar interval. Note that the "! TZS Setup Sync" and "TZU Save OHLCV" indicators in these workspaces could be hidden to reduce clutter, but I've left them visible so you can easily see how the charts are set up.

 

In my testing I've found that the framework works best in real time if the sending and receiving charts are in different workspaces (with the senders first). In fact, it *must* be done this way if the receiver is a strategy, since strategies will calculate before indicators in the same workspace. Thus, I recommend using different workspaces for senders and receivers. I've included senders and receivers in the same workspace for the demos because it makes it easier to compare the two charts.

 

You may wonder why you need to apply the "! TZS Setup Sync" indicator rather than just calling a function in your own indicator. There's actually a very important reason for this. In order for the sync setup to work correctly, the MaxBarsBack *must* be zero, so that it picks up session activity (volume or ticks) from the very first bar of the session. The only way to guarantee this is to specify a MaxBarsBack of zero for the indicator. Since many if not most indicators and strategies will employ a lookback, using a separate indicator for the sync setup seemed like the best solution. (Even if your indicator doesn't employ a lookback, if you let TS determine MaxBarsBack automatically, it will skip the first bar on the chart. Did you know that? You have to manually specify zero for MaxBarsBack if you want to get the first bar on the chart.) Because the sync setup is performed by a separate indicator, you can employ a lookback in your own indicators and strategies if you need to.

 

The TypeZero Sync library provides the following indicators for you to use and study:

 

TZU Bollinger Bands

TZU Exp Mov Avg

TZU Keltner Channel

TZU Linear Reg Curve

TZU Mov Avg Line

TZU Plot OHLCV

TZU Save OHLCV

 

Note: The demo workspaces use the @ES.D symbol, so they'll require a real-time data subscription for the CME e-minis.

 

Attachment: DATA/20050302173356TypeZeroSync.zip 68887 bytes

http://www.tradestation.com/Discussions/DATA/20050302173356TypeZeroSync.zip

 

 

 

 

 

 

 

 

An issue was discovered with reading TypeZero data from ADE data files (in the ADE\Data directory). This issue could cause duplicate bars to be stored in memory and then saved back to the data files.

 

Note that this issue applies only to TypeZero bars, not time-based bars. Also, it only occurs if you have set the UseFile input to true for one of the TypeZero indicators (e.g. TZU Save OHLCV, ! TZS Setup Sync). The UseFile input for these indicators is false by default (even if ADE.UseFile is true). If you have not saved TypeZero data to data files, then you will not have been affected by this issue.

 

The problem was the result of a very subtle difference in the results of BarID calculations in EasyLanguage and C++. Almost all of the ADE code is written in EasyLanguage, but there are a few helper functions in the ELCollections DLL which are used to improve the performance of reading and writing data files. This is where the problem occurred. Again, this was only happening with TypeZero bars, not time-based bars.

 

I have corrected the problem and posted a new version of ELCollections (1.04). Only the DLL is different from the previous version. Please download the new version and put the updated DLL in your TradeStation Program directory.

 

You do not need to update your ADE code to fix this problem; only the DLL needs to be updated.

 

Important: If you have saved any TypeZero data files in your ADE\Data directory, you should delete them and create them again after installing the new DLL.

 

 

 

 

Latest Revision: 2005-03-02 14:50 PST

TZU Demo TSW.zip

TZU Library (TS).ELD

TZU Library (MC).pla

Edited by Tams

Share this post


Link to post
Share on other sites

I am just catching up on this very interesting thread (and related to multi time frame indicators eg New TTM Squeeze and Drummond geometry).

 

For clarification is this add on only for TS as opposed to multicharts? Is that because multicharts is capable of this analysis already?

 

Regards

 

Ian

Share this post


Link to post
Share on other sites
I am just catching up on this very interesting thread (and related to multi time frame indicators eg New TTM Squeeze and Drummond geometry).

For clarification is this add on only for TS as opposed to multicharts? Is that because multicharts is capable of this analysis already?

Regards

Ian

 

 

 

see illustrations in post #5 and #7.

Share this post


Link to post
Share on other sites
Hi Tams, thanks for the info on ADE do you know if this will also work for Prosuite 2000i?

cheers

 

 

 

I believe so, but I haven't tried.

Share this post


Link to post
Share on other sites

I am looking for code in ADE that will plot point and figure charts in Tradestation. I am interested in purchasing the code that will do this. Any help in directing me to find this is greatly appreciated. The reason I want this, I create my own index of stocks in TS, putting 7 stocks together and plotting it as one open,high,low,close bar chart. The problem is this index is an indicator and the P&F option in TS cannot be applied to an indicator. I export this index data into Excel, reformat it as a text file(.csv) and import it back into TS as a third party symbol. The example of the Semiconductor Index in ADE is great, but the standard P&F option in Tradestation will not work on this. So, code for plotting P&F in ADE is needed to accomplish this and I do not know how to write code for this, but am willing to pay for it. Specifically, allowing one box reversals with X's and O's in the same column, just like TS allows this option.

Share this post


Link to post
Share on other sites

could i use ADE with RENKO charts ?

 

did you have last ADE ?

 

can't use tradestation forum, I works with multicharts64

 

thanks for your reply

 

 

 

 

@Tams $100/hour is not enough LoL

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.