I might be not be interpreting this code correctly, but looking at the source code for the ALMA (community) indicator below, it appears the indicator is using a future data point in its calculation. For example, if the current data series index (j) is 100, with a window size of 9, with "i" (window index) = 9; wouldn't the data series index, ds[j - (windowSize - 1 - i)], = 101, i.e. one data point in the future?
CODE:
Please log in to see this code.
Is the code incorrect, or am I missing something? Any thoughts?
Size:
Color:
Size:
Color:
Now I am really confused. But here is how I got 101:
ds[j - (windowSize - 1 - i)]
j = 100
windowSize = 9
i = 9
therefore,
j - (windowSize - 1 - i) equals 100 - (9 - 1 - 9) = 100 - (-1) = 101
Size:
Color:
Thanks, now I see: I didn't pay attention to the braces. Makes sense now.
It corresponds to the following line in
the translation to SierraChart:
CODE:
Please log in to see this code.
The
original MQL code has it like this:
CODE:
Please log in to see this code.
Size:
Color:
Eugene,
I'm not sure if I am correct on this, but I think the discrepancy has to do with zero based indexing in the original (SierraChart and MQL) code vice one based indexing in the community indicators code. I think that if you use one based indexing then you may need to change the code to:
CODE:
Please log in to see this code.
Unfortunately, I don't have another implementation to verify the results using the change above. Then again, I could be entirely wrong.
best regards...
Size:
Color:
Darrell,
I revisited your original post and the code and it seems to me that the condition that worries you shouldn't take place:
QUOTE:
with a window size of 9, with "i" (window index) = 9;
As you can see from the condition in the loop, "windowSize" cannot be equal to "i":
CODE:
Please log in to see this code.
And since "i" is less than the "windowSize" then:
j - (windowSize - 1 - i) equals 100 - (9 - 1 - 8) = 100 - (0) = 100
Problem solved?
Size:
Color:
Eugene,
OK... my mistake, you are right as usual. However, since each version uses the same upper limit, i.e. "i < windowSize"; my gut feeling is that the window size in the original source (using zero based indexing) is not the same as the community indicator which uses one based indexing. But w[0] in the the original source code is so small, any difference should be insignificant.
Thanks again for responding...
Size:
Color:
You're welcome.
Size:
Color: