RightEdge 1.2 Release Notes
RightEdge now supports side-by-side installation of different
versions. You do not need to uninstall RightEdge 1.1 in order to
install RightEdge 1.2. The first time you run RightEdge 1.2, your
settings will be copied over from RightEdge 1.1. After that if you
make a change to your settings in one version, it will not be reflected in
IBarDataRetrieval interface modified. GetAvailableFrequencies method
removed, redundant arguments to RetrieveData removed, and
BarConstructionType parameter added to RetrieveData method.
Interactive Brokers TWS plugin changes
TWS Plugin replaced by non-ActiveX, native .NET based version.
TWS Plugin supports BarConstructionType when retrieving historical
TWS Plugin can connect to an instance of TWS running on a
Fixed an issue where weekly options may not get data using
Open Position and Pending Order Persistence
In RightEdge 1.1, positions opened by a live system could be
persisted between runs, but pending orders would not be persisted.
Now, when you stop a live system, both open positions and
pending orders will be saved to a file named LiveOpenPositions.xml
in your trading system project directory.
When you start a live system, if there are any saved positions,
you will be prompted to select which ones are still active.
A new method called SetExistingOrders has been added to the
IBroker interface so that RE can give the broker plugin the
list of orders that should still be active.
The IService.Connect method now takes a parameter of type
ServiceConnectOptions which lets the plugin know if it will
be used for historical data retrieval, live data, or for
When you connect to TWS using the IB plugin for broker
functions, the plugin will determine whether each of the
orders that were saved as pending is still active,
cancelled, or filled. If the order was cancelled or
filled while disconnected, the plugin will raise the
OrderUpdated event so that your system will be notified of
the change. Fill information for previous days may not
be reported by TWS, so if the order was filled on a previous
day while you were disconnected, it might be reported as
canceled instead of filled by the plugin.
Support for discretionary trading. You can now submit opening
orders, cancel existing orders and close positions from within the
Support for Rudimentary Automation
RightEdge supports some basic automation using the command
line. You can now update historical data, open a project,
start collecting live, run a simulation or start a live system all
from the command line. You can run RightEdge /? for details or
refer to the documentation under the Automating RightEdge
section in the RightEdge Environment chapter.
Support for trading inside bars or on the close of a bar in
A TradeInsideBars property has been added to SystemData.
If enabled, the open price of the bar will be processed first,
then the low and high, then the close. This makes it
possible to have the profit target or stop loss filled on the
same bar that a position is opened. BarOpened and
BarClosing events have been added to SystemData which allow you
to write logic that runs just after the open or just before the
close (if the TradeInsideBars property is enabled).
The indexer has been removed from the ISeries interface, and a
LookBack method and Current property have been added.
Bar data is now provided as an RList<BarData> or
BarList, which provide a Current property to get the current
value, and a LookBack method to access previous values.
The Position.State enumeration has been renamed to
The PositionOrder class has been renamed to
PositionOptions. The OrderSymbol property of this
class has been renamed to Symbol, and the NumShares
property has been renamed to Size.
The BrokerTransactionType enumeration has been renamed
The GetPendingPositions(), GetOpenPositions(), etc.
methods in PositionManager return
IList<Position> instead of List<Position>.
The PositionCollections property has been removed
from the BaseSystemHistory class.
The Order class has been renamed to BrokerOrder.
The SubmitOrder() method in PositionManager
takes an OrderOptions object instead now, and
returns an Order object. If the order
cannot be submitted, the Error property of the
returned Order will have error
information. If it was submitted, the
Error property will be null.
Added TargetPriceType enumeration for use with
profit targets and stop losses.
OrderFilledEventArgs has been changed to use
the new Position class. The
PositionState property has been removed
since it is now redundant.
The Price class has been modified to be
immutable once it has been created.
delegate has been removed, and the
PositionManager.OrderUpdated event is
now of type
The PositionTimeOut property has been
renamed to BarCountExit.
Various methods have been removed:
now takes an RList<BarData>
and returns a lookback index.
A couple of new utility indicators were added:
Highest - Finds the highest value within a series for the
specified number of periods.
Lowest - Finds the lowest value within a series for the
specified number of periods.
Bugs were fixed in various indicators:
Aroon Up and Down - If the highest high or lowest low occurs
twice, the indicator now uses the most recent occurrence
instead of the oldest.
Average Price was reclassified into the "Other" category
from the "Trend" category.
Average True Range - A bug related to how this indicator
was initialized was fixed.
Chaikin Money Flow - The first value for this indicator
was not being returned.
Chaikin Volatility - This indicator was returning
values before it was fully initialized.
Consecutive - This indicator now correctly handles
cases where the input data has no value.
Dynamic Motion Index - Modified indicator so that
it will not return values before the 30th bar
(otherwise it might return a value for one bar but
not the next, since the period for the RSI used
can vary between 3 and 30).
Envelope Lower and Envelope Upper - the formula
was (price +/- (SMA * shift/100)), it has now
been corrected to SMA * (1 +/- (shift / 100)).
Forecast Oscillator - This indicator was using
a linear regression instead of a forecast for
the next bar based on the linear regression.
Historical Volatility - This indicator was
not including input data from the first
n bars, where n is the period
of the indicator.
Klinger Oscillator - A bug related to how
this indicator was initialized was fixed.
Mass Index - Added a constructor
argument for the period over which the
sum is calculated.
Money Flow Index - Fixed a problem in
the calculation when the money flow
was the same two bars in a row
Negative and Positive Volume Index -
The calculation was fixed and a
constructor argument for the seed
value was added.
On Balance Volume - Bug fixed that
would occur if the close of the
second bar was less than the close
of the first, and when two closes
in a row are the same.
Price Channel Lower and Upper -
These indicators have been
corrected to not use the value
from the current bar in their
Qstick - The first value for
this indicator was not being
Relative Momentum Index -
This indicator was not
returning values for some of
the early bars where it
should have returned a valid
Stochastic Momentum Index
- This indicator was using
the midpoint instead of
the distance to the
midpoint for the initial
value of the EMA used to
smooth the numerator.
Stochastic Oscillator -
This indicator has been
modified so that its
result is now multiplied
D - This indicator was
not returning values
for some of the early
bars where it should
have returned a valid
Tirone Levels Lower,
Center - These
incorrectly using a
value of zero for
the lowest low.
Average - This
always uses a
Oscillator - A
value to be a
Acc/Dist - The
whether to use
the true range
high or true
range low was
Fixed a problem where thinly traded issues may throw an
exception while saving live data using the Access data store.
Fixed a volume problem when using QuoteTracker for real-time
If the OpenTick plugin encountered an invalid symbol
during download, it would give up on all symbols. Now
it will continue the download for all of the other
System Results plugins now display author and company name (if
specified) in the Information dialog.
Added hourly aggregation to the Breakdown System Results.
Added the ability to save free form notes with a symbol
(right click on the symbol).
Output pane now automatically scrolls to the bottom most
RightEdge can now remember the last open project and
open it on the next program load (See Options dialog to
Fixed some small grammatical errors in the Center of
Gravity Oscillator and Forecast Oscillator help.
In the Symbol Information form, the "Build Prices
From:" dropdown has been relabeled to "Construct
You can now double click on an error in the data
download window to see the full error (previously
this only worked if the error was an exception).
Spike filtering on charts. Right click on
any chart to eliminate high or low spikes that
Added support to the Yahoo plugin to download
weekly and monthly data natively.
You can now submit an order for a pending
Several changes have been made to the data
A default symbol name and frequency can
now be specified on the first tab, instead
of having to set up fields for each of
these values in the fields tab. In
addition, there is a Details button that
allows you to specify other symbol
information (such as the asset type, tick
size, strike price, etc.). If you do
not specify a default symbol name or a
field in the file to use for the symbol
name, the file name of the file being
imported will be used.
RightEdge will attempt to auto-detect
import settings for your data
file. This will happen when you
add the first source file. You can
invoke the auto-detection at a later
time with the Autodetect button.
Forex symbol names without a slash in
them (ie "EURUSD" instead of
"EUR/USD") will now be recognized
You can double-click on a file in
the list of files to import to view
it in the file view.
You can specify the decimal and
thousands separators for numbers
in the "Formats" tab of the