It’s no secret that using polynomial decomposition of data opens up new opportunities for analysis and decision-making. But the trouble with all existing algorithms and implementations is a very slow calculation.

The main feature of this indicator is a fast algorithm. The gain in the calculation speed of the polynomial and its value of the standard deviation in comparison with classical algorithms reaches several thousand times. Which makes it possible to use this algorithm for comfortable use without the use of supercomputers.

Also, since version 1.4, a strategy Tester has been introduced into this indicator with visual visualization of transactions and simultaneous calculation of profit (in points), maximum drawdown (in points), total number of transactions and profit factor (total profit / total loss), and output of these data in the form of a table. 10 strategies are given as an example: 5 channel and 5 non-channel, as well as their inverse strategies (when Sell and Buy are reversed). You can also expand the capabilities of this Tester if you apply this indicator to another indicator, for example, RSI. To call the Tester, you just need to press “T” (Tester) and to select a strategy, just hover the mouse pointer over the strategy information line. A short schematic description of the strategy is displayed in the pop-up menu. To switch between channel and non-channel strategies, press the “C”(Channel) key. In the future, it is planned to implement a simple visual strategy builder directly from the indicator window so that you can create your own strategies.

[spoiler title=”Read More…”]

It is especially worth noting the possibility of changing parameters directly from the indicator window using the keyboard and mouse. This method is more visual, fast and simple. Press the help key “H” (Help) to prompt the control keys, and also watch the video clip.

Language support has been implemented (so far 8 languages), which will be further refined and expanded. Language selection via the properties window or by pressing “L” (Language).

- The yellow lines are the channel of the Polynomial that is redrawn with each tick. The green dotted lines are an extrapolation of the Polynomial into the future.
- Two-color lines are a non-redrawable channel, which is a trace of a Yellow Polynomial, blue color – when the lines of the Polynomial are directed up, purple color – when down.
- The red line is Sell, the blue line is Buy. Displayed when the Tester is turned on.

- Select Language – Language selection
- Degree of a polynomial – The degree of the polynomial, from 0 to 20.
- 0 – normal MA (channel-Bollinger Bands)
- 1 – linear regression
- 2 – nonlinear regression without inflection points (arc)
- 3 – nonlinear regression with one inflection point (wave)
- etc.
- Number of bars for the calculation (period) – the number of bars to calculate (period).
- Width of the channel, 0-no channel, 1-width=standard deviation – Channel width:
- 0 – don’t draw the channel
- 1 – the width is equal to the standard deviation of the polynomial
- Bars to extrapolate in the future – how many bars to extrapolate into the future
- Show Polynom? – show a polynomial?
- Spread for Tester. – the size of the spread for the Tester.

- 0 – normal MA (channel-Bollinger Bands)
- 1 – linear regression
- 2 – nonlinear regression without inflection points (arc)
- 3 – nonlinear regression with one inflection point (wave)
- etc.

- 0 – don’t draw the channel
- 1 – the width is equal to the standard deviation of the polynomial

The degree of the Polynomial is limited to 20. Because with an increase in their number, there is a problem of lack of accuracy and overflow of the maximum value of the double type. For its maximum value is, as is known, 1.7976931348623158e 308, and the accuracy is 15 significant digits. The higher the number of the degree of the Polynomial and the period of the Polynomial, the higher the probability of overflow and the indicator will refuse to perform calculations or the data will be incorrect. This problem is solved quite easily through the use of special high-precision libraries using dll. But that’s another story, and I’m not sure that there is a need for this. In my opinion, it is quite enough to use this indicator with a Polynomial degree of less than 10. I recommend not to exceed this value also because of a noticeable decrease in the speed of the indicator.

**PS: **This indicator was originally created on MQL5, and its exact copy is already available in the Market for MetaTrader 5. The presented video was shot on the MetaTrader 5 platform. The work on the MetaTrader 4 is exactly the same. The only differences are that, unfortunately, it is impossible to build this indicator on the basis of other indicators on MetaTrader 4, as shown in the video on the example of RSI, even in MetaTrader 5, saving parameters changed in the window when changing timeframes is implemented. Also on MetaTrader 5, the same code works much faster. But I did not reshoot the video for MetaTrader 4, because I think it is informative to learn about the capabilities of MetaTrader 5. I recommend everyone to think about switching to MetaTrader 5.

[/spoiler]