mirror of
https://github.com/mihakralj/QuanTAlib.git
synced 2026-08-19 19:18:05 +00:00
2.4 KiB
2.4 KiB
RSX - Jurik Relative Strength X
RSX is a noise-free version of the Relative Strength Index (RSI) developed by Mark Jurik. It eliminates the lag and choppiness associated with standard RSI and its smoothed variants. RSX preserves the 0-100 bounded range and turning points of RSI but provides a much smoother signal, making it easier to identify trends and reversals without false signals from whipsaw movements.
Core Concepts
- Zero Lag: Uses a specialized IIR filter chain to smooth the data without introducing significant delay.
- Noise Reduction: Filters out high-frequency noise while retaining the underlying trend.
- Bounded Range: Output is strictly bounded between 0 and 100, similar to RSI.
- Smoothness: Produces a clean, continuous curve suitable for precise peak/valley detection.
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
| Period | int | 14 | The smoothing period (typically 8-40). |
Formula
RSX uses a cascading filter structure. The smoothing factor \alpha is derived from the period:
\alpha = \frac{3}{Period + 2}
The algorithm processes price changes (v_8) through multiple smoothing stages for both the raw momentum and its absolute value. The final RSX is calculated as:
RSX = \left( \frac{v_{14}}{v_{20}} + 1 \right) \times 50
Where v_{14} is the smoothed momentum and v_{20} is the smoothed absolute momentum.
C# Implementation
Standard Usage
using QuanTAlib;
var rsx = new Rsx(14);
var result = rsx.Update(new TValue(DateTime.UtcNow, price));
Console.WriteLine($"RSX: {result.Value}");
Span API (High Performance)
double[] prices = { ... };
double[] results = new double[prices.Length];
Rsx.Calculate(prices, results, 14);
Chaining
var rsx = new Rsx(14);
var sma = new Sma(rsx, 3); // Smooth the RSX further
Interpretation
- Overbought/Oversold: Values above 70 (or 80) indicate overbought conditions, while values below 30 (or 20) indicate oversold conditions.
- Trend Confirmation: RSX crossing 50 can signal a trend change.
- Divergence: Divergence between price and RSX often precedes a reversal.
- Smoothness: Due to its smoothness, RSX slope changes are more significant than RSI slope changes.