Home                           

 Try Investor/RT             

 Investor/RT Tour           

 Getting Started              

 What's New                  

 Testimonials                 

 
Search . . .

 Pricing Summary

 Place Your Order

 Product Description

 Sales Center           

 Contact Us            

 Referrals              

 Renewals            

 Customer Support     

 Download Center      

 Videos        

 Documentation        

 Q & A                      

 Tip Of The Day        

 Tutorials                  

 Advanced Profiling

 Trading Systems    

 Scans                  

 Voices                  

 Education & Training

 Upgrade Center      

 Discussion List         

 Investor/RT Chat       

 About Linn Software

 User Exchange        

 Search

Investor/RT
What's New in Version 7.3.5

The new features and miscellaneous enhancements outlined below were introduced in the 7.3 Version.
 
Product Enhancements for Version 7.3.5
Release Date: August 23, 2004

Comprehensive "What's New Reference Guide"
 Last updated:  March 2007
Download Zip File     View  PDF  
  

What's New In Investor/RT By Version

                  9.0
8.9 8.8 8.7 8.6 8.5 8.4 8.3 8.2 8.1 8.0
7.6 7.5 7.4 7.3 7.2 7.1 7.0 6.2 6.1 6.0
5.9 5.8 5.7 5.6 5.5 5.4 5.3 5.2 5.1 5.0
4.9 4.8 4.7 4.6 4.5 4.4 4.3 4.2 4.1 4.0
3.9 3.8 3.7 3.6 3.5 3.4 3.3 3.0    

  • New Database Utility: Synchronize DWM Database
    The Control: Database Utilities menu has a new menu item for running the "Synchronize D/W/M Database" utility. This new utility function will be useful for those users who elect to keep separate weekly and/or monthly historical data on file. Our recommended historical retention preferences are to maintain only daily historical data. This way, all weekly or monthly historical charts or scans will use weekly or monthly historical bars manufactured from the same underlying daily historical data. Everything is consistent. Some users however, may wish, for example, to routinely do weekly or monthly analysis doing back say 10 to 20 years for thousands of stocks and do not have the requirement to look at daily charts for more than a few years back. If our recommended settings were followed, ten to 20 years of daily historical data would have to be maintained on the database in order to view monthly charts going back that far. Instead, the user may conserve disk storage space by keeping separate weekly and monthly historical data. In this scenario, the historical data retention preferences could be setup to keep only say 2 years of daily data, maybe 10 years of weekly data and 20 years of monthly data. The problem with keeping separate weekly and monthly database has been keeping everything synchronized. This new utility function does precisely that.

    The new utility will look for instruments that have been marked for either weekly and/or monthly data retention and for each one it will take the daily data on file for these instruments, and assure that the period of time covered by this daily data is perfectly synchronized with the weekly and/or monthly bars for the same period. In effect, the utility generates the weekly or monthly bars from the daily data for this period of time and places (replaces) these bars into the weekly and/or monthly historical database. Thus for example, the user can download daily data for the last few weeks for instruments to bring them all up to date, then run this utility to update the weekly and/or monthly historical data to reflect the recently downloaded daily data. This eliminates the need to independently download weekly and monthly bars. Note that weekly or monthly data on file for the period of time preceding the daily historical data is not affected by this utility.

    The Synchronize DWM Database utility can be scheduled to run as a "Database Function" action of a schedule. Thus you can schedule this function to run automatically each day after posting historical data. You can create a keyboard shortcut to run this utility by creating a schedule and setting up a Run Schedule function key shortcut.
  • Improved Intra-day/Daily Data Generator for Custom Instrument Pairs
    The historical data generator for custom instruments has been improved. The improvements apply to generation of intra-day bars for custom instruments having two components, i.e. pairs. The generator will now defer generation of intra-day bars until both component instruments have intra-day data for each session. For example, consider the pair IBM-CA. Say IBM has one minute bars beginning at 9:31 while CA's opening one minute bar does not occur until 9:33. The data generator will defer generating a one minute bar for the pair IBM-CA until it has a bar for both instruments for the session. Thus the first IBM-CA one minute bar in this example will be at 9:33; the open of this bar will be the 9:33 open of IBM minus the 9:33 open for CA. The technique used in earlier versions of Investor/RT did not consider session boundaries when generating intra-day data. It would generate bars for the pair even when the last known price for one of the two components was for an earlier session. This improvement will generate more accurate intra-day bars for the custom instrument, and these improved bars will be used in turn to generate higher quality daily bars for the custom instrument when daily generations are requested.
  • Pair Wizard Improvements
    The Pair setup wizard window now has check boxes titled "Show Pair Chart" and "Add Pair to Quotepage". The checkboxes will appear checked or unchecked as you left them the last time you used the Pair Wizard. The Show Pair Chart checkbox controls whether a chart of the new pair will appear when you Save or "Save and Close". The Add Pair to Quotepage checkbox controls whether the new custom instrument (pair) ticker symbol will be added as a new row to the current (front) quotepage.
  • Custom Instrument Export and Import
    When Exporting QuotePages that contain one or more custom instruments, Investor/RT will export additional definitional information so that the custom instruments can be setup automatically when importing the quotepage into another Investor/RT system.
  • Using Buttons to Add Instruments to a Chart
    The button purpose "Change Instrument" can be used to add instruments to chart windows by prefixing the ticker symbol with a plus sign in the button setup. The plus sign may be used as a ticker suffix to request multi-linking. A "Change Instrument" push button with a setup of "INDU" will substitute INDU for the instrument currently in the chart. A setup of "INDU+" does the same but also substitutes INDU into all eligible multi-linked charts. This enhancement allows a setup of +INDU to add the instrument INDU to the existing chart. The INDU graph will be placed into a new pane and will have the same type (bar, line, candlestick) and periodicity as the existing instrument(s) in the chart. Note the you can create "menu buttons" that contain any of the variations. For example, you could create a three choice menu button with the setup "INDU,INDU+,+INDU". The three menu choices would substitute, multi-link, or add the ticker INDU, respectively.
  • Variable Ticker Symbol References in RTL
    The RTL language enables any instrument property or historical token to be qualified by a ticker symbol. For example, when running a scan, the token CL refers to the closing price of the instrument being considered by the scan (the subject instrument), while the expression CL($INDU) refers to the current closing price of the instrument $INDU. Such ticker symbol references are constant references, i.e. the CL($INDU) qualified token will refer to $INDU for every symbol considered by the scan. Version 7.5.3 introduces a powerful new facility for specifying the ticker symbol qualifier as a variable that can differ depending on the subject instrument.

    Variable ticker references are coded as an @ at-sign followed by a number from 1 to 32. For example the expression CL(@1) - CL.1(@1) uses the instrument variable @1 in two places. @1 refers to some instrument. This new feature works one of two ways, depending upon whether the subject instrument being considered by the RTL formula is a normal instrument or a custom instrument.

    When the subject instrument of a scan, signal, or custom indicator is a custom instrument, the @n instrument references refer to the components of the custom instrument. @1 refers to the first component, @2 refers to the second component, etc. Thus you could run the following scan on the .Custom Instruments quotepage:

    CL(@1) > CL.1(@1) AND CL(@2) > CL.1(@2)

    This scan will show you which custom instruments have both component 1 and component 2 rising in the current bar.

    This facility is also available for use when using RTL formulas in scans, signals, and custom indicators for regular instruments (non-custom instruments). Since regular instruments do not have components, the @1, @2, ... references are resolved differently. They correspond to a ticker symbol stored in the corresponding T# text user variable for the subject instrument. @1 refers to the instrument whose ticker is in T#1, @2 refers to the instrument whose ticker is in T#2. Any of the 32 T# variables can be used to hold a ticker reference, e.g. CL(@32) refers to the closing price of the instrument whose ticker is stored in T#32. Notice that the RTL formula references to these @n instruments are not resolved until the scan is actually run or when the signal is evaluated during backtesting, or when a custom indicator is calculated in a chart. If the T# variable is not properly setup with a valid ticker symbol then Investor/RT will treat the token as an unqualified token, i.e. CL(@1) is the same as CL for any subject instrument whose T#1 does not contain a valid ticker symbol.

    This feature may be useful in charting custom indicators that compare a stock's historical performance to an index. The index ticker for comparison might vary depending on the subject instrument. For example, the custom indicator (CL/CL(@1))*100 will compare the closing prices of any stock with some other instrument represented by @1. Each stock's T#1 variable would dictate the ticker to use in the comparison.

    Another interesting use of this new facility is that @1, @2, through @32 are recognized as ticker symbol references by the MPD (Mixed Periodicity Data) Indicator. Thus you could setup an MPD to reference @1 and then control which mixed ticker is used by that MPD indicator by setting the T#1 value. If you use MPD in conjunction with custom instruments, @1 refers to the first component of the custom instrument associated with the MPD indicator.
  • Periodic Custom Column Recalculation
    The "Calculation Tab" of the custom column setup window has been improved. When the recalculation frequency is expressed in minutes or seconds, the "Calculate Which Rows" option can be set to either "All Rows" or "Visible Rows". Prior to version 7.3.5, only visible rows were recalculated. When the "All Rows" option is specified, every ticker symbol in the quotepage will have its custom column value recalculated at the designated time interval, regardless of whether the ticker symbol is visible or not. When the Visible Rows option is used, only the ticker symbols whose rows are fully visible in the quotepage window will be recalculated. Note that partially visible rows may be present depending on the window size and these are not considered "visible". The new "All Rows" option is conceptually equivalent to running the custom columns RTL formula, like a scan, on the entire quotepage. If the custom column Calculation Tab specifies that the resulting value be set into a V# variable, this means that you can rely on the V# being updated for all ticker symbols in the quotepage at the designated recalculation frequency. When the "Visible Rows" option is specified, V# variables update only for the fully visible rows in the quotepage. This new option works in tandem with quotepage update frequency specified in the quotepage preferences, including the Dynamic updating option. For example, if the quotepage update frequency is every 2 seconds and the custom column update frequency is say every 5 seconds, the custom columns will be recalculated every 6 seconds since it takes six seconds for the custom column to be notified that 5 seconds have elapsed since the last recalculation. Dynamic updating of quotepages is not recommended for efficiency reasons, but if this option is used and their are actively updating tickers in the quotepage, then the custom columns will recalculate at the designated interval.
  • Point & Figure, TLB Calculation Using High, Low
    A change has been made to the way data is processed for Point and Figure and Three Line Break charts/indicators when the "Use Highs and Lows" option is selected. In previous releases, the way that Investor/RT processes the data follows:

    if (OP = CL) // Open and Close for the bar are equal
    {
    if (UP) process HI, LO, CL; // currently in an up column
    else process LO, HI, CL; // currently in an down column
    }
    else // Open and Close are different
    {
    if (OP > CL) process HI, LO, CL; // currently in an up column
    else process LO, HI, CL; // currently in an down column
    }

    The logic has been changed to the following:
    if (UP) // currently in an up colum
    {
    process HI;
    if(HI did NOT produce any new X's)
    process LO;
    }
    else // currently in an down column
    {
    process LO;
    if(LO did NOT produce any new O's)
    process HI;
    }
    In othe words, only the high and low are considered (Close and Open are no longer involved). Also, at most, there can be only one column per bar (with old method, there was an outside chance of up to 3 columns being created in any single bar). If currently in an up column, check the high. If it created new X's (added to the height of the up column), we're done and move on to next bar. If not, we process the low and see if it caused a downward reversals. Similarly, if we're in an down column, we check the low. If it created new Os (added to the height of the down column), we are done and move on to next bar. If not, we process the high and see if it caused an upward reversal.
  • Fibonacci Time Zones Enhancements
    A new checkbox labeled "More Zones" gives the user the ability to draw one or more zone lines in addition to the 8 zones that are currently available. The zones numbers are specified in the box below, and should be separated with either a space of a comma (eg. 89, 144, 233, etc). Each zone will be drawn in the color and thickness specified in the color control to the right of the checkbox.

    Another new checkbox labeled "Label with Date/Time (instead of Zone)" has been added to the bottom of the Zone preferences window. When this option is checked, each zone vertical line is labeled with the date (if daily, weekly or monthly) or time (if intraday). When this option is unchecked, zones lines will be labeled with the zone number, just as they have in the prior to this release.
  • Profile Indicator Enhancements
    The Profile Indicator has been enhanced to allow Custom "Time Per Profiles" of "Every X Bars" and "Every X Days". Before this release, only "Last X Bars" and "Last X Days" were available. As an example, assume it's currently Friday, and a user would like to see a Profile (on a 30-minute chart) for Monday through Wednesday, then another Profile for Thursday and Friday. This can now be done by specifying a Custom "Time Per Profile" of "Every 3 Bars", along with setting the chart's Viewing Period to "Begin to Present" (beginning at the begin of session on Monday). It's important to pay attention to the "Viewing Period" when using these two new options, as they work closely together. These two options will start building the first profile on the first bar in the chart (the "Compute Last X Profiles" setting is ignored when these new options are used).
  • Version 7.3 Rev 5 Fixes, Miscellaneous Enhancements
    --------------------------------
    A bug was fixed that was causing the MPD indicator to report erroneous results for the last bar when initially opening tick/bar charts having a view period of "Last N Bars". --------------------------------
    The Post Session schedule action (under Database Functions) was mistakenly omitted from the list of schedule actions.
    --------------------------------
    Export and Import of Chart Definitions prior to version 7.3.5 did not include the begin and end dates for chart view periods such as "Begin Date to Present" or "Begin Date to Ending Date". The chart export import feature has been improved in this release to include the begin/end dates so that the view period of the exported chart is now reproduced precisely when importing.
    --------------------------------
    Custom Instruments, particularly pairs setup as spreads (differences) can often have open, high, low or last values that are negative. Negative values for open, high, or low in such instruments were being erroneously replaced with the current trade price during realtime updating of custom instrument charts. This has been corrected in version 7.3.5.
    --------------------------------
    A bug was introduced in the Setup: Schedules window, improved recently to add "Dup" (duplicate) buttons for schedules and actions. Clicking the "Suspend All Schedules" button would mistakenly issue the "Duplicate" command as well and issue a prompt for the name of the new schedule. This has been corrected.
    --------------------------------
    Versions of Investor/RT prior to 7.3.5 considered trading holidays that occurred within the last 30 days. This has been increased to 60 days, in particular to enable custom instrument daily (and intra-day) data generation to properly handle holiday dates when constructing historical data for pairs and other custom instruments. --------------------------------
    In addition to its normal function, the "Delete Temporary Files" command in the Control Menu, will trim the Message Log to a smaller size, discarding older logged messages. Formerly, it was necessary to open the message log for viewing for this trimming to take place. For users who run Investor/RT to long periods of time without quitting, it is recommended that you schedule the Delete Temporary Files function to run automatically each day or so.
    --------------------------------
    A bug was corrected in the POS indicator that adversely affected the calculated results for tick per bar periodicities when the "Seconds From Begin of Session" was requested.
    --------------------------------
    There is a change in the behavior of Investor/RT when responding to double-clicking a ticker in a quotepage to open a specific named traditional chart. In Setup: Preferences: Charts: General, if the double-clicking option is set to either "Substitute..." or "Multi-Link" and there is no traditional chart window open already for substitution, Investor/RT will open the specific chart (NOT a copy of the specific chart). Note that any changes you make and save to the specific default chart will become your default chart settings. In the General Chart preferences, the first of the three double-clicking options has been re-titled "Open A Copy of "Default Chart" in a New Window" to make it clear that this option always opens a copy of the default chart name, not the actual default chart. If you choose the first of the three options you have to specifically open the default chart name using the Open: Chart menu or the Open Chart button on the main toolbar to open the original default chart to make changes to it.
    --------------------------------
    The Cut and Clear commands in the Edit Menu are now supported in traditional chart windows. Cut (Ctrl-X) will copy the currently selected technical indicator to the clipboard and then delete the indicator from the chart. The Paste command can then be used to paste the indicator into another (or the same) chart if you wish. The Clear command will simply delete the selected indicator from the chart, i.e. Edit: Clear is equivalent to pressing the Delete key on the keyboard. Note that Cut and Clear are applicable only when a single technical indicator is selected in the chart window.
    --------------------------------
    When using buttons for technical indicator presets, some indicators, e.g. Fibonacci, Trendlines, have the effect of activating the appropriate drawing tool with the specified preset setup rather than adding the preset indicator immediately. Investor/RT now displays a message in the main toolbar to indicate the name of the drawing tool that has been activated. This makes it clearer that user drawing action is required to complete the addition of the indicator.
    --------------------------------
  • New Conditional Operator Added to RTL
    The RTL Language has been markedly improved by the addition of a new operator for conditional evaluation. The new operator is designed to allow formulas where one result is desired in some cases and another result in other cases. For example, suppose you want to write a custom indicator formula where the value of the custom indicator is the maximum close in 5 periods for bars that close higher than they opened, but for bars that close at or below their open, the value is to be the minimum close in 5 periods. This kind of conditional formula can be cleverly written as:

    (CL > OP) * MAX(CL,5) + (CL <= OP) * MIN(CL, 5)

    While this formula does do the job, it relies on the understanding that relational (true/false) expressions such as (CL > OP) evaluate mathematically to 0.0 or 1.0 thus the multiplication by zero or one cancels out one part of the result and preserves the other. Another disadvantage of this technique is that it requires the comparison of the CL and OP twice, thus it is inefficient. In this example the two expressions that control the evaluation are (CL > OP) vs. (CL <= OP). This formulation is more error prone since you must take care to assure that all possible cases are covered. For example if you mistakenly wrote the formula as:

    (CL > OP) * MAX(CL,5) + (CL < OP) * MIN(CL, 5)

    the indicator would mistakenly evaluate to zero whenever the close equals the open since both CL > OP and CL < OP are false in that case and have a value of zero.

    The new RTL "Conditional Operator" (the ? operator) addresses these concerns and allows conditional expressions to be written more succinctly, e.g.:

    CL > OP ? MAX(CL,5) : MIN(CL,5)

    The left operand of the ? operator is the conditional expression to be evaluated. The right side of the ? operator provides two alternatives (the "true" alternative, and the "false" alternative) separated by a colon. For custom indicators like this one, the expression CL > OP is evaluated bar by bar; for each bar for which the expression is true, the first of the alternatives is the resulting value, otherwise the second alternative value is used.

    The Conditional Operator can of course be used in scans and signals as well. For example:

    SET(HIALARM, CL > MA ? MAX(MA,5) : MA )

    This formula, run as a scan, will set the high price alarm level of the subject instruments conditionally, depending upon the relationship of the current price to some user-specified moving average. When the current price is above the moving average, the maximum value of that moving average during the preceeding 5 periods is used to set the alarm, otherwise, the alarm is set to occur if price reaches or exceeds the moving average itself.

    This formulation is equivalent to the more verbose "IF THEN ELSE" alternative:

    IF (CL > MA) THEN SET(HIALARM, MAX(MA,5)) ELSE SET(HIALARM, MA)

    In general, anywhere you want a numeric expression in RTL you can use a formulation of the form:

    <conditional expression> ? <expressionA> : <expressionB>

    where <conditional expression> is any RTL expression that can be evaluated as true or false, and the two alternative expressions are of arbitrary complexity. Unlike IF THEN ELSE, conditional expressions formed with ? and : can be nested. Be sure to use appropriate parentheses to guide the proper evaluation of more complex expressions. Here is an example of a nested conditional:

    CL > OP ? MAX(CL,5) : ( CL < MID ? MIN(CL,5) : MIN(CL,3) )

    This formula will compute the value of the indicator as MAX (CL,5) for each bar where CL > OP. For bars that close at or below the open, a second conditional evaluation occurs. For those bars, when the close is below the MID (the midpoint of the high-low range) the indicator result is MIN(CL,5), but closes above the midpoint of the range get MIN(CL,3).The entire expression above could be put into a scan that sets the value of a V# variable, i.e.

    SET(V#33, CL > OP ? MAX(CL,5) : ( CL < MID ? MIN(CL,5) : MIN(CL,3) ) )

    When formulating complex, possibly nested expressions such as this, use the "Check" button in the RTL setup window to review the evaluation steps Investor/RT will use when processing your formula. For the example above you will see something like this:

    Parsing: CL > OP ? MAX(CL,5) : (CL < MID ? MIN(CL,5) : MIN(CL,3))
    #1. Evaluate: T1=CL > OP
    #2. Evaluate: T2=MAX(CL, 5)
    #3. Evaluate: T3=CL < MID
    #4. Evaluate: T4=MIN(CL, 5)
    #5. Evaluate: T5=MIN(CL, 3)
    #6. Evaluate: T6=T4 : T5
    #7. Evaluate: T7=T3 ? T6
    #8. Evaluate: T8=T2 : T7
    #9. Result is: T9=T1 ? T8

    If you review the steps carefully you can verify that each operator is paired with the right expressions as you intended. Use extra parentheses around your expressions both to improve readability and assure that your intent is clear.

    The conditional operator also has some interesting uses when working with user text variables (T# variables). For example, the scan:

    SET(T#1, CL >= MA ? "Above" : "Below")

    will set the text variable T#1 to one of two strings depending on the expression CL >= MA.

    In a Signal employed in a trading system, it is sometimes desirable to include NOTE tokens in the signal formula to output textual data to the backtest detail report. Sometimes, different NOTE annotations are needed under different conditions. A conditional expression such as:

    (POS_STATE = 0 ? NOTE_A : NOTE_B)

    references two NOTE tokens with differing setups. When the trading system is out of the market (POS_STATE is zero) the NOTE_A annotation text will be output; NOTE_B will be output when the trading system is either long or short. Since a signal must be a true false expression, and since the conditional expression above is considered a numeric expression, you can append this expression to other signal criteria like this:

    ... AND (POS_STATE = 1 ? NOTE_A : NOTE_B) > 0

    using AND to append it and adding the > 0 to make the appended expression a true false expression.
  • Setup Schedules: Duplicate Function for Schedules/Events
    The Setup: Schedules window now has "Dup" (Duplicate) buttons for duplicating existing schedules, or duplicating events within a schedule. To make a duplicate of an existing schedule, first select the schedule name and click the "Dup" button under the schedule list. Investor/RT will prompt you to provide a name for the new schedule. The duplicated schedule will then appear at the bottom of the list of schedule. All actions of the originally selected schedule will be duplicated into the newly create schedule. This will enable you to easily take an existing schedule and make a copy of it before making revisions, or to server as a starting point for another new schedule. Similarly, any action within a schedule can be duplicated by selecting the action and clicking the "Dup" button under the action list. A duplicate copy of that action will then be added to the end of the existing list of actions for the schedule. You may then edit the duplicated actions as needed. This new capability can take some of the tedium from the process of creating schedules with many of the same action types.
  • Import/Export of a Layout
    The new File: Export: Current Layout will create a text file containing definitions of all open exportable windows. These include all traditional chart windows, RTL setup windows, Trading System setup window, and QuotePage windows. The exported definition file will also contain all embedded RTL objects that are referenced by the open windows. This is a convenience function that enables the definitions of an entire workspace of charts, quotepages and RTL objects to be exported by one command. The exported file may be imported into another Investor/RT system using File: Import: Layout Definitions.

    The Export Current Layout command will use the Import/Export Preferences to determine whether to prompt for the export file name or whether to display the resultant export text in a window after the export is complete. If the user elects not to be prompted for the export file name, the exported definitions will be saved in a file named layout.txt in the admin directory/folder.
  • Version 7.3 Rev 4 Fixes, Miscellaneous Enhancements
    --------------------------------
    The chart popup menu command, Export Data was improperly exporting indicator values as whole numbers in some cases. Investor/RT has been revised so that exported indicator data will use the display format of the instrument associated with the indicator except when the scale of the pane containing the indicator is using a "Custom Markings" display format (in which case that format is used).
    --------------------------------
    The Export command in the RTL Setup window will check the syntax of the RTL object before exporting the definition of the scan, signal, or custom indicator.
    --------------------------------
    The RTL tokens GL and GLPCT were not calculating properly for backtests of futures. This has been corrected.
    --------------------------------
    When using File: Import: Scan/Signal/CI to import an RTL object, the resulting RTL object will now be opened for viewing and/or editing after the import is completed. Note that only the main RTL object will be opened. For example, if you import a scan definition that references several other custom indicators or other scans, those subordinate RTL objects will be imported but only the "parent" scan will be opened for viewing.
    --------------------------------
    The Format Tab of the Custom Column Setup window has a new "Numeric Display Format" option for the custom column. Choosing "Instrument" from the list of formats will cause the resulting custom column to display its numeric value using the display format of the instrument in each row of the custom column.
  • Version 7.3 Rev 3 Fixes, Miscellaneous Enhancements
    --------------------------------
    When right-clicking (control-click on Macintosh) on a ticker symbol within an instrument selection list, the "Insert" item in the popup menu was inoperative. The Insert Menu item now prompts the user for a new ticker symbol to be added.
    --------------------------------
    The RTL rounding function ROU was rounding the subject number improperly when the number was negative. This has been corrected.
    --------------------------------
    The RTL statistic functions MIN, MAX, AVG, SUM, and STD now accept any arbitrary arithmetic expression as the second parameter indicating the period over which to do the statistic. For example MAX(HI, V#50 + 1) will take the current value of V#50, add one and use the resulting number as the number of periods to examine to find the maximum high price. Similarly MIN(CL, POS + 1) will give you the minimum close over N periods where N is determined by adding one to the result of the POS technical indicator.
    --------------------------------
    Chart annotation indicators, when attached to a specific date/time, were not visible in charts having tick or tickbar periodicities. This has been corrected.
    ---------------------------------
    Chart drawing tools for Trendlines, Parallel Trendlines, and Fibonacci Retracements were ineffective when drawing in panes containing only indicator(s). These tools now function properly in indicator-only panes.
    ---------------------------------
  • Setup Schedules Window Enhancements
    The Setup: Schedules window is now resizable. Resize this window vertically in order to see more schedule names and/or schedule actions at one time. The list of schedule names is now sorted alphabetically at startup, so you can effectively achieve control over the order of the schedule list by the way you assign schedule names. You can rename a schedule by selecting its name and clicking the Edit button beneath the schedule list. Edit the schedule name in the ensuing window and press OK. Note that newly created schedules are always added to the end of the schedule list at the left side of the window, and schedules will retain the same position in the list when they are renamed. However, when Investor/RT starts up the next time, the list of schedules will be sorted alphabetically by name.

    If the Setup: Schedules window is resized, Investor/RT makes note of the new size. When you use the menu to open the Schedules window later, it will open at that same size. Investor/RT also keeps track of which schedule is selected so when you close and later reopen the Schedules window, that schedule and its associated actions will be selected.

    The "New" button beneath the list of actions for a schedule is used to add a new action to a schedule. The ensuing "Add New Action" dialog box, by default, will open with the "Run Scan" action type selected and the list of available scans displayed. If instead, you first select an existing action in the list before clicking the New button, Investor/RT will open the "Add New Action..." window with that particular action as the starting point. This can make it more convenient when adding new actions. For example, suppose you have a schedule already setup that opens a few charts and you wish to edit the schedule to add a few more "Open Chart..." actions. Click on one of the existing "Open Chart..." actions, then click the "New" button. The ensuing dialog box will appear with "Open Chart" already selected, so all you have to do is click to pick the chart name you want.
  • Enhanced Copy/Paste for Buttons, Technical Indicators
    Chart Buttons do not lend themselves to the drag and drop feature that has long been used to copy indicators easily from one chart to another. This is because clicking on a button does not "select" the button as does a click on other indicators. For menu buttons, a click will popup a menu of user-specified choices; a click of a non-menu button will execute the button's purpose.

    To address the need to easily copy a button from one chart to another Investor/RT 7.3 Rev 3 has a enhanced copy/paste facility. This is a general purpose facility, you can use standard copy/paste commands to copy and paste any single indicator from one chart window to another. When you "right-click" on a button, you will notice a new menu item "Copy this Button". When you choose this menu item, the button's definition will be copied to the "clipboard". You can then go to another chart window, right-click in a pane and choose "Paste".

    You can even use this new facility to move buttons from one pane to another in the same chart. First you copy the button, then delete it from its original pane location (right-click on it and choose Delete...), then right-click in a different pane and choose Paste to add it there. If you have created a "Button Pane" at the top of the chart, however, all buttons added via the Add Button command will be added to that pane.

    For other indicators, the Copy/Paste function works similarly. First you "select" an indicator by clicking on it, then use the Edit Menu's Copy command (shortcut Ctrl-C) to copy it, then activate another chart window and use the Edit Menu's Paste command (shortcut Ctrl-V) to paste the indicator into the chart. Various pop-up menus have been enhanced to add the Paste command. For example, you can right-click on any indicator and choose Copy from the indicator popup menu and you can right-click inside any chart and choose Paste from the Chart popup menu. Macintosh users will use Command-C and Command-V for copy/paste shortcuts, and Control-Click for right-clicking with a single-button mouse.

    The Edit Menu's "Show Clipboard" command has been enhanced to show not only the "textual" content of the clipboard but also the indicator type and setup if there is an indicator on the clipboard.\
    When an indicator (other than a button) is pasted into a chart, it is selected. This means you can immediately press the enter/return key to "edit" the indicator's settings, or press the Delete key to remove the indicator from the chart if you wish.
  • Quote Page Statistics (QSTAT) Enhancement
    The Quote Page Statistics indicator has a new statistic named "Percent True". This statistic is used in conjunction with the Signal Marker (SIGNAL) indicator to measure for each bar the percentage of the quotepage's instruments for which the specified signal is true. For example, you could setup a Signal Marker preset that references the signal "CL > MA" where MA is the 200 period moving average. The QSTAT indicator setup to reference this signal with the Percent True statistic, will draw a line in a chart showing bar for bar, the percentage of the instruments in the specified quotepage trading above their 200 period moving average.
  • Rev 2 Fixes, Miscellaneous Enhancements
    --------------------------------
    The MPD improvements introduced in version 7.3 Rev 1 have dramatically reduced the processing overhead of this powerful indicator. However, the faster MPD was in some cases loading insufficient data, e.g. when the MPD indicator was nested inside some other indicator, such as a moving average of an MPD. This has been corrected.
    --------------------------------
    The Times and Sales preference for multi-link color was not being honored when opening Time and Sales windows via layouts or otherwise. This has been corrected.
    --------------------------------
    When using the Time and Sales Preferences window to edit the preferences of an open Time and Sales window, clicking either the "Save as Default" or the "Apply" button would have the effect of bringing the actual Time and Sales window to the front, thereby partially, or perhaps entirely, covering the preferences window itself. This has been corrected so that the preferences window will remain the top most window after an "Apply" or "Save as Default".
    --------------------------------
    A minor flaw in the Setup: Preferences: User Variables window was fixed. When clicking on various V# variables in the list, the title of the display format menu was not reflecting the correct number of the V# variable selected.
    --------------------------------
    Improved documentation for running multiple Investor/RT databases was added to the built-in help. To review this help topic, open Setup: Preferences: Database and press F1 (or click the help button). If you have web-based help enabled, Ctrl-click the Help button on the main toolbar to access this built-in help topic (Macintosh users: option-click).
    --------------------------------
    When the CI token is used in a scan/signal/custom indicator and the preferences for the CI token are accessed, Investor/RT was incorrectly hiding the "Edit" button. The Edit button is now visible so you can click it to inspect the details of the custom indicator setup.
    --------------------------------
  • Import Current Data Improvement
    The Import function "Current Quotes/Other Data" can now accept an import format that does not include the "Ticker". When such an import is performed, Investor/RT checks the name of the file that is being imported and tries to determine if the file's name begins with a known ticker symbol. If so, the data in the file is imported into that ticker's designated fields (the data items specified in the format). This kind of import function can also be automated via a schedule using the schedule action "Import Current Data". This new feature would typically be used to import data into V# or T# variables for some symbol from a single line input file produced by another program.

    For example, NinjaTrader, a trade automation software product that works with Interactive Brokers and other brokerage services, produces a "feedback" file when a trade is placed. The feedback file's name begins with the ticker symbol involved and the contents of the file contain various fields of text and numeric data, including the trade price, size of position, etc. This new import feature can be used to import such data into Investor/RT so that running signals or trading system indicators can be aware of the status of the position for any ticker symbol.
  • RTL User Text Variables (T# Variables)
    The RTL language has been extended to include user text variables that hold up to 30 characters of textual information. Each ticker symbol tracked by Investor/RT has its own set of 32 textual values. The RTL token names for these variables are T#1, T#2, ... T#32, analogous to the nomenclature for numeric V# variables. Like V#'s, any T# variable may be displayed in a quotepage and may be included in a quotepage format. When a T# column is present in a quotepage, the cells in that column may be edited manually or updated with copy/paste operations, just as V# numeric values for any ticker symbol are adjusted in a quotepage.

    The 32 T# values for each ticker are retained in the Investor/RT database. The Import feature of Investor/RT supports importing of textual content into any of the 32 T# variables. Simply setup a quotepage format that specifies the arrangement of the tab delimited data items in the incoming file and use the "Current Quotes/Other" import type to bring external ticker-specific textual data into one or more T# variables.

    The RTL SET function can be used to clear or update the contents of any T# variable. For example, the following command in a scan:

    SET(T#32, CLEAR)

    will clear the text from T#32 for each instrument scanned. Setting can be conditional of course:

    IF (BUYSIGNAL) THEN SET(T#11, "Buy Now!") ELSE SET(T#11, CLEAR);

    Since T# variables can be used in chart annotations, you could, for example, have a chart annotation setup as "%TICKER at %CL %T#11". Thus the annotation will normally display just the ticker and current price but when T#11 is SET to "Buy Now", the annotation will update, showing that text in the chart window. Similarly, %T# tokens can be used in Signal Action message formats or in Chat Room or Email Alert message formats.

    The SET command can not only be used to set a string constant into a T# variable ( e.g. SET(T#1, "Hello") ). The "string" can in fact be a message formatted with %RTL tokens, as in:

    SET(V#1, MA) AND SET(T#20, "Buy %TICKER Below %V#1")

    The moving average MA is first calculated, then the string "Buy %TICKER Below %V#1" is composed into something like "Buy AAPL Below 29.50" and this resultant string is set into the T#1 variable for display elsewhere in quotepages or annotations. You can even compose text from one or more T# variables:

    SET(T#5, "%T#3 %T#4");

    If, for a particular ticker symbol, T#3 is "hello" and T#4 is "world", this RTL formula will set T#5 to "hello world". If the resultant text is too long, it will be truncated to 30 characters by the SET operation.

    The Setup: Preferences: User Variables window has been enhanced to include both V# and T# variables. Use this window to assign a quotepage column title for each T# variable to indicate its purpose.

    The RTL Setup Window will show the current title for each T# (or V#) variable in the list of RTL tokens at the upper right of the window. If you right-click or double-click on a V# or T# token in this list, Investor/RT will open up the User Variable Preferences window, showing the setup for that particular V# or T# so you can conveniently enter a title and press OK. The RTL Setup window will then be updated to show the revised title.

    T# variables can be scanned using character pattern matching, just as any other textual data token (such as USERDATA, or NAME). For example, the scan formula T#5 = "BUY*" will list all instruments whose T#5 value begins with the three letters BUY. The asterisk matches any string of zero or more characters while the ? will match any signal character. For example, T#5 = "*BUY*" will find instruments having BUY anywhere in their T#5 string. The pattern "?B??" will match a T# string having exactly 4 characters with the second character of the 4 being a B.

    T# variables can be added directly to quotepage like any built-in column, or you can add a T# variable using a Custom Column if you wish to have more control over the color presentation of the text in quotepage cells. When a custom column references a built-in T# column, remember that the only "rule" type that you can use for text variables in the "Matches Text Pattern" rule. When you SET T# variables you can set a color code of some kind into the text that in turn is detected by the custom column and used to control the background/text color of the custom column cells. Here is a simple example. Consider a scan that runs periodically (the scan could run standalone, or the scan might be invoked by another custom column for that matter. Here is the scan formula:

    IF (SET(V#1, MA) && CL > MA) THEN SET(T#1, "CL above %V#1")
    ELSE SET(T#1, "CL below %V#1")

    The custom column for T#1 could have two rules, the first one is a "Matches Pattern" rule with pattern text set to *above*, i.e. any string containing the word above, with an associated color combination of white text on green background. The second rule would match for pattern *below* and when true the text will display in white text on red background.
  • MPD Performance Enhancement
    The Mixed Periodicity Data (MPD) Indicator is one of, perhaps the, the most powerful tools in the comprehensive library of indicators offered by Investor/RT. When used in intra-day charts, especially those where tick and tick per bar periodicities are used either in the chart or in the MPD setup itself, the loading of such intra-day data prior to MPD calculation is especially burdensome on the computer's processor. This is especially true when the user is maintaining many days of tick data, or when dealing with huge numbers of ticks for the current session for very actively traded stocks for futures. When the MPD indicator is used in a chart that has a view period of "Last N Bars" or "Last N Hours" or "Last N Days", or even "begin to Present", Investor/RT 7.3.1 will fetch the bar data needed for MPD calculation from the most recent ticks working backwards until sufficient data is retrieved. This is especially efficient for recalculations in realtime since typically, only the last few bars are needed.
  • New RTL Token, DELAY, for use in HTTP Commands
    Signal actions can be setup to issue http commands via your web browser. This feature can be employed to send http messages to AutoTrader software for issuing trading orders to Interactive Brokers. The new DELAY token can be included (as %DELAY) in the http command line to cause a small time delay before the http command is sent. This can be useful, perhaps necessary, when placing several consecutive orders using this facility. Then token %DELAY introduces a delay of one second. If DELAY is followed immediately by a numeric digit, e.g. %DELAY5, the number specifies the number of quarter seconds to delay, 5/4 or 1.25 seconds in this example. Similarly %DELAY2 will delay 2/4 or half a second. The %DELAY[n] token in the command line is removed before sending the resulting command line to the web browser.
  • New Drawing Option for Price Bands Indicator
    A new "Style" option has been added to the Price Bands indicator called "Open Close Bar". This style is similar to the "Thin Line" and "Thick Line" options in that it take two custom indicators, and draws a vertical line (thin) between the two custom indicators (Price 1 and Price 2). Actually, this style is exactly like the "Thin Line" option with one addition. It draws a small line protruding from the left of the vertical line at Price 1 (representing the "open" price), and it draws a small line protruding to the right at Price 2 (representing the "close" price).
  • New RTL Function
    PNZ. (Test for Positive/Negative/Zero). PNZ is a arithmetic function in the RTL language. It takes an arbitary expression as its single parameter and it determines whether the expression is above, equal, or below zero, returning the result +1, 0, or -1 respectively. For example the custom indicator formula:

    PNZ(CL - MA_A) + PNZ(CL - MA_B)

    will evaluate to +2 when CL is above both moving averages, or -2 when CL is below both moving averages, or +1 if the CL were above one MA and below the other. Note that:

    PNZ (expression1) * (expression1)

    is arithmetically the same as ABS(expression1), the absolute value.

    More complex conditional setting of variables can be done with greater brevity. For example, the scan:

    IF V#27>0 THEN SET(V#28, exp1 - exp2 ) ELSE SET(V#28, exp2 - exp1);

    can be expressed more simply as:

    SET(V#28, PNZ(V#27) * (exp1 - exp2) );

    There is a subtle difference between the two examples however. When V#27 is equal to zero, V#28 is set to exp2 - exp1 in the IF THEN ELSE example, while V#28 will be set to zero in the PNZ example.
  • User Variable Display Format Improvement
    The Setup: Preferences: User Variables window now provides a new display format for user V# variables, called "Instrument" format. Instead of a fixed format for the user variable, any user variable can now be setup to use instead the display format of its associated instrument. When a V# variable has this format, the numeric values displayed in the quotepage column for that V# will be shown using the price format of the instrument for each row. Chart annotations that include %V#n in the annotation text will similarly display V# values using the instrument display format of the instrument associated with the annotation. During backtesting the Show and Note command output will be similarly affected for V# variables setup this way.
  • Signal Actions and User Text Variables
    A "Text to T#" checkbox in the Signal Action setup can be used to set the user designated text into a particular T# variable when the signal action triggers. Note that only the first 30 characters of the text will be set into the T# variable. This feature may be useful in updating chart annotations that use %T#n when signals trigger in charts for example.
  • Major Enhancement: Three New Intraday Periodicities
    Investor/RT now supports three new intraday periodicities. Unlike time interval bars where bars are formed over a fixed period of time, or tick bars where bars are formed to include a fixed number of trades, the new periodicities allow the Investor/RT user to monitor intraday bars where each bar represents:

    (a) a fixed range of price movement.

    (b) a fixed change in price since the opening price of the bar.

    (c) a fixed amount of trading volume.

    We will refer to the new periodicities as Range Bars, Change Bars, or Volume Bars. Range Bars are completed when the high minus the low price of the bar exceeds some threshold value. Change bars complete when the absolute distance between the current trade price and the open exceeds some threshold. Finally, volume bars complete when the accumulated trading volume since the bar began exceeds some threshold.

    The new intraday periodicities can be used throughout Investor/RT, in charts of all kinds, even in backtesting, scanning, custom columns, etc. Technical analysis using built-in or custom indicators can be applied to range bars, change bars, and volume bars just like any other periodic data. The standard Periodicity Control that you click on to open the periodicity selection window, includes choices for the new intraday periodicities. Select the periodicity type you want and enter the threshold range, change or volume in the space provided.

    The Button indicator has been enhanced to provide convenient switching among the new periodicities. For example, a menu button with the setup string, ".25R, .15C, 1000V" will provide a menu for switching among a .25 Range Bar, a .15 Change Bar, or a 1000 Volume Bar periodicity in the chart window.
  • DTN Satellite - DTN.IQ Integration
    This major enhancement was introduced for testing in a revision to the 7.2 release. We repeat it here due to its importance. Investor/RT is the first software product to support dual usage of DTN.IQ for historical data access while simultaneously monitoring real-time market data using a DTN Satellite data feed. DTN.IQ historical server support is now a standard feature of the DTN version of Investor/RT for those users who have both a DTN satellite receiver and a DTN.IQ account with Internet access. In the DTN menu, choose Setup and enter your DTN.IQ user id and pin number in the spaces provided. DTN users may then use the Data Download window, or simply click the data download button in any chart window to retrieval daily or intraday historical data for any ticker symbol or quotepage of ticker symbols. Users with dual DTN Satellite/DTN.IQ accounts also have the flexibility to use the Reconfigure command in the File Menu, to run Investor/RT with DTN.IQ as the source for both realtime data flow as well as historical data access.
  • New Keyboard Shortcut for Marking Intraday
    A new keyboard shortcut is available in the Setup: Preferences: Keyboard Shortcut window. The selection "Mark for Intraday" is located at the end of the list of Toolbar / Chart actions. The effect of this shortcut is to mark any instrument(s) in the front chart window for intraday monitoring. For example, if you setup F2 as "Mark for Intraday" and you open an intraday chart of IBM and see a warning in the chart window title saying "NOT MARKED INTRADAY!", you can then press F2 to mark IBM for intraday monitoring. The warning in the chart window title will disappear. Since Chart Buttons can invoke keyboard shortcuts also, you may use this new feature to create a "Mark Intraday" button in chart windows if desired.
  • New Drawing Options for Custom Indicators
    In the preferences for the "Custom Indicator" indicator, there are three choices for how zero values are to be handled during the drawing of the indicator. The Connect All Values option simply means to draw the indicator line without any special consideration for zero values. The Connect Non-Zero Values option is equivalent to the option in earlier versions of Investor/RT for "When Drawing, Ignore Zero Values". This option results in drawing the indicator as if the zero values were not present at all, i.e. all non-zero values are connected by a line, the line being flat over periods of time when the indicator is zero. The third option, "Connect Consecutive Non-Zero Values", is new. It calls for the custom indicator drawing to be suppressed during periods when the indicator is zero, i.e. only consecutive non-zero values are connected. Consider for example the custom indicator MA * (CL >= MA), where MA is some moving average. This indicator will have the value zero during periods that the close of the bar is below the moving average; otherwise the indicator value is simply the MA itself. If you put this custom indicator into a chart pane by itself using the new (third) drawing option, the line will be visible only during periods that CL >= MA. If you add the same moving average to the same pane directly using a different line drawing color, the overlaying effect of the MA and custom indicator will give you a two-color line effect with the MA values filling in the periods of time when CL < MA. A more detailed tutorial on utilizing this new drawing option to, in effect, provide a "PaintBars" feature for custom indicators is on the Linn Software web site at:

    http://www.linnsoft.com/tutorials/paintingLines.htm
     
  • Slide Show Enhanced: Point & Figure, TLB, Renko Charts
    Point and Figure, Three Line Break, and Renko Charts are now eligible for inclusion in the Investor/RT slide show feature. For single chart slideshows, first open the PNF, TLB, or Renko chart, established it as the front chart window, then open the quotepage containing the list of ticker symbols to use and initiate the slide show from the quotepage toolbar. A slideshow button will be added to the toolbar for three chart types in a future release. The new chart types may also be used in multi-chart slide shows in similar fashion.
  • New Schedule Action: Post Session
    A new schedule action, Post Session, is now available as a "Database Function". The older Post History schedule action will perform posting of current data to the daily historical database for all sessions that have a posting time, but it will NOT post those sessions that have been setup for manual posting only. The new schedule action Post Session, allows finer control over which session(s) are to be posted via the schedule and also allows users who have manual posting setup for a session, to post such sessions(s) via a schedule.
  • Version 7.3 Fixes, Miscellaneous Enhancements
    Traditional Chart view period settings that specify a starting time are now rounded down to the nearest minute. In prior versions, Investor/RT would round the time down to the nearest 5 minute multiple.
    --------------------------------
    Several bugs were corrected in the MetaStock importing functions of Investor/RT. Specifically, users of 3rd party data services that provide daily data in MetaStock format will now be able to import reliably.
    --------------------------------
    Enhancement 17 in Version 7.2, "RTL Numeric Comparisons Revised" outlines the rationale for a new method of doing arithmetic comparisons in RTL. The implementation of the new method was improved (fixed) and is no longer based on the display format of the instrument being evaluated. The revised method will more properly compensate for rounding errors introduced in mathematical computations in RTL.
    --------------------------------
    A bug was fixed in the computation of the Donchian Channels indicator.
    --------------------------------
    When editing the view period preferences for an open chart, changing the view period from "Last N Bars" to either "Begin to Present" or "Begin to End" would result in a re-display of the Last N Bars, rather than honoring the new beginning and ending date/time frame specified by the user. This bug has been fixed. --------------------------------
    Mouse feedback in pane titles and Info Box indicators reported the wrong date in monthly charts, a holiday related bug related to a trading holiday occurring on the last day of the month (U.S Memorial Day). The chart itself showed all bars correctly; indicator calculations were unaffected. This minor date display bug is fixed in version 7.3 monthly charts.
    --------------------------------
    Tick Bar charts forming in real-time were not accumulating incoming ticks while the tick bar chart was scrolled back in time. This serious bug is fixed in 7.3.
    --------------------------------
    The Profile technical indicator was enhanced to use the display format of the associated instrument when drawing price value labels in the chart.
    --------------------------------