# Public & Open Source Cycle Indicators

Free and open source versions of our cycle indicators for TradingView

# Detrended Rhythm Oscillator (DRO)

The purpose of this indicator is to **visualize and check if there is a common rhythm or beat** in the dataset of interest.

[![dro_example.png](https://docs.cycle.tools/uploads/images/gallery/2021-06/scaled-1680-/dro-example.png)](https://docs.cycle.tools/uploads/images/gallery/2021-06/dro-example.png)

Chart: 120m Bitcoin chart visualizing the dominant rhyhtm of 40/80 bars with the DRO indicator  
TradingView chart: [https://www.tradingview.com/x/WYBQLz9D/](https://www.tradingview.com/x/WYBQLz9D/)

<p class="callout info">**Direkt link to TradingView Indicator:**  
[https://www.tradingview.com/script/nzvqcuSh-Detrended-Rhythm-Oscillator-DRO/](https://www.tradingview.com/script/nzvqcuSh-Detrended-Rhythm-Oscillator-DRO/ "Detrended Market Rhythm Oscillator Indicator to derive the dominant cycle length")</p>

#####  

##### Overview and Background

A common way to capture the current dominant cycle length is to detrend the price and look for common rhythms in the detrended series. A common approach is to use a [<span class="tv-chart-view__tag-page-link">Detrended Price Oscillator</span>](https://www.tradingview.com/scripts/detrendedpriceoscillator/) ( [<span class="tv-chart-view__tag-page-link">DPO</span>](https://www.tradingview.com/scripts/detrendedpriceoscillator/) ). This is done in order to identify and isolate short-term cycles.   
  
A basic [<span class="tv-chart-view__tag-page-link">DPO</span>](https://www.tradingview.com/scripts/detrendedpriceoscillator/) description can be found [here.](https://www.tradingview.com/support/solutions/43000502246-detrended-price-oscillator-dpo/)

#####  

##### Improvements to the standard DPO

The main purpose of the standard [<span class="tv-chart-view__tag-page-link">DPO</span>](https://www.tradingview.com/scripts/detrendedpriceoscillator/) is to analyze historical data in order to observe cycle's in a market's movement. [<span class="tv-chart-view__tag-page-link">DPO</span>](https://www.tradingview.com/scripts/detrendedpriceoscillator/) can give the technical analyst a better sense of a cycle's typical high/low range as well as its duration. However, you need to manually try to "see" tops and bottoms on the detrended price and measure manually the distance from low-low or high-high in order to derive a possible cycle length.   
  
This indicators adds the following improvements:   
  
1\) Using a [<span class="tv-chart-view__tag-page-link">DPO</span>](https://www.tradingview.com/scripts/detrendedpriceoscillator/) to detrend the price (can be turned on or off)  
2\) Indicate the turns of the detrended price with a [<span class="tv-chart-view__tag-page-link">ZigZag</span>](https://www.tradingview.com/scripts/zigzagindicator/) lines to better see the tops/bottoms   
3\) Detrend the [<span class="tv-chart-view__tag-page-link">ZigZag</span>](https://www.tradingview.com/scripts/zigzagindicator/) to remove price amplitude between turns to even better see the cyclic turns ("rhythm")   
4\) Measure the distance from last detrended [<span class="tv-chart-view__tag-page-link">zigzag</span>](https://www.tradingview.com/scripts/zigzagindicator/) [<span class="tv-chart-view__tag-page-link">pivot</span>](https://www.tradingview.com/scripts/pivotpoints/) (high-high / low-low) and plot the distance in bars above/below the turn   
  
Now, you we can clearly see the rhythm of the dataset indicated by the **Detrended Rhythm Oscillator** including the exact length between the turns. This makes the procedure to "spot" turns and "measure" distance more simple for the trader.

#####   
How to use this information

The purpose is to check if there is a common rhythm or beat in the underlying dataset. To check that, look for recurring pattern in the numbers. E.g. if you often see the same measured distance, you can conclude that there is a major dominant cycle in this market. Also watch for [<span class="tv-chart-view__tag-page-link">harmonic</span>](https://www.tradingview.com/scripts/harmonicpatterns/) relations between the numbers. So in the example above you see the highlighted cluster of detected length of around 40 and 80. There three numbers all have a [<span class="tv-chart-view__tag-page-link">harmonic</span>](https://www.tradingview.com/scripts/harmonicpatterns/) relation to 40.   
  
Once you have this cyclic information, you can use this number to optimize or tune technical indicators based on the current dominant cycle length. E.g. set the length parameter of a technical indicator to the detected [<span class="tv-chart-view__tag-page-link">harmonic</span>](https://www.tradingview.com/scripts/harmonicpatterns/) length with the <span class="js-inline-quote-ticker tv-inline-quote-ticker" data-symbol="ASX:DRO">[<span class="tv-inline-quote-ticker__source-text">DRO</span> ](https://www.tradingview.com/symbols/ASX-DRO/)</span> indicator.

<p class="callout warning">Disclaimer:  
This is not meant to be a technical indicator on its own and the derived cyclic length should not be used to forecast the next turn per se. The indicator should give you an indication of the current market beat or dominant beats which can be use to further optimize other oscillators which require length settings as input pararmeters.</p>

# Cyclic Smoothed RSI Indicator

The **cyclic smoothed RSI** indicator is an enhancement of the classic Relative Strength Index [<span class="tv-chart-view__tag-page-link">(RSI)</span>](https://www.tradingview.com/scripts/relativestrengthindex/). The cyclic smoothed RSI indicator was first introduced in the book "Decoding the Hidden Market Rhythm Part 1: Dynamic Cycles" ([LINK](https://www.whentotrade.com/book-part1/ "WhenToTrade Book Dynamic Cycles smoothed RSI indicator")) and the indicator code has been made public for different charting platforms.

It helps to avoid the noisy signal of the RSI with static oversold/oversold areas, usually leading to many false trade signals and thus to many whipsaw trades. The csRSI therefore provides a much cleaner, zero-lag signal line with adaptive bands to help identifying better trade signals.

##### Advanced Features

- Signal and dynamic oversold/overbought calculation according to the dominant cycle length to keep the signal line better in sync with the current market cycle
- Ultra-Smooth indicator signal without additional lag (zero-lag indicator)
- Adaptive bands to better adjust oversold/overbought areas to market phases (trending/cycling)
- Better divergence detection to spot strong signals

For more information, please read the referenced book Chapter 4 "Fine tuning technical indicators". ([Amazon link](https://www.amazon.com/dp/1974658244))

Our TradingView indicator version is available as public Open-Source indicator in their public library. If you want to use this indicator on your chart, use the "Indicators" button from the TradingView chart panel.

[![image-1622987661205.png](https://docs.cycle.tools/uploads/images/gallery/2021-06/scaled-1680-/image-1622987661205.png)](https://docs.cycle.tools/uploads/images/gallery/2021-06/image-1622987661205.png)

Search for "RSI" in the "Indicators" window and select the "**RSI cyclic smoothed v2**" from WhenToTrade as indicator.

[![image-1622970876930.png](https://docs.cycle.tools/uploads/images/gallery/2021-06/scaled-1680-/image-1622970876930.png)](https://docs.cycle.tools/uploads/images/gallery/2021-06/image-1622970876930.png)

##### Source Code

You can also open the source code and adjust for your own needs. The script page with code is available via this link at TradingView: [https://www.tradingview.com/script/TmqiR1jp-RSI-cyclic-smoothed-v2/](https://www.tradingview.com/script/TmqiR1jp-RSI-cyclic-smoothed-v2/ "TradingView cycle RSI indicator by WhenToTrade")

![Dominant cycle based improved RSI Indicator with source code](https://www.tradingview.com/i/TmqiR1jp/)

<p class="callout info">**This indicator is not designed for use as an automated trading strategy**   
This is an improved technical indicator using the dominant cycle to provide its advanced features. It can be used as drop-in replacement for the classic RSI. The basic applications of technical analysis for oscillators and the Relative Strength Index apply. The script is intended for use in discretionary trading.</p>

# Cycle Swing Indicator

The **Cycle Swing Indicator** indicator is an enhancement of the classic Momentum indicator. The cyclic-tuned momentum indicator was first introduced in the book "Decoding the Hidden Market Rhythm Part 1: Dynamic Cycles" ([LINK](https://www.whentotrade.com/book-part1/ "WhenToTrade Book Dynamic Cycles smoothed RSI indicator")) and the indicator code has been made public for different charting platforms. It does not require any input or parameter as this indicator automatically adjusts the calculation according to the main market cycle.

##### Key Features

{{@35}}

##### Add to chart

Our TradingView indicator version is available as public Open-Source indicator in their public library. If you want to use this indicator on your chart, use the "Indicators" button from the TradingView chart panel.

[![image-1622987661205.png](https://docs.cycle.tools/uploads/images/gallery/2021-06/scaled-1680-/image-1622987661205.png)](https://docs.cycle.tools/uploads/images/gallery/2021-06/image-1622987661205.png)

Search for "Cycle Swing" in the "Indicators" window and select the "**Cycle Swing Momentum**" from WhenToTrade as indicator.

[![image-1622989388693.png](https://docs.cycle.tools/uploads/images/gallery/2021-06/scaled-1680-/image-1622989388693.png)](https://docs.cycle.tools/uploads/images/gallery/2021-06/image-1622989388693.png)

##### Source Code

You can also open the source code and adjust for your own needs. The script page with code is available via this link at TradingView: [https://www.tradingview.com/script/b7o7GmWT-Cycle-Swing-Momentum/](https://www.tradingview.com/script/b7o7GmWT-Cycle-Swing-Momentum/ "cycle tuned ultra-smooth zero-lag momentum indicator")

<p class="callout info">**This indicator is not designed for use as an automated trading strategy**   
This is an parameter-less improved technical indicator. It can be used as drop-in replacement for the classic momentum. The basic applications of technical analysis for oscillators and the Momentum oscillator apply. The script is intended for use in discretionary trading.</p>