Examples of Rolling Average Using Automated Anchoring

In this study, I present a method to expose NaN values to development environment.
This exposure allows NaN values to be used by methods in scripts.

I also show how to use values, even NaN values, as anchors from which statistics can be computed from.
I demonstrate how to do this with constants and variables in methods for computing the cumulative/rolling average of a series.

I also show how to calculate the cumulative/rolling average from the start of a ticker series using the aforementioned methods.

Each method has a description on how some of their parts work as well as their constraints.

Method #1 - Can only be used for computing the rolling average on the ticker series.

Method #2 - The simple moving average from the Pine Script reference.
- Can be used to calculate the rolling average of the ticker series and number values of a series.
- This method seems to cause an error when there are many bars in the series.

Method #3 - The most versatile method due to the use of computing the rolling average using an array.
- Timeout will occur when computing the rolling average of an entire ticker series which is long.
- Timeout has not occurred when computing a rolling average of a series from NaN or non-NaN anchor points even when the series is long.

This is an attempt to get around the constraints of the built-in sma (source, length) function in which length cannot be dynamically adjusted.
Other Pine Script functions have that constraint which we can get around by defining our own functions.
Notas de prensa: In case the above description is not clear, this study shows how to expose NaN values to the development environment to be used in calculations. This study also shows the calculation of a statistic, in this case a moving average, using dynamic look-back during runtime rather than a constant. Pine Script’s built-in functions only allows for constant look-backs during runtime, which can only be manually changed and will recalculate the the statistic over the whole source series. You can workaround that issue by defining your own functions to loop on Series types and even more so by looping on Array types which contain the Series data. Although these workarounds work, their inefficiencies can be a hindrance, especially when the loop count becomes lengthy. It is TradingView's responsibility to change their built-in Pine Script functions to support more dynamic arguments at runtime in order to remove the need to write complex code as a workaround.
Script de código abierto

Siguiendo el verdadero espíritu de TradingView, el autor de este script lo ha publicado en código abierto, para que los traders puedan entenderlo y verificarlo. ¡Un hurra por el autor! Puede utilizarlo de forma gratuita, aunque si vuelve a utilizar este código en una publicación, debe cumplir con lo establecido en las Normas internas. Puede añadir este script a sus favoritos y usarlo en un gráfico.

Exención de responsabilidad

La información y las publicaciones que ofrecemos, no implican ni constituyen un asesoramiento financiero, ni de inversión, trading o cualquier otro tipo de consejo o recomendación emitida o respaldada por TradingView. Puede obtener información adicional en las Condiciones de uso.

¿Quiere utilizar este script en un gráfico?