RSI Cyclic Smoothed

RSI Cyclic Smoothed

1. Introduction

The Relative Strength Index (RSI) is one of the most widely used indicators in technical analysis, originally developed by J. Welles Wilder. Its main function is to measure the relative strength of an asset by comparing upward and downward price movements over a specific period. Traditionally, the RSI is used to identify overbought (levels above 70) and oversold (levels below 30) conditions, as well as potential trend reversals.

However, the classic RSI has limitations in markets with dominant cycles or irregular trends, as its standard calculation can produce less accurate signals. To improve its performance, the RSI Cyclic Smoothed (CRSI) was created, an advanced version that incorporates cyclic smoothing and cyclic memory to better adapt to market movements.

The RSI Cyclic Smoothed not only smooths the original RSI but also calculates dynamic bands (UpperBand and LowerBand), which adjust automatically to the asset’s cyclical levels, providing clearer signals in varying market conditions.

In this article, we will analyze how this indicator works, how to interpret it, and how you can configure it in the ProRealTime platform. Finally, the complete code in ProBuilder will be included for you to implement it in your charts.

2. How the RSI Cyclic Smoothed Works

The RSI Cyclic Smoothed (CRSI) is an advanced version of the classic RSI that incorporates two key elements to improve its performance: cyclic smoothing and cyclic memory. This allows it to adapt better to market cycles and offer more accurate signals compared to the standard RSI. Below, we break down its operation step by step:

2.1 Basic Calculation Concepts

  • Cycle Dominance (domcycle):
    Defines the duration of the dominant market cycle. This parameter is fundamental for adjusting the indicator’s sensitivity. The cycle is divided into two parts:

    • cyclelen = domcycle / 2 (half of the cycle length).
    • vibration: Smooths the RSI behavior by eliminating noise.
  • Cyclic Memory:
    Represents the period over which the CRSI history is stored to calculate dynamic reference levels. The cyclic memory is defined as:

    • cyclicmemory = domcycle * 2

2.2 RSI Smoothing

The process begins with calculating the classic RSI, but instead of using a fixed period, an exponential smoothing factor is introduced to reduce fluctuations:

  • Calculating “up” and “down” movements:
    • srcUp = max(src - src[1], 0) → Upward movement.
    • srcDw = -min(src - src[1], 0) → Downward movement.
  • Applying exponential smoothing (alpha):
    Exponential smoothing replaces the traditional average:

    Where:

    • alpha = 1 / cyclelen (based on the dominant cycle).
  • RSI Calculation:
    • If there are no downward movements (dw = 0), RSI = 100.
    • If there are no upward movements (up = 0), RSI = 0.
    • Otherwise, RSI follows the standard formula:

2.3 Cyclic Memory and Phase Adjustment

To synchronize the RSI with market cycles, a phase adjustment is introduced using the vibration parameter:

  • Torque (Cyclic Smoothing Factor):

  • Phase Lag:
    Calculates a lag based on half the vibration parameter:

  • CRSI Calculation:
    The CRSI smooths and adjusts the original RSI:

2.4 Dynamic Bands (UpperBand and LowerBand)

A unique feature of the RSI Cyclic Smoothed is the incorporation of dynamic bands, calculated based on the CRSI. These bands provide reference levels that adjust to the asset’s cyclical behavior:

  • UpperBand: Represents the CRSI’s recent maximum level.
  • LowerBand: Represents the CRSI’s recent minimum level.

The bands are determined by analyzing the CRSI history over the cyclic memory period:

The stepfactor adjusts the precision of these levels:

3. Indicator Interpretation

3.1 Overbought and Oversold Levels

  • Static Reference Levels:
    • Above 70 → Overbought: Possible bearish reversal.
    • Below 30 → Oversold: Possible bullish reversal.

3.2 Dynamic Bands

  • UpperBand: Indicates extreme overbought conditions when CRSI crosses above this level.
  • LowerBand: Indicates extreme oversold conditions when CRSI crosses below this level.

3.3 Shaded Area Between Bands

The area between the UpperBand and LowerBand is highlighted for clarity, helping to identify consolidation or range-bound cycles.

4. Indicator Configuration

Parameter Default Value Description
domcycle 20 Duration of the dominant market cycle.
vibration 10 Smooths CRSI by reducing noise.
leveling 10 Controls the precision of dynamic bands.
cyclicmemory domcycle * 2 Historical period used to calculate dynamic bands.

5. Practical Tips

  • Trial and Error: Adjust parameters gradually to optimize the indicator for your asset and timeframe.
  • Adaptation to Asset: Customize settings based on the asset’s volatility and cyclical behavior.
  • Timeframe: Use smaller values for intraday charts and larger values for weekly or monthly charts.

6. Conclusion

The RSI Cyclic Smoothed is a powerful enhancement to the classic RSI, offering greater adaptability through cyclic smoothing and dynamic bands. Its ability to adjust to market cycles makes it a valuable tool for identifying overbought/oversold conditions and potential trend reversals. By fine-tuning its parameters, you can optimize its performance across different timeframes and market environments.

 

