US Liquidity-Weighted Business Cycle📈 BTC Liquidity-Weighted Business Cycle
This indicator models the Bitcoin macro cycle by comparing its logarithmic price against a log-transformed liquidity proxy (e.g., US M2 Money Supply). It helps visualize cyclical tops and bottoms by measuring the relative expansion of Bitcoin price versus fiat liquidity.
🧠 How It Works:
Transforms both BTC and M2 using natural logarithms.
Computes a liquidity ratio: log(BTC) – log(M2) (i.e., log(BTC/M2)).
Runs MACD on this ratio to extract business cycle momentum.
Plots:
🔴 Histogram bars showing cyclical growth or contraction.
🟢 Top line to track the relative price-to-liquidity trend.
🔴 Cycle peak markers to flag historical market tops.
⚙️ Inputs:
Adjustable MACD lengths
Toggle for liquidity trend line overlay
🔍 Use Cases:
Identifying macro cycle tops and bottoms
Timing long-term Bitcoin accumulation or de-risking
Confirming global liquidity's influence on BTC price movement
Note: This version currently uses US M2 (FRED:M2SL) as the liquidity base. You can easily expand it with other global M2 sources or adjust the weights.
Komut dosyalarını "Cycle" için ara
Short-Only Cycle IndicatorThis script is a follow-up to my previous 60-day Cycle, Long-Only Indicator.
The "Short-Only Cycle Indicator" is designed to help traders navigate optimal shorting opportunities by analyzing cyclical price behavior over a defined period. It focuses on recognizing distribution phases (ideal for shorting) and accumulation phases (where shorting should be avoided). It should be used with assets that the trader has an existing thesis for downward price movement.
Key Features:
1. Cycle Length: The indicator uses a 60-day cycle to identify high and low points in price, which are then used to determine the current market phase.
2. Distribution Phase: When the price is near the cycle high, the indicator signals a distribution phase, indicating potential shorting opportunities.
3. Accumulation Phase: When the price is near the cycle low, the indicator signals an accumulation phase, advising traders to avoid shorting.
4. Short Signal: A short signal is triggered when the price crosses below the cycle high, which is visually marked on the chart for easy identification.
This indicator is particularly useful for traders who prefer a short-only strategy, as it helps them time their entries and avoid shorting during unfavorable market conditions.
Ehlers Cycle Amplitude [CC]The Cycle Amplitude was created by John Ehlers (Trend Modes and Cycle Modes) and this indicator wasn't meant to give buy and sell signals by itself but I'm publishing this open source script in case someone comes up with a cool way to use this indicator for buy and sell signals. This indicator essentially tells you the distance between the peaks from the Cycle BandPass Filter and I will be including the last script tomorrow most likely. I'm reusing the same exact buy and sell signals from the cycle bandpass filter so if you have any questions then feel free to refer to the link I posted.
Let me know if there are any other scripts you would like to see me publish!
Liquidity-Weighted Business Cycle (Satoshi Global Base)🌍 BTC-Affinity Global Liquidity Business Cycle (MACD Model)
This indicator models Bitcoin’s macroeconomic business cycle using a BTC-weighted global liquidity index as its foundation. It adapts a MACD-based framework to visualize expansions and contractions in fiat liquidity across major economies with high Bitcoin affinity.
🔍 What It Does:
🧠 Constructs a Global M2 Liquidity Index from the top 10 most BTC-relevant fiat currencies
(USD, EUR, JPY, GBP, INR, CNY, KRW, BRL, CAD, AUD)
— each weighted by its Bitcoin adoption score and FX-converted into USD.
📊 Applies a MACD (Moving Average Convergence Divergence) signal to the index to detect macro liquidity trends.
🟢 Plots a histogram of business cycle momentum (red = expansion, green = contraction).
🔴 Marks potential cycle peaks, useful for macro trading alignment.
⚖️ BTC Affinity-Weighted Countries:
🇺🇸 United States
🇪🇺 Eurozone
🇯🇵 Japan
🇬🇧 United Kingdom
🇮🇳 India
🇨🇳 China
🇰🇷 South Korea
🇧🇷 Brazil
🇨🇦 Canada
🇦🇺 Australia
Weights are user-adjustable to reflect evolving capital controls, regulation, and real-world BTC adoption trends.
✅ Use Cases:
Confirm macro risk-on vs risk-off regimes for BTC and crypto.
Identify ideal entry and exit zones in macro pair trades (e.g., MSTR vs MSTY).
Monitor how global monetary expansion feeds into BTC valuations.
Missile RSI (RSI of momentum w/ Dominant Cycle length + Fisher)This is a predictive indicator that looks for explosions in momentum of the cycles in price and large shifts in Momentum (Fisher turns the Bimodal PDF into Guassian like) as statistically unlikely events, showing points to exit or reverse positions.
You can adjust the lowpass frequency cuttoff (Aka what cycles you want to remove from the calculations through the super smoother filter).
To be honest you can monkey trade the direction of the Signal if you'd like but the Divergences and Maxing of the values is whats most useful.
Let me know if you guys want me to add anything else.
Relative Vigor Index with Dominant Cycle Detection (RVI)Relative Vigor Index with Dominant Cycle Detection. As Ehler's mentioned, fixed length look back is inherently flawed when it is possible to extract a length from a dominant price cycle. may be less effective if signal to noise ratio is greater than 2, but that usually would not happen at >5m candles, and honestly shouldn't be looking at RV(igor)I when price is moving sideways.
Read just like an RVGI, but adjusted to the current time frame. To reduce noise, changing to heiken ashi will help with signals as well. Let me know if there are improvements!
Made for JD, the OG.
The Perfect RSI (Ehler's Cycle RSI Modified with Discriminator)This is the RSI indicator that I use. It combines two concepts of John Ehler. It integrates the idea of Highpass filtering the Price data, along with the the idea of automatically determining the Dominant price cycle through a Homodyne Discriminator, and using half of a cycle length as the input for the RSI. Not only determines the most effective range for the RSI by setting it based on the cycle, but also makes the RSI PDF(Probability Distribution Function) adjustable as shown in John Ehler's papers. Still needs some tweaking on determining the best calculations for cycles, and whether or not to better filter the price data into the discriminator.
Works just like a normal RSI, but should have less false signals, and also has the option for super smoothing. Play around it and see if theres any new indications or signals that come from it ;)
Let me know if there's any concerns or additions!
Pi Cycle Bottom IndicatorBack in June 2021, I was able to find two moving averages that crossed when Bitcoin reached it's cycle bottom, similar to Philip Swift's Pi-Cycle Top indicator.
The moving average pair used here was the x0.475 multiple of the 471 MA and the 150 EMA ( EMA to take into account of short term volatility ).
I have a more in-depth analysis and explanation of my findings on my medium page .
Trader Dončić.
Pi Cycle Bitcoin top indicatorThe Pi Cycle Top Indicator has historically been effective in picking out the timing of market cycle highs to within 3 days.
It uses the 111 day moving average (111DMA) and a newly created multiple of the 350 day moving average, the 350DMA x 2.
Note: The multiple is of the price values of the 350DMA not the number of days.
For the past three market cycles, when the 111DMA moves up and crosses the 350DMA x 2 we see that it coincides with the price of Bitcoin peaking.
It is also interesting to note that 350 / 111 is 3.153, which is very close to Pi = 3.142. In fact, it is the closest we can get to Pi when dividing 350 by another whole number.
It once again demonstrates the cyclical nature of Bitcoin price action over long time frames. Though in this instance it does so with a high degree of accuracy over the past 7 years.
Full Credit to PositiveCrypto
TSP Cycles DoubleDouble Cycles
You can setup higher timeframe cycle period's as argument, default is M30
Ehlers Dominant Cycle Tuned Bypass Filter [CC]The Dominant Cycle Tuned Bypass Filter was created by John Ehlers (Stocks & Commodities V. 26:3 (16-22)) and this is a particularly unique indicator because this does a pretty good job at predicting the future stock movements. If the blue line crosses over the red then a few bars from now the stock price will most likely go up and if the blue line crosses below the red then a few bars from now the stock price should go down. Since this is such a unique indicator to use with entry and exit points, I don't have them color coded but try this out and let me know what you think.
This was a special request so let me know what other scripts you would like to see me publish or if you want anything custom done!
Note: I'm republishing this because the original script couldn't be found in searches so this will fix that.
Ehlers Correlation Cycle IndicatorThe Correlation Cycle Indicator was created by John Ehlers (Stocks & Commodities V. 38:06 (8–15)) and this is technically part of three indicators in one so I'm splitting each one to a separate script. This particular indicator was designed for trend direction and trend strength and simply buy when it is green and sell when it turns red. Also keep in mind that the higher the indicator is above the signal then the stronger the trend and when they are close together, conditions get choppy.
Let me know if you would like to see me publish other scripts or if you want something custom done!
Ehlers Simple Cycle Indicator [LazyBear]One of the early cycle indicators from John Ehlers.
Ehlers suggests using this with ITrend (see linked PDF below). Osc/signal crosses identify entry/exit points.
Options page has the usual set of configurable params.
More info:
- Simple Cycle Indicator: www.mesasoftware.com
List of my public indicators: bit.ly
List of my app-store indicators: blog.tradingview.com
RSI Bollinger WaveTrend Cycle Multi Free TSPMulti indicator
Bollinger Band x RSI
Wave Trend
Cycles
Free users will like it :)
Fell free to like share comments... and check my other stuff :]
ZenTrend Price CyclesZenTrend attempts to plot the cycles that occur as the price cycles between the top and bottom of long- and short-term price linear regression channels.
The indicator observes a fast (35-period) and a slow (100-period) linear regression channel and plots their slopes on an oscillator. When the slope of the fast channel crosses above or below the slope of the slow channel, a signal is plotted.
The red line is the slope of the fast channel; blue is the slope of the slow channel
A green dot and background indicates the slope of recent price action has crossed above the slope of long-term price action.
A red dot and background indicates the slope of recent price action has crossed below the slope of long-term price action.
A gray dot indicates the slope of recent price action is slowing. The difference between the long- and short-term slopes is narrowing.
Here are things I look for when observing price cycles
Where does the cross occur? Crosses high above or below the 'zero line' indicate a more extreme change in price channel slopes.
Flat line: crosses that occur while the lines are flat often indicate chop.
"Curve" of the line - a cross that occurs as the slope lines are starting to curve up/down indicates a sharper and more extreme change in price channel slope.
90 Minute Cycles90m cycles for 7:30-9, 9-10:30, 10:30-12
This indicator shows the 90 minute cycles for 7:30am-9am, 9am-10:30am and 10:30am-12pm New York time.
[blackcat] L2 Ehlers Phase Accumulator Cycle Period MeasurerLevel: 2
Background
John F. Ehlers introuced Phase Accumulation technique of cycle period measurement in his "Rocket Science for Traders" chapter 7. It is perhaps the easiest to comprehend. In this technique, John Ehlers measures the phase at each sample by taking the arctangent of the ratio of the Quadrature component to the In-phase component. A delta phase is generated by taking the difference of the phase between successive samples. At each sample Dr. Ehlers then looks backward, adding up the delta phases. When the sum of the delta phases reaches 360 degrees (2*pi in tradingview), we must have passed through one full cycle, on average. The process is repeated for each new sample.
Function
blackcat L2 Ehlers Phase Accumulator Cycle Period Measurer is used to measure Dominant Cycle (DC). This is one of John Ehlers three major methods to measure DC. The Phase Accumulation method of cycle measurement always uses one full cycle’s worth of historical data. This is both an advantage and disadvantage. The advantage is the lag in obtaining the answer scales directly with the cycle period. That is, the measurement of a short cycle period has less lag than the measurement of a longer cycle period. However, the number of samples used in making the measurement means the averaging period is variable with cycle period. Longer averaging reduces the noise level compared to the signal. Therefore, shorter cycle periods necessarily have a higher output Signal-to-Noise Ratio (SNR).
Key Signal
Smooth --> 4 bar WMA w/ 1 bar lag
Detrender --> The amplitude response of a minimum-length HT can be improved by adjusting the filter coefficients by
trial and error. HT does not allow DC component at zero frequency for transformation. So, Detrender is used to remove DC component/ trend component.
Q1 --> Quadrature phase signal
I1 --> In-phase signal
Period --> Dominant Cycle in bars
Pros and Cons
100% John F. Ehlers definition translation of original work, even variable names are the same. This help readers who would like to use pine to read his book. If you had read his works, then you will be quite familiar with my code style.
Remarks
The 2nd script for Blackcat1402 John F. Ehlers Week publication.
Readme
In real life, I am a prolific inventor. I have successfully applied for more than 60 international and regional patents in the past 12 years. But in the past two years or so, I have tried to transfer my creativity to the development of trading strategies. Tradingview is the ideal platform for me. I am selecting and contributing some of the hundreds of scripts to publish in Tradingview community. Welcome everyone to interact with me to discuss these interesting pine scripts.
The scripts posted are categorized into 5 levels according to my efforts or manhours put into these works.
Level 1 : interesting script snippets or distinctive improvement from classic indicators or strategy. Level 1 scripts can usually appear in more complex indicators as a function module or element.
Level 2 : composite indicator/strategy. By selecting or combining several independent or dependent functions or sub indicators in proper way, the composite script exhibits a resonance phenomenon which can filter out noise or fake trading signal to enhance trading confidence level.
Level 3 : comprehensive indicator/strategy. They are simple trading systems based on my strategies. They are commonly containing several or all of entry signal, close signal, stop loss, take profit, re-entry, risk management, and position sizing techniques. Even some interesting fundamental and mass psychological aspects are incorporated.
Level 4 : script snippets or functions that do not disclose source code. Interesting element that can reveal market laws and work as raw material for indicators and strategies. If you find Level 1~2 scripts are helpful, Level 4 is a private version that took me far more efforts to develop.
Level 5 : indicator/strategy that do not disclose source code. private version of Level 3 script with my accumulated script processing skills or a large number of custom functions. I had a private function library built in past two years. Level 5 scripts use many of them to achieve private trading strategy.
Enhanced Instantaneous Cycle Period - Dr. John EhlersThis is my first public release of detector code entitled "Enhanced Instantaneous Cycle Period" for PSv4.0 I built many months ago. Be forewarned, this is not an indicator, this is a detector to be used by ADVANCED developers to build futuristic indicators in Pine. The origins of this script come from a document by Dr. John Ehlers entitled "SIGNAL ANALYSIS CONCEPTS". You may find this using the NSA's reverse search engine "goggles", as I call it. John Ehlers' MESA used this measurement to establish the data window for analysis for MESA Cycle computations. So... does any developer wish to emulate MESA Cycle now??
I decided to take instantaneous cycle period to another level of novel attainability in this public release of source code with the following methods, if you are curious how I ENHANCED it. Firstly I reduced the delay of accurate measurement from bar_index==0 by quite a few bars closer to IPO. Secondarily, I provided a limit of 6 for a minimum instantaneous cycle period. At bar_index==0, it would provide a period of 0 wrecking many algorithms from the start. I also increased the instantaneous cycle period's maximum value to 80 from 50, providing a window of 6-80 for the instantaneous cycle period value window limits. Thirdly, I replaced the internal EMA with another algorithm. It reduces the lag while extracting a floating point number, for algorithms that will accept that, compared to a sluggish ordinary EMA return. You will see the excessive EMA delay with adding plot(ema(ICP,7)) as it was originally designed. Lastly it's in one simple function for reusability in a nice little package comprising of less than 40 lines of code. I hope I explained that adequately enough and gave you the reader a glimpse of the "Power of Pine" combined with ingenuity.
Be forewarned again, that most of Pine's built-in functions will not accept a floating-point number or dynamic integers for the "length" of it's calculation. You will have to emulate the built-in functions by creating Pine based custom functions, and I assure you, this is very possible in many cases, but not all without array support. You may use int(ICP) to extract an integer from the smoothICP return variable, which may be favorable compared to the choppiness/ringing if ICP alone.
This is commonly what my dense intricate code looks like behind the veil. If you are wondering why there is barely any notation, that's because the notation is in the variable naming and this is intended primarily for ADVANCED developers too. It does contain lines of code that explore techniques in Pine that may be applicable in other Pine projects for those learning or wishing to excel with Pine.
Showcased in the chart below is my free to use "Enhanced Schaff Trend Cycle Indicator", having a common appeal to TV users frequently. If you do have any questions or comments regarding this indicator, I will consider your inquiries, thoughts, and ideas presented below in the comments section, when time provides it. As always, "Like" it if you simply just like it with a proper thumbs up, and also return to my scripts list occasionally for additional postings. Have a profitable future everyone!
NOTICE: Copy pasting bandits who may be having nefarious thoughts, DO NOT attempt this, because this may violate Tradingview's terms, conditions and/or house rules. "WE" are always watching the TV community vigilantly for mischievous behaviors and actions that exploit well intended authors for the purpose of increasing brownie points in reputation scores. Hiding behind a "protected" wall may not protect you from investigation and account penalization by TV staff. Be respectful, and don't just throw an ma() in there branding it as "your" gizmo. Fair enough? Alrighty then... I firmly believe in "innovating" future state-of-the-art indicators, and please contact me if you wish to do so.
[blackcat] L2 Ehlers Dual Differential Cycle Period MeasurerLevel: 2
Background
John F. Ehlers introuced Dual Differential Cycle Period Measurer in his "Rocket Science for Traders" chapter 7. The In-phase and Quadrature components are computed with the Hilbert Transformer using procedures identical to those in the Dual Differentiator.
Function
blackcat L2 Ehlers Homodyne Discriminator Cycle Period Measurer is used to measure Dominant Cycle (DC). This is one of John Ehlers three major methods to measure DC. These components undergo a complex averaging and are smoothed in an EMA to avoid any undesired cross products in the multiplication step that follows. The period is solved directly from the smoothed Inphase and Quadrature components. The interim calculation for the denominator is performed as Value1 to ensure that the denominator will not have a zero value. The sign of Valuel is reversed relative to the theoretical equation because the differences are looking backward in time.
Key Signal
Smooth --> 4 bar WMA w/ 1 bar lag
Detrender --> The amplitude response of a minimum-length HT can be improved by adjusting the filter coefficients by
trial and error. HT does not allow DC component at zero frequency for transformation. So, Detrender is used to remove DC component/ trend component.
Q1 --> Quadrature phase signal
I1 --> In-phase signal
Period --> Dominant Cycle in bars
SmoothPeriod --> Period with complex averaging
Pros and Cons
100% John F. Ehlers definition translation of original work, even variable names are the same. This help readers who would like to use pine to read his book. If you had read his works, then you will be quite familiar with my code style.
Remarks
The 4th script for Blackcat1402 John F. Ehlers Week publication.
Readme
In real life, I am a prolific inventor. I have successfully applied for more than 60 international and regional patents in the past 12 years. But in the past two years or so, I have tried to transfer my creativity to the development of trading strategies. Tradingview is the ideal platform for me. I am selecting and contributing some of the hundreds of scripts to publish in Tradingview community. Welcome everyone to interact with me to discuss these interesting pine scripts.
The scripts posted are categorized into 5 levels according to my efforts or manhours put into these works.
Level 1 : interesting script snippets or distinctive improvement from classic indicators or strategy. Level 1 scripts can usually appear in more complex indicators as a function module or element.
Level 2 : composite indicator/strategy. By selecting or combining several independent or dependent functions or sub indicators in proper way, the composite script exhibits a resonance phenomenon which can filter out noise or fake trading signal to enhance trading confidence level.
Level 3 : comprehensive indicator/strategy. They are simple trading systems based on my strategies. They are commonly containing several or all of entry signal, close signal, stop loss, take profit, re-entry, risk management, and position sizing techniques. Even some interesting fundamental and mass psychological aspects are incorporated.
Level 4 : script snippets or functions that do not disclose source code. Interesting element that can reveal market laws and work as raw material for indicators and strategies. If you find Level 1~2 scripts are helpful, Level 4 is a private version that took me far more efforts to develop.
Level 5 : indicator/strategy that do not disclose source code. private version of Level 3 script with my accumulated script processing skills or a large number of custom functions. I had a private function library built in past two years. Level 5 scripts use many of them to achieve private trading strategy.
[FS] Time & Cycles Time & Cycles
A comprehensive trading session indicator that helps traders identify and track key market sessions and their price levels. This tool is particularly useful for forex and futures traders who need to monitor multiple trading sessions.
Key Features:
• Multiple Session Support:
- London Session
- New York Session
- Sydney Session
- Asia Session
- Customizable TBD Session
• Session Visualization:
- Clear session boxes with customizable colors
- Session labels with adjustable visibility
- Support for sessions crossing midnight
- Timezone-aware calculations
• Price Level Tracking:
- Daily High/Low levels
- Weekly High/Low levels
- Previous session High/Low levels
- Customizable history depth for each level type
• Customization Options:
- Adjustable colors for each session
- Customizable border styles
- Label visibility controls
- Timezone selection
- History level depth settings
• Technical Features:
- High-performance calculation engine
- Support for multiple timeframes
- Efficient memory usage
- Clean and intuitive visual display
Perfect for:
• Forex traders monitoring multiple sessions
• Futures traders tracking market hours
• Swing traders identifying key session levels
• Day traders planning their trading hours
• Market analysts studying session patterns
The indicator helps traders:
- Identify active trading sessions
- Track session-specific price levels
- Monitor market activity across different time zones
- Plan trades based on session boundaries
- Analyze price action within specific sessions
Note: This indicator is designed to work across all timeframes and is optimized for performance with minimal impact on chart loading times.
Hosoda Cycles (24x7 mkt) {fmz}This script allows you to see on the chart which are the bars, including future ones, which correspond to the cycles of Goichi Hosoda, the inventor of Ichimoku Kinko Hyo.
This script is only suitable for 24x7 markets, it is not suitable for markets with closing times and weekends, or gap markets where trading is not active. In fact, the calculation of calendar times is used, not suitable for markets with closing times.
Use the settings to indicate what the start time of bar 1. The indicator will produce many vertical bars, even in addition to the end time of the graph.