# What is the right method to calculate Relative Strength Index (RSI) for incoming real time data? [closed]

I am working on a trading bot that computes values for several indicators including the RSI. I subscribe to real time minute-level market data from an exchanges, and as new data arrives, I get the most recent tick, and re-compute indicators. Let's assume the RSI calculation period is 1 hour.

Average gain is computed as:

`05:00` as `[Prev Avg Gain x 13 + (Price at 05:00 - Price 04:00)]/14`.

`06:00` as `[Prev Avg Gain x 13 + (Price at 06:00 - Price 05:00)]/14`.

What is the right way to compute RSI at a minute level? I generate trade signals (buy/sell) every 5 minutes. What is the right way to update RSI at `05:05` i.e, at a smaller granular period (5 minutes) than the calculation period (1 hour)? I don't want to wait one until `06:00` to get the RSI for the one hour period. I have two options:

Compute `Current Gain = (Price at 05:05) - (Price at 05:00)`.

OR

Compute `Current Gain = (Price at 05:05) - (Price at 04:05)`. And do this for each of the previous intervals so that average gain also follows this formula - essentially adding a 5 minute shift to each computation.

Any suggestions are welcome.

use `Current Gain = (Price at 05:05) - (Price at 05:00)`