CCI Trading Software

Version 1.0

Build 1.0.1115.16075

 

 

Software can be downloaded from:

http://groups.yahoo.com/group/EclipticTradingSoftware/

and

http://www.ecliptictrading.com/Software/Downloads/CCI/

Sample EFS files for eSignal:

http://www.ecliptictrading.com/Software/Downloads/eSignal/

* Read Setup.htm and SetupInfo.htm for details.  You can install manually with the CCISetup.zip file which is available at both of the above links.  An installer can be downloaded from the yahoo group link above. 

 

This software encapsulates a trading framework using the CCI (Commodity Channel Index) as taught in the CCI Club chat room. If you are familiar with momentum indicators then the approach will not seem too foreign. Most setups revolve around penetrations of levels, penetration failures at levels, hooks, divergences and indicator trendline breaks. For more info on the room check out:

http://www.woodiescciclub.com

The room's approach uses a 14 period CCI with a 5 minute price periodicity, a 14 period CCI with a 3 minute price periodicity, and a 6 period CCI with a 3 minute price periodicity.  You could also however load three different markets with the same or any combination CCI periods. 

 

Beta Build 1.0.1115.16075

This build has the following two enhancements and is the one available for download as of 1/20/03:

 

Beta Build 1.0.1105.22829

Quick Functionality Overview

This software concurrently tracks three CCI values and provides a visual picture of their respective trends. These three values can represent CCI's for three different periodicities for a given market. They could also be one periodicity for three different markets or any combination of the two.  You determine the setup by the data files you place in the dataFiles directory and by the files you select to load.

 

Quick Setup Overview

 

What You Need to Get First

I thought about hooking this up with IB's API but opted to use flat files which opens it up for more people to use.  All you need is any data feed and software that creates and updates ascii files.  As a leftover from an early Dynamic Trading setup I have become fond of an inexpensive good value software application called QCollector.  QCollector is an excellent little utility that works with Quote.com and eSignal datafeeds.  You can update as frequently as every second or some other time frame of your choice. It costs approximately $80 for a single user license (which is a one time fee). If you are interested check out:

 http://www.mechtrading.com/

I have no financial interests with them but have been a happy customer.  Anything that can generate periodic ascii file updates will do however.  More on these details in a moment.

 

Setup

If you do not already have the Microsoft .Net Framework on your system then you will need to get it.  This is free and everything you need to know can be found at the Yahoo Group site:

 http://groups.yahoo.com/group/EclipticTradingSoftware/

After you have the .Net Framework installed take a look at the Setup.htm file.  This file can be found at the Yahoo group site in the Files directory and will also be available at:

http://www.ecliptictrading.com/Software/Downloads/CCI/

Everything you need for setup is in the CCISetup.zip file.  Download it to a temp directory and follow the instructions in the Setup.htm file.  When you are finished you will have the following directories and the CCI.exe file in the main CCI directory. 

Setting up the data files is covered next.

 

QCollector and Text File Notes

If you decide to go with QCollector, you will need to configure it to use the dataFiles directory (mentioned above) for all the text files. This is quick and easy. See QCollector's help file for details.  However you don't need QCollector if you can generate the text files on your own or with another third party product. All you need to do is make sure the text files have the following format.  It is also important that the files have comma delimiters.

Date, Time, Open, High, Low, Close, Volume

Here's a sample of a file:

12/27/2002,16:00,873.75,874.25,872.75,873.25,6944
12/27/2002,16:03,873.25,873.25,872.25,872.75,2836
12/27/2002,16:06,873,873.5,872.5,872.75,1450
12/27/2002,16:09,872.5,874,872.25,872.75,3379
12/27/2002,16:12,872.5,873,871.25,871.75,4315
 

If you generate these yourself it doesn't matter what you name the files (except they need to have a ".txt" suffix such as myFile.txt).  The software will simply pull up all text files in the dataFiles directory.  You can then choose from your own named files.

When the dataFiles directory is populated and being updated then you're ready to start the software.

 

Startup

When you start the program (run the CCI.exe file in the CCI directory mentioned above) you will see the following:

Dialogs "CCI 0", "CCI 1" and "CCI 2" allow you to choose from all ascii files in the CCI directory.  If you are familiar with Woodie's approach then you might want to do the following:

CCI 2 will be used for the far right indicator (in the main application dialog "CCI").  You have the option to make this a different periodicity from the others or you can make this Woodie's Turbo CCI in which case you would choose a market's 3 minute price file and click the Turbo checkbox.  With dialog CCI 1 (which will be used for the indicator in the middle column of the CCI dialog) you would choose the 3 minute file again (without the Turbo checked the default 14 period CCI will be used). Finally use CCI 0 to choose the 5 minute file.  These periodicities were chosen in accordance with Woodie's system.  You could always use daily, 60 minute or any group of periodicities you like.

Note that you need to double click a file to select it.  For that matter in the interest of screen real estate their are no input controls on the dialog. Additional functionality is accessed through a Properties dialog mentioned later and the application is closed by clicking the "x" icon in the top right corner. After selecting the last data file the application will begin tracking and calculating CCI's as each data file is updated. 

