RightEdge Development Guide (covers changes coming for RightEdge 1.2)

Back in this thread we discussed some changes we were planning for the next release of RightEdge. We made some improvements to our plan along the way, but we are now finished with the changes and are close to releasing a beta of RightEdge 1.2.

Since people felt that accessing the current value of a series with SeriesName[0] could be confusing, we got rid of the indexer, and you can now access the current value of a series with SeriesName.Current, and the previous values with SeriesName.LookBack(nBars). We think this solution will make it easy to read and write code without being confusing.

There are a lot of changes to how systems are written in RightEdge 1.2. We are confident that these changes are for the better and will make it significantly easier to write systems, and to learn how to do so. Unfortunately this will require existing systems to be updated. We will provide guidance to try to make this process as painless as possible, and we will be available to assist anyone needing help with this on the forums or via email.

One area we felt was sorely lacking in our documentation was a guide to programming systems with RightEdge. So we have written a "Developing Trading Systems in RightEdge" guide, which will be added to the documentation. I am attaching it here, and it gives a first look at how to write systems for RightEdge 1.2. It does not address how to convert a system from 1.1 to 1.2, but I think it will be helpful to first get an overview of how to write systems.

When 1.2 is released, can we have access for 1.1 available in the Customer Area. I'd like to know that I have a fallback if things hit a brick wall. Can't afford to lose any more time porting code. Need to trade once in a while.

In fact, it would be nice to have access to all previous versions of RE available, understanding, of course, that they won't be supported further.

Very helful development guide. I like it already, with one reservation. It is unfortunate to see the term 'options' used in the structure of a language for trading. "Options" are also a trading vehicle, and this possible use of the term in different senses is a source of confusion awaiting.

Small feedback about .CurrentValue property and .LookBack method. It makes sense to create default indexer which will use either CurrentValue if called with value 0, or LookBack if called with value >0. For example, this line:

Well we were originally planning to use an indexer like this, but there was some resistance to this (see the other thread) and we felt it would be confusing, because many people would expect Series[0] to refer to the first/oldest item in the series. When you see Series.LookBack(1) or Series.CurrentValue, there is no confusion about what you are accessing.

phg (2/16/2008)Very helful development guide. I like it already, with one reservation. It is unfortunate to see the term 'options' used in the structure of a language for trading. "Options" are also a trading vehicle, and this possible use of the term in different senses is a source of confusion awaiting.

That's a good point, and I think it may have been brought up before and then forgotten. We will probably rename the classes to PositionSettings and OrderSettings, unless someone has a better suggestion for the names to use.

I renamed the CurrentValue property of a series to Current. I also changed PositionOptions and OrderOptions to PositionSettings and OrderSettings. I have updated the document attached to the first post to reflect these changes.

Well we were originally planning to use an indexer like this, but there was some resistance to this (see the other thread) and we felt it would be confusing, because many people would expect Series[0] to refer to the first/oldest item in the series. When you see Series.LookBack(1) or Series.CurrentValue, there is no confusion about what you are accessing.

Why not to use both methods then? Somebody will always be confused about one thing or another - you can't please everyone. Indexer is a standard way to access array of data, and the price series are definitely arrays of data.