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 • 83 days ago #

    Gracias!

avatar
Register or

Likes

avatar avatar avatar avatar
Related users ' posts
Nicolas Please open a topic in ProScreener forum with your query, I'll reply you there. Thank you.
manafull Thanks Nicolas, I post my question, along with the codes I am trying to convert from your in...
Nicolas I replied to your post here: https://www.prorealcode.com/topic/screener-for-rsi-and-linear-r...
Madrosat I Have not see a fully functioning automated strategy on your site?? Really have you???
juanj Hi Madrosat, why would it be on my site? I have developed it for my personal use and also to...
Madrosat ok I understood you are using prorealcode to hack the fish
imonix Have been trying this on demo since Monday before deciding whether to go live with it. Using...
Roberto Blázquez I'm sorry, I've tried it since November 2012 and it's bad results.
woktrade Superbe !
Vonasi An updated version with a bug fix can be found here: https://www.prorealcode.com/topic/dis...
snucke hey Vonasi is it possible you can help me get this indicator to show how much a market mo...
Vinks_o_7 Vonasi you're a beast !!! ;-)))
pableitor Amazing indicator , you are pushing PRT to the limit! But looking at the scatter its not c...
Zigo
5 years ago
fifi743 Good morning, there is no mistake about the shorts c11=SMI[14,3,5](close)>-40
Zigo has to be c11=SMI[14,3,5] < -40 (indeed)
xar3 Thank you ;-) Zigo
Sapo Thank you very much. as always your indicators are extremely effective. kind regards Vonasi.
mitsu21 Hi, it looks nice. I'll try it tomorrow thank you for your share kind regards bruno
kj1988 Thank you Vonasi for sharing this indicator. Very useful as a comfirmation to the price act...
ggolfet Thanks Nicolas, I imported the itf file and solved the problem.
Hasardeur Hallo Nicolas, i tried to code the multi period heat map in combination with the Ehler’s ...
Nicolas Please open a new topic with the code in forum.
Marie-Eve Vergoz lorsque je copie les codes, le système me signale des erreurs à la ligne 12 et suivantes
Marie-Eve Vergoz sorry - tout est ok -
AlgoAlex
6 years ago
Marcot18 Alex ti sei superato
AlexF Esagerato!
jobswaps Sube como trazar lineas de tendencias a tantas barras
Frankiesc interesting indicator !! Thanks for sharing!!!
robertogozzi Thank you :)
JJ Tec Hola Las condiciones de entrada / salida vienen en el libro de J. Carter Mastering the trad...
Pixeldd Ich bekomme beim einfügen des Indikators einen Fehler angezeigt. Was bitte muss ich genau än...
HarryPro Hello, Firtly there appears to be a typo on line 6 "lenghkc=20" should this be "lengthkc=...
sir_i Bonjour à tous, Je suis nouveau sur le forum et sur la plateforme, pourriez-vous me dire com...
Nicolas Il faut simplement l'appliquer sur le prix.
sir_i Merci pour la réponse, je ne suis pas familier avec l'application de cette procédure simple,...
Nicolas Il s'agit d'un indicateur compatible avec PRT v11 uniquement. Pour éviter les erreurs de cop...
Sébi Intéressant. Merci pour ce partage Nicolas. L'indicateur ne considère pas les divergences ...
Nicolas ok, pour les divergences chacun voit midi à sa porte je dirai :) Vu qu'il n'y a pas de formu...
mcha merci bien et félicitations pour la réactivité avec laquelle il a été mis dans la bibliothèq...
soulintact Great indicator Nicolas, thanks!
cdc.andersson Hello, when trying to include this wonderful Dynamic RSI on my trading system i get the erro...
Rafyone Bonjour Nicolas et bonne année lol J'ai une erreur qui apparait concernant drawbarchart une...
Nicolas Je pense que tu n'utilises pas le bon éditeur de code, cette instruction est compatible uniq...
Exalaxe Hey, i just noticed you optimized this strategy. Could i see your new version, please?
Andrea.1981 sorry i add my code but it not enter why i dont know
Andrea.1981 this is code simply stop , and you can see another version for stop / Codice principale...
AntoGH how did you backtest it ?
PastaPesto @AntoGH , I dont know if you are asking me, but my backtest was made in an IS of 4 years bet...
Ridder @PastaPesto Do you still running this and how is the results? Thanks
dau710 Are the Bulls Blue & the Bears Red?
dau710 Many thanks :)

Top