﻿<?xml version='1.0' encoding='UTF-8'?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>RightEdge Forums / General / General Discussion  / RightEdge 2008 Edition 2 Beta / Latest Posts</title><generator>InstantForum.NET v4.1.4</generator><description>RightEdge Forums</description><link>http://www.rightedgesystems.com/forums/</link><webMaster>rightedge@yyesoftware.com</webMaster><lastBuildDate>Wed, 08 Feb 2012 15:30:06 GMT</lastBuildDate><ttl>20</ttl><item><title>RE: RightEdge 2008 Edition 2 Beta</title><link>http://www.rightedgesystems.com/forums/Topic6858-7-1.aspx</link><description>We've been working on improving the performance of running systems. The next beta should have some significant speed improvements. We're not done yet and the actual speedup will depend on your particular system.&lt;br&gt;&lt;br&gt;I did find areas where the runtime is proportional to the square of the number of symbols. So if you are running systems with large sets of symbols you will hopefully see a very large speedup. If you were planning on running a system with tens of thousands of symbols, you may want to wait until the next beta.&lt;br&gt;&lt;br&gt;Thanks,&lt;br&gt;Daniel</description><pubDate>Tue, 26 May 2009 14:09:14 GMT</pubDate><dc:creator>dplaisted</dc:creator></item><item><title>RE: RightEdge 2008 Edition 2 Beta</title><link>http://www.rightedgesystems.com/forums/Topic6858-7-1.aspx</link><description>[quote]I plan to always download the lowest frequency data, like 1-min bar, and then use this data as I like, as 1-hour data, daily data[/quote]&lt;br&gt;In this case you are in luck.  You can set the system frequency separately from the data frequency.  Download 1 minute data and select those 1 minute symbols in the watchlist.  Then in the system properties select 1 hour, 1 day, etc. as your system frequency.  Your system will run with bars, indicators, charts, etc all in the frequency you specified as the system frequency, with bars created by aggregating the 1 minute bars you downloaded.&lt;br&gt;&lt;br&gt;Thanks,&lt;br&gt;Daniel</description><pubDate>Thu, 21 May 2009 21:11:07 GMT</pubDate><dc:creator>dplaisted</dc:creator></item><item><title>RE: RightEdge 2008 Edition 2 Beta</title><link>http://www.rightedgesystems.com/forums/Topic6858-7-1.aspx</link><description>Thanks guys ! In addition to saying I agree with myself, I would add that the frequency bar could be an input parameter of my model, an input that I want to optimize. I plan to always download the lowest frequency data, like 1-min bar, and then use this data as I like, as 1-hour data, daily data... I find it much easier to do that, instead of downloading xxx-min bar whenever I want to play with a xxx-min bar system, downloading yyy-min bar when...&lt;br&gt;Also, when I'm fishing for an idea, I will typically change the bar resolution on the graph to identify some trading opportunities ("hmmm, on the 1-hour graph it doesn't look good, let's see what happen on the 3-hour graph").&lt;br&gt;&lt;br&gt;&lt;br&gt;[quote][b]mark0419 (5/21/2009)[/b][hr][quote][b]Tradix (5/21/2009)[/b][hr][quote] &gt; or you would have an indicator on the 1M graph that stayed the same for 60 bars. [/quote]&lt;br&gt;&lt;br&gt;I would find this useful and i know this functionality from my other programs like AmiBroker. &lt;br&gt;It's good for visual trade checks and confirmation when we see all the values and moves from other time frames too.[/quote]&lt;br&gt;&lt;br&gt;I concur wholeheartedly. I find it extremely useful to be able to see the lower resolution indicators on a higher frequency timeframe.&lt;br&gt;&lt;br&gt;Cheers,&lt;br&gt;Mark[/quote]</description><pubDate>Thu, 21 May 2009 18:50:08 GMT</pubDate><dc:creator>FlipFlop</dc:creator></item><item><title>RE: RightEdge 2008 Edition 2 Beta</title><link>http://www.rightedgesystems.com/forums/Topic6858-7-1.aspx</link><description>[quote][b]Tradix (5/21/2009)[/b][hr][quote] &gt; or you would have an indicator on the 1M graph that stayed the same for 60 bars. [/quote]&lt;br&gt;&lt;br&gt;I would find this useful and i know this functionality from my other programs like AmiBroker. &lt;br&gt;It's good for visual trade checks and confirmation when we see all the values and moves from other time frames too.[/quote]&lt;br&gt;&lt;br&gt;I concur wholeheartedly. I find it extremely useful to be able to see the lower resolution indicators on a higher frequency timeframe.&lt;br&gt;&lt;br&gt;Cheers,&lt;br&gt;Mark</description><pubDate>Thu, 21 May 2009 16:47:59 GMT</pubDate><dc:creator>mark0419</dc:creator></item><item><title>RE: RightEdge 2008 Edition 2 Beta</title><link>http://www.rightedgesystems.com/forums/Topic6858-7-1.aspx</link><description>[quote] &gt; or you would have an indicator on the 1M graph that stayed the same for 60 bars. [/quote]&lt;br&gt;&lt;br&gt;I would find this useful and i know this functionality from my other programs like AmiBroker. &lt;br&gt;It's good for visual trade checks and confirmation when we see all the values and moves from other time frames too.</description><pubDate>Thu, 21 May 2009 15:33:00 GMT</pubDate><dc:creator>Tradix</dc:creator></item><item><title>RE: RightEdge 2008 Edition 2 Beta</title><link>http://www.rightedgesystems.com/forums/Topic6858-7-1.aspx</link><description>[quote][b]FlipFlop (5/20/2009)[/b][hr]&lt;br&gt;About the Multiple Frequencies features : how can I graph the hourly Moving Average variable (called [b]sma5Hourly [/b]in the example code) ? By default the Moving Average that has the same frequency as my data is graphed (variable sma25), but not the other one.&lt;br&gt;&lt;br&gt;Thanks[/quote]&lt;br&gt;&lt;br&gt;This isn't currently supported.  Does it really make sense to graph a 1M indicator on a 1H chart, or vice versa?  I would think that the time differences are too big to make it useful.  Either you would have 60 data points averaged into one point on the 1H graph, or you would have an indicator on the 1M graph that stayed the same for 60 bars.&lt;br&gt;&lt;br&gt;What do you think?&lt;br&gt;&lt;br&gt;Thanks,&lt;br&gt;Daniel</description><pubDate>Thu, 21 May 2009 11:53:23 GMT</pubDate><dc:creator>dplaisted</dc:creator></item><item><title>RE: RightEdge 2008 Edition 2 Beta</title><link>http://www.rightedgesystems.com/forums/Topic6858-7-1.aspx</link><description>&lt;br&gt;About the Multiple Frequencies features : how can I graph the hourly Moving Average variable (called [b]sma5Hourly [/b]in the example code) ? By default the Moving Average that has the same frequency as my data is graphed (variable sma25), but not the other one.&lt;br&gt;&lt;br&gt;Thanks</description><pubDate>Wed, 20 May 2009 05:54:44 GMT</pubDate><dc:creator>FlipFlop</dc:creator></item><item><title>RE: RightEdge 2008 Edition 2 Beta</title><link>http://www.rightedgesystems.com/forums/Topic6858-7-1.aspx</link><description>Will the memory leak also be fixed in edition 2?&lt;/P&gt;&lt;P&gt;As you probably already know Edition 1 has a leak at optimizations. At least Daniel was able to reproduce it. I discussed it with him 1 month ago and attached a empty project. To reproduce simply do an optimization with &amp;gt; 10 markets and 10 years of EOD data or similar data.&lt;/P&gt;&lt;P&gt;The attached simple project is without any code and results in out of memory when doing an optimization. It's the same with every project, so i reduced all my own code parts until i came to a empty project which shows that it must be something directly in RE which doesn't free up all the used memory after each optimization run.&lt;/P&gt;&lt;P&gt;It would be great to have this bug fixed, so we could make optimizations. Right now out of memory happens after about 50 iterations which isn't a lot.</description><pubDate>Wed, 15 Apr 2009 15:46:51 GMT</pubDate><dc:creator>Tradix</dc:creator></item><item><title>RE: RightEdge 2008 Edition 2 Beta</title><link>http://www.rightedgesystems.com/forums/Topic6858-7-1.aspx</link><description>My guess is that they will be on par with Ed 1.  But we haven't even run through the optimizer yet.&lt;br&gt;&lt;br&gt;[quote][b]Tradix (4/15/2009)[/b][hr]Is it likely that backtests are faster as in Edition 1 after your optimization or will it still rather be slower?[/quote]</description><pubDate>Wed, 15 Apr 2009 15:30:37 GMT</pubDate><dc:creator>billb</dc:creator></item><item><title>RE: RightEdge 2008 Edition 2 Beta</title><link>http://www.rightedgesystems.com/forums/Topic6858-7-1.aspx</link><description>Is it likely that backtests are faster as in Edition 1 after your optimization or will it still rather be slower?</description><pubDate>Wed, 15 Apr 2009 15:27:11 GMT</pubDate><dc:creator>Tradix</dc:creator></item><item><title>RE: RightEdge 2008 Edition 2 Beta</title><link>http://www.rightedgesystems.com/forums/Topic6858-7-1.aspx</link><description>Optimization of code is really the last step, so no, Ed 2 is still slower backtesting than Ed 1.  It will likely improve before release.&lt;br&gt;&lt;br&gt;[quote][b]Steve2008 (4/15/2009)[/b][hr]To the RE developers: I've been waiting forthe Edition 2 backtest slowness issue to be fixed before working with RE again. Has this been resolved in the current beta? If not, what is theexpected time frame for resolution?&lt;br&gt;&lt;br&gt;Thanks.[/quote]</description><pubDate>Wed, 15 Apr 2009 13:33:58 GMT</pubDate><dc:creator>billb</dc:creator></item><item><title>RE: RightEdge 2008 Edition 2 Beta</title><link>http://www.rightedgesystems.com/forums/Topic6858-7-1.aspx</link><description>To the RE developers: I've been waiting for the Edition 2 backtest slowness issue to be fixed before working with RE again. Has this been resolved in the current beta? If not, what is the expected time frame for resolution?&lt;/P&gt;&lt;P&gt;Thanks.</description><pubDate>Wed, 15 Apr 2009 12:09:40 GMT</pubDate><dc:creator>Steve2008</dc:creator></item><item><title>RE: RightEdge 2008 Edition 2 Beta</title><link>http://www.rightedgesystems.com/forums/Topic6858-7-1.aspx</link><description>On the speed question.&lt;br&gt;&lt;br&gt;I have written a MetaStock data plugin. This removes the need to run SQL server or any other database system that just adds overhead. I found any database always lags a flat file system.&lt;br&gt;&lt;br&gt;The speed gained was very noticeable when running a back test over 200 stocks for up to 10yrs.&lt;br&gt;&lt;br&gt;For the RE guys: Have a look at Amibroker for real speed.</description><pubDate>Mon, 09 Feb 2009 20:03:35 GMT</pubDate><dc:creator>kaizen</dc:creator></item><item><title>RE: RightEdge 2008 Edition 2 Beta</title><link>http://www.rightedgesystems.com/forums/Topic6858-7-1.aspx</link><description>We will profile and optimize the code before the final release.  It may be that because of the new frequency system there is simply more work to do, and we won't be able to make it significantly faster.  If this is the case we may enable a mode to bypass a lot of the frequency processing if the frequency of the bar data you are using matches your system frequency.&lt;/P&gt;&lt;P&gt;Thanks,&lt;BR&gt;Daniel</description><pubDate>Mon, 09 Feb 2009 12:22:57 GMT</pubDate><dc:creator>dplaisted</dc:creator></item><item><title>RE: RightEdge 2008 Edition 2 Beta</title><link>http://www.rightedgesystems.com/forums/Topic6858-7-1.aspx</link><description>Is the backest slowness a known issue, and is a resolution likely in the final release?</description><pubDate>Wed, 04 Feb 2009 12:17:43 GMT</pubDate><dc:creator>Steve2008</dc:creator></item><item><title>RE: RightEdge 2008 Edition 2 Beta</title><link>http://www.rightedgesystems.com/forums/Topic6858-7-1.aspx</link><description>Edition 2 Beta 6 feedback after backtesting an intraday trading system on 1 minute bars of the S&amp;amp;P 500 component stocks:&lt;P&gt;The memory saving works well, which is very welcome.&lt;/P&gt;&lt;P&gt;Backtesting is drastically slower than in Edition 1, which I hope will be fixed. Speed is not affected by an assignment to Bars.MaxLookBack.</description><pubDate>Tue, 03 Feb 2009 19:36:19 GMT</pubDate><dc:creator>Steve2008</dc:creator></item><item><title>RE: RightEdge 2008 Edition 2 Beta</title><link>http://www.rightedgesystems.com/forums/Topic6858-7-1.aspx</link><description>Thank you:)</description><pubDate>Tue, 03 Feb 2009 12:46:20 GMT</pubDate><dc:creator>kuhasu</dc:creator></item><item><title>RE: RightEdge 2008 Edition 2 Beta</title><link>http://www.rightedgesystems.com/forums/Topic6858-7-1.aspx</link><description>A new build of the beta is available at &lt;A href="http://www.rightedgesystems.com/downloads/RightEdge2008-Ed2-Beta-6.exe"&gt;http://www.rightedgesystems.com/downloads/RightEdge2008-Ed2-Beta-6.exe&lt;/A&gt;&lt;/P&gt;&lt;P&gt;Changes include:&lt;/P&gt;&lt;LI&gt;&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;Fixed an OutOfRangeException that could occur if the second bar for a symbol was an empty bar.&lt;/FONT&gt;&lt;/DIV&gt;&lt;LI&gt;&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;Updated IDataStore interface&lt;/FONT&gt;&lt;/DIV&gt;&lt;LI&gt;&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;Fixed bug with BarDataStreamer with symbols with no data between the data and trade start date&lt;/FONT&gt;&lt;/DIV&gt;&lt;LI&gt;&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;Fixed indicators being displayed incorrectly on charts when SynchronizeBars is enabled&lt;/FONT&gt;&lt;/DIV&gt;&lt;LI&gt;&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;Fixed a bug with monthly bar generation&lt;/FONT&gt;&lt;/DIV&gt;&lt;LI&gt;&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;Updated TWS plugin to use newer version of Krs library, and added ability to handle ApiCancelled and ApiPending order states&lt;/FONT&gt;&lt;/DIV&gt;&lt;LI&gt;&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;PaperTrader.GetOrderedOrders is now virtual, allowing the order in which orders are processed to be customized.&lt;/FONT&gt;&lt;/DIV&gt;&lt;LI&gt;&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;Fixed a bug with one of the constructors for the Highest indicator.&lt;/FONT&gt;&lt;/DIV&gt;&lt;LI&gt;&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;Symbols with an asset class of index can now be traded.&lt;/FONT&gt;&lt;/DIV&gt;&lt;LI&gt;&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;Fixed a bug when running a live system with saved open positions which require exchange rate information to calculate P&amp;amp;L.&lt;/FONT&gt;&lt;/DIV&gt;&lt;LI&gt;&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;IQFeed plugin is now included&lt;/FONT&gt;&lt;/DIV&gt;&lt;LI&gt;&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;The AmbiguousMatchException when running simulations may be fixed&lt;/FONT&gt;&lt;/DIV&gt;&lt;LI&gt;&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;Fixed bug which prevent SQL server data storage plugin from working.&lt;/FONT&gt;&lt;/DIV&gt;&lt;LI&gt;&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;Added tick data "editor", which only supports viewing so far.&lt;/FONT&gt;&lt;/DIV&gt;&lt;/LI&gt;&lt;LI&gt;&lt;DIV&gt;&lt;FONT face=Arial&gt;Yahoo plugin now ignores bars with a timestamp other than midnight.  This should help avoid overlapping bar errors when running a simulation.&lt;/FONT&gt;&lt;/DIV&gt;&lt;/LI&gt;&lt;P&gt;A few people reported an exception that said "Not expecting a partial bar at this point." when running live systems with the previous beta.  I believe this is fixed, please test it out and let me know if you have any problems.&lt;/P&gt;&lt;P&gt;Thanks,&lt;BR&gt;Daniel</description><pubDate>Tue, 03 Feb 2009 10:42:28 GMT</pubDate><dc:creator>dplaisted</dc:creator></item><item><title>RE: RightEdge 2008 Edition 2 Beta</title><link>http://www.rightedgesystems.com/forums/Topic6858-7-1.aspx</link><description>I noticed that Edition 2 installed without an IQFeed dll. Are there plans to support IQFeed in the near future?</description><pubDate>Mon, 19 Jan 2009 18:19:35 GMT</pubDate><dc:creator>Zora</dc:creator></item><item><title>RE: RightEdge 2008 Edition 2 Beta</title><link>http://www.rightedgesystems.com/forums/Topic6858-7-1.aspx</link><description>A new build of the beta is available at &lt;A href="http://www.rightedgesystems.com/downloads/RightEdge2008-Ed2-Beta-3.exe"&gt;http://www.rightedgesystems.com/downloads/RightEdge2008-Ed2-Beta-3.exe&lt;/A&gt;.&lt;/P&gt;&lt;P&gt;Bug fixes:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;RTH only option in TWS plugin now also applies to orders submitted&lt;/LI&gt;&lt;LI&gt;Bid and ask values are now correctly saved in the bar data editor&lt;/LI&gt;&lt;LI&gt;Orders passed to broker's SetAccountState method will now have position ID fields set correctly&lt;/LI&gt;&lt;LI&gt;Fixed exception that would be thrown when using DataStartDate&lt;/LI&gt;&lt;LI&gt;Fixed exception when displaying a system chart if using a higher data frequency than the system frequency.&lt;/LI&gt;&lt;LI&gt;Symbols with bar construction set to bid, ask, or mid should now work for simulation&lt;/LI&gt;&lt;LI&gt;SystemData.BarClosing event now works, SystemData.BarOpened has been removed&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;Other changes:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;RList partial item handling changed.  CurrentIsPartial and SetPartialItem removed, PartialItem and HasPartialItem properties added&lt;/LI&gt;&lt;LI&gt;Frequency interfaces have changed so that an instance of IFrequencyGenerator only handles a single symbol.&lt;/LI&gt;&lt;LI&gt;ISimBroker interface updated to use NewBarEventArgs instead of NewBarInfo&lt;/LI&gt;&lt;LI&gt;CreateTicksFromBars and EnableTradeOnClose properties replace TradeInsideBars&lt;/LI&gt;&lt;/UL&gt;</description><pubDate>Sun, 14 Dec 2008 03:05:53 GMT</pubDate><dc:creator>dplaisted</dc:creator></item><item><title>RE: RightEdge 2008 Edition 2 Beta</title><link>http://www.rightedgesystems.com/forums/Topic6858-7-1.aspx</link><description>[quote][b]kaizen (11/13/2008)[/b][hr]I have not had a look but with &lt;BR&gt;&lt;BR&gt;[i]For daily bars this means it will set the time to 12:00 midnight, for hourly bars it would round to the nearest hour, etc.[/i]&lt;BR&gt;&lt;BR&gt;How would this affect a FX daily bar that starts at 4am?&lt;BR&gt;&lt;BR&gt;[/quote]&lt;/P&gt;&lt;P&gt;It would set the timestamp for the bar to midnight.  So you might not want to use the cleanup tool on forex data.&lt;/P&gt;&lt;P&gt;Thanks,&lt;BR&gt;Daniel</description><pubDate>Thu, 13 Nov 2008 01:09:10 GMT</pubDate><dc:creator>dplaisted</dc:creator></item><item><title>RE: RightEdge 2008 Edition 2 Beta</title><link>http://www.rightedgesystems.com/forums/Topic6858-7-1.aspx</link><description>[quote][b]Purri (11/12/2008)[/b][hr]Will this edition support backtesting on a tick basis (with a last trade, bid/ask support)?&lt;BR&gt;&lt;BR&gt;Regards,&lt;BR&gt;P.&lt;BR&gt;[/quote]&lt;P&gt;We do plan to support this in RE 2008 Edition 2, although the current beta does not support it.&lt;/P&gt;&lt;P&gt;Thanks,&lt;BR&gt;Daniel</description><pubDate>Thu, 13 Nov 2008 01:08:13 GMT</pubDate><dc:creator>dplaisted</dc:creator></item><item><title>RE: RightEdge 2008 Edition 2 Beta</title><link>http://www.rightedgesystems.com/forums/Topic6858-7-1.aspx</link><description>I have not had a look but with &lt;br&gt;&lt;br&gt;[i]For daily bars this means it will set the time to 12:00 midnight, for hourly bars it would round to the nearest hour, etc.[/i]&lt;br&gt;&lt;br&gt;How would this affect a FX daily bar that starts at 4am?&lt;br&gt;&lt;br&gt;</description><pubDate>Thu, 13 Nov 2008 00:28:58 GMT</pubDate><dc:creator>kaizen</dc:creator></item><item><title>RE: RightEdge 2008 Edition 2 Beta</title><link>http://www.rightedgesystems.com/forums/Topic6858-7-1.aspx</link><description>Will this edition support backtesting on a tick basis (with a last trade, bid/ask support)?&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;P.&lt;br&gt;</description><pubDate>Wed, 12 Nov 2008 22:28:34 GMT</pubDate><dc:creator>Purri</dc:creator></item><item><title>RE: RightEdge 2008 Edition 2 Beta</title><link>http://www.rightedgesystems.com/forums/Topic6858-7-1.aspx</link><description>Some additional issues have been found with the beta:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Running systems with symbols where Bar Construction is not set to Trades will fail with an exception.&lt;/LI&gt;&lt;LI&gt;Trying to display a system chart will fail with an exception if using a higher data frequency than the system frequency.&lt;/LI&gt;&lt;LI&gt;The Current value of the RList class is sometimes a partial bar and sometimes not.  The CurrentIsPartial property can be used to tell whether it is.  However, we are planning to modify it so that the Current value is always a completed bar, and the partial value will be accessible with another property.&lt;/LI&gt;&lt;/UL&gt;</description><pubDate>Tue, 04 Nov 2008 23:40:51 GMT</pubDate><dc:creator>dplaisted</dc:creator></item><item><title>RE: RightEdge 2008 Edition 2 Beta</title><link>http://www.rightedgesystems.com/forums/Topic6858-7-1.aspx</link><description>&lt;SPAN class=Apple-style-span style="WORD-SPACING: 0px; FONT: 16px 'Times New Roman'; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate; orphans: 2; widows: 2; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0"&gt;&lt;DIV style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 10pt; MIN-HEIGHT: 1100px; PADDING-BOTTOM: 0px; MARGIN: 6px; LINE-HEIGHT: normal; PADDING-TOP: 0px; FONT-FAMILY: Verdana"&gt;&lt;DIV style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;FONT size=5&gt;&lt;STRONG&gt;Guide to RightEdge 2008 Edition 2&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt; &lt;/DIV&gt;&lt;DIV style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;DIV goog_docs_charIndex="41"&gt;This post will introduce the new features in RightEdge 2008 Edition 2.  This version is still under development, so things will change before the final release. &lt;/DIV&gt;&lt;DIV goog_docs_charIndex="204"&gt; &lt;BR goog_docs_charIndex="206"&gt;&lt;/DIV&gt;&lt;DIV goog_docs_charIndex="208"&gt;&lt;B goog_docs_charIndex="209"&gt;Breaking changes, things that are broken, and other important information&lt;/B&gt;&lt;/DIV&gt;&lt;DIV goog_docs_charIndex="285"&gt;&lt;UL goog_docs_charIndex="286"&gt;&lt;LI goog_docs_charIndex="287"&gt;The documentation installed with RightEdge has not been updated yet.&lt;/LI&gt;&lt;LI goog_docs_charIndex="357"&gt;You will probably need to copy your license file to the installation directory for this edition.&lt;/LI&gt;&lt;LI goog_docs_charIndex="455"&gt;Project files from RightEdge 2008 Edition 2 cannot be opened in previous versions of RightEdge.  When you open a project file from an older version of RightEdge, a copy of that project file will be saved with the previous version number added to the filename so that you can still open it up in the older version of RightEdge.  For example, if the project filename is MySystem.rep, a copy named MySystem.2008.1.0.0.rep will be saved.&lt;/LI&gt;&lt;LI goog_docs_charIndex="890"&gt;If you use a custom data storage plugin, you will not have a data storage plugin set up in RE 2008 Edition 2.  You will need to go to the options dialog and choose your plugin there.&lt;/LI&gt;&lt;LI goog_docs_charIndex="1074"&gt;Progress bar doesn't show progress in system progress dialog.&lt;/LI&gt;&lt;LI goog_docs_charIndex="1137"&gt;RList class &lt;UL style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px" goog_docs_charIndex="1150"&gt;&lt;LI style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px" goog_docs_charIndex="1151"&gt;No longer has AsIList() method or InnerList property.&lt;/LI&gt;&lt;LI style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px" goog_docs_charIndex="1206"&gt;Count now refers to the number of available items.  This may be less than the total number of bars if MaxLookBack is not zero.  The TotalBars property will get the total number of bars.&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;LI goog_docs_charIndex="1395"&gt;System results plugins no longer have direct access to bar history.  Some of the built-in system results are not calculated (they should display as 0 or n/a).&lt;/LI&gt;&lt;LI goog_docs_charIndex="1555"&gt;The SystemData.TradeInsideBars property has been removed.  There is now a CreateTicksFromBars property (which is set to true by default) and an EnableTradeOnClose (which is set to false by default).&lt;/LI&gt;&lt;LI goog_docs_charIndex="1755"&gt;The BarOpened event has been removed.&lt;/LI&gt;&lt;/UL&gt;&lt;/DIV&gt;&lt;DIV goog_docs_charIndex="1877"&gt;  &lt;/DIV&gt;&lt;DIV goog_docs_charIndex="1881"&gt;  &lt;/DIV&gt;&lt;DIV goog_docs_charIndex="1885"&gt;&lt;B goog_docs_charIndex="1886"&gt;Bar/Tick Generation&lt;/B&gt; &lt;/DIV&gt;&lt;DIV goog_docs_charIndex="1909"&gt;The frequency of your system is no longer tied to the frequency of the  input data.  The main system frequency is specified in the trading system options.  This controls the frequency for many things such as when your NewBar methods will be called, the default frequency for your indicators, the frequency that system statistics will be saved, etc.  Right now you are limited to a set of predefined frequencies or "Tick" for the system frequency.  If set to "Tick", then the frequency of the symbols you have selected in the watchlist when you run the system will be used for the system frequency.  Otherwise, the input data will be aggregated to the specified frequency and passed to your system. &lt;/DIV&gt;&lt;DIV goog_docs_charIndex="2609"&gt;&lt;BR goog_docs_charIndex="2610"&gt;&lt;/DIV&gt;&lt;DIV goog_docs_charIndex="2612"&gt;The input data bars for your system are sent to a tick generator.  If the CreateTicksFromBars property in the SystemData class is set to true, the tick generator breaks the bars down into ticks.  Currently the tick generator just generates 4 ticks for each bar, for the open, low, high, and close.  We will probably allow you to supply your own tick generator, which would allow you to determine whether the low or high tick comes first, or to randomly generate more ticks in between these values. &lt;/DIV&gt;&lt;DIV goog_docs_charIndex="3112"&gt;&lt;BR goog_docs_charIndex="3113"&gt;&lt;/DIV&gt;&lt;DIV goog_docs_charIndex="3115"&gt;The ticks from the tick generator are sent to the frequency manager for the system.  This aggregates the ticks into the system frequency, and raises the NewTick and NewBar events.  The paper broker fills orders based on ticks, which means you can use higher frequency data on a lower frequency system for a more accurate simulation.  For example, it is possible that both the profit target and stop loss for a position could be triggered within the range of a daily bar.  If you use higher frequency data (say 15 minute bar data), then it is more likely that the simulation will reflect which price would have been hit first.  &lt;/DIV&gt;&lt;DIV goog_docs_charIndex="3744"&gt;  &lt;/DIV&gt;&lt;DIV goog_docs_charIndex="3748"&gt;  &lt;/DIV&gt;&lt;DIV goog_docs_charIndex="3752"&gt;&lt;B goog_docs_charIndex="3753"&gt;Multiple Frequencies&lt;/B&gt; &lt;/DIV&gt;&lt;DIV goog_docs_charIndex="3777"&gt;RightEdge now has support for multiple frequencies.  The Frequency class represents a given frequency for a given symbol.  It provides a list of bars for the frequency, as well as events for NewBar and NewTick for that frequency.  There are GetFrequency methods on the symbol script and SystemData classes which allow you to retrieve a Frequency object for the desired frequency and symbol.  RightEdge will only start building bars for the frequency after you have requested it by calling GetFrequency, so generally you will want to call it in your system startup code.  To set an indicator to a different frequency, call SystemData.IndicatorManager.SetFrequency().  If the indicator needs a series as input, and you want to use a bar element series for that input, be sure to use the bar element series from the corresponding Frequency class. &lt;/DIV&gt;&lt;DIV goog_docs_charIndex="4623"&gt;&lt;BR goog_docs_charIndex="4624"&gt;&lt;/DIV&gt;&lt;DIV goog_docs_charIndex="4626"&gt;The code below shows how to subscribe to bars in a different frequency and how to create an indicator using that frequency.&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;BR&gt;&lt;/DIV&gt;&lt;DIV style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;public&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;class&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;SampleSymbolScript : MySymbolScriptBase&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;{&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;     &lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;FONT size=2&gt;Frequency HourlyFreq;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;     &lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;FONT size=2&gt;SMA sma25;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;     &lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;FONT size=2&gt;SMA sma5Hourly;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;     &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;     &lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;public&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;override&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;void&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;Startup()&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;     &lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;FONT size=2&gt;{&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;           &lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: green; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;//&lt;/FONT&gt;   &lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;FONT size=2&gt;Create indicator using system frequency&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;           &lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;FONT size=2&gt;sma25 =&lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;new&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;SMA(&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: purple; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;25&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;, Close);&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;           &lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: green; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;//&lt;/FONT&gt;   &lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;FONT size=2&gt;Get hourly frequency and subscribe to new bars&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;           &lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;FONT size=2&gt;HourlyFreq = GetFrequency(BarFrequency.SixtyMinute);&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;           &lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;FONT size=2&gt;HourlyFreq.NewBar += NewHourlyBar;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;           &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;           &lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: green; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;//&lt;/FONT&gt;   &lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;FONT size=2&gt;Create indicator using hourly frequency&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;           &lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;FONT size=2&gt;sma5Hourly =&lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;new&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;SMA(&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: purple; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;5&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;, HourlyFreq.Close);&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;           &lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;FONT size=2&gt;SystemData.IndicatorManager.SetFrequency(sma5Hourly, HourlyFreq);&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;     &lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;FONT size=2&gt;}&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;     &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;     &lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;public&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;override&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;void&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;NewBar()&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;     &lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;FONT size=2&gt;{&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;           &lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;FONT size=2&gt;OutputMessage(&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;"New system bar: "&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;+ Bars.Current.PriceDateTime.ToString());&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;     &lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;FONT size=2&gt;}&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;     &lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;      &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;public&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;void&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt; NewHourlyBar(&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;object&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt; sender, SingleBarEventArgs args)&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;      &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-tab-count: 2"&gt;            &lt;/SPAN&gt;OutputMessage(&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Courier New'"&gt;"New hourly bar: "&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt; + args.Bar.PriceDateTime.ToString());&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;      &lt;/SPAN&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px"&gt;&lt;SPAN style="COLOR: black; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;}&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;DIV style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;BR&gt;&lt;/DIV&gt;&lt;DIV style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt; &lt;/DIV&gt;&lt;DIV style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;B&gt;Large data set support&lt;/B&gt;&lt;/DIV&gt;&lt;DIV style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;Most systems only need a certain amount of bar history for their calculations, and there is no need to keep bar data available past that amount.  When working with large amounts of high frequency data, it may not be possible to store all of the data in memory at once.  To allow systems to be run with large amounts of data, RightEdge now includes a MaxLookBack property in the RList class.  If its value is greater than zero, RightEdge will discard any items past the maximum lookback.  If you try to access any of the discarded items, an exception will be thrown.  You can set the value in your symbol script startup method, like this:&lt;/DIV&gt;&lt;DIV style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;P class=MsoNormal style="MARGIN: 0px"&gt;    &lt;SPAN style="COLOR: black; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;Bars.MaxLookBack =&lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: purple; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;1000&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: black; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;DIV style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;If you are using multiple frequencies, you will need to set the MaxLookBack on the bar list for each additional frequency, also.&lt;/DIV&gt;&lt;DIV style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;BR&gt;&lt;/DIV&gt;&lt;DIV style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;Depending on your system, using a maximum lookback for the bar lists may or may not have a significant effect on your memory consumption.  The system statistics, indicators, and trade history, as well as possibly your system code itself, may all use a lot of memory.  If you need to decrease memory usage, you can selectively disable elements of your system and measure the effect on your system's memory usage.  You can use the following code in your system class to help with this:&lt;/DIV&gt;&lt;DIV style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;BR&gt;&lt;/DIV&gt;&lt;DIV style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;      &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;long&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;_initialMemory;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;     &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;     &lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;public&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;override&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;void&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;Startup()&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;     &lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;FONT size=2&gt;{&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;           &lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;FONT size=2&gt;_initialMemory = GC.GetTotalMemory(&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;true&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;);&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;     &lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;FONT size=2&gt;}&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;     &lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;public&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;override&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;void&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;Shutdown()&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;     &lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;FONT size=2&gt;{&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;           &lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;long&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;finalMemory = GC.GetTotalMemory(&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;true&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;);&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;           &lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;long&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;diff = finalMemory - _initialMemory;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;           &lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;string&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;msg =&lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;string&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;.Format(&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;"Memory used: {0:n}"&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;, diff);&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;           &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;           &lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;FONT size=2&gt;SystemData.Output.Add(OutputSeverityLevel.Informational,&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;                 &lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;FONT size=2&gt;msg,&lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;null&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;,&lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;""&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;, SystemOutputLocation.OutputWindowAndStatusBar);&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px"&gt;&lt;SPAN style="COLOR: black; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;     &lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;FONT size=2&gt;}&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;DIV style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;BR&gt;&lt;/DIV&gt;&lt;DIV style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;There are four sets of system statistics stored (long, short, all, and buy and hold).  They save a snapshot is saved for each system bar.  If the system is only running with a single symbol, the system statistics memory usage will be significantly larger than the memory used by the symbol's bar data.  However, the system statistics memory usage doesn't increase with the number of symbols.  So if you are using many symbols the system statistics may not affect your memory usage too much.  You can disable some or all of the system statistics by setting the Enabled property on them to false in your system's startup method:&lt;/DIV&gt;&lt;DIV style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;BR&gt;&lt;/DIV&gt;&lt;DIV style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;      &lt;FONT size=2&gt;SystemData.SystemHistory.LongStatistics.Enabled =&lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;false&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;     &lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;FONT size=2&gt;SystemData.SystemHistory.ShortStatistics.Enabled =&lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;false&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;     &lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;FONT size=2&gt;SystemData.SystemHistory.SystemStatistics.Enabled =&lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;false&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;     &lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;FONT size=2&gt;SystemData.SystemHistory.BuyAndHoldStatistics.Enabled =&lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;false&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;DIV style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;BR&gt;&lt;/DIV&gt;&lt;DIV style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;However, with all of them disabled, the system results summary won't show much useful information.  Another way to reduce the system statistics memory usage is to reduce the main system frequency.  If your system operates on one minute bars, you could set the system frequency to daily, and use the multiple frequency support to run most or all of your system logic on the one minute frequency.&lt;/DIV&gt;&lt;DIV style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;BR&gt;&lt;/DIV&gt;&lt;DIV style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;Indicators may also use a significant amount of memory.  They don't currently support a MaxLookBack setting, so they will keep all the data for all the bars of your system.  If you need to reduce memory consumption you may have to re-implement the calculations outside of a RightEdge indicator.  Each trade that your system makes also consumes some memory.  If your system trades at a very high frequency then this could lead to high memory usage.&lt;/DIV&gt;&lt;UL style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;/UL&gt;&lt;DIV style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;/DIV&gt;&lt;DIV style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;BR&gt;&lt;/DIV&gt;&lt;DIV style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;BR&gt;&lt;/DIV&gt;&lt;DIV style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;B&gt;New plugin system&lt;/B&gt;&lt;BR&gt;&lt;/DIV&gt;&lt;DIV style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;This edition of RightEdge introduces a new plugin system.  One of the advantages of the new system is that it is easier for plugin writers to define custom settings for plugins.  A property grid is used to display the plugin settings, and XML serialization is used to save them.  This means that to add a custom setting to your plugin, you simply need to define a public property on your plugin class.  The property grid and XML serialization are standard features of .NET, and offer a high degree of flexibility in how the settings are displayed in the property grid or saved to XML.  The code below shows how a plugin can define a basic custom property.&lt;/DIV&gt;&lt;DIV style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;BR&gt;&lt;/DIV&gt;&lt;DIV style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;[&lt;/FONT&gt;&lt;SPAN style="COLOR: rgb(43,145,175)"&gt;DisplayName&lt;/SPAN&gt;&lt;FONT size=2&gt;(&lt;/FONT&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;"Time-based Bar Frequency"&lt;/SPAN&gt;&lt;FONT size=2&gt;)]&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;[&lt;/FONT&gt;&lt;SPAN style="COLOR: rgb(43,145,175)"&gt;Serializable&lt;/SPAN&gt;&lt;FONT size=2&gt;]&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;public&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;sealed&lt;/SPAN&gt;&lt;FONT size=2&gt;&lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;class&lt;/SPAN&gt;&lt;FONT size=2&gt;&lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: rgb(43,145,175)"&gt;TimeFrequency&lt;/SPAN&gt;&lt;FONT size=2&gt;&lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;:&lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: rgb(43,145,175)"&gt;FrequencyPlugin&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;{&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;     &lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;FONT size=2&gt;[&lt;/FONT&gt;&lt;SPAN style="COLOR: rgb(43,145,175)"&gt;Description&lt;/SPAN&gt;&lt;FONT size=2&gt;(&lt;/FONT&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;"Indicates the timespan or period for each bar."&lt;/SPAN&gt;&lt;FONT size=2&gt;)]&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;     &lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;FONT size=2&gt;[&lt;/FONT&gt;&lt;SPAN style="COLOR: rgb(43,145,175)"&gt;DisplayName&lt;/SPAN&gt;&lt;FONT size=2&gt;(&lt;/FONT&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;"Bar Length"&lt;/SPAN&gt;&lt;FONT size=2&gt;)]&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;     &lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt;&lt;FONT size=2&gt;&lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: rgb(43,145,175)"&gt;TimeSpan&lt;/SPAN&gt;&lt;FONT size=2&gt;&lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;BarLength {&lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;get&lt;/SPAN&gt;&lt;FONT size=2&gt;;&lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;set&lt;/SPAN&gt;&lt;FONT size=2&gt;; }&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;     &lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt;&lt;FONT size=2&gt;&lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;TimeFrequency()&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;     &lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;FONT size=2&gt;{&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;           &lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;FONT size=2&gt;BarLength =&lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: rgb(43,145,175)"&gt;TimeSpan&lt;/SPAN&gt;&lt;FONT size=2&gt;.FromMinutes(1);&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;     &lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;FONT size=2&gt;}&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;     &lt;SPAN class=Apple-converted-space&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt;// FrequencyPlugin methods go here&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0px"&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2&gt;}&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="MARGIN: 0px"&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;DIV style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;BR&gt;&lt;/DIV&gt;&lt;DIV style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"&gt;&lt;DIV goog_docs_charIndex="11192"&gt;For more advanced functionality pertaining to property grid customization or XML serialization, please refer to the .NET documentation or other .NET resources. &lt;/DIV&gt;&lt;DIV goog_docs_charIndex="11354"&gt;&lt;BR goog_docs_charIndex="11355"&gt;&lt;/DIV&gt;&lt;DIV goog_docs_charIndex="11357"&gt;Currently, only data storage plugins and custom frequency plugins use the new plugin system.  The new interface for data storage plugins to use is IDataStore.  Existing plugins which use the old IBarDataStorage interface will continue to work.&lt;/DIV&gt;&lt;DIV goog_docs_charIndex="11602"&gt;&lt;BR goog_docs_charIndex="11603"&gt;&lt;/DIV&gt;&lt;DIV goog_docs_charIndex="11605"&gt;&lt;BR goog_docs_charIndex="11606"&gt;&lt;/DIV&gt;&lt;DIV goog_docs_charIndex="11608"&gt;&lt;B goog_docs_charIndex="11609"&gt;Custom frequency plugins&lt;/B&gt; &lt;/DIV&gt;&lt;DIV goog_docs_charIndex="11637"&gt;RightEdge uses frequency plugins to handle bar generation.  It includes plugins for time based, tick based, and volume based bars.  Additional plugins can be created to create other bar types.  To create a frequency plugin, derive a class from the abstract FrequencyPlugin class.  This class should use public properties to define the settings for the frequency.  The actual logic for generating bars should go in a class which implements IFrequencyGenerator and created and returned by the CreateFrequencyGenerator method of the FrequencyPlugin. &lt;/DIV&gt;&lt;DIV goog_docs_charIndex="12186"&gt;&lt;BR goog_docs_charIndex="12187"&gt;&lt;/DIV&gt;&lt;DIV goog_docs_charIndex="12189"&gt;To use a custom frequency in a system, create an instance of the frequency plugin class and pass it to the GetFrequency method to get a Frequency object.  If GetFrequency is called multiple times for the same settings for the frequency plugin and the same symbol, it will return the same Frequency object.  For this to work even if different instances of the frequency plugin with the same values for the settings were used, it needs to be able to compare them to see if they are equivalent.  This is why the FrequencyPlugin class includes abstract Equals and GetHashCode methods which you must implement.&lt;BR goog_docs_charIndex="12795"&gt;&lt;/DIV&gt;&lt;DIV goog_docs_charIndex="12797"&gt;Currently, frequency plugins besides the time-based frequency can only be used from within a system.  The main system frequency, charts, and bar data storage all only use time based frequencies.&lt;/DIV&gt;&lt;DIV goog_docs_charIndex="12993"&gt;&lt;BR goog_docs_charIndex="12994"&gt;&lt;/DIV&gt;&lt;DIV goog_docs_charIndex="12996"&gt;&lt;BR goog_docs_charIndex="12997"&gt;&lt;/DIV&gt;&lt;DIV goog_docs_charIndex="12999"&gt;&lt;B goog_docs_charIndex="13000"&gt;Miscellaneous&lt;/B&gt;&lt;/DIV&gt;&lt;DIV goog_docs_charIndex="13016"&gt;&lt;UL goog_docs_charIndex="13017"&gt;&lt;LI goog_docs_charIndex="13018"&gt;Partial bars are now stored in the PartialItem property of the RList&amp;lt;BarData&amp;gt; class.  This means that the Current property will always contain a completed bar.  There is also a HasPartialItem property which indicates whether there is a partial bar or not.&lt;/LI&gt;&lt;LI goog_docs_charIndex="13275"&gt;A bar data cleaner tool has been added.  It is accessible from the watchlist, and will find and fix problems with bars in the data store.  It will delete extra bars where there is more than one bar for a given date/time, and if the time for a bar is not rounded correctly (based on the bar frequency) it will round it.  For daily bars this means it will set the time to 12:00 midnight, for hourly bars it would round to the nearest hour, etc.&lt;/LI&gt;&lt;LI goog_docs_charIndex="13719"&gt;There are no longer separate SymbolBars and SystemBars.  Use the Synchronize Bars property of the trading system to control whether the bar lists should be synchronized.&lt;/LI&gt;&lt;/UL&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/SPAN&gt;</description><pubDate>Tue, 04 Nov 2008 12:37:18 GMT</pubDate><dc:creator>dplaisted</dc:creator></item><item><title>RightEdge 2008 Edition 2 Beta</title><link>http://www.rightedgesystems.com/forums/Topic6858-7-1.aspx</link><description>A beta of RightEdge 2008 Edition 2 is now available for "early adopters".  There are still rough edges, but this version does support multiple frequency systems, decoupling the data frequency from the system frequency, and better support for large data sets.&lt;P&gt;The beta is available at &lt;A href="http://www.rightedgesystems.com/downloads/RightEdge2008-Ed2-Beta-6.exe"&gt;http://www.rightedgesystems.com/downloads/RightEdge2008-Ed2-Beta-6.exe&lt;/A&gt;.  Note that since this is an early beta, you may run into unexpected problems.  We do not recommend using this beta for live trading.&lt;/P&gt;&lt;P&gt;See the following post for information on what has changed and how to use the new features.&lt;/P&gt;&lt;P&gt;Thanks,&lt;BR&gt;Daniel</description><pubDate>Tue, 04 Nov 2008 12:33:33 GMT</pubDate><dc:creator>dplaisted</dc:creator></item></channel></rss>
