Moving Average CyclesMoving Average Cycles Indicator
Description:
The Moving Average Cycles indicator is a versatile tool designed to help traders identify and analyze bullish and bearish cycles based on price movements relative to a moving average. This indicator offers valuable insights into market trends and potential reversal points.
Key Features:
Customizable Moving Average: Users can adjust the MA period and resolution (Daily, Weekly, Monthly) to suit their trading style.
Cycle Identification: The indicator tracks bull and bear cycles, providing visual cues through color-coded histograms.
Comprehensive Metrics: A detailed table displays crucial cycle statistics, including:
Current cycle information (candles and % distance from MA)
Maximum and average cycle lengths (in candles)
Maximum and average percentage distances from the MA
How to Use:
Apply the indicator to your chart and adjust the MA period and resolution as needed.
Green histograms represent bullish cycles, while red histograms indicate bearish cycles.
Use the metrics table to gain insights into historical cycle behavior and current market positioning.
This indicator is designed to complement your existing trading strategy by providing a clear visual representation of market cycles and detailed statistical information. It can be particularly useful for identifying potential trend reversals and gauging the strength of current trends compared to the past.
Note: Past performance does not guarantee future results. This indicator is meant for informational purposes only and should not be considered as financial advice. Always combine multiple analysis tools and conduct your own research before making trading decisions.
This script is published as open-source under the Mozilla Public License 2.0. Feel free to use and modify it, but please provide appropriate credit if you build upon this work.
I hope you find this Moving Average Cycles indicator helpful in your trading journey. If you have any questions or suggestions for improvement, please feel free to leave a comment below.
Cerca negli script per "Cycle"
Leonid's Bitcoin Full Cycle Simple SMA IndicatorThis is a straight-forward and customizable indicator to track Bitcoin cycles, specifically used for helping investors understand where to buy and sell. This is done by using a two year SMA period as the base calculation. With that calculation you create lower and upper bounds for bull market peaks and bear market bottoms.
The novel idea here is that you can customize the SMA "strength" for both the upper and lower bounds as alpha decays over time and price get's less volatile with adoption increasing. The multiples are customizable for both the upper and lower bounds along with a mid-line that will adjust based on the settings input.
Indicators don't always have to rely on crazy math or outlandish ideas to be useful, sometimes even the simplest of inputs can give investors (especially those that are new) a great base case for their strategy. Something being simple does not diminish the idea or strength behind the data.
How to use this indicator: This script must be used on INDEX:BTCUSD (Bitcoin All-Time History Index) with the y-axis being set to Logarithmic scale.
Details & how to interpret: The price is colored green when Bitcoin enters a "value zone" meaning it is heavily oversold and likely near a bottom for the bear market cycle. The price is colored red when Bitcoin enters an "overbought zone" meaning it is heavily overbought and is likely near a top for the bull market cycle.
Along with the upper and lower bound I have plotted a mid-line (in orange) to establish a neutral zone which helps depict what phase of the cycle we're in (under mid-line = bearish/accumulation phase, over mid-line = bullish/distribution phase).
The inputs for the upper and lower bound are customizable and will need to be adjusted over time as alpha decay will occur as time goes on. Currently the numbers are as follows:
0.2 for the lower bound
4.675 for the upper bound
Both inputs can be modified depending on your risk tolerance. Mathematically it is safe to assume these numbers will decrease as time goes on and volatility during cycle peaks & troughs is reduced.
I've also plotted an upper bound "heat zone" which is shaded in green, this area is great for signaling when you should be preparing to begin taking profits. It takes the upper bound and subtracts the lower bound to derive the band.
All the colors are customizable and this indicator is best used on a line chart but can be customized to use on a bar chart/candlestick as well.
Simple Moving Averages are a very basic indicator but are often extremely powerful because the majority of traders/investors are looking at such levels which creates a psychological/herd effect. Another good example is the law of round numbers.
Regardless this script can be adapted with EMAs or additional standard deviations if necessary. If you have any questions or concerns please don't hesitate to message me.
Ehlers Adaptive Cyber Cycle [CC]The Adaptive Cyber Cycle was created by John Ehlers and this is a cycle based indicator which you don't find too many of these days. Each stock goes through cycles which are repeating patterns of price movement and cycle indicators help you find the timing of the cycle to capitalize on the underlying cycle. That is an extremely simple explanation but most importantly don't interpret these indicators as the same as other indicators because it may seem like there are very many false signals but that is because of the different cycles the stock is undergoing. Buy when the line turns green and sell when it turns red.
Let me know if there are any other indicators you would like to see me publish.
Better RSI with bullish / bearish market cycle indicator This script improves the default RSI. First. it identifies regions of the RSI which are oversold and overbought by changing the color of RSI from white to red. Second, it adds additional reference lines at 20,40,50,60, and 80 to better gauge the RSI value. Finally, the coolest feature, the middle 50 line is used to indicate which cycle the price is currently at. A green color at the 50 line indicates a bullish cycle, a red color indicators a bearish cycle, and a white color indicates a neutral cycle.
The cycles are determined using the RSI as follows:
if RSI is overbought, cycle switches to bullish until RSI falls below 40, at which point it becomes neutral
if RSI is oversold, cycle switches bearish until RSI rises above 60, at which point it becomes neutral
a neutral cycle is exited at either overbought or oversold conditions
Very useful, please give it a try and let me know what you think
Bitcoin Cycle Log-Curve (JDK-Analysis)Important: The standard parameters provided in the script are specifically tuned for the TradingView Bitcoin Index chart on a monthly timeframe on logarithmic scale, and will yield the most accurate visual alignment when applied to that dataset. (more below)
This very simple script visualizes Bitcoin’s long-term price behavior using a logarithmic regression model designed to reflect the cyclical nature of Bitcoin’s historical market trends. Unlike typical technical indicators that react to recent price movements, this tool is built on the assumption that Bitcoin follows an exponential growth path over time, shaped by its fixed supply structure and four-year halving cycles.
The calculation behind the curved bands:
An upper boundary, a lower boundary, and a central midline, are calculated based on logarithmic functions applied to the bar index (which serves as a proxy for time). The upper and lower bounds are defined using exponential formulas of the type y = exp(constant + coefficient * log(bar_index)), allowing the curves to evolve dynamically over time. These bands serve as a macro-level guide for identifying periods of historical overvaluation (upper red curve) and undervaluation (lower green curve), with a central black curve representing the geometric average of the two.
How to customize the parameters:
The lower1_const and upper1_const values vertically shift the respective lower and upper curves—more negative values push the curve downward, while higher values lift it.
The lower1_coef and upper1_coef control the steepness of the curves over time, with higher values resulting in faster growth relative to time.
The shift_factor allows for uniform vertical adjustment of all curves simultaneously.
Additionally, the channel_width setting determines how far the mirrored bands extend from the original curves, creating a visual “channel” that can highlight more conservative or aggressive valuation zones depending on preference.
How to use this indicator:
This indicator is not intended for short-term trading or intraday signals. Rather, it serves as a contextual framework for long-term investors to identify high-risk zones near the upper curve and potential long-term value opportunities near the lower curve. These areas historically align with cycle tops and bottoms, and the model helps to place current price action within that broader cyclical narrative. While the concept draws inspiration from Bitcoin’s halving-driven market cycles and exponential adoption curve, the implementation is original in its use of time-based logarithmic regression to define dynamic trend boundaries.
It is best used as a strategic tool for cycle analysis, macro positioning, and trend anchoring—rather than as a short-term signal provider.
Ehlers Cycle Period [CC]The Cycle Period was created by John Ehlers and this is yet another version that shows how to calculate the current cycle period which is the approximate amount of days between a current peak or valley and the next peak or valley. I would not recommend this for trading since it is more for informational use only but I would try experimenting with this output to be used with another indicator as an input length. I have included strong buy and sell signals in addition to normal ones so strong signals are darker in color and normal signals are lighter in color.
Let me know if there are any other scripts you would like to see me publish!
Schaff Trend Cycle [ChuckBanger]The Schaff Trend Cycle is a method, developed by Doug Schaff and based on the concept that trends also have repeating high and low patterns, or cycles. This is a modified MACD line, run through a modified stochastic algorithm and smoothed with Wilders’ smoothing in order to estimate the final Schaff Trend Cycle (STC) indicator. Its purpose is to identify the direction, in which a trend cycle is moving and possible peaks and bottoms within this cycle.
If this is interesting you should also take a look at MACD Leader:
For more info about Schaff Trend Cycle Indicator:
www.investopedia.com
Ehlers Cyber CycleEhlers Cyber Cycle indicator script.
This indicator was originally developed by John F. Ehlers (see his book `Cybernetic Analysis for Stocks and Futures`, Chapter 4: `Trading the Cycle`).
Ehlers Stochastic Cyber CycleEhlers Stochastic Cyber Cycle indicator script.
This indicator was originally developed by John F. Ehlers (see his book `Cybernetic Analysis for Stocks and Futures`, Chapter 8: `Stochasticization and Fisherization of Indicators`).
Ehlers Cycle BandPass Filter [CC]The Cycle BandPass Filter was created by John Ehlers (Cycle Modes and Trend Modes) and this is an alternate to the default BandPass Filter by changing some settings. This will be another series I will be introducing showing some indicators created by Ehlers and that didn't get much attention. This identifies the underlying cycle in the price data and these indicators aren't very common so I want to introduce more of these to tv. Buying and selling with these indicators can be a bit tricky but overall what Ehlers recommends is to buy at the lowest point and sell at the highest point to capture the underlying cycle. I have included strong buy and sell signals as darker colors and normal signals as lighter colors. Buy when the line turns green and sell when it turns red.
Let me know if there are any other scripts you would like to see me publish!
Simple CycleIntroduction
A simple and really clean cycle oscillator, in fact its quite precise even if the script use recursion which can sometime produce totally uncorrelated results.
On The Code
The calculations start with a who is a smoothing/averaging constant. Then comes src who is the input and is defined as the sum of the closing price with the output, then the output is high-pass filtered in b , after that the output is just the weighted average of the input change with b .
All those recursions and detrending steps make the indicator able to highlights cycles.
Sinusoidal Cycles OscillatorTitle: Sinusoidal Cycles Oscillator – Multi-Cycle Market Indicator
Description:
Discover market rhythm with the Sinusoidal Cycles Oscillator, a powerful tool for technical analysis and cyclical trading.
Three customizable cycles track short, medium, and long-term market oscillations.
Cycle 1 serves as the main reference wave with an optional mirror envelope.
Cycles 2 & 3 provide supporting harmonics for deeper insight.
Composite wave averages all cycles to reveal overall market phase.
Features:
Fully adjustable periods and amplitude.
Visualize tops, bottoms, and turning points at a glance.
Oscillator ranges from -1 to +1 with clear threshold guides.
Ideal for traders using cycle analysis, harmonic trading, or market timing.
Easy-to-read visual overlay and separate panel option.
Use it to:
Identify potential price reversals.
Compare market cycles across multiple timeframes.
Enhance timing and entry/exit decisions.
Bitcoin Bull Runs Mid Cycle Aligned This script plots 2 lines which are the 2013 and 2016 bull run. The plots are aligned on their mid cycles to the 2021 mid cycle.
Settings:
You can move the plots on the x and y axis in the settings for the Daily, Weekly and Monthly TFs.
The plot is weird on the Monthly TF, best to use the Daily and Weekly.
If it doesn't load at first you have to zoom out fully and go back to 2013 for it to load. Then it will load.
Ehlers Instantaneous Phase Dominant Cycle [CC]The Instantaneous Phase Dominant Cycle was created by John Ehlers (Stocks & Commodities V. 18:3 (16-27)) and this is one of many similar indicators that I will be publishing from Ehlers in the next few months that calculate the current dominant cycle period. The cycle period can be used in multiple ways but generally this means that if the stock is currently at a low then the current cycle period will tell you when the next lowest low will get hit or vice versa. This is also useful for using this cycle period as an input for other indicators to provide a very good adaptive length. Let me know how you wind up using these indicators in your daily trading. I have included the same buy and sell signals from my recent Hilbert Transform and so buy when the line turns green and sell when it turns red.
Let me know if there are any other indicators you would like to see me publish!
3 EMA & SMA (Market Cycle)Simple Indicator based on 3 Simple and 3 Exponential Moving Averages. Used to indicate Market Cycles.
Definition of Bull Market: 10 SMA is above 21 EMA . 30 SMA slope is up. 55 EMA is trending above 200 EMA .
Definition of Bear Market: 10 SMA is below 21 EMA . 30 SMA slope is down. 55 EMA is trending below 200 EMA .
CCI Cycle (Modified Schaff Trend Cycle)This is a modified Schaff Trend Cycle (STC), which is designed to provide quicker entries and exits.
I've been a huge fan of the STC for a long time, but being based on the MACD means its signals often lag by a bar or two (especially in fast moving markets). All I've done here is take the base STC script (all credit to user @LazyBear), and change the source to a modified CCI.
The CCI Cycle provides more timely entries and exits, often by 1-2 bars. The flip side of the increased responsiveness is a prevalence for more false signals (a perfect example is the 17th August on the above chart). It's the nature of the beast! Still, I've been using this for a few months now and it's (in my opinion) an upgrade on the standard STC.
As always, you will need to pair this with another indicator or method of technical analysis to provide a trade bias, as the CCI Cycle (and STC) aren't designed to trade every signal. In my experience, either divergence identification, or using one or more moving averages works particularly well.
The indicator is also MTF capable, so you can get some interesting results from that.
Any queries let me know.
DD
[RS]MTF Fibonacci Cycles V0EXPERIMENTAL:
Fibonacci rate levels based on price advance/decline, can be used to make visualizations of fib clusters or for cycles.
Goertzel Cycle Period Adaptive Fisher Transform [Loxx]Goertzel Cycle Period Adaptive Fisher Transform is an adaptive Fisher Transform using the Goertzel Cycle Algorithm to derive length inputs.
What is Goertzel Cycle Algorithm?
Read here:
What is Fisher Transform?
The Fisher Transform is a technical indicator created by John F. Ehlers that converts prices into a Gaussian normal distribution.
The indicator highlights when prices have moved to an extreme, based on recent prices. This may help in spotting turning points in the price of an asset. It also helps show the trend and isolate the price waves within a trend.
Included:
Zero-line and signal cross options for bar coloring
Customizable overbought/oversold thresh-holds
Alerts
Signals
***Please note, the Goertzel Cycle Algorithm is processor heavy, so this indicator will take some time to load.
Ehlers Mesa Spectrum Dominant Cycle [CC]The Mesa Spectrum Dominant Cycle was created by John Ehlers and this is the foundation for many indicators he created that would later follow. This is his updated version of his original Mesa algorithm and I do not recommend this indicator as a stand alone for trading. This is more of an informational indicator that will tell you the current dominant cycle period which is the approximate period between peaks and valleys in the underlying data. I have color coded buy signals just in case with both strong and normal signals. Darker colors are strong and lighter colors are normal. Buy when the line is green and sell when it is red.
Let me know if there are any other indicators you would like to see me publish!
Dominant Cycle Tuned RsiIntroduction
Adaptive technical indicators are importants in a non stationary market, the ability to adapt to a situation can boost the efficiency of your strategy. A lot of methods have been proposed to make technical indicators "smarters" , from the use of variable smoothing constant for exponential smoothing to artificial intelligence.
The dominant cycle tuned rsi depend on the dominant cycle period of the market, such method allow the rsi to return accurate peaks and valleys levels. This indicator is an estimation of the cycle finder tuned rsi proposed by Lars von Thienen published in Decoding the Hidden Market Rhythm/Fine-tuning technical indicators using the dominant market vibration/2010 using the cycle measurement method described by John F.Ehlers in Cybernetic Analysis for Stocks and Futures .
The following section is for information purpose only, it can be technical so you can skip directly to the The Indicator section.
Frequency Estimation and Maximum Entropy Spectral Analysis
“Looks like rain,” said Tom precipitously.
Tom would have been a great weather forecaster, but market patterns are more complex than weather ones. The ability to measure dominant cycles in a complex signal is hard, also a method able to estimate it really fast add even more challenge to the task. First lets talk about the term dominant cycle , signals can be decomposed in a sum of various sine waves of different frequencies and amplitudes, the dominant cycle is considered to be the frequency of the sine wave with the highest amplitude. In general the highest frequencies are those who form the trend (often called fundamentals) , so detrending is used to eliminate those frequencies in order to keep only mid/mid - highs ones.
A lot of methods have been introduced but not that many target market price, Lars von Thienen proposed a method relying on the following processing chain :
Lars von Thienen Method = Input -> Filtering and Detrending -> Discrete Fourier Transform of the result -> Selection using Bartels statistical test -> Output
Thienen said that his method is better than the one proposed by Elhers. The method from Elhers called MESA was originally developed to interpret seismographic information. This method in short involve the estimation of the phase using low amount of information which divided by 360 return the frequency. At first sight there are no relations with the Maximum entropy spectral estimation proposed by Burg J.P. (1967). Maximum Entropy Spectral Analysis. Proceedings of 37th Meeting, Society of Exploration Geophysics, Oklahoma City.
You may also notice that these methods are plotted in the time domain where more classic method such as : power spectrum, spectrogram or FFT are not. The method from Elhers is the one used to tune our rsi.
The Indicator
Our indicator use the dominant cycle frequency to calculate the period of the rsi thus producing an adaptive rsi . When our adaptive rsi cross under 70, price might start a downtrend, else when our adaptive rsi crossover 30, price might start an uptrend. The alpha parameter is a parameter set to be always lower than 1 and greater than 0. Lower values of alpha minimize the number of detected peaks/valleys while higher ones increase the number of those. 0.07 for alpha seems like a great parameter but it can sometimes need to be changed.
The adaptive indicator can also detect small top/bottoms of small periods
Of course the indicator is subject to failures
At the end it is totally dependent of the dominant cycle estimation, which is still a rough method subject to uncertainty.
Conclusion
Tuning your indicator is a great way to make it adapt to the market, but its also a complex way to do so and i'm not that convinced about the complexity/result ratio. The version using chart background will be published separately.
Feel free to tune your indicators with the estimator from elhers and see if it provide a great enhancement :)
Thanks for reading !
References
for the calculation of the dominant cycle estimator originally from www.davenewberg.com
Decoding the Hidden Market Rhythm (2010) Lars von Thienen
Ehlers , J. F. 2004 . Cybernetic Analysis for Stocks and Futures: Cutting-Edge DSP Technology to Improve Your Trading . Wiley
BTC Cycle Crystal Ball (MMI)
The BTC Cycle Crystal Ball (Market Mood Index)
Visualize Bitcoin’s market cycles at a glance! This dashboard combines three core metrics—MVRV-Z proxy, 200-week MA ratio, and price vs realized price—into a single 0–1 Market Mood Index .
Color-coded from deep blue (strong buying) to red (potential selling), it highlights accumulation and distribution zones. Fully adjustable thresholds let you define your own buying/selling zones. Quickly see BTC’s market “mood” and identify key cycle points—no clutter, just clarity.
Disclaimer
This indicator is for informational and educational purposes only . It is not financial advice. Users should perform their own analysis before making trading or investment decisions.
Bitcoin Golden Pi CyclesTops are signaled by the fast top MA crossing above the slow top MA, and bottoms are signaled by the slow bottom MA crossing above the fast bottom MA. Alerts can be set on top and bottom prints. Does not repaint.
Similar to the work of Philip Swift regarding the Bitcoin Pi Cycle Top, I’ve recently come across a similar mathematically curious ratio that corresponds to Bitcoin cycle bottoms. This ratio was extracted from skirmantas’ Bitcoin Super Cycle indicator . Cycle bottoms are signaled when the 700D SMA crosses above the 137D SMA (because this indicator is closed source, these moving averages were reverse-engineered). Such crossings have historically coincided with the January 2015 and December 2018 bottoms. Also, although yet to be confirmed as a bottom, a cross occurred June 19, 2022 (two days prior to this article)
The original pi cycle uses the doubled 350D SMA and the 111D SMA . As pointed out this gives the original pi cycle top ratio:
350/111 = 3.1532 ≈ π
Also, as noted by Swift, 111 is the best integer for dividing 350 to approximate π. What is mathematically interesting about skirmanta’s ratio?
700/138 = 5.1095
After playing around with this for a while I realized that 5.11 is very close to the product of the two most numerologically significant geometrical constants, π and the golden ratio, ϕ:
πϕ = 5.0832
However, 138 turns out to be the best integer denominator to approximate πϕ:
700/138 = 5.0725 ≈ πϕ
This is what I’ve dubbed the Bitcoin Golden Pi Bottom Ratio.
In the spirit of numerology I must mention that 137 does have some things going for it: it’s a prime number and is very famously almost exactly the reciprocal of the fine structure constant (α is within 0.03% of 1/137).
Now why 350 and 700 and not say 360 and 720? After all, 360 is obviously much more numerologically significant than 350, which is proven by the fact that 360 has its own wikipedia page, and 350 does not! Using 360/115 and 720/142, which are also approximations of π and πϕ respectively, this also calls cycle tops and bottoms.
There are infinitely many such ratios that could work to approximate π and πϕ (although there are a finite number whose daily moving averages are defined). Further analysis is needed to find the range(s) of numerators (the numerator determines the denominator when maintaining the ratio) that correctly produce bottom and top signals.
CT Reverse Pi Cycle Bitcoin Top IndicatorIntroducing the Reverse BTC Pi Market Cycle Top indicator
Much respect to Philip Swift the original creator of this idea and big thanks to Tradingview author Ninorigo for sharing the script which this indicator is based on.
Philip Swift has noted that:
Using the x2 multiple of the 350 day moving average along with the 111 day moving average provides an interesting market cycle indicator.
Over the past three market cycles, when the 350DMA x2 crosses below the 111DMA, Bitcoin price peaks in its market cycle, this has been accurate to within three days of Bitcoin price topping out.
Here I have modified an existing script by Tradingview author @Ninorigo which shows the moving averages and gives signals upon crossover by adding the following features:
A function which shows the price at which the 350DMA will Cross Below the 111DMA.
(This is calculated from the prior bar closing data and does not repaint)
An “anticipated cross” function which may give a 1 bar advanced warning of a cross.
(this is calculated from current bar values and may change and repaint)
The crossover levels are shown in an info label to the right of the current price.
When there is a BTC Pi Market Cycle Top anticipated cross on the next bar there will be an orange background signal.
When there is an actual BTC Pi Market Cycle Top cross there will be a red background signal
When there is an anticipated cross back there will be a blue background signal
When there is an actual cross back there will be a green background signal
This indicator will show the appropriate moving averages and crossover information from the daily timeframe regardless of the timeframe you are using.
This should be helpful in more accurately identifying the price level where the Pi Market Cycle moving averages will cross denoting a possible market cycle top.
It is interesting to note:
350 / 111 = 3.153
Which is the closest we can get to Pi when dividing 350 by another whole number.
This is a script to give another view and metric on an interesting experimental idea. This is not financial advice.