Share this

Risk disclosure:

No information on this site is investment advice or a solicitation to buy or sell any financial instrument. Past performance is not indicative of future results. Trading may expose you to risk of loss greater than your deposits and is only suitable for experienced investors who have sufficient financial means to bear such risk.

ProRealTime ITF files and other attachments : How to import ITF files into ProRealTime platform?

PRC is also on YouTube, subscribe to our channel for exclusive content and tutorials

  1. luiskohnen • 84 days ago #

    Gracias!

avatar
Register or

Likes

avatar avatar avatar avatar
Related users ' posts
AG1 Thanks Nicolas Still a problem in line 29 Please take a look. thanks again Alex
Nicolas code is modified in the above post, use that one.
AG1 Still a problem in line 29 Please take a look. thanks again Alex
styrke Hello Nicolas, Nice screener, I appreciate the way you always try to condense at maximum th...
Nicolas There's no particular reason. RSI is widely use with its default period and results seems re...
MaoRai54 Hi, first of all Happy New Year. Well, I've inserted your indicator in DAX 1h but I cann...
Vinks_o_7 Hi Mao Happy New Year ! This is just an improved RSI where you plot a standard price momen...
Angel Perez Ciao Francesco. First of all thanks for the indicator and also fro the screener. I do have a...
PSIDIO Ciao to you all, I also have a question and would be very happy for a helpful comment. I a...
SpreadBetMH Hi there, I have V11.1. I get the Indicator but no Arrows on the price. Kind Regards...
Alai-n Ciao Francesco, sei ancora in giro?
Metodi97 This indicator is great but can someone create strategy based on the same indicator it will ...
Nicolas
7 years ago
TradeNavigator RSI
TradeNavigator RSI
10
Indicators
Nicolas Tutte le impostazioni che hanno la parola "period" sono quelle dedicate ai periodi di cambio...
GianfrancoCeck Le chiedo una ultima cosa, ossia se è possibile personalizzare l'indicatore con una scritta ...
Nicolas Spiacente che non sia possibile, le coordinate grafiche non sono in pixel ma nel prezzo e ne...
Nicolas Your picture is too small, but for sure the problem is about the fact you are still using v1...
Rory Dryden Thanks. This looks useful.
Edelmiro Un millón... de gracias... me gustaría más, poder ofrecer euros; pero va a ser que no puedo,...
Jessar Hello, could you tell me how to use this indicator? I think the simplest things can still be...
Mirko Vaglio Interesting idea to bypass the limit of PRT about multiple timeframe, and I am just trying t...
Mirko Vaglio Looking a little bit more, now I understand what had to be absolutely obvious from the first...
Seb nice code! I'm trying to use your method to do a higher timeframe EMA, without success yet. ...
Francesco78 @snucke the results are not the same because the pictures refers to a few years ago. I am no...
snucke @Francesco78 i mean the results differ when i test on my own. so im curious of what the p...
sfl still working, using with filters like : trendFilterUp=close>average[190](close) tren...
alex Im looking for a entry when EpicMA crosses over/under trigger. Then look for exits when Epic...
rejo007 hello david, i'll try it could you tell me wich strategy do you use in real? thanks
David Somogyi Hello, I have a couple of DAX strategies of breakout and mean reversion. I'll try to post...
Roberto Blázquez Hi David, I just saw your strategy and it's good!!! I'm going to try it from today in real a...
juanj To follow new developments or get the latest version of this strategy please visit the forum...
tahar Hello Juan, I wanted to test Universal Strategy via a demo account on PRT but nothing happen...
BravoDelta @juanj wondering if you may help me please. I am looking for a simply strategy to use on the...
Wilko I am not familiar with the screener function, but I am quite certain it should be quite simp...
Gubben @Wilko have you had a look at this again since MTF support? Heard you talk on Börssnack btw..
Wilko @Gubben not really. It was something I posted to show that simpler is usually better. Hope y...
GraHal Yes sorry, I set up a link to a screen shot on my google drive and then I got locked into th...
gabri Here's the thread https://www.prorealcode.com/topic/multiframe-rsi-of-rsi/
Bernard13 Bonjour Nicolas, Pourriez-vous m'indiquer si cet indicateur fonctionne avec la V11 ? Le di...
nwesterhuijs Thanks, only saw it just now.
juanj For the latest version and discussions see the Ichimoku thread here: https://www.prorealcod...
Louwrens Hi Juanj. Thanks for this. I am tying it as we speak. It does not trade that often, which is...
ALE
8 years ago
CSR strategy DAX 1 D
CSR strategy DAX 1 D
17
Strategies
Jesper I tried it on dax 1D and I did not get any trades. Shifted to 10H and it started working. Wo...
rgrgrgr I have the same problem
avatar
crazytrader Is this working?
Maz
8 years ago
Francesco78 very nice, thanks!
Wilko Interesting! Thanks for sharing!
BjornH Extremely nice, thanks!

Top