Entering Calculation Logic
The OnBarUpdate() method is called for each incoming tick or on the close of a bar (user defined) when performing real-time calculations and is called on each bar of a data series when re-calculating the indicator. For example, an indicator would be re-calculated when adding it to an existing chart that has existing price data displayed. Therefore, this is the main method called for indicator calculation and we will use this method to enter the script that will do our calculations.
Creating the Series\<double\> Object
-
Declare a variable (MySeries used in this example) of type Series
\<double\>that will hold a Series\<double\>object within the region “Variables”. -
Create a new Series
\<double\>object and assign it to the MySeries variable within the OnStateChange() method.
Storing calculations in the DataSeries object
Now that we have our Series\<double\> object we can store double values into it. For this example we will store a simple Close minus Open calculation.
Enter the following code into the OnBarUpdate() method:
The value of a Series\<t\> object will be aligned with the current bar. This means that all Series\<t\> objects will be synced with the CurrentBar index. It allows you to store A double value that corresponds with every bar.
Using Series\<t\> values
With our new Series\<double\> object we can continue with further calculations easily. We can now use our Series\<double\> object as input to an indicator method such as SMA or instead of always writing Close[0] - Open[0] we can substitute our Series\<double\> object instead as per the example below.
To plot our final calculation we will store the calculation in our plot called MyPlot. In the OnBarUpdate() method add the following code snippet:
Here we assign the SMA + Series\<double\> value to the property that represents the plot data using the ”=” assignment operator. We have just finished coding our CustomSeries example. The class code in your editor should look identical to the below. You are now ready to compile the indicator and configure it on a chart.

