Home » Array Functions » Understanding the array.standardize() Function in Pine Script

Understanding the array.standardize() Function in Pine Script

Photo of author
Published on

In this article, we explore the array.standardize() function in Pine Script, a key tool for data normalization in financial analysis and trading strategy development on TradingView. This function simplifies the standardization of array elements, whether float or integer, facilitating consistent data scale across datasets.

Introduction to array.standardize()


The array.standardize() function is designed to return an array of standardized elements, streamlining data analysis and manipulation tasks. Its syntax and overloads are as follows:

  • array.standardize(series) → array<float>
  • array.standardize(series) → array<int>


  • series (array<int/float>): This argument represents the array object you wish to standardize, comprising either integer or floating-point numbers.


To illustrate the array.standardize() function’s utility, consider the following Pine Script code snippet:

indicator("Array Standardize Demonstration")
sampleSeries = array.new_float(0)
for index = 0 to 9
    array.push(sampleSeries, close[index])
standardizedSeries = array.standardize(sampleSeries)

Walkthrough of the Example

  • //@version=5: Specifies the use of version 5 of Pine Script, which supports the latest features and syntax.
  • indicator("Array Standardize Demonstration"): Declares a new indicator with the title “Array Standardize Demonstration” for display on TradingView charts.
  • sampleSeries = array.new_float(0): Initializes a new empty array of floating-point numbers named sampleSeries.
  • for index = 0 to 9: Starts a loop that runs 10 times, with index ranging from 0 to 9.
  • array.push(sampleSeries, close[index]): Within the loop, pushes the close price of the current bar minus index (looking back index bars) into the sampleSeries array. This fills the array with the last 10 closing prices.
  • standardizedSeries = array.standardize(sampleSeries): Standardizes the data in sampleSeries, creating a new array standardizedSeries where each element is transformed into a standardized score based on the original array.
  • plot(array.min(standardizedSeries)): Plots the minimum value of the standardized data from standardizedSeries on the chart.
  • plot(array.max(standardizedSeries)): Plots the maximum value of the standardized data from standardizedSeries on the chart, allowing the user to visualize the range of standardized values.

Key Features and Takeaways

  • Function Usability: The array.standardize() function is pivotal for data normalization, especially in statistical analysis and trading algorithms where data scaling is crucial.
  • Syntax and Application: Its simple syntax allows for straightforward implementation, making it accessible to both novice and experienced Pine Script developers.
  • Versatile Application: Standardizing data helps in comparing or combining different datasets on a common scale, improving the accuracy of analysis and predictions.

By incorporating array.standardize() into your Pine Script arsenal, you can significantly enhance your trading strategies and indicators with normalized data, enabling more effective analysis and decision-making processes.

Leave a Comment