2.9 Exploring Arrays and Matrices in Pine Script: A Quick Guide

This video tutorial covers the basics of creating and working with arrays in a programming context. It explains two methods for creating arrays, using values or specifying a type and size. The video demonstrates how to assign values, access elements, and utilize various built-in array methods like pushing, popping, searching, and looping. Additionally, the tutorial briefly introduces matrices, which are more advanced data structures with rows and columns. While this information is presented quickly, it offers viewers a broad understanding of array concepts and their applications in programming.

Introduction

Arrays and matrices are essential data structures in Pine Script that allow you to store and manipulate multiple values efficiently. In this guide, we’ll explore how to create, access, and use arrays and matrices in your Pine Script scripts. Whether you’re new to programming or an experienced trader, understanding these concepts can greatly enhance your ability to analyze and visualize data.

Creating Arrays

Arrays in Pine Script are collections of values that must be of the same data type. You can create arrays using two different methods: using the `array.from` function or using the `array.new` constructor.

• Using `array.from`: This method involves providing comma-separated values to create an array.
``a1 = array.from(1, 2, 3, 4, 5)``
• Using `array.new_<type>`: Here, you specify the size of the array and starting values if necessary.
``a2 = array.new_float(5, na)``

Manipulating Arrays

Once you’ve created arrays, you can perform various operations on them, such as adding values, accessing elements, and utilizing built-in functions. Here are some essential array operations:

• Accessing Elements: Arrays are zero-based, meaning the first element is at index 0.
``````first_element = a1.get(0)
second_element = a1.get(1)``````
• Adding Values: Use the `array.push` method to add values to an array.
``````array.push(a2, 1)
array.push(a2, 2)
array.push(a2, 3)``````
• Built-in Functions: Arrays have built-in functions for calculating statistics like average, variance, median, etc.
``````average_value = array.avg(a1)
variance_value = array.variance(a1)``````

Looping Through Arrays

Looping through arrays is a common task in Pine Script. You can use the `for` loop to iterate over the elements in an array. The new `for element in array` syntax makes it more convenient:

``````for value in a1
// Perform operations on 'value'``````

Creating Matrices

Matrices in Pine Script are two-dimensional data structures that are similar to Excel sheets with rows and columns. You can create matrices using the `matrix.new<type>` constructor:

``m1 = matrix.new<float>(rows=3, cols=3, initial_value=0)``

Manipulating Matrices

Manipulating matrices involves working with rows and columns. You can use nested `for` loops to iterate through the matrix elements:

``````for rowElement in m1
for [colIdx, colElement] in rowElement
label.new(bar_index[colIdx], high[colIdx], str.tostring(colElement))``````

Conclusion

Arrays and matrices are fundamental tools in Pine Script for managing and processing multiple values efficiently. By understanding how to create, access, and manipulate arrays and matrices, you’ll be better equipped to analyze data and create complex trading strategies. Remember, practice is key to mastering these concepts, so experiment and apply them to your projects to gain practical experience.

Lesson Content