Using Interchart Tools to speed up charts

Although the Interchart Tools addon was designed to send data streams of different time frequencies into other charts, we have found another good use in our own trading. You can use it to make copies of cpu intensive indicators to avoid recalculating them in the same chart. Examples of cpu intensive indicators include Mesa8, Adaptive Turboprop2, Adaptive Net Indicators, Principal Component Analysis, Fast Fourier Transforms, and linear regressions (you may not realize it but all of our linear regression indicators do a new regression for each bar in the chart each time the chart recalculates). When optimizing charts with a lot of bars in them, these and other indicators can slow things down a great deal, especially if they wind up being used many times inside other indicators.

By way of background information, almost every time you copy an indicator, the new and old indicators are completely independent, even if their parameters are exactly the same. For example, if you insert an Adaptive Turboprop2 indicator on the chart, and then insert it with the same parameters in each of long entry, long exit, short entry, and short exit rules, all five indicators recalculate each time a new bar arrives, even though they may all produce the same data stream.

Now suppose instead of inserting that Turboprop2 indicator on the chart, you insert it as the data stream parameter in a SendStream indicator from Interchart tools. Now in the long entry, long exit, short entry, and short exit rules of the same chart, you insert a GetStream indicator to pick up the Turboprop data stream. You are now calculating the Turboprop indicator only once instead of 5 times, even though it is used in five places. Since Adaptive Turboprop2 indicators train a new neural net for most of the bars in a given chart each time a new bar enters, you have made a huge speedup.

As a side benefit, you will not have to set optimization ranges for all of the parameters of the Adaptive Turboprop2 indicator in each of the four long/short entry/exit rules (assuming you want them all to be the same and not optimized that is).

Be cautious and check results if the method is used in a chart with multiple ticker symbols in it (ie, more than one chart page) because SendStream will get recalculated on each chartpage.

We learned the value in this technique when we built a system that involved feeding six Adaptive Turboprop2 indicators into an Adaptive Net Indicator, which then went into four long/short entry/exit rules. It was taking several minutes to recalculate a large chart, because the AT2 indicators were retraining for each bar in the chart, and the ANI indicator was retaining for all bars in the chart for each retraining of the AT2.

At first we made a SendStream for the each of the six AT2 indicators, thinking we wanted all the entry and exit rules to be separately optimized. Later we realized that even the ANI indicator could be the same in all rules, so now we needed only one SendStream and four GetStreams. It was a huge speedup, and we did not have to set all the optimization parameters for six AT2 in each of four ANI indicators.

This tip may not be valid for high frequency range, volume, and tick bars that have multiple occurrences in the same second.

Was this article helpful?

Related Articles