Function Prototype
/* Stochastic RSI */
/* Type: indicator */
/* Input arrays: 1 Options: 1 Output arrays: 1 */
/* Inputs: real */
/* Options: period */
/* Outputs: stochrsi */
int ti_stochrsi_start(TI_REAL const *options);
int ti_stochrsi(int size,
TI_REAL const *const *inputs,
TI_REAL const *options,
TI_REAL *const *outputs);
Description
This documentation is still a work in progress. It has omissions, and it probably has errors too. If you see any issues, or have any general feedback, please get in touch.
The Stochastic RSI is a momentum oscillator to help identify trends.
It takes one parameter, the period n
.
First, Relative Strength Index is calculated using the period n
.
Then Stochastic RSI is calculated for each bar as follows:
$$max_{t} = maximum(rsi_{t}, rsi_{t-1}, ..., rsi_{t-n+1}) $$
$$min_{t} = minimum(rsi_{t}, rsi_{t-1}, ..., rsi_{t-n+1}) $$
$$stochrsi_{t} = \frac{rsi_{t}-min_{t}}{max_{t}-min_{t}}$$
See Also
References
- Chande, Tushar S. (1994) The New Technical Trader
- Wikipedia: Relative Strength Index
- Stocks & Commodities V. 11:05: Stochastic RSI And Dynamic Momentum Index by Tushar Chande and Stanley Kroll
Example Usage
Calling From C
/* Example usage of Stochastic RSI */
/* Assuming that 'input' is a pre-loaded array of size 'in_size'. */
TI_REAL *inputs[] = {input};
TI_REAL options[] = {5}; /* period */
TI_REAL *outputs[1]; /* stochrsi */
/* Determine how large the output size is for our options. */
const int out_size = in_size - ti_stochrsi_start(options);
/* Allocate memory for output. */
outputs[0] = malloc(sizeof(TI_REAL) * out_size); assert(outputs[0] != 0); /* stochrsi */
/* Run the actual calculation. */
const int ret = ti_stochrsi(in_size, inputs, options, outputs);
assert(ret == TI_OKAY);
Calling From Lua (with Tulip Chart bindings)
-- Example usage of Stochastic RSI
stochrsi = ti.stochrsi(input, 5)
Example Calculation
period = 5
date | input | stochrsi |
---|---|---|
2005-11-01 | 81.59 | |
2005-11-02 | 81.06 | |
2005-11-03 | 82.87 | |
2005-11-04 | 83.00 | |
2005-11-07 | 83.61 | |
2005-11-08 | 83.15 | |
2005-11-09 | 82.84 | |
2005-11-10 | 83.99 | |
2005-11-11 | 84.55 | |
2005-11-14 | 84.36 | 0.66 |
2005-11-15 | 85.53 | 1.00 |
2005-11-16 | 86.54 | 1.00 |
2005-11-17 | 86.89 | 1.00 |
2005-11-18 | 87.77 | 1.00 |
2005-11-21 | 87.29 | -0.54 |
Chart
Other Indicators
Previous indicator: Stochastic Oscillator
Next indicator: Vector Subtraction
Random indicator: Awesome Oscillator
Copyright © 2016-2024 Tulip Charts LLC. All Rights Reserved.