Hi JerryS. No idea what your computer/science/math background is, but I'll try to help. To expand on what jcl said, recursive is not the same as circular. Circular means the calculation is in some way using itself. Recursive means a prior value is being used. The classic example is factorial: n! = n * (n-1)!.

In the case of Zorro, this is done with series() (for simplicity to start think of them as time series). Perhaps the missing element is that on the first bar the value of y[n] with n>0 is 0 - only y[0] has a value. But on the next bar y[1] does also (the value of y[0] at the end of the previous bar), and so on. In this way the series is populated. If you add debug prints to your code, you can see this happening (as well as find other issues laugh ).

HTH.