iRSIOnArray Issues

To add comments, please log in or register
James Parker
998
James Parker  

Hi All,

Could someone help me with how to use the iRSIOnArray function.

For example, why does this not work?

double RSI = iRSIOnArray(Close,0,10,0);

I'm just playing around with it to try and understand how it works. When I run this it returns zero. I assumed the Close array would be fine to test it with and a basic 10 period.

My goal is to read in some data from a text file and calculate RSI on the values, but obviously need to get it working on live chart values first.

Thanks.

whroeder1
17945
whroeder1  
double RSI = iRSIOnArray(Close,0,10,0);
Why do you expect an RSI on a Close[] array that has 0 elements to return anything useful?
Keith Watford
Moderator
13923
Keith Watford  
whroeder1:
Why do you expect an RSI on a Close[] array that has 0 elements to return anything useful?


From the documentation

[in]  The number of items to be counted. 0 means the whole array.

Keith Watford
Moderator
13923
Keith Watford  
James Parker:

Hi All,

Could someone help me with how to use the iRSIOnArray function.

For example, why does this not work?

Where do you place your code?

If you place it in OnInit, the Close array will not be loaded, so it will return 0.

James Parker
998
James Parker  
Keith Watford:

Where do you place your code?

If you place it in OnInit, the Close array will not be loaded, so it will return 0.


This is within the OnTick function.

I was just using the Close array as an example.

Originally I read some data from a file into an array that I created and tried to calculate the iRSIOnArray on it, but it returned 0. So I started to think maybe it is something wrong with the array that I have created. So instead I test it on one of the predefined arrays that I know must be correct but still I get 0.

Keith Watford
Moderator
13923
Keith Watford  

It is not a function that I have used much, but I have tested it and it does just seem to return 0.0

So it appears that the function is not working as it should.

whroeder1
17945
whroeder1  
Keith Watford:
whroeder1:
Why do you expect an RSI on a Close[] array that has 0 elements to return anything useful?

From the documentation

[in]  The number of items to be counted. 0 means the whole array.

Do you really want the RSI for the last 20,000 bars? That will be a flat line.
James Parker
998
James Parker  
whroeder1:
Do you really want the RSI for the last 20,000 bars? That will be a flat line.


I was under the impression that it means it will take the whole array, but only calculate RSI on the last 10 bars.

Either way there is something wrong with the code or function as the answer returns 0 whether I use:

double RSI = iRSIOnArray(Close,0,10,0);

or:

double RSI = iRSIOnArray(Close,10,10,0);

So I'm not sure what is going wrong...

To add comments, please log in or register