You can run as many instances of this application as you like for different securities.  If you create instances of the application for the Nasdaq and the SP500 for example, you might also want to run one for the 30yr. Treasury Bond Index since they can often be correlated. Depending on what the institutional money is up to,  the NDX can lead the SPX or vice versa. If you concentrate on the NDX, you might want to run it side by side with MSFT (which when I last looked was over 12% of the index weighting) or any proxy group you like. As long as you use the same CCI period configurations you will have a common yardstick to apply across the markets allowing you to get a quick snapshot of their concurrent states at any point in time.

 

Using the Software

If you haven't had a look at Woodie's site yet,  this might be a good time to check his setups and rules. So lets check out a few illustrations of what you might see.  I will cover the red status comments at the bottom shortly.

If you use quote.com and pick the SP500 eMini contract (March'03 in this case) the application title bar will the name of the ascii file.  Remember we used a Turbo 3 minute file for CCI 2, a 3 minute file for CCI 1, and a 5 minute file for CCI 0.  This means the Turbo indicator is on the far right (partial green column with value of 35), the 3 minute is in the middle (column with value of 26) and the five minute is on the left (column with value of 51).   The values (51, 26 and 35) are in fact the CCI values.  If you have the files updated each minute then these values will likewise change every minute.  The program detects whenever one of its files changes and then recalculates that specific CCI.  This gives you the choice to have CCI's updated at any interval you like. QCollector will update all files at a chosen interval but if your ascii files were updated at different intervals these would be correctly reflected by the application since it will always update when a particular file is changed. This means if you choose a 1 minute update in QCollector, the color coded trends and comments will reflect that time horizon.  Woodie's group primarily focuses on the 3 minute CCI and likes to make decisions on completed 3 minute values.  If you want to mimic this approach you would want to set QCollector to 3 minute updates. That way the hooks, failed penetrations, etc. will all be off completed 3 minute data (you can also have used a shorter interval update with synchronized files which will be covered shortly).

One last note on the above illustration.  Since the two left columns are still totally grey it means they have not been running long enough to begin a trend (to be explained shortly).  The short term Turbo has already begun to trend higher as reflected by the green.  All the columns are broken into 4 parts. The top box per column represents values above 100.  The box below the top represents values between 0 and 100.  The third box down represents values between 0 and -100.  The bottom box represents values below -100. At the vary least if you don't consider the color codes and the status comments, you can easily see exactly where three different CCI periodicities are at any given time for a particular market.

Based on the above illustration, the 5 and 3 minute have begun trending up but the short term Turbo is flashing a warning by beginning to trend down.  These descriptions are meant to be general.  If and when you trade with these you will probably adopt your own nuance's for levels, etc.  If you're wondering what determines these trends it will be covered shortly.

The above is showing a strong current move.  The 5 minute is at 50, the 3 minute above 100 and the Turbo nearing extreme highs. 

The current move is loosing steam in the above illustration.  The 5 minute is still positive but both the 3 minute and the Turbo have turned negative.  In addition the 3 minute is below 0.

Looking weak here as everything is heading south including the 5 minute.  Again this application attempts to give you the levels and a quick idea of where they are relative to where they have recently been. It might help to look at the examples on Woodie's site that show these indicators expressed as line charts.

Note that the CCI columns will stay gray until they hit an extreme and begin to cycle.  Generally this happens in five minutes or so with the lower 5 and 3 periodicities.  If you choose to use longer time frames the CCI's will take longer to cycle and therefore longer for the color coded columns to appear.

 

Synchronization

You can set a property for synchronized data (properties will be covered shortly).  By default this setting is disabled on startup. This is geared toward Woodie's five and three minute periodicities.  If you enable this property the application will synchronize the CCI 0 file for 5 minute updates and the CCI 1 file for 3 minute updates. This basically means that the app will wait for each respective data period to complete before checking for any patterns. Synchronization only applies to the visual status bar alerts and the audible alerts. The color coded trend bars will continue to update at whatever interval the data files are updated.

Be sure to use this correctly by opening a 5 minute periodicity price data file in the CCI 0 dialog and a 3 minute periodicity price data file in the CCI 1 dialog. In addition make sure your files are being updated at an interval that is 1 minute or less as this will allow the files to synchronize properly on the minute.  This will ensure that all the patterns (covered next) are checked on completed data.  Alerts will be generated for both 3 and 5 minute patterns.  A [5] or a [3] in the status bar (covered next) will identify patterns from the 5 minute data versus the 3 minute data.   If you load files with periodicities other than the 5 and 3 minute, then you would obviously not want to use synchronized data.

The synchronization request and completion comments will be posted to the status bar at the bottom of the application for both the 5 minute and 3 minute data files.  It is also worth noting that using synchronized data will significantly cut down on the number of patterns posted. Many traders prefer this as it filters out the early patterns that might in fact disappear by the time the price bars complete.

 

Red Status Patterns at Bottom of Application

The following CCI patterns are checked by the software whenever the data files are updated (unless you enable synchronization discussed above in which case they will be checked at their synchronized time intervals). Both 5 and 3 minute CCI values will be scanned for the patterns listed below. Results will be posted in red to the status bar at the bottom of the application. A [5] or a [3] in the status bar will identify patterns from the 5 minute data versus the 3 minute data. Since comments may not be generated each time the file is updated, you can check the time stamp to note the comment's relevance to the current market.  The following are examples of 5 and 3 minute status comments:

Here's a list of the CCI patterns this software will check (if you take a look at Woodie's site most of these will be self explanatory):

