|
|
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
- New in 7.3.5 (August 23,
2004)
- New
Database Utility: Synchronize DWM Database
-
Improved Intra-day/Daily Data Generator for Custom Instrument Pairs
- Pair Wizard Improvements
- Custom Instrument
Export and Import
- Using Buttons
to Add New Instruments to a Chart
- Variable Ticker
Symbol References in RTL
- Periodic Custom
Column Recalculation
- Point &
Figure, TLB Calculation Using High, Low
- Fibonacci Time Zones
Enhancements
- Profile Indicator
Enhancements
-
Version 7.3 Rev 5 Fixes, Miscellaneous Enhancements
- New in 7.3.4 (August 5,
2004)
- New Conditional
Expression Operator Added to RTL
-
Setup Schedules: Duplicate Function for Schedules/Events
- Import/Export of a Layout
-
Version 7.3 Rev 4 Fixes, Miscellaneous Enhancements
- New in 7.3.3 (July 27,
2004)
-
Version 7.3 Rev 3 Fixes, Miscellaneous Enhancements
- Setup Schedules
Window Enhancements
-
Enhanced Copy/Paste for Buttons, Technical Indicators
- Quote Page
Statistics (QSTAT) Enhancement
- New in 7.3.2 (July 15,
2004)
- 7.3 Rev. 2 Fixes,
Miscellaneous Enhancements
- Import Current Data
Improvement
- New in 7.3.1 (July 12,
2004)
- RTL User Text Variables
- MPD Performance Enhancement
- New RTL
Token, DELAY, for use in HTTP Commands
- New Drawing
Option for Price Bands Indicator
- New RTL Function: PNZ. (Test for
Positive/Negative/Zero)
- User Variable
Display Format Improvement
- Signal Actions and
User Text Variables
- New in 7.3 (June 23,
2004)
- Major
Enhancement: Three New Intraday Periodicities
- DTN Satellite - DTN.IQ
Integration
- New Keyboard
Shortcut for Marking Intraday
- New Drawing
Options for Custom Indicators
-
Slide Show Enhanced: Point & Figure, TLB, Renko Charts
- New Schedule Action:
Post Session
- Version 7.3
Fixes, Miscellaneous Enhancements
-
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.
--------------------------------
|
|
|
|
|
|