Stable (tm) - Technical Graphs Version 1.11 Reference Guide WINTERRA (tm) Software Group P.O.Box 4106 Highlands Ranch, CO 80126 Voice/Fax: (303) 470-6323 Electronic Mail: CompuServe 70244,2371 January, 1993 ii Copyright (c) 1990-1992 by WINTERRA (tm) Software Group All Rights Reserved Software Components SHELL.DLL and DDEML.DLL Copyright (c) 1991-1992 by Microsoft Corp. No part of this manual may be reproduced or transmitted in any form or by any means or for any purpose without the express written permission of WINTERRA Software Group. Information in this document is subject to change without notice and does not represent a commitment by WINTERRA Software Group. The software described in this document is furnished under a license agreement. It is against the law to copy this software under any circumstances except as provided by the stated license agreement found herein. Trademarks WINTERRA and Stable are trademarks of WINTERRA Software Group. Microsoft is a registered trademark of Microsoft Corporation. Windows is a trademark of Microsoft Corporation. CompuServe is a registered trademark of CompuServe Incorporated. Dow Jones is a registered trademark of Dow Jones & Company, Inc. MetaStock is a trademark of EQUIS International. iii ****************** IMPORTANT WARRANTY INFORMATION ***************** Stable - Technical Graphs Version 1.11 *** PLEASE READ THIS INFORMATION CAREFULLY *** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ TRIAL USE (SHAREWARE EVALUATION VERSION) WARRANTY: -------------------------------------------------- The Shareware evaluation (trial use) version of Stable - Technical Graphs is provided "AS IS". WINTERRA (tm) Software Group makes no warranties of any kind, expressed or implied, that this program is error free or that any supplied data or other program information is accurate or complete. No representation or warranties are made as to the completeness, accuracy, or precision of this program. ALL WARRANTIES (INCLUDING ANY WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE) ARE EXPRESSLY EXCLUDED. THIS SOFTWARE AND ALL PROGRAM FILES ARE PROVIDED "AS IS" AND THE USER MUST ASSUME THE ENTIRE RISK OF USING THIS PROGRAM. REGISTERED VERSION ONLY WARRANTY: --------------------------------- WINTERRA Software Group warrants the physical diskette(s) and physical documentation provided with registered versions to be free of defects in materials and workmanship for a period of ninety days from the date of registration. If WINTERRA Software Group receives notification within the warranty period of defects in materials or workmanship, and such notification is determined by WINTERRA Software Group to be correct, WINTERRA Software Group will replace the defective diskette(s) or documentation. ALL WARRANTIES (INCLUDING ANY WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE) ARE EXPRESSLY EXCLUDED. THIS SOFTWARE AND ALL PROGRAM FILES ARE PROVIDED "AS IS" AND THE USER MUST ASSUME THE ENTIRE RISK OF USING THIS PROGRAM. The entire and exclusive liability and remedy for breach of this Limited Warranty shall be limited to the replacement of defective diskette(s) or documentation and shall not include or extend to any claim for or right to recover any other damages, including but not limited to, loss of profits or other trading losses incurred as a result of any decision or action taken on your part based upon information provided, implied, or suggested by this product, loss of data, or use of the software, or special, incidental, or consequential damages or other similar claims, even if WINTERRA Software Group has been specifically advised of the possibility of such damages. In no event will WINTERRA Software Group's liability for any damages to you or any other person ever exceed the lower of the suggested list price or actual price paid for the license to use the software, regardless of any form of the claim. iv _______ ____|__ | (R) --| | |------------------- | ____|__ | Association of | | |_| Shareware |__| o | Professionals -----| | |--------------------- |___|___| MEMBER Association of Shareware Professionals Ombudsman Statement This program is produced by a member of the Association of Shareware Professionals (ASP). ASP wants to make sure that the shareware principle works for you. If you are unable to resolve a shareware- related problem with an ASP member by contacting the member directly, ASP may be able to help. The ASP Ombudsman can help you resolve a dispute or problem with an ASP member, but does not provide technical support for members' products. Please write to the ASP Ombudsman at 545 Grover Road, Muskegon, MI 49442 or send a CompuServe message via CompuServe Mail to ASP Ombudsman 70007,3536." The OMB may also be contacted by FAX by sending to the ASP FAX number: (616) 788-2765. In communication with the OMB please include a telephone number and/or FAX if available. NOTE This "Shareware Evaluation" copy of Stable - Technical Graphs is a completely functional program and all program functions have been documented. This is not a "demo" program. v CONTENTS -------- Chapter 1 Introduction 1.1 What Is Stable Investment Software? ...............1-1 1.2 Features ..........................................1-2 1.3 Distribution Files ................................1-3 1.4 Installing Stable .................................1-4 1.5 If Stable Won't Run ...............................1-5 1.6 Backup Your Files .................................1-5 Chapter 2 Registration 2.1 Software License Agreement ........................2-1 2.2 Registration Form .................................2-2 Chapter 3 Keyboard Interface 3.1 Stable Keys .......................................3-1 Chapter 4 Commands 4.1 File Menu Commands ................................4-1 4.2 Configure Menu Commands ...........................4-2 4.3 Options Menu Commands .............................4-2 4.4 Graph Menu Commands ...............................4-3 4.5 Select Menu Commands ..............................4-4 4.6 Window Menu .......................................4-4 Chapter 5 Procedures 5.1 Adding/Removing Additional Graphs on a Chart ......5-1 5.2 Automatically Saving All Chart Configurations .....5-1 5.3 Changing the Default Settings for New Charts ......5-1 5.4 Changing Graph Colors .............................5-2 5.5 Changing Printers and Print Options ...............5-2 5.6 Creating a New Chart ..............................5-2 5.7 Default Data File Directory .......................5-3 5.8 Displaying Graph Data .............................5-3 5.9 Displaying Moving Averages on the Price Graph .....5-4 5.10 Displaying a Price Channel ........................5-4 5.11 Displaying a Technical Indicator ..................5-5 5.12 Printing a Chart ..................................5-5 5.13 Repainting a Chart ................................5-5 5.14 Saving a Chart's Configuration ....................5-6 5.15 Scrolling Through Graph Data ......................5-6 5.16 Selecting the Amount of Graph Data ................5-7 5.17 Selecting a Graph .................................5-7 5.18 Selecting the Number of Horizontal Grids ..........5-8 5.19 Using the Slide ...................................5-8 *** New for Version 1.10 *** 5.20 Closing All Stable Charts ........................5-9 5.21 Minimizing All Stable Charts .....................5-9 5.22 Using 3-D Text Labeling ..........................5-9 5.23 Automatic Price Chart Labels .....................5-9 5.24 Quickly Selecting Any Chart For Study ............5-10 vi CONTENTS (Cont'd) ----------------- 5.25 Setting the Default Chart (Window Method) ........5-10 5.26 Setting the Size of the Price Graph ..............5-11 5.27 Changing a Graph's Drawing Style .................5-11 5.28 Using the Popup Graph Menu .......................5-12 5.29 Drag and Drop (Windows 3.1 Only) .................5-12 Chapter 6 Data Files (Updated for Version 1.10) 6.1 ASCII Data Files ..................................6-1 6.2 General Format ....................................6-2 6.3 Examples ..........................................6-3 6.4 Historical Data Suppliers .........................6-5 Chapter 7 Dynamic Data Exchange (New for Version 1.10) 7.1 Programmer's Reference ............................7-1 7.1.1 Application (Service) Name .................7-1 7.1.2 Topics .....................................7-2 7.1.3 DDE Request Transactions ...................7-2 7.1.4 DDE Execute Transactions ...................7-4 7.1.5 DDE Poke Transaction .......................7-6 7.2 Stable DDE Communications with Excel ..............7-6 7.2.1 Open HRB Macro .............................7-7 7.2.2 Poke HRB Macro .............................7-7 7.2.3 Show HRB Macro .............................7-8 7.2.4 Supported =EXECUTE() Commands ..............7-8 Chapter 8 Technical Indicators 8.1 Moving Averages ...................................8-1 8.2 Negative/Positive Volume Indexes (NVI/PVI) ........8-2 8.3 On-Balance Volume .................................8-2 8.4 Oscillators (Price and Volume) ....................8-2 8.5 Price Channel (Trading Band) ......................8-3 8.6 Price Momentum ....................................8-3 8.7 Rate of Change (Price and Volume) .................8-4 8.8 Volume ............................................8-4 8.9 Negative/Positive Volume Trend (NVT/PVT) ..........8-4 8.10 Weighted Close ....................................8-4 *** New for Version 1.10 *** 8.11 Commodity Channel Index (CCI) .....................8-5 8.12 Moving Average Convergence/Divergence (MACD) ......8-5 8.13 Open Interest .....................................8-5 8.14 Relative Strength .................................8-6 8.15 Relative Strength Indicator (RSI) .................8-6 Chapter 1 Introduction 1.1 What Is Stable Investment Software? ---------------------------------------- Stable (tm) Investment Software is planned as an integrated set of programs seeking to provide both experienced and novice investors and traders with useful software tools focusing on the study of the financial markets. It is the goal of WINTERRA Software Group to provide useful, easy to use programs, beneficial in meeting your day to day investment needs. It is hoped that you, as an interested and/or experienced user of market related software, will provide comments and suggestions assisting us in meeting this goal. You are encouraged to let us know what you think of the product - and what features and/or functionality are important to you. This software program - Technical Graphs - addresses one specific area of financial market investing; the analysis and study of market movement and direction through the interpretation of technically- oriented graphs. Stable - Technical Graphs can be used to graph data associated with individual stocks, mutual funds, commodities, interest rates, major stock and bond indexes (i.e., Dow Jones, Standard & Poor's, Lehman Brothers, etc.) - essentially any data that has (at a minimum) a date and price value associated with it. Introduction 1-2 1.2 Features ------------- This latest update of Stable - Technical Graphs contains many of your most requested features as well as being Windows 3.0/3.1 compatible. Written for experienced and novice users alike, Stable provides powerful - yet easy to use - stock market technical analysis capabilities ideal for the technical trader with existing (or access to) historical financial data for stocks, bonds, commodities, mutual funds, indexes, and options. Combining popular technical indicators with features such as DDE (Dynamic Data Exchange), chart printing, selectable graph styles, new data import formats, popup graph menus, enhanced desktop management features, and more - Stable is likely to become your technical analysis tool for the Windows environment. Reads CSI, Technical Tools, MetaStock, and ASCII formatted data files. Stable - Technical Graphs reads CSI, Technical Tools, MetaStock, and ASCII formatted data files; allowing you to use your existing data more effectively. All Stable charts support horizontal scrolling - giving you the ability to study as many as 1,024 units (days, weeks, etc.) of data in a single graph. And when you identify a chart worthy of more attention, simply print it to one of your system printers. All Stable charts provide an easy to use "slider" for accurately comparing a specific day's activity across several graphs. Also available for every chart is a "toolbar" providing single mouse click operation of frequently used charting operations and tools. In addition to the above capabilities, other standard features found in Stable - Technical Graphs include: - The display of up to 64 market charts for individual and comparative study, with each chart containing as many as 1,024 units (days, weeks, months) of data. - DDE support letting you communicate directly with any Stable chart through the use of third-party software (such as Microsoft Excel) to open, print, display - or to dynamically add new data to a chart. - Windows 3.1 "Drag and Drop" support allowing CSV and Technical Tools data files to be opened simply by "dragging" the file from the File Manager directly to the Stable logo window or icon. - User-selectable graph styles; including High/Low Bar, Line, and Histogram graphs. - Popup menu support within any graph allowing you to quickly perform many common graph functions. - Improved desktop chart management features such as closing or minimizing all charts, and easily moving from one chart to another. Introduction 1-3 - The ability to print your technical charts to any attached printer using the provided print functionality of Windows. - On-line help documentation using the standard Window's Help program. - All chart and graph colors are easily selected and changed to suit your own personal preference. - An "Auto Chart Configuration Mode" giving you the option of having Stable automatically save your chart colors and technical indicator parameters. - Runs on most Windows supported displays; including EGA, VGA, VGA (monochrome), extended VGA resolutions (800 x 600 and 1024 x 780) - 16 and 256 color capable. 1.3 Distribution Files ----------------------- The following files are included as part of the Stable - Technical Graphs shareware distribution package: STABLE.EXE Stable - Technical Graphs Windows Program File STABLE.HLP Stable - Technical Graphs Windows Help File STABLE.DOC Stable - Technical Graphs User Reference Manual STABLE.XLM Excel macro sheet demonstrating DDE features DJ30.CSV Sample ASCII data - Dow Jones Industrials SP500.CSV Sample ASCII data - S&P 500 HRB.CSV Sample ASCII data - H&R Block DDEML.DLL Required DLL for Dynamic Data Exchange support SHELL.DLL Required DLL for Drag and Drop support READ.ME Important last-minute information. REGISTER.DOC Registration information and order form. PACKING.LST Shareware distribution file list. VENDOR.DOC Information and restrictions for disk vendors, SYSOP.DOC Information for Bulletin Board System distribution. DESCRIBE.DOC Sample descriptions for catalogs, BBSs, etc. LICENSE.DOC Important License and Usage Information SITELICE.DOC Site License Information and Agreement. Please take the time to read the above files (at least those that pertain to you as a individual user, vendor, or sysop). Introduction 1-4 1.4 Installing Stable ---------------------- Stable - Technical Graphs requires only four program files to run (not including any of the data files which you will graph): - STABLE.EXE - STABLE.HLP - DDEML.DLL - SHELL.DLL When executing Stable v1.11, all of the above files MUST BE available at runtime; either from the current directory or a directory found in your AUTOEXEC.BAT "PATH=" statement. To simplify the process of running Stable - Technical Graphs within your Windows environment, the DOS directory that you choose to store the product files should be one that you have specified in your environment's PATH statement ("\STABLE" is recommended). For example, if you choose to place the Stable - Technical Graphs package in the recommended directory named "\STABLE", you should edit your AUTOEXEC.BAT file and add "\STABLE" to your "PATH=" environment variable. The data files that have been provided with the product allow you to immediately use the program in your own environment. While these (and other) data files can be placed in any directory, you may want to at least keep all of the Stable distribution files together within the same directory. If you have a compressed copy of the Stable - Technical Graphs package (ie, STABLE.ZIP, STABLE.ARC, STABLE.LHZ), the simplest installation procedure is: 1. Create a new subdirectory on your system called \STABLE. 2. Copy the compressed Stable file to this new directory. 3. Decompress the Stable file using the appropriate decompression program (PKUNZIP.EXE for .ZIP file, PKXARC.EXE for .ARC, etc.) 4. Add the \STABLE directory to your "PATH=" statement in your AUTOEXEC.BAT file. 5. Reboot your system. If you have received the Stable - Technical Graphs package as the complete set of uncompressed individual files listed in Section 1.3 "Distribution Files", perform the same steps as above with the exception of step 3). Introduction 1-5 As a final step to installation, you should consider removing the file named STABLE.INI from your Windows directory if you have a previous version of Stable installed. In order to support many of the enhanced features of Stable v1.11, several minor changes had to be made to the file's syntax. If you delete the STABLE.INI file, you will have to save any chart configuration information once again. If you do not delete the file, Stable will still operate, however, it will not recognize any previously save configuration information anyway. 1.5 If Stable Won't Run ------------------------ If you try and run Stable - Technical Graphs and encounter a Windows error message similar to either of the following... CANNOT FIND DDEML.DLL, PLEASE INSERT IN DRIVE A: CANNOT FIND SHELL.DLL, PLEASE INSERT IN DRIVE A: ...this indicates an invalid installation of Stable on your computer. If you installed all the Stable distribution files into a single directory, then all you need to do is include the directory name in your PATH statement - AND REBOOT YOUR COMPUTER. Any changes made to your AUTOEXEC.BAT file will not become effective until after a system restart. 1.6 Backup You Files --------------------- Before you actually begin using Stable - Technical Graphs, it is strongly suggested that you at least perform the following task: !BACKUP YOUR STABLE DISTRIBUTION FILES OR DISKETTE! Accidents do happen! While there may not be any way to prevent the loss of your program, you can take action now to help avoid the problem of being without it in the future. Making a backup copy now is insurance that you won't have to be without Stable - Technical Graphs when you need it. Chapter 2 Registration SITE LICENSES are available. The file SITELICE.DOC contains site license pricing information and a site license agreement. 2.1 Software License Agreement ------------------------------- Stable Investment Software - Technical Graphs is a copyrighted product protected by copyright law. You are authorized to use this copy of Stable - Technical Graphs for a period of 30 days for your own personal evaluation. You may also distribute copies of this evaluation version to friends and associates - so long as all conditions identified in the LICENSE.DOC text file are met. User Groups, Computer Clubs, Disk Vendors and Distributors, Subscription Services, Disk-of-the-Month Clubs, etc., should refer to the VENDOR.DOC file for complete information relating to them. BBS SYSOPs should refer to the SYSOP.DOC file for complete information relating to them. To become a licensed user of Stable - Technical Graphs, simply fill out and return the supplied registration form along with your registration payment. The registration form can be found on Page 2-3, or you can use the form found in the file REGISTER.DOC. As a registered user, you will receive a personalized copy of the latest Stable - Technical Graphs product on either 5 1/4 or 3 1/2 inch diskette. Your registered copy is personalized with your name and a unique license number that - unlike the evaluation version of the product - will be licensed for one single user and cannot be distributed. Additionally, as a registered user you will: o Receive a laser-printed User's Manual for the product. o Automatically receive minor updates to the program as they become available - INCLUDING all new technical indicators added to the product - until the next major version release. o Be notified of all new major product releases. As a licensed user you will be offered major version releases at a substantially reduced and favorable rate. o Receive technical support by phone, mail, or electronic mail via CompuServe. o Be eligible to participate in any "beta testing" programs associated with future releases of the product. Registration 2-2 2.2 Registration Form ---------------------- To become a licensed user of Stable - Technical Graphs, please return this registration form along with your check or postal money order (DRAWN ON U.S. FUNDS ONLY PLEASE), and mail to: WINTERRA Software Group P.O.Box 4106 Highlands Ranch, CO 80126 Voice/Fax: (303) 470-6323 Upon registration, you will receive the LATEST version of this product, a laser-printed User's Manual, and technical support via phone and CompuServe. ------------------------------------------------------------------- Name: __________________________________________________________ Company: __________________________________________________________ Address: __________________________________________________________ City: ____________________________ State: ______ Zip: ________ Phone: (______)__________________ Fax: (______)_______________ Date: __________________ CompuServe ID: _______________________ The pricing for Stable - Technical Graphs is forty-nine dollars and ninety-five cents ($49.95) for a single user license. This price includes any applicable Colorado sales tax. Site licenses are also available - see the file SITELICE.DOC for detailed information. Format: ____ 3 1/2" 720-KB ____ 5 1/4" 360-KB Quantity: ____ Stable - Technical Graphs @$49.95 $____________ Version 1.11 Shipping/Handling/Customs ____ U.S. @$ 4.00 $____________ ____ Canada/Mexico @$ 6.00 $____________ ____ International @$12.00 $____________ TOTAL $____________ ------------------------------------------------------------------- Credit Card Customers: Please contact WINTERRA Software Group for the availability of accepting credit card orders. ------------------------------------------------------------------- COMMENT FORM ------------ We would like you to participate in helping to define the direction of the Stable Technical Graphs product. What is important to you? What isn't? Please take a moment to fill out and return this form. Interest(s) of Study: [ ] Stocks [ ] Indexes [ ] Commodities [ ] Bonds [ ] Mutual Funds [ ] Options [ ] Other _________________________________________________________ Technical Indicators (currently use or would like to see): [ ] Accumulation/Distribution [ ] Price Performance [ ] Chaikin Oscillator [ ] Volume Trends (PVT/NVT) [ ] Commodity Channel Index (CCI) [ ] Relative Strength Index [ ] Correlation Analysis [ ] Standard Deviation [ ] Demand Index [ ] Stochastic Oscillator [ ] Directional Movement [ ] Swing Index [ ] Fourier Analysis [ ] TRIX (Triple Exp Smoothing) [ ] Herrick Payoff [ ] Volatility (Chaikin) [ ] Moving Average Acc/Dist (MACD) [ ] Volatility (Wilder) [ ] Median Price [ ] Volume [ ] Negative/Positive Volume Index [ ] Volume Oscillator [ ] On-Balance Volume [ ] Volume Momentum (ROC) [ ] Parabolic SAR [ ] Weighted Close [ ] Price Momentum (Rate of Change) [ ] Williams (Acc\Dist, %R) [ ] Other _________________________________________________________ Charts (currently use or would like to see): [ ] High/Low Bar and Line Charts [ ] Candlestick Charts [ ] Point and Figure Charts Other Tools (currently use or would like to see): [ ] Fibonacci Based Tools [ ] Profitability Testing [ ] Options Related Tools [ ] Chart Scaling and Zoom [ ] Indicator Optimizations [ ] Custom Formulas/Indicators [ ] Data Downloading General Comments: ___________________________________________________________________ ___________________________________________________________________ ___________________________________________________________________ ___________________________________________________________________ Chapter 3 Keyboard Interface 3.1 Stable Keys ---------------- The following describes specific keys that are available while running Stable - Technical Graphs program. Key(s) Function ---------------- -------------------------------------------------- F1 Displays the Help window. CTRL+N Creates a new chart. When a securities chart is the active window: Key(s) Function ---------------- --------------------------------------------------- F1 Displays the Help window. CTRL+N Creates a new chart. CTRL+Left Arrow Moves the chart's slide one (1) unit to the left. CTRL+Right Arrow Moves the chart's slide one (1) unit to the right. Tab Selects the next graph as the new current graph. Shift+Tab Selects the previous graph as the new current graph. Ctrl+D Toggles the data display window on and off. Ctrl+C Displays the "Colors" dialog box. Ctrl+P Displays the "Parameters" dialog box (if available). Ctrl+G Displays the "Indicators" dialog box (Indicator Graphs only). Home Scrolls to the first page of security data. End Scrolls to the last page of security data. PgUp Scrolls backward twenty (20) units of security data. PgDn Scrolls forward twenty (20) units of security data. Up Arrow Scrolls backward five (5) units of security data. Down Arrow Scrolls forward five (5) units of security data. Chapter 4 Commands 4.1 File Menu Commands ----------------------- The File menu found on the Stable Logo window includes commands enabling you to create new Stable charts and to exit the Stable - Technical Graphs program. New Chart Creates a new securities chart. Close All Charts Closes and removes all chart's from the desktop. If "Auto Chart Configure Mode" has been selected, each chart's configuration is saved before closing the chart. Minimize All Charts Minimizes (to icons) all Stable charts - effectively clearing the desktop. Exit Exits the Stable program. All existing securities charts are closed. The File menu found on each security chart's window allows you to create a new security chart, save the chart's current colors and control settings, and to close the security's chart window. New Chart Creates a new securities chart. Save Chart Saves the chart's configuration. The next time the security chart is loaded, the saved color and parameter settings will automatically be used. Save Chart As Default Saves the chart's configuration as the "default" chart. All security chart's that have not been previously saved will use the "default" configuration when the chart is loaded. Page Setup Allows you to select or set page specific information related to the printing of a chart. Print Prints a chart to the currently selected printer. Printer Setup Allows you to select and configure the printer that you want to use for printing your securities charts. Commands 4-2 Close Closes and removes the chart window from the screen. If "Auto Chart Configure Mode" has been selected, the chart's current configuration is saved before the window is actually destroyed. Close All Charts Closes and removes all chart's from the desktop. If "Auto Chart Configure Mode" has been selected, each chart's configuration is saved before closing the chart. Minimize All Charts Minimizes (to icons) all Stable charts - effectively clearing the desktop. 4.2 Configure Menu Commands ---------------------------- The Configure menu includes commands for configuring the Stable - Technical Graphs program. Chart Allows you to specify configuration information applicable to all charts created by Stable - Technical Graphs; including the maximum number of data records loaded for all charts, the directory where your historical data files can be found, and other configuration options. Default Graph Colors Allows you to specify the default colors for Price and Indicator Graphs. These default settings apply only to securities charts that have not had their configuration settings saved. 4.3 Options Menu Commands -------------------------- The Options menu includes commands used for selecting the number of Indicator Graphs displayed for the security, to repaint the current chart, and to move the slide. Indicator Graphs Controls the number of Indicator Graphs displayed simultaneously on a chart. Indicator Graphs provide you the ability to study specific technical indicators in conjunction with the security's price information. Price Graph Size Allows you to specify the size of the Price Graph within the chart containing 1, 2, or 3 indicator graphs. The size of the Price Graph is specified as a percentage of the entire chart. Commands 4-3 Refresh Forces a redisplay of the chart in the event display problems exist. Slide Left/Right Moves the slide left or right. Accelerator keys are also available for moving the slide. 4.4 Graph Menu Commands ------------------------ The Graph menu includes commands that control the appearance of a graph; including the type of graph, parameters specific to the graph, the graph's colors, and if the graph should display its data. Display Data Toggles the data display window on and off. Set Colors (and Horizontal Grids) Allows the colors and the number of horizontal grid lines to be set for the graph. Set Parameters Allows you to change graph-specific data parameters. The availability of this selection is dependent upon the current graph. Not all graphs will support this option. The Price Graph allows you to control the display of moving averages and a Price Channel on the Price Graph. Select Indicator Allows you to select an indicator from a list of available Indicator Graphs. Specific items in the list are dependent upon the data content of the security. For example, if volume data is not available for the security, a Volume Graph will not be available as an Indicator Graph selection. This option is available only for Indicator Graphs displayed on the chart. High/Low Bar Line Histogram These menu selections allow you to change the appearance of the currently selected graph. The availability of each option is dependent upon the type of graph. Commands 4-4 4.5 Select Menu Commands ------------------------- The Select menu allows you to select one of the graphs on the chart as the current graph. The selected graph appears with its border highlighted. Graph menu selections always apply to the current graph only. Price Selects the Price graph as the current graph. Menu options found in the Graph menu will apply to the Price Graph. Graph 1, 2, 3 Selects one of the Indicator Graphs as the current graph. Menu options found in the Graph menu will apply to the selected Indicator Graph. 4.6 Window Menu ---------------- The Window menu allows you to quickly select one of your current charts as the topmost chart window. If the chart which you select is currently minimized (as an icon), it will be restored to its normal display size. This menu option is available on all Stable windows. Chapter 5 Procedures This chapter describes those procedures that are most commonly used in Stable - Technical Graphs. 5.1 Adding/Removing Additional Graphs on a Chart ------------------------------------------------- You may choose to have up to three (3) Indicator Graphs displayed on a chart for analyzing and studying specific technical information related to the underlying financial data. To add or remove Indicator Graphs: * Select Indicator Graphs from the Options Menu on the chart and choose the number of Indicator Graphs you would like to display on the chart. -OR- * Click on either of the [One], [Two], or [Three] buttons. 5.2 Automatically Saving a Chart's Configuration ------------------------------------------------- You can have Stable automatically save the current configuration of any chart you have created by checking this option. When a specific chart is closed, the program will automatically store the current colors, the number and type of Indicator Graphs, and any other specific graph parameter setting for you. To enable Auto Save Chart Configuration mode: 1. Select Chart Defaults from the Configure Menu on the Logo window. 2. Check the box labeled "Auto Save Chart Configuration". To clear Auto Save Chart Configuration mode: * Clear the check box labeled "Auto Save Chart Configuration". 5.3 Changing the Default Settings for New Charts (Menu Method) --------------------------------------------------------------- When new charts are created, they automatically take on specific characteristics stored in Stable - Technical Graphs. You can change these default settings to suit your own personal preferences. Only new charts (charts that have not been previously saved) will take on the default settings. (See 5.25 for a more extensive method) Procedures 5-2 To change the default settings used for all new charts: 1. Choose Chart Defaults from the Configure Menu on the Logo window to establish new default chart settings. 2. Choose Default Graph Colors from the Configure Menu on the Logo window to assign the default colors used for the Price Graph as well as all Indicator Graphs. 5.4 Changing Graph Colors -------------------------- You can change the colors (and number of horizontal grids) for any graph displayed in a chart. To change a graph's colors: 1. Select the graph that you want from either the Select Menu of the chart, by clicking within the graph, or by "tabbing" to the graph. 2. Choose Set Colors from the Graph Menu. -OR- Press CTRL+C on the keyboard. -OR- Click on the [Color] button. 5.5 Changing Printers and Print Options ---------------------------------------- You can select any attached printer to print your securities charts and also specify options particular to the printer. To change printers and/or specify printer options: 1. Choose Printer Setup from the File Menu. 2. Select the Printer you want from the list of printers. 3. Choose "Setup..." to change printer options. 4. Select the options you want and select OK. 5.6 Creating a New Chart ------------------------- New securities charts can be created at any time from either the Stable Logo window or from any existing security chart. When you indicate that you want to create a new chart, a dialog box is displayed from which you can select the data file you want to graph. New charts can be created from either your MetaStock version 2.5 data or from properly structured .CSV ASCII files. Procedures 5-3 To create a new chart: 1. Select New Chart from the File Menu on either the Logo window or any displayed chart window. -OR- Press Ctrl+N on the keyboard. 2. Select or enter a filename in the New Chart dialog box. To create a new chart from your existing MetaStock 2.5 data: * Check the "MetaStock Data" check box. This will allow you to to select and create a chart from any existing MetaStock data. 5.7 Default Data File Directory -------------------------------- You can inform Stable - Technical Graphs of where your data files are located. The first time you create a chart, the program will look in this DOS file directory for all available data files. To specify the default DOS directory: 1. Select Chart from the Configure Menu on the Logo window. 2. Enter the DOS path specification to your data files. 5.8 Displaying Graph Data -------------------------- For any graph displayed on a chart, you can choose to have the graph display the underlying data which the graph is based. One "day" of data is displayed based on the current position of the slide. To display the data associated with a particular graph: 1. Select the graph that you want from either the Select Menu of the chart, by clicking within the graph, or by "tabbing" to the graph. 2. Select Display Data from the Graph Menu on the chart. -OR- Press CTRL+D on the keyboard. -OR- Click on the [Data] button to toggle the display of graph data on and off. Procedures 5-4 5.9 Displaying Moving Averages on the Price Graph -------------------------------------------------- As many as three (3) individual moving averages can be displayed on the Price graph at any one time. In addition to specifying the number of units for the average, the type of average (Simple, Weighted, or Exponential), the shift factors, and its color can be specified. To select and specify a moving average: 1. Select the Price Graph from either the Select Menu on the chart, by clicking within the Price Graph, or by "tabbing" to the graph. 2. Select Set Parameters from the Graph Menu on the chart. -OR- Press CTRL+P on the keyboard. -OR- Click on the [Parameter] button. To remove a moving average: * Set the number of units to zero (0) for the specific average. 5.10 Displaying a Price Channel -------------------------------- A price channel can be displayed on the Price Graph along with any moving averages. In addition to selecting the number of units for the channel, the type of average (Simple, Weighted, or Exponential), the shift factors, and its color can be specified. To select and specify a price channel: 1. Select the Price Graph from either the Select Menu on the chart, by clicking within the Price Graph, or by "tabbing" to the graph. 2. Select Set Parameters from the Graph Menu on the chart. -OR- Press CTRL+P on the keyboard. -OR- Click on the [Parameter] button. To remove the price channel: * Set the number of units to zero (0) for the price channel. Procedures 5-5 5.11 Displaying a Technical Indicator -------------------------------------- The graphing of technical indicators for analysis and study is performed through the indicator graphs displayed on a security chart. Up to three Indicator Graphs can be displayed along with the standard Price Graph for any security. To display a technical indicator: 1. Select the Indicator Graph that you want to display the technical indicator in from either the Select Menu on the chart, by clicking within the Price Graph, or by "tabbing" to the graph. 2. Choose Select Indicator from the Graph Menu. -OR- Press CTRL+I on the keyboard. -OR- Click on the [Select] indicator button. 5.12 Printing a Chart ---------------------- You can print a "copy" of a security chart to your printer. All printing is performed in a "fit to page" mode - where the currently active chart is printed to fill the entire page. You can achieve the best results by first maximizing the chart window before you begin to print. To print a security chart: 1. Choose Print from the chart's File Menu. -OR- Click on the [Print] button. 5.13 Repainting a Chart ------------------------ Stable - Technical Graphs allows you to force a chart to be repainted should some unexpected display problem occur. To repaint a chart: * Select Refresh from the Options Menu on the chart. -OR- * Click on the [Refresh] button. Procedures 5-6 5.14 Saving a Chart's Configuration ------------------------------------ You can, at any time, save the current configuration of a chart regardless of the state of "Automatic Chart Configuration Mode". Among the information saved for a chart is the following: - The current colors used in the display of all graphs. - The actual number and type of Indicator Graphs. - All parameters specific to all graphs in the chart. - The screen location and size of the chart. The next time a chart is created for the security, all previously saved information will be used to recreate the chart. To save the current configuration of a chart: * Select Save Chart Configuration from the File Menu on the chart. -OR- * Click on the [Save] button to save the chart. 5.15 Scrolling Through Graph Data ---------------------------------- In many instances you will find that the securities data you are displaying extends beyond the left and/or right borders of your graph. You can gain access to all of the data using the scrollbar displayed at the bottom of the chart window or using the navigation keys supported by Stable. To scroll forward through your graph data: * Using the mouse, click the right arrow on the scrollbar to move forward by 5 units, or the page right area to move forward by 20 units. * From the keyboard, press the Down Arrow to move forward by 5 units, the PgDn to move forward by 20 units, or the End key to display the last page of data. To scroll backwards through your graph data: * Using the mouse, click the left arrow on the scrollbar to move backwards by 5 units, or the page left area to move backwards by 20 units. * From the keyboard, press the Up Arrow to move backwards by 5 units, the PgUp to move backwards by 20 units, or the Home key to display the first page of data. Procedures 5-7 To scroll to any location within your graph data: * Using the mouse, drag the scrollbar thumb along the scrollbar and position the date text for the desired time range, then release the mouse. 5.16 Selecting the Amount of Graph Data ---------------------------------------- The amount of data loaded into Windows memory for all charts is configurable to meet your own personal analysis needs - or to address any specific memory constraints or problems you might encounter when running the Stable - Technical Analysis program. To specify the amount of data loaded into memory when you create a chart: 1. Select Chart from the Configure Menu on the Logo window. 2. Enter the number of units of historical data that you want to load for all subsequent charts. 5.17 Selecting a Graph ----------------------- You can select any graph as the current graph within a chart for the purpose of managing its display characteristics; including the display of its underlying data, the type of chart, its colors, and any other specific indicator parameters. To select a graph within a chart: * Using the mouse, click anywhere within the graph's border; including its display area and label. * From the keyboard, select the graph from the Select Menu on the chart. -OR- Press Tab or Shift+Tab to move from graph to graph. Procedures 5-8 5.18 Selecting the Number of Horizontal Grids ---------------------------------------------- You can select the number of horizontal grids displayed on a graph. For every displayed grid line, a corresponding value is shown in the label area of the graph. To change the default number of horizontal grids for all new charts: 1. Choose Default Graph Colors from the Configure Menu on the Logo window to set the number of horizontal grids displayed on all new Price and Indicator Graphs. To change the number of horizontal grids for a displayed graph: 1. Select the graph that you want from either the Select Menu of the chart, by clicking within the graph, or by "tabbing" to the graph. 2. Choose Set Colors from the Graph Menu. -OR- Press CTRL+C on the keyboard. -OR- Click on the [Color] button. 5.19 Using the Slide --------------------- The slide (which is positioned at the top of all charts) is used for studying a particular day on a chart. Attached to the slide is a vertical line or "hair" that provides a mechanism for precise vertical alignment across all graphs displayed in a chart. As you move the slide horizontally, the "hair" will follow and all data display areas will be updated with the actual graph data for that day. To move the slide horizontally: * Select Slide Left or Slide Right from the Options Menu on the chart to move the slide one unit left or right. -OR- Press the CTRL+Left Arrow or CTRL+Right Arrow. -OR- Press and hold down the mouse button over the [Slide], then move the mouse back and forth horizontally. Procedures 5-9 5.20 Closing All Stable Charts ------------------------------- All charts on the Windows desktop can be closed at once in order to clear up a cluttered Windows desktop of many individual charts. To close all currently opened Stable charts: * Choose Close All Charts from the File Menu on the Stable logo window or any individual Stable chart. 5.21 Minimizing All Stable Charts ---------------------------------- All charts on the Windows desktop can be minimized at once in order to clear up a cluttered Windows desktop of many individual charts. To minimize all of your currently opened Stable charts: * Choose Minimize All Charts from the File Menu on the Stable logo window or any individual Stable chart. 5.22 Using 3-D Text Labeling ----------------------------- 3-D text labeling provides both easier to read textual information on all of your Stable charts, and a more professional look for you graphs. This option can be turned on or off to your preferenece. To select 3-D text labeling for your Stable charts: 1. Select Chart from the Configure Menu on the Logo window. 2. Check the box labeled "3-D Text Labels" using the mouse. -OR- Press Alt+3 on the keyboard. To use normal text labeling on your Stable charts: 1. Select Chart from the Configure Menu on the Logo window. 2. Clear the box labeled "3-D Text Labels" using the mouse. -OR- Press Alt+3 on the keyboard. 5.23 Automatic Price Chart Labels ---------------------------------- Stable provides the option of automatically labeling your Price Graphs. When this option is selected, Stable will determine the available space on your graph and automatically generate horizontal grids and price value labels that fit the available space regardless of the currently selected number of grids for the chart. Procedures 5-10 To select automatic labeling for your Stable charts: 1. Select Chart from the Configure Menu on the Logo window. 2. Check the box labeled "Automatic Price Chart Labeling" using the mouse. -OR- Press Alt+L on the keyboard. To use normal text labeling on your Stable charts: 1. Select Chart from the Configure Menu on the Logo window. 2. Clear the box labeled "Automatic Price Chart Labeling" using the mouse. -OR- Press Alt+L on the keyboard. 5.24 Quickly Selecting Any Chart For Study ------------------------------------------- As you create new charts, you may find that you've lost sight of a chart because it is hidden behind another chart, or it has been minimized to an icon and not currently visible. Stable provides a quick and easy way to recall or display any of the charts you've created and to make it the topmost window on the display. To display an existing chart whether hidden from view or minimized: * Select the Window Menu from the Stable logo window or on any available chart and choose the chart you want to view. 5.25 Setting the Default Chart Characteristics (Window Method) --------------------------------------------------------------- When new charts are created, they automatically take on specific characteristics stored in Stable - Technical Graphs. You can change these default settings to suit your own personal preferences. Only new charts (charts that have not been previously saved) will take on the default settings. This method allows you to set the default chart settings to any one of your currently displayed charts. All characteristics of the chart, including; chart size, position, colors, indicator graphs, and moving averages are saved and later used in creating a new chart. To save the characteristics of any chart as the default settings: * Select Save Chart As Default from the File Menu of any chart. Procedures 5-11 5.26 Setting the Size of the Price Graph ----------------------------------------- When new technical indicator graphs are placed within a chart, the size of the Price Graph changes to make room for the additional graphs. In Stable v1.00, this size was a fixed percentage of the chart area dependent upon the number of indicator graphs. You can now specify in v1.11 the amount of space that the Price Graph should occupy when 1, 2, or 3 indicator graphs are displayed in the chart. This specification can be made either manually through a dialog box, or interactively with your mouse directly on the chart. Using the manual method, the Price Graph size is entered as a percentage of the total chart's display area. For example, if you want the Price Graph to occupy one-half of the chart's total area, you will specify fifty percent (50%). To set the amount of space that the Price Graph is to occupy via the manual method: 1. Select Price Graph Size from the Options Menu on the chart. 2. Enter the size of the Price Graph as a percentage of the total chart area for 1, 2, and 3 technical indicators. To change the size of the Price Graph interactively with the mouse (only when one or more indicator graphs are visible): 1. Move the mouse between the Price Graph and the first indicator graph until the mouse cursor changes to a double vertical arrow. 2. Press and hold down the left mouse button. 3. Move the mouse vertically to set the new bottom of the Price Graph. As you move the mouse, a horizontal line is drawn to identify the new bottom of the Price Graph. 4. Release the mouse to set the new Price Graph size. 5.27 Changing a Graph's Drawing Style -------------------------------------- The drawing style for any graph can be changed so that you can interpret the data more easily. Stable supports three basic drawing styles; a High/Low Bar graph, a Line graph, and a Histogram. The High/Low Bar style is available only for the Price Graph. To change the drawing style for a graph: 1. Select the graph that you want from either the Select Menu of the chart, by clicking within the graph, or by "tabbing" to the graph. 2. Select either High/Low Bar, Line, or Histogram from the Graph Menu on the chart. -OR- Click on the associated toolbar button to change the graph's drawing style. Procedures 5-12 5.28 Using the Popup Graph Menu -------------------------------- Stable provides a method by which you can even more effectively use your technical charts. This method allows you to access some of the more frequently used graph functions while you concentrate your attention directly on the graph. To take advantage of the popup menu support: 1. Move the mouse within any visible graph and click and hold the right mouse button. 2. If you are running Windows 3.1, you can make a selection from the popup menu by selecting an item, then releasing the right button. Under Windows 3.0, you must make a popup menu selection using the left mouse button. 5.29 Drag and Drop (Windows 3.1 Only) -------------------------------------- Stable charts can be opened using a feature specific to Windows 3.1 called "Drag and Drop". By simply selecting a file from the File Manager, and "dragging" that file with the mouse into the Stable window or icon, you can easily create new charts without the need to interact with the New Chart dialog. Stable supports "Drag and Drop" using two types of historical data files; CSV and Technical Tools data files. Any other data file format is ignored by Stable. Refer to your Windows 3.1 documentation for more information on the Drag and Drop facility of Windows. Chapter 6 Data Files Stable - Technical Graphs can read and chart existing historical stock market data supplied by you in any of the following formats: o Technical Tools o Commodity Systems, Inc. (CSI) o MetaStock o ASCII (comma-separated value CSV) 6.1 ASCII Data Files --------------------- Stable - Technical Graphs can read data files containing "flat" ASCII information - where each record in the file consists of ASCII data terminated by a carriage return/linefeed combination. Each record in the file consists of multiple fields separated by either a comma (",") or tab character. White space may freely be interspersed within the data file. Stable - Technical Graphs itself does not provide facilities for retrieving or creating the data files that you will graph. However, ASCII files can be created or generated in a variety of ways: o Downloading of financial information from online databases such as Dow Jones News Retrieval and CompuServe. Once retrieved, this data must usually be editted by you to conform to this ASCII file format. o Exporting of data from spreadsheet programs such as Microsoft Excel or Lotus 1,2,3. For example, if you are using Excel, simply save your securities data in ".CSV" (comma-separated values) format with the necessary header information identified in this section. Read your specific product documentation on how to save and/or export spreadsheet files. o Manually using a text editor that can create ASCII file information. This method would be described as the manual method of creating data - where you enter the data printed in your local newspaper or business journal. Almost any type of data can be graphed using Stable - Technical Graphs, so long as each line of data contains at least a date and a closing value. The closing value can represent any numeric value; such as the daily close for a stock or mutual fund, the prime rate for that day, or the closing Dow Jones Industrial Average. Stable - Technical Graphs reads and interprets ASCII numeric values found in your data files in a variety of formats: o Floating point decimal values (i.e., 34.65) for data related to such items as market indexes (i.e., DJIA, SP500), mutual funds, and various currency information. Data Files 6-2 o Standard fractional values (i.e., 64 1/8, 20 1/2) for representing data specific to stocks, options, and corporate bonds. o Special fractional values (i.e., 76:18) for data representing 1/32ths; such as Government Agency Issues (ie. FNMA, GNMA, World Bank) and Treasury Bonds, Notes and Bills. 6.2 General ASCII Format ------------------------ The general format of all ASCII data files that Stable - Technical Graphs can interpret is as follows: <--- Optional for Stable v1.11 and above Data_Record_1 Data_Record_2 - - Data_Record_N is the number of actual data records in the file (excluding the and records). is a description of the format of each data record in the file. This string consists of the characters "DVOHLCI" which specifies both the sequence and type of data fields in each record: D represents a Date field This entry can be either 'D' for daily data, 'W' for weekly data, 'Q' for quarterly data, 'M' for monthly data, or 'Y' for yearly data. Additionally, a modifier character can follow the 'D' entry to identify a specific date format as identified below: 0 = mm/dd/yy (also the default if '0' is omitted) 1 = mmddyy 2 = yy/mm/dd 3 = yymmdd 4 = dd/mm/yy 5 = ddmmyy 9 = Serialized (Lotus-style) V represents a Volume field (or short interest). O represents an Open field. H represents a High field. L represents a Low field. C represents a Close field. I represents an Open Interest field. Data Files 6-3 Data_Record_n represents each ASCII record in the file, up to entries. All data records must be of the same field sequence and contain identical types of fields. THE FOLLOWING NOTES APPLY TO ALL DATA IMPORTED BY STABLE: o No numeric values (ie. volume, open, close, etc.) may be formatted with a comma (e.g. Use 12900 instead of 12,900). o Holiday data, or any data that includes zero (0) numeric values for volume, open, high, low, or close should not be included in any of your data files. o Data is not adjusted for splits or ex-dividends by Stable. 6.3 Examples ------------- The following are examples of various ASCII data files which Stable Technical Graphs can read. Each example is a general representation of a particular market group. In all examples, the use of the comma to separate individual fields can be replaced by a tab character in your actual data. Market Index: 5 <--- Optional Record DHLC 1/02/90,2811.60,2732.50,2810.10 1/03/90,2834.00,2786.30,2809.70 1/04/90,2821.40,2766.40,2796.00 1/05/90,2810.10,2758.10,2773.20 1/08/90,2803.90,2753.40,2794.30 The above illustrates a file containing 5 data records. Each data record contains four fields identified by the "DHLC" line. The sequence of the fields is "D"aily Date, "H"igh, "L"ow, and "C"lose. Decimal values are used for numerics. Note that 'D0' could have also been used to represent this date format. Data Files 6-4 Mutual Fund: 5 <--- Optional Record W1C 010389, 14.28 011089, 14.69 011789, 14.67 012489, 14.90 013189, 15.28 The above illustrates a file containing 5 data records. Each data record contains two fields identified by the "W1C" line. The sequence of the fields is "W"eekly Date (in MMDDYY form) and "C"lose. Decimal values are used for numerics. Stock: 5 <--- Optional Record D3VHLC 900102, 3913, 52 7/8, 52 3/8, 52 3/8 900103, 3628, 53 3/8, 52 1/8, 53 3/8 900104, 5057, 54 1/4, 53 1/4, 53 7/8 900105, 4624, 53 5/8, 53 1/8, 53 3/8 900106, 5203, 53 1/4, 51 5/8, 52 3/4 The above illustrates a file containing 5 data records. Each data record contains five fields identified by the "DVHLC" line. The sequence of the fields is "D"aily Date (in YYMMDD form), "V"olume, "H"igh, "L"ow, and "C"lose. Volume information is represented as a decimal value, while fractional values are used for all others. U.S. Treasury Strips: 5 <--- Optional Record DC "01/03/89", 99:14 "01/10/89", 99:12 "01/17/89", 99:21 "01/24/89", 100:01 "01/31/89", 99:15 The above illustrates a file containing 5 data records. Each data record contains two fields identified by the "DC" line. The sequence of the fields is "D"aily Date and "C"lose. Special fractional values are used representing 1/32ths. NOTE the use of double-quotes in the data. Stable - Technical Graphs ignores these. Data Files 6-5 6.4 Historical Data Suppliers ------------------------------ The following list includes those companies that can provide historical stock market data which can be used directly by Stable - Technical Graphs. Please contact these companies directly for product information and pricing. Commodity Systems, Inc. 200 W. Palmetto Park Rd. Boca Raton, FL 33432 (800) 327-0175 (Sales) (407) 392-8663 (Voice) Technical Tools 334 State Street, Suite 201 Los Altos, CA 94022 (800) 231-8005 (Sales) (415) 948-6124 (Voice) The following companies may also be able to provide historical data in a format compatible with Stable. Genesis Financial Data Services PO Box 49578 Colorado Springs, CO 80949 (719) 260-6111 Tick Data, Inc. 720 Kipling Street, Suite 115 Lakewood, CO 80215 (303) 232-3701 (Voice) (303) 232-0329 (Fax) Chapter 7 Dynamic Data Exchange This chapter summarizes the Dynamic Data Exchange (DDE) support provided within Stable - Technical Graphs. Much of the discussion in this chapter assumes you are familiar with the concept of interprocess communications using DDE in the Windows environment. The first section 7.1 addresses DDE communications as it relates to programming in Windows. Section 7.2 describes DDE functionality as it relates to Microsoft Excel usage. As an additional aid in understanding DDE communications with Stable, refer to the file STABLE.XLM for an example of not only communicating with Excel, but also as a reference to the DDE command structures. 7.1 Programmers Reference -------------------------- This section assumes that you are familiar with the concepts and functionality associated with DDE Client/Server communications. Stable - Technical Graphs functions as a DDE server application; responding to client applications by providing technical graph services in the areas of chart display management and real-time data update. In the area of display management, Stable - Technical Graphs provides basic control over the creation and display of technical charts. o Charts can be opened or created by a DDE client application through the use of execute transactions issued to Stable within the "SYSTEM" topic. o The main Stable logo window can be controlled using DDE execute transactions. Supported commands allow the window to be minimized, shown (normal), and closed. o Individual charts can be controlled visually through DDE execute transactions. Among the supported command actions are minimize, maximize, print, show, close, and update. Real-time data update of Stable charts is also supported. By passing ASCII data record information conforming to the underlying security's content, new financial data can be submitted to a Stable chart for immediate update and display. 7.1.1 Application (Service) Name --------------------------------- For all DDE communication connections made to either the main Stable logo window or a Stable security chart, use the name "STABLE" as the application or service name. Dynamic Data Exchange 7-2 7.1.2 Topics ------------- The following application topics are supported by Stable. Generally, there are two classes of topics; the SYSTEM topic and individual chart topics. "SYSTEM" The "SYSTEM" topic represents the logical data context associated with the main Stable logo window. It is through a DDE conversation with the "SYSTEM" topic that visual control of the main logo window is performed - as well as creating or opening new Stable technical charts through a DDE conversation. "" The "" topic represents a specific Stable chart that is currently in existence on the Windows desktop. The use of the label "" in this context represents the actual file or security name associated with the window, and is found in the window's caption or title bar. For example, a chart created from data contained in the file "DJ30.CSV" results in a "" of DJ30.CSV. DDE conversations with "" topics allows you to control the chart's display (ie., minimize, maximize, show, close), the printing of the chart, and to dynamically add new data into the chart. 7.1.3 DDE Request Transactions ------------------------------- A client can send request (XTYP_REQUEST) transactions to a Stable server in order to receive specific information about the server. The following request "items" are supported within the "SYSTEM" topic (or Stable logo window): SZDDESYS_ITEM_TOPICS A list of topics supported by the "SYSTEM" topic. Currently return information is: "SYSTEM" "" * For each created chart. Dynamic Data Exchange 7-3 SZDDESYS_ITEM_SYSITEMS A list of items supported under the "SYSTEM" topic. The following information is currently returned: "SYSITEMS" "FORMATS" "TOPICS" "STATUS" SZDDESYS_ITEM_FORMATS A list of clipboard formats supported by the server. At the present time, the following formats are supported: "TEXT" "CSV" SZDDESYS_ITEM_STATUS The status of the server (busy or ready). The following request "items" are supported within a "" topic (an individual Stable chart): SZDDE_ITEM_ITEMLIST A list of items supported by the "" topic. The currently supported items are: "TOPICITEMLIST" "FIELDDEF" "STATUS" "NEWDATA" SZDDESYS_ITEM_STATUS The status of the server (busy or ready). "FieldDef" Returns a description of the data contents associated with the chart. The returned description is identical to the description of the described in section 6.2 of "Chapter 6 Data Files". The importance of the "FieldDef" information is that it describes the expected format of any ASCII data record submitted to the chart for the purpose of data update through a DDE conversation. Dynamic Data Exchange 7-4 7.1.4 DDE Execute Transactions ------------------------------- A client can send execute (XTYP_EXECUTE) transactions to a Stable server in order to perform a command or series of commands. The following execution "command strings" are recognized by the "SYSTEM" topic (Stable logo window): "[MINIMIZE]" Minimizes the Stable logo window. "[SHOW]" Displays the normal Stable logo window. "[CLOSE]" Closes the Stable logo window, essentially terminating the Stable program. "[OPEN(,,)]" Opens a new chart. This command is basically the same as the File New Chart menu selection with the exception that the associated file information is specified in the execute command string itself. represents one of the data file formats supported by Stable - Technical Graphs. CSV Comma separated value (ASCII format). TT Technical Tools data format. CSI Commodity Systems, Inc. data format. MS MetaStock data format. specifies the fully qualified path to the data file which is to be used in creating the new chart. The file name itself (if applicable) IS NOT a part of this field. is the name of the symbol or data file for chart creation. In the case of CSV and Technical Tools data, this field represents the actual name of the file on disk. For CSI and MetaStock data, the field identifies the symbol description. EXAMPLE 1: The following execution command string instructs Stable to open a chart using the CSV data stored in the file HRB.CSV (H&R Block) located in the C:\MKTDATA directory: "[OPEN(CSV,C:\MKTDATA,HRB.CSV)]" Dynamic Data Exchange 7-5 EXAMPLE 2: The following execution command string instructs Stable to open a chart using the CSI data identified with "PORK BELLIES" in the C:\QUICK\DATA\MEATS directory: "[OPEN(CSI,C:\QUICK\DATA\MEATS,PORK BELLIES)]" EXAMPLE 3: The following execution command string instructs Stable to open a chart using the MetaStock data identified with "BOEING" in the C:\MS\DATA directory: "[OPEN(MS,C:\MS\DATA,BOEING)]" EXAMPLE 4: The following execution command string instructs Stable to open a chart using the Technical Tools data stored in the file SP___88Z.TTT (S&P Dec '88 Tick Data) located in the C:\TECHTOOL\SP directory: "[OPEN(TT,C:\TECHTOOL\SP,SP___88Z.TTT)]" The following execution "command strings" are recognized by a "" topic (an individual Stable chart): "[MAXIMIZE]" Maximizes the chart window to full screen. This is useful for when a chart will be printed. "[MINIMIZE]" Minimizes the chart window to an icon. "[SHOW]" Displays the chart in its last display size. "[CLOSE]" Closes the chart's window, effectively removing the chart from the Windows desktop. "[PRINT]" Instructs a chart to print itself to the default system printer. Before instructing a chart to print itself, the chart should either be displayed normally, or maximized. This can be accomplished by issuing the following DDE execute command string to the chart: "[MAXIMIZE][PRINT]" "[UPDATE]" Instructs the chart to redraw its contents. Normally this instruction will never be necessary as charts update automatically when new data is submitted. Dynamic Data Exchange 7-6 7.1.5 DDE Poke Transaction --------------------------- A client application can send unsolicited data to a Stable chart through use of the DDE poke (XTYP_POKE) transaction. This is the method by which new or real-time data can be submitted to a Stable chart for display and update. The item name used to indicate new financial data being submitted to a chart is the text "NEWDATA". Data information representing new chart data is passed as an ASCII string of information conforming to the data field definition for the chart. The data field definition for a chart can be obtained by issuing a "FieldDef" request transaction to the chart. The chart will return a field definition string of the format described in section 6.2. Content-wise, an ASCII data string passed to a chart containing new financial information looks like a single record found in a CSV data file. Regardless of the data type used to originally create a Stable chart, ASCII information is the only format supported for updating a chart. As an example, assume a chart has been created from a MetaStock data file - and further assume the data file is associated with the Dow Jones Industrials. After establishing a DDE conversation with the chart, you execute a request (XTYP_REQUEST) transaction for "FieldDef" and receive the data string "DVHLC" (date, volume, high, low, close). In order to update the chart with new data, you must first formulate an ASCII string similar to the following (which represents the field definition previously returned), and then submit it as the data portion of the "NEWDATA" poke (XTYP_POKE) transaction: "04/01/92,32190,3232.45,3209.51,3220.52" 7.2 Stable DDE Communications with Excel ----------------------------------------- Performing DDE communications directly with Stable through Microsoft Excel is relatively straight-forward since all of the programming details are automatically performed for you. Following a simple set of rules, you can easily communicate with Stable, or any of Stable's charts, from within a spreadsheet. For additional information, please refer to the STABLE.XLM macro file provided with Stable - Technical Graphs. By having Excel display the actual formulas on the STABLE.XLM macro sheet, you can actually see examples of working formulas used to communicate with Stable. Dynamic Data Exchange 7-7 The following briefly describes some of the macros and formulas used in the STABLE.XLM macro sheet. Details on how to create proper formulas and macros within Excel can be found in your Microsoft Excel documentation. 7.2.1 Open HRB Macro --------------------- This macro demonstrates how a Stable chart can be created from DDE commands placed in a spreadsheet. This example requires that STABLE.EXE be in your "PATH=" statement and that the HRB.CSV file resides in the C:\STABLE subdirectory (you are free to change the directory if required in order to access the data file). =INITIATE(Stable,"System") Establish a DDE channel with the Stable logo window. =EXECUTE(channel,"[OPEN(CSV,C:\STABLE,HRB.CSV)])" Open a new chart using the CSV data file HRB.CSV found in the C:\STABLE subdirectory. =TERMINATE(channel) Terminate the DDE conversation. =RETURN() Terminate the macro. 7.2.2 Poke HRB Macro --------------------- This macro demonstrates a technique for adding data found in a spreadsheet directly into an existing Stable chart. * If you want to see the visual results of the data being added to the HRB.CSV chart, resize Excel and the HRB.CSV chart so that both are visible on the screen before executing this macro. =INITIATE(Stable,"HRB.CSV") Establishes a DDE conversation with the HRB.CSV chart window. Dynamic Data Exchange 7-8 =POKE(channel,"NEWDATA",$A12:$E12) =POKE(channel,"NEWDATA",$A13:$E13) =POKE(channel,"NEWDATA",$A14:$E14) =POKE(channel,"NEWDATA",$A15:$E15) =POKE(channel,"NEWDATA",$A16:$E16) =POKE(channel,"NEWDATA",$A17:$E17) This set of instructions retrieves the six rows of financial data found in the macro sheet and submits each individually to the HRB.CSV chart. The "$A12:$E12" parameter essentially tells Excel to format the data in that row as ASCII and comma separated. =TERMINATE(channel) Terminate the DDE conversation. =RETURN() Terminate the macro. 7.2.3 Show HRB Macro --------------------- This macro demonstrates how commands can be issued to a chart in order to control its appearance. =INITIATE(Stable,"HRB.CSV") Establishes a DDE conversation with the HRB.CSV chart window. =EXECUTE(channel,"[SHOW]") This command instructs the HRB.CSV chart to display itself. =TERMINATE(channel) Terminate the DDE conversation. =RETURN() Terminate the macro. 7.2.4 Supported =EXECUTE() Commands ------------------------------------ The list of commands that can be used with =EXECUTE() formula are explained above in section 7.1.4. Chapter 8 Technical Indicators This appendix summarizes those technical indicators found in the evaluation copy of Stable - Technical Graphs, Version 1.11. 8.1 Moving Averages -------------------- Generally, moving averages are used to smooth out the data values used for technical analysis; helping to eliminate both large and small fluctuations normally found in the data, and to help identify the directional trend of the data being averaged. Stable - Technical Graphs supports three different types of moving average calculations; the simple moving average, the weighted moving average, and the exponential moving average. Any of these moving averages can be applied to the base data associated with almost all graphs found in the product. The calculation of the simple moving average simply adds together a number of the most recent data values and divides the resulting sum by the total number of values being added together. For example, a ten day moving average is computed as the sum of the ten most recent data values, divided by 10. In the simple moving average system, all data values are given an equal "weight" - effectively assigning the same importance to each data element used to calculate the average. Some people feel that it would make more sense to assign greater importance to the more recent data and criticize the simple moving average for lacking this. The weighted moving average is similar to the simple moving average except that each value being considered in the average is assigned a specific "weight". The greatest weight is assigned to the most recent data value, while the least weight is given to oldest value. This has the effect of associating "greater importance" to more recent data when calculating this average. The assignment of specific data value "weights" is performed automatically by the program. Stable uses the method of assigning the ordinal value of the data item within the list as the weight. Calculating a 5 day average for example, the first value is multiplied by 1, the second by 2, the third by 3, the fourth by 4, and the fifth by 5. The five resultant products are then added together and divided by 15 (1+2+3+4+5) to determine the average. The exponential moving average is somewhat similar to the weighted moving average in that the most recent data is also assigned more importance than data further back in time. However, instead of "weighting" each individual data value, a "fixed weight" is assigned to today's (the most recent) value, while all of the remaining weight is given to the previous value of the exponential moving average itself. In calculating this moving average, you begin by first establishing the average as equal to the first day's data, then moving through the series of data - multiplying each new recent value by some fixed weight (like 12%) and the previous value of the average itself by the all the remaining weight (88% in this case). Technical Indicators 8-2 8.2 Negative/Positive Volume Indexes (NVI/PVI) ----------------------------------------------- Both the Negative Volume and Positive Volume Indexes are indicators based upon the premise that trading volume increases when unsophisticated investors are active in the market, while the so- called "smart money" investors are busy in the market during periods of declining volume. The price direction on days of declining volume may then indicate "smart money" accumulation or distribution if the change is positive or negative respectively. The primary distinction between these two indicators is simply which volume move is being measured. The NVI calculation is related to negative, or falling volume. When the volume decreases from the previous period (rising volume does not affect this indicator), the NVI is adjusted by the percentage change in the price. Specific to the NVI, long positions are taken when the indicator crosses ABOVE its moving average. The PVI calculation is related to positive, or rising volume. When the volume increases from the previous period (falling volume does not affect this indicator), the PVI is adjusted by the percentage change in the price. Effectively, PVI measures what the "uninformed" masses are doing - and long positions are taken when the PVI crosses BELOW its moving average. 8.3 On-Balance Volume ---------------------- The On-Balance Volume Indicator (developed by Joseph Granville) is used to indicate whether an accumulation or distribution of shares for a security is occurring by studying the security's volume activity in relation to the price change. The basic theory behind the OBV indicator is that it tends to exhibit trend changes in advance of price changes - therefore look for a change in the OBV trend to suggest a forthcoming change in the price trend. The OBV indicator is a cumulative total of volume calculated by adding the entire day's volume to the total if the price rises for that day, and subtracting the entire day's volume if the price falls for that day. (See Volume Trend for a variation of this indicator). 8.4 Oscillators (Price and Volume) ----------------------------------- The Price and Volume Oscillators are indicators representing the difference between two moving averages of the respective price or volume data. When plotted, the oscillator rises and falls through a "zero line" - and represents the actual "crossing" of the two moving averages. Technical Indicators 8-3 As the oscillator crosses and moves above the zero line, this indicates that the first moving average is moving upwards at a faster rate than the second average. This can be interpreted as a rising trend and, if the first average is based on a shorter time period than the second, that the short term trend is currently stronger than the long term trend. If the oscillator crosses and moves below the zero line, this is an indication that the first moving average is falling at a rate faster than the second average. This can be interpreted as a falling trend and, if the first average is based on a shorter time period than the second, that the short term trend is now weaker than the long term trend. One way to help visualize an oscillator is to create a Stable chart containing both a Price Graph (with two moving averages), and a Price Oscillator Graph based on the same two moving averages. As the moving averages cross each other on the Price Graph, you will see the Price Oscillator line cross its zero line. You can also use an Oscillator graph to track when a single moving average crosses the data which it is based upon - by setting the first oscillator unit to 1 and the second to the moving average units you want to plot. The resultant oscillator graph then shows when the moving average crosses the underlying data. The higher the oscillator, the greater the data is above its moving average, and conversely on the downside. 8.5 Price Channel (Trading Band) --------------------------------- Available only on Price Charts, the Price Channel or Trading Band is a special indicator used to envelop price activity within a specific trading range. The Price Channel is created by calculating a single moving average (either simple, weighted, or exponential), and then displaying the moving average line (shifted vertically) an equal percentage both above and below its calculated value. While the Price Channel can be manually created using two individual moving averages, the Price Channel greatly simplifies the task. 8.6 Price Momentum ------------------- Price momentum is the ratio between today's price and the price some specified number of units in the past. High Momentum readings sometimes imply that the security is in an overbought condition, while extremely low readings may suggest an oversold situation. (Today's value - N_units_ago value) * 100 Price Momentum and Price Rate of Change are essentially the same technical indicator. Technical Indicators 8-4 8.7 Rate of Change (Price and Volume) -------------------------------------- The Rate of Change (ROC) is a method used to measure the momentum of a security. Rate of Change is computed as the percentage change between today's value (price or volume) and the associated value some specified number of units in the past. High Rate of Change readings sometimes imply that the security is in an overbought condition, while extremely low readings may suggest an oversold situation. (Today's close - N_units_ago close) / N_units_ago close 8.8 Volume ----------- The Volume Indicator displays the security's trading volume as vertical bars for each day of data. The base value for the Volume Graph is the lowest volume value for the current graphing period. 8.9 Negative/Positive Volume Trend (NVT/PVT) --------------------------------------------- The Volume Trend indicators are variations of the basic On-Balance Volume indicator. The primary difference between these indicators and the OBV is in what portion of the day's volume is used to determine the new indicator value. Unlike the OBV (which applies the entire day's volume), both NVT and PVT use only a portion of the volume determined as a percentage of the price change from the previous day. In effect, these indicators consider the magnitude of the period's price change - whereas OBV does not. The major distinction between the NVT and the PVT is that the NVT theorizes that the LESS volume required to move the price, the more significant is the event. All things being equal, a period of low trading volume will affect this indicator more than if the same period was driven by high trading volume. This, in effect, is similar in concept to the Negative Volume Index - where we're looking for "smart money" activity in the market. 8.10 Weighted Close -------------------- The Weighted Close is simply a weighted indicator of the closing values for a security. It is calculated daily by adding the security's high and low value to the closing value doubled - then dividing the result by four. ( (Today's close * 2) + High + Low ) / 4 Technical Indicators 8-5 8.11 Commodity Channel Index (CCI) ----------------------------------- The Commodity Channel Index, originally developed by Donald Lambert, is a tool that assists in identifying when an underlying security's cycle trend is in effect. The indicator is displayed as an oscillator with major signal lines at +100 and -100. The general interpretation is that when the oscillator breaks through either of these lines, it is an indication that the security may be starting a new trend. 8.12 Moving Average Convergence/Divergence (MACD) -------------------------------------------------- Developed by Gerald Appel, the MACD is a widely used oscillator derived from the differential of two exponential moving averages; a short term average and a longer term average. In a trending market, the shorter term average will rise or fall more quickly than the slower long term average, thereby resulting in a larger difference between the two. By plotting the mathematical difference of the two averages, an oscillator is created that rises and falls around a "zero-line". The farther away the oscillator is from the zero-line, the greater the strength of the trend. By calculating an exponential average of the oscillator itself, you have what is described as a "signal line". The time frame normally used for the signal line ranges from 5-10 days in length. Basic interpretation theory suggests that buy and sell signals are generated whenever the oscillator (MACD) line crosses its signal line. When the MACD line crosses from below to above the signal line, a buy signal is in effect. When the MACD line crosses from above to below the signal line, a sell signal is generated. Experiment with different exponential average periods for the MACD oscillator and look for divergences between the price action and the MACD oscillator itself to help identify the most profitable trading signals. 8.13 Open Interest ------------------- The Open Interest Indicator displays the security's open interest as vertical bars for each day of data. The base value for the Volume Graph is the lowest value for the current graphing period. Technical Indicators 8-6 8.14 Relative Strength ----------------------- The Relative Strength graph allows you to compare the price action between two securities or other financial index - typically used to compare a security against its associated "index" or base. For example, you might construct a relative strength graph comparing how IBM is performing against the DJIA as a whole , or how Exxon is performing against Chevron. Calculated simply by dividing the security's value by the comparitive financial item, the Relative Strength measures the relationship between the two. An important point to remember is that this indicator represents the relative relationship between the items, and does not directly reflect individual price action. As a result, even if both securities prices are falling, the Relative Strength line will move upwards if the primary security's prices are falling less than the relative security. 8.15 Relative Strength Indicator (RSI) --------------------------------------- The Relative Strength Indicator was developed by Wells Wilder in an effort to measure the internal strength of a security. Unlike the Relative Strength graph described above which compares two financial items, the RSI oscillator determines the momentum strength within a single security. The RSI calculation serves to resolve two issues related to the normal determination of a momentum indicator; the smoothing out of erratic price movements, and to provide a normalized trading range for comparison purposes. The RSI graph presents the indicator as fluctuating between the values of 0 and 100. Traditionally, lines are drawn on the graph at the 70 and 30 levels; representing overbought and oversold points respectively. Once an overbought or oversold situation presents itself, look for a price trend reversal for an actual buy or sell signal.