* Note: If you are not familiar with the Batman pattern see Woodie's site and  the Eurostoxx 50 thread by Fitzy40. The software assumes the pattern forms in a maximum of five consecutive values.  The upside Batman must occur above 100 and has bearish implications, vice versa (below -100) for the downside Batman. 

 

Audible Alerts

You can assign alerts to any or all of the above status patterns.  By default these audible alerts are not enabled. If you want them you will need to enable them in the Properties dialog which will be covered last. You can set alerts for both 3 and 5 minute patterns.  The application will look for 5 minute alert wav files in the wav5 directory mentioned above.  It will check for any 3 minute wav files in the wav3 directory.  You can determine which alerts fire by the files you choose to put in the directories. Consider the following example.

Note: Beta Build 1.0.1115.16075 adds a wav1 directory which you can use for alerts fired from the file you choose to load in the CCI 2 dialog.  It also allows you to differentiate wav files fired for the same type of alert.  You do this by using the first three characters of the data file name along with a specific alert's wav file name.

If you only want an extreme downside hook alert on the 5 minute and an upside 0 penetration failure on the 3 minute then you would do the following:

If you setup the above example then every CCI application instance you have running (assuming all have their respective alerts enabled) would fire the same wav file for every upside 0 penetration on the 3 minute.  If one on the instances had ES Mar'03 data files loaded for example you could specify a specific alert file for that application's upside 0 penetration alert.  Assume for a particular application you loaded a 3 minute data file called es03h_3.txt. You could add a wav file called es0msg1.wav to the wav3 directory (which precedes the standard alert file name with the first three characters of the data file name).  If the "Use labeled wav files." check box is checked in the Properties dialog of this ES application then the es0msg1.wav will only fire for this instance.  All other running applications will fire the standard msg1.wav for the upside 0 penetration alert. 

If you create all the wav files listed below and put them in each wav directory (wav3 and wav5) then you will get every possible 3 and 5 minute alert.  Given that you can run multiple instances of this application, if you only want to hear alerts from one instance for example then you would only enable its respective audible alerts property. The file names and their associated patterns are shown below. 

 

How the Color Coded Trends Are Calculated

An uptrend in CCI values (designated by light green) is begun when a CCI value falls into the bottom box (below -100) and then climbs into the next higher box (values between 0 and -100).  As the value keep rising into higher boxes they will also turn light green.  If a value falls back into a lower box any higher previously green boxes will return to neutral gray.  If an uptrend has been in existence and the CCI makes it to the top box (over +100) but then falls below into the next lower box (0 to +100) the trend is considered to have changed to bearish and both boxes will be colored light salmon.   If the CCI continues to fall, the lower boxes will turn light salmon as the CCI falls into each box's value range.  When the CCI has cycled above 100 then all the boxes will be light green.  When it breaks below 100 and changes trend the process begins to the downside in a similar matter just described but with light salmon colored boxes as it works its way lower. If you watch a few cycles this will all be easily evident.

 

Using Different Periodicities

The examples in this tutorial assume you are using Woodie's setup.  Since you control the file setup however, you can use any periodicities you like.  An important point to remember is that the alerts will only be generated for the files chosen in the CCI 0 and CCI 1 dialogs (discussed above in the section titled "Startup").  Keep in mind that the visual alerts posted in the status bar will use a "[5]" to designate alerts fired using the file loaded in CCI 0 and "[3]" to designate alerts fired using the file loaded in CCI 1 (in the above example these would have been the 5 minute and 3 minute periodicity files).

 

Properties Dialog

As you may have noticed the dialog has no controls for user input.  This was done purposely to keep the application as small as possible.  Even with  multiple monitors there just never seems to be enough screen real estate.  You can access the properties mentioned above by using the Properties dialog.  Just double click anywhere on the status bar at the bottom of the application to show this dialog. If you let your mouse hover over the status bar a tooltip will flash.  The Properties dialog will look like the following:

The first check box will come up checked since the application by default starts in On Top mode. If you don't want the application on top just uncheck the check box. The same goes for the other check boxes.  If they are checked then their stated functionality is enabled.  Any unchecked boxes are disabled.  If you want a list of the files you loaded then click the Show Files button.  The About button will show a dialog with hypertext links to Woodie's site,  the Yahoo Group site, and the EclipticTrading.com site (where you can always find up to date Help documentation).

Finally remember this is a Beta so don't shoot the messenger if you don't like the way something works.  Constructive criticism, bugs, and requests can be sent to software@ecliptictrading.com

Good trading!