RightEdge is impressive in that it appears to be designed from the ground up with a corporate grade IT architecture. This is in contrast to some other packages that appear to be designed by traders who got the IT people involved in implementation after the general design was specified.
Some examples from their documentation that I really like are their Data Store and Plug-in architecture.
Jerry
----------- from thier online user guide ------
Data Store Development
RightEdge ships with a number of data storage mechanisms, known as data stores. Data stores are simply where RightEdge reads and writes tick and bar data. For each different type of data store there are trade offs. For example, the SQL Server data store requires extra setup steps and requires more system resources than the binary data store. One of the shining benefits of the SQL Server data store is that all data stored by RightEdge is accessible through SQL which is well known and well documented. SQL Server can also be extended by the end user to manipulate data using triggers, stored procedures and other features of a world class database.
While this flexibility is powerful, the ultimate power and flexibility can be derived from implementing a data store plugin. As the name implies, this plugs directly into RightEdge. RightEdge will call the data store directly.
Service and Plugin Overview
RightEdge ships with a number of
"out of the box" plugins. The plugins provide core pieces of functionality to RightEdge. In fact, plugins are not mere extensions of RightEdge, they provide the very foundation of the product. This allows a developer to change fundamental pieces of the program to suit their individual needs. What's more is that RightEdge plugins can be built using tools that are publicly accessible in languages that are well known.
A plugin is an assembly that adheres to a predefined interface. RightEdge supports the following plugins:
⢠Data Storage Plugin
A data storage plugin allows a developer to control the way data is stored by RightEdge. RightEdge ships with a proprietary binary data store, a Jet database (Access) store and a SQL Server data store. If a developer wanted to support their own proprietary data store or a database not supported out of the box, implementing a data store would allow for seamless integration into RightEdge.
⢠Indicator Plugin
Indicator plugins are for developers who wish to implement their own indicators. Every indicator in RightEdge is a plugin. Everything that is shown in the RightEdge user interface as it relates to indicators is available to third party developers as well. All available indicators are displayed in the Indicator panel.
⢠Risk Assessment Plugin
Risk assessment plugins are implemented by those developers who want to perform portfolio level risk analysis after a simulation is complete. RightEdge ships with a number of risk assessment plugins such as Profit Factor and Sharpe Ratio, but developers who want to apply their own proprietary calculations can do so by implementing this plugin. All available risk assessment plugins are displayed in the Options dialog.
⢠Action Plugin
Actions, as used in the drag and drop interface of RightEdge, are implemented as plugins. Custom action code can be developed by implementing an action plugin. Action plugins are shown in the Components panel.
⢠Trigger Plugin
Triggers, as used in the drag and drop interface of RightEdge, are implemented as plugins. Custom trigger code can be developed by implementing a trigger plugin. Trigger plugins are shown in the Components panel.
"Service" Plugins
The remaining plugins in RightEdge are known as services.
A service is a special type of plugin that typically interface with third party APIs such as data providers and brokers. Services are associated with symbols in the Watchlist pane. You can set up a hierarchical folder structure and have child folders inherit settings from their parents (or override those settings).
Services are just like regular plugins, except for they all must implement a common interface (IService) that defines their supported services to RightEdge. Services may also implement more than one service. For example, a service that interfaces with a broker that also provides real time quotes may implement the tick data retrieval interface as well as the broker interface.
RightEdge supports the following service plugins:
⢠Bar Data Retrieval
To retrieve bar data from a proprietary source that is not currently supported by RightEdge, implement a bar data retrieval plugin. When this interface is implemented, the service must let RightEdge know that it is capable of retrieving bar data by setting the BarDataAvailable flag to true.
⢠Tick Data Retrieval
To retrieve tick level data from a proprietary source that is not currently supported by RightEdge, implement a tick data retrieval plugin. When this interface is implemented, the service must let RightEdge know that it is capable of retrieving tick data by setting the TickDataAvailable flag to true.
⢠Broker Functions
RightEdge interfaces with live brokers. A service plugin can implement broker level services to communicate with any broker that will allow communication with a third party application. When implementing broker services, the service must let RightEdge know that it is capable of performing broker services by setting the BrokerFunctionsAvailable flag to true.