OPEN-SOURCE SCRIPT

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.
發布通知
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.
arrayconceptexperimentalfunctionHACKmeanMoving AveragesrollingSimple Moving Average (SMA)Trend Analysis

開源腳本

在真正的TradingView精神中,這個腳本的作者以開源的方式發佈,這樣交易員可以理解和驗證它。請向作者致敬!您可以免費使用它,但在出版物中再次使用這段程式碼將受到網站規則的約束。 您可以收藏它以在圖表上使用。

想在圖表上使用此腳本?

免責聲明