Roberts Pi Cycle Top and Bottom Indicator BTCIndicator Overview
The 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.
This updated indicator is based on the original x2 Daily Simple Moving Average Pi Cycle Top Indicator for BTCUSD but with the addition of a 3rd 350 SMA
Standard Pi Cycle SMA = 350*2 SMA + 111 SMA
Updated Pi Cycle SMA = 350*2 SMA + 111 SMA + 350 SMA
How It Can Be Used / How to Read:
Chart should be used on BTCUSD only
Chart should be set to Daily Timeframe only
Buy signal RED SMA crosses up over WHITE SMA
Sell Signal RED SMA crosses up over GREEN SMA (a vetical yellow line will indicate the cycle top)
在腳本中搜尋"Cycle"
TASC 2021.10 - Cycle/Trend AnalyticsPresented here is code for the "Cycle/Trend Analytics" indicator originally conceived by John Ehlers. This is another one of TradingView's first code releases published in the October 2021 issue of Trader's Tips by Technical Analysis of Stocks & Commodities (TASC) magazine.
This indicator, referred to as "CTA" in later explanations, has a companion indicator that is discussed in the article entitled MAD Moving Average Difference , authored by John Ehlers. He's providing an innovative double dose of indicator code for the month of October 2021.
Modes of Operation
CTA has two modes defined as "trend" and "cycle". Ehlers' intention from what can be gathered from the article is to portray "the strength of the trend" in trend mode on real data. Cycle mode exhibits the response of the bank of calculations when a hypothetical sine wave is utilized as price. When cycle mode is chosen, two other lines will be displayed that are not shown in trend mode. A more detailed explanation of the indicator's technical functionality and intention can be found in the original Cycle/Trend Analytics And The MAD Indicator article, which requires a subscription.
Computational Functionality
The CTA indicator only has one adjustment in the indicator "Settings" for choice of modes. The default mode of operation is "trend". Trend mode applies raw price data to the bank of plots, while the cycle mode employs a sinusoidal oscillator set to a cycle period of 30 bars. These are passed to multiple SMAs, which are then subtracted from the original source data. The result is a fascinating display of plots embellished with vivid array of gradient color on real data or the hypothetical sine wave.
Related Information
• SMA
• color.rgb()
Join TradingView
[blackcat] L2 Ehlers Inverse Fisher Cyber CycleLevel: 2
Background
John F. Ehlers introuced the Inverse Fisher Transform of Cyber Cycle in May, 2004.
Function
"The Inverse Fisher Transform ," describes the calculation and use of the inverse Fisher transform by Dr . Ehlers in 2004. The transform is applied to any indicator with a known probability distribution function, but this script offers a sample transforms: Cyber Cycle . I have created inputs for the trigger levels for entry and exit so that the user may adjust these levels as desired.
In his article, Dr . Ehlers states the inverse Fisher transform can work with any oscillator, and that values between -1 and 1 are more suited for the transform calculations. Here is one version of the inverse Fisher transform of Cyber Cycle . This version takes the highest and lowest value of the Cyber Cycle and normalizes the scale to a range of -1 to 1. John Ehlers shows how to use the inverse Fisher transform ( IFT ) to compress oscillator-type indicators to give clear trading indications of when to buy or sell. The IFT is a nonlinear transformation that changes the probability distribution, so for example, unbounded indicators can be transformed into bounded indicators with a high probability of being either +1 or -1.
Key Signal
ICycle--> Inverse Fisher Transform of Cyber Cycle fast line
Trigger--> Inverse Fisher Transform of Cyber Cycle slow line
Pros and Cons
100% John F. Ehlers definition translation, even variable names are the same. This help readers who would like to use pine to read his book.
Remarks
The 69th 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.
Narrow Bandpass FilterIn technical analysis most bandpass filters like the MACD, TRIX, AO, or COG will have a non-symmetrical frequency response, in fact, this one is generally right-skewed. As such these oscillators will not fully remove lower and higher frequency components from the input signal, the following indicator is a bandpass filter with a more symmetrical frequency response with the possibility to have a narrow bandwidth, this allows the indicator to potentially isolate sinusoids from the input signal.
Indicator & Settings
The filter is calculated via convolution, if we take into account that the frequency response of a filter is the Fourier transform of its weighting function we can deduce that we can get a narrow response by using a sinusoid sin(2𝛑nf) as the weighting function, with the peak of the frequency response being equal to f , this makes the filter quite easy to control by the user, as this one can choose the frequency to be isolated. The length of the weighting function controls the bandwidth of the frequency response, with a higher length returning an ever-smaller frequency response width.
In the indicator settings the "Cycle Period" determine the period of the sinusoid used as a weighting function, while "Bandwidth" determine the filter passband width, with higher values returning a narrower passband, this setting also determine the length of the convolution, because the sum of the weights must add to 0 we know that the length of the convolution must be a multiple of "Cycle Period", so the length of the convolution is equal to "Cycle Period × Bandwidth".
Finally, the windowing option determines if a window is applied to the weighting function, a weighting function allow to remove ripples in the filter frequency response
Above both indicators have a Cycle period of 100 and a Bandwidth of 4, we can see that the indicator with no windowing don't fully remove the trend component in the price, this is due to the presence of ripples allowing lower frequency components to pass, this is not the case for the windowed version.
In theory, an ultra-narrow passband would allow to fully isolate pure sinusoids, below the cycle period of interest is 20
using a bandwidth equal to 10 allow to retain that sinusoid, however, note that this sinusoid is subject to phase shift and that it might not be a dominant frequency in the price.
Schaff Trend Cycle 1.1 with signal codingThis is an edit of Lazy Bear's Schaff Trend Cycle original description here. I've added in the syntax so that you can generate an alert when it crosses the threshold in either direction. Just tick the box to show threshold crosses.
More background on the indicator is here.
www.investopedia.com
Other common settings are fast 23 slow 53 or 10/30, 3/10. I have also set it to 9/20 for test purposes. They have different pluses and minuses on different timeframes.
Ehlers Adaptive Cyber Cycle Indicator [LazyBear]Another famous Ehlers indicator.
This is the adaptive version of Ehlers' Cyber Cycle (CC) (already published, check "More info" below). Idea behind making something "adaptive" is to calculate it using dynamic cycle period inputs instead of static setting. In adaptive cyber cycle, Ehlers uses the dominant cycle period as the length in computation of alpha.
According to Ehlers this should be more responsive than the non-adaptive version. Buy and sell signals should often occur one bar earlier than for the non-adaptive version.
I have the usual options in place. Check out plain CC for comparison.
More info:
- Cyber Cycle Indicator:
- Cybernetic Analysis for Stocks and Futures (Ehlers)
List of my public indicators: bit.ly
List of my app-store indicators: blog.tradingview.com
Harmonic BloomHarmonic Bloom - Advanced Geometric Analysis
Building upon my previous Fibonacci inspired indicator "TrendZone", Harmonic Bloom is a sophisticated geometric trading indicator inspired by W.D. Gann's legendary market geometry principles. It reveals market structure through three key pivot points and dynamic angular analysis, creating powerful harmonic intersections for precision trading.
🎯 Core Features:
📍 Three-Point Gann System:
Set 3 custom pivot points to define your analysis timeframe
Automatic trend detection (bullish/bearish) between pivots
Dynamic geometric box construction following Gann's square principles
📐 Gann-Style 45° Angle Projections:
Pivot 2 Line: Follows trend direction (up if bullish, down if bearish)
Pivot 3 Line: Creates opposition (opposite direction to Pivot 2)
Corner Line: Mirrors Pivot 2 from appropriate box corner
All angles project forward using Gann's 1x1 (45°) methodology for future price targets
⚡ POWER OF HARMONIC INTERSECTIONS:
Confluence Zones: Where multiple 45° angles intersect create the strongest support/resistance
Geometric Harmony: Intersections represent natural market turning points
Time-Price Balance: Following Gann's principle that time and price must be in harmony
Multiple Timeframe Resonance: Intersection points often align across different timeframes
High-Probability Reversals: Markets frequently respect these geometric intersection levels
📊 Customizable Retracement Levels:
8 fully configurable levels (default: 0.0, 0.25, 0.5, 0.75, 1.0, 1.25, 1.5, 1.75)
Choose between 25% or 50% trendline alignment
Individual style controls for each level
🔢 Advanced Gann Analytics:
Fibonacci sequence detection in bar counts (Gann studied natural number sequences)
Numerology sum analysis on pivot prices (Gann's mystical number approach)
Special highlighting for significant numbers
Optional on-chart labels for key metrics
📈 Trading Applications:
✅ Support/Resistance: Use retracement levels for entry/exit points
✅ Gann Angles: 45° lines show momentum direction and strength following Gann's time-price theory
✅ Intersection Trading: Most powerful signals occur at harmonic intersections where multiple angles converge
✅ Price Targets: Forward projections provide future price objectives using Gann's geometric principles
✅ Market Geometry: Identify harmonic patterns and geometric confluences
✅ Time Analysis: Fibonacci-based bar counting for timing decisions (Gann emphasized time cycles)
🌟 Why Harmonic Intersections Are So Powerful:
Gann believed that markets move in geometric harmony, and when multiple angles intersect, they create "magnetic price levels" where:
Maximum Energy Convergence: Multiple geometric forces meet at one point
Natural Turning Points: Markets respect these intersections as natural support/resistance
Time-Price Synchronicity: Intersections often coincide with significant time cycles
Multi-Dimensional Confirmation: Price, time, and geometry align simultaneously
⚙️ Highly Customizable:
All colors, widths, and styles adjustable
Toggle any feature on/off independently
Extend projections beyond the analysis box
Choose your preferred visual presentation
Perfect for traders who use Gann theory, geometric analysis, harmonic patterns, and mathematical market structure. The true power lies in trading the intersection points where multiple harmonic angles converge - these represent the market's most significant geometric turning points.
SP 500 PE Ratio (Loose Date Match)📈 **S&P 500 PE Ratio (from Excel Data)**
This custom indicator visualizes the historical S&P 500 Price-to-Earnings (PE) Ratio loaded from Excel. Each data point represents a snapshot of the market valuation at a specific time, typically on an annual or quarterly basis.
🔹 **What it does:**
- Plots the PE ratio values on the chart aligned with historical dates
- Uses stepwise or linear rendering to account for missing trading days
- Helps identify valuation cycles and extremes (e.g., overvalued vs undervalued)
🔍 **Use case:**
- Long-term market analysis
- Compare PE trends with price performance
- Spot long-term entry/exit zones based on valuation
🛠️ Future plans:
- Add value zone highlighting (e.g., PE > 30 = red, PE < 15 = green)
- Support for dynamic datasets (via Google Sheets or Notion)
Category: `Breadth indicators`, `Cycles`
💡 Source: Manually imported data (can be replaced with any custom macro data series)
RP - Realized Price for Bitcoin (BTC) [Logue]Realized Price (RP) - The RP is summation of the value of each BTC when it last moved divided by the total number of BTC in circulation. This gives an estimation of the average "purchase" price of BTC on the bitcoin network based on when it was last transacted. This indicator tells us if the average network participant is in a state of profit or loss. This indicator is normally used to detect BTC bottoms, but an extension can be used to detect when the bitcoin network is "highly" overvalued. Because the "strength" of the BTC tops has decreased over the cycles, a logarithmic function for the extension was created by fitting past cycles as log extension = slope * time + intercept. This indicator triggers when the BTC price is above the realized price extension. For the bottoms, the RP is shifted downwards at a default value of 80%. The slope, intercept, and RP bottom shift can all be modified in the script.
Fisher Cycle Adaptive, Fisher Transform [loxx]Fisher Cycle Adaptive, Fisher Transform
Things to know
-Experimental, not to be used in trading
Calculation
-Uses a measurement where the dominant, raw Fisher Transform position is measured and then used as the length input for the next bar
-This is based on raw recursive look backs, not based on any sine wave or signal processing measure of cycle dominance
How to use
-Change from Fixed to Fisher Cycle, adjust the wave cycle percent look back %
Features
-Bar coloring
-Thresholds
FFTLibraryLibrary "FFTLibrary" contains a function for performing Fast Fourier Transform (FFT) along with a few helper functions. In general, FFT is defined for complex inputs and outputs. The real and imaginary parts of formally complex data are treated as separate arrays (denoted as x and y). For real-valued data, the array of imaginary parts should be filled with zeros.
FFT function
fft(x, y, dir) : Computes the one-dimensional discrete Fourier transform using an in-place complex-to-complex FFT algorithm . Note: The transform also produces a mirror copy of the frequency components, which correspond to the signal's negative frequencies.
Parameters:
x : float array, real part of the data, array size must be a power of 2
y : float array, imaginary part of the data, array size must be the same as x ; for real-valued input, y must be an array of zeros
dir : string, options = , defines the direction of the transform: forward" (time-to-frequency) or inverse (frequency-to-time)
Returns: x, y : tuple (float array, float array), real and imaginary parts of the transformed data (original x and y are changed on output)
Helper functions
fftPower(x, y) : Helper function that computes the power of each frequency component (in other words, Fourier amplitudes squared).
Parameters:
x : float array, real part of the Fourier amplitudes
y : float array, imaginary part of the Fourier amplitudes
Returns: power : float array of the same length as x and y , Fourier amplitudes squared
fftFreq(N) : Helper function that returns the FFT sample frequencies defined in cycles per timeframe unit. For example, if the timeframe is 5m, the frequencies are in cycles/(5 minutes).
Parameters:
N : int, window length (number of points in the transformed dataset)
Returns: freq : float array of N, contains the sample frequencies (with zero at the start).
[blackcat] L2 Ehlers Correlation CycleLevel: 2
Background
John F. Ehlers introuced Correlation Cycle indicator in Jun, 2020.
Function
In his article “Correlation As A Cycle Indicator” in Jun, 2020, John Ehlers introduces a companion to the trend indicator he presented in his article. This new indicator is designed to help traders navigate cycling markets. The new cycle indicator can help the trader get into trades earlier and have better insight into prevailing market conditions. While his correlation trend indicator measures the price correlation with a rising slope, the new correlation cycle indicator (CCY) measures the correlation with a sine wave.The new system trades only when the market state is 1 or -1, indicating trend regime. It goes out of the market when the market state is 0.
Key Signal
State --> +1 for long and -1 for short
Pros and Cons
100% John F. Ehlers definition translation, even variable names are the same. This help readers who would like to use pine to read his book.
Remarks
The 96th 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.
[blackcat] L2 Ehlers Sine Wave Coupled Eight Planetary CycleLevel: 2
Background
Have you considered that factors outside the Earth will be related to macro market trends? Let’s discuss the relationship between the planetary movement in the Galaxy and the market movement on Earth today! Although I said that, you may have laughed out in front of the screen, but the calculations in this script are entirely based on astronomical data and mathematical relationships.
Your next question may be why you compare the movements of the eight planets and the laws of the market on the earth together? My answer comes from a Cybernetic Sine Wave indicator proposed by Dr. John F. Ehlers.
Function
L2 Ehlers Sine Wave Coupled Eight Planetary Cycle first converts the astronomical data of the eight major planets into planetary aspects/phases through mathematical relationships. Planetary aspects/phases can provide the historical and current relative positions of each planet in the mathematical triangle relationship. We can use a simple mathematical sine formula to constrain the planet's trajectory between -1 and 1, which is what we often call a sine wave.
The relationship between the sine wave and the market can be extracted from the theory of John F. Ehlers. In Ehlers' theory, market price can be modeled by the trend and cycle modes. And in his works, there are many indicators of how to completely remove the trend in the market price and only leave the cycle mode data. The Cybernetic Sine Wave indicator is exactly the cycle mode data after the market trend is stripped, and expressed in the form of a sine wave.
If you can read to here with patience, you must also be aware of the premise that the trajectories of the eight planets and the laws of the earth market can be coupled: the trajectory of the sine wave mode. Therefore, this indicator is a tool for comparing and analyzing the two in the same chart. I hope you like it.
Finally, in order to benchmark the trajectories of the eight planets and the specific market on the earth, a starting point in time is particularly important. This is the base date of the market index to be analyzed. It is the year, month, and day data specified by the index, which needs to be input by the user when analyzing a specific stock index. For example, the base date of the S&P 500 index is January 3, 1928. This date needs to be entered into the indicator to analyze the SPX500.
Key Signal
Mercury_trail ---> smoothed Mercury orbit sine wave
Venus_trail ---> smoothed Venus orbit sine wave
Earth_trail ---> smoothed Earth orbit sine wave
Earth_mirror ---> smoothed Earth mirrored orbit sine wave
Mars_trail ---> smoothed Mars orbit sine wave
Jupiter_trail ---> smoothed Jupiter orbit sine wave
Saturn_trail ---> smoothed Saturn orbit sine wave
Uranus_trail ---> smoothed Uranus orbit sine wave
Neptune_trail ---> smoothed Neptune orbit sine wave
Aspect 0, 45, 90, 225, 270 deg ---> key planet aspects
ehlersine ---> Ehlers Cybernetic Sine Wave
ehlerslsine ---> Ehlers Cybernetic Lead Sine Wave
Pros and Cons
This is a technical indicator that I have come up with on a whim, and the laws of planetary operation and the operation of the Earth market are still being explored. Hope that interested friends will share your new discoveries.
Remarks
To celebrate I released the 50th technical indicator script on TV!
Courtesy of @sal157011 John Ehlers "Cybernetic Sine Wave" indicator, I converted it from pine v2 to pine v4 in this script.
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.
Envelope BTMStudi cicli? Questo fa per te, le bande che altro non sono due medie mobili, tengono il prezzo alle due estremità (in alto e in basso).
Questo ti farà semplicemente analizzare e tenere traccia i cicli dello strumento in questione.
Do you study cycles? This is for you, the bands, formed by two moving averages, keep the price between the two ends (top and bottom).
This will simply cause you to analyze and track the cycles of price in question.
BurgerCrypto.com: MA based band for bitcoin cycle highs&lowsWarning: This script works only on a daily chart and only works for bitcoin charts with a long history. Best to be used on the BLX chart as it goes back to July 2010.
This script shows you the Moving Average with the length of a full bitcoin cycle, in which a cycle is defined as a period between two reward halvings; i.e. 210.000 blocks.
After data analysis in Python, I found that the average inter arrival time is a bit lower than the often communicated 10minutes; it's 9.46minutes, which makes the 210.000 block interval equal to 1379days.
The 1379d Moving Average seems to serve well as a support for the price of bitcoin over time and it's 4th 2^n multiple did a good job in catching the cycle tops.
If you like this indicator, please leave some claps for the Medium article in which I introduced this indicator:
medium.com
Hurst Cycle Channel Clone %BA %B of lazy bears Hurst Cycle Channel Clone
Remember to thank him for his great scripts.
With this you can easily see when the close is above,below or in the short or medium cycle channel.
Adaptive Zero Lag EMA Strategy [Ehlers + Ric]Behold! A strategy that makes use of Ehlers research into the field of signal processing and wins so consistently, on multiple time frames AND on multiple currency pairs.
The Adaptive Zero Lag EMA (AZLEMA) is based on an informative report by Ehlers and Ric .
I've modified it by using Cosine IFM, a method by Ehlers on determining the dominant cycle period without using fast-Fourier transforms
Instead, we use some basic differential equations that are simplified to approximate the cycle period over a 100 bar sample size.
The settings for this strategy allow you to scalp or swing trade! High versatility!
Since this strategy is frequency based, you can run it on any timeframe (M1 is untested) and even have the option of using adaptive settings for a best-fit.
>Settings
Source : Choose the value for calculations (close, open, high + low / 2, etc...)
Period : Choose the dominant cycle for the ZLEMA (typically under 100)
Adaptive? : Allow the strategy to continuously update the Period for you (disables Period setting)
Gain Limit : Higher = faster response. Lower = smoother response. See for more information.
Threshold : Provides a bit more control over entering a trade. Lower = less selective. Higher = More selective. (range from 0 to 1)
SL Points : Stop Poss level in points (10 points = 1 pip)
TP Points : Take Profit level in points
Risk : Percent of current balance to risk on each trade (0.01 = 1%)
www.mesasoftware.com
www.jamesgoulding.com(Measuring%20Cycles).doc
In-Phase & Quadrature IFMThis indicator provides a continuous measurement of a securities' dominant cycle period, based on Ehlers ever-impressive reports and analysis tools.
This method uses in-phase and quadrature analysis, making use of the imaginary domain. This method is prone to favor longer periods and can
allow noise to greatly affect the end result.
>What does that even mean?
Essentially, you get a real-time (low lag) plot of the cycle period in bars. If the I-Q IFM reads "16" then you can expect the distance between swing highs and swing lows to be approx. 16 bars.
>How is this useful?
When you throw an RSI or MACD on your chart, you can now set the "Period" or "Length" value with confidence.
Knowing the dominant cycle period tells you that price reversal will occur around these intervals.
>Extending.
The better way to use this tool is by extending the script into any indicators that use a length or period that is set manually.
Simply use the "len" variable in your custom script to replace your input values.
Now you have a way to adaptively set the period value, using signal processing theory instead of just intuition ;)
PM if you have questions.
Cosine IFM [Ehlers]This indicator provides a continuous measurement of a securities' dominant cycle period, based on Ehlers ever-impressive reports and analysis tools.
>What does that even mean?
Essentially, you get a real-time (low lag) plot of the cycle period in bars. If the COS IFM reads "16" then you can expect the distance between swing highs and swing lows to be approx. 16 bars.
>How is this useful?
When you throw an RSI or MACD on your chart, you can now set the "Period" or "Length" value with confidence.
Knowing the dominant cycle period tells you that price reversal will occur around these intervals.
>Extending.
The better way to use this tool is by extending the script into any indicators that use a length or period that is set manually.
Simply use the "len" variable in your custom script to replace your input values.
Now you have a way to adaptively set the period value, using signal processing theory instead of just intuition ;)
PM if you have questions.
Improved Weinstein Stage AnalysisThe code provides an actionable, disciplined, and visually informative implementation of the “Stage Analysis” approach pioneered by Stan Weinstein, with enhancements to modernize, automate, and clarify the methodology for today’s traders using TradingView. It faithfully follows the workflow recommended: identify long-term cycles, confirm with volume and relative strength, and only engage aggressively with the market during the advancing (bullish) stage with all “clues” aligned.
Alternate Hourly HighlightAlternate Hourly Highlight
This indicator automatically highlights every alternate one-hour window on your chart, making it easy to visually identify and separate each trading hour. The background alternates color every hour, helping traders spot hourly cycles, session changes, or develop time-based trading strategies.
Works on any timeframe.
No inputs required—just add to your chart and go!
Especially useful for intraday traders who analyze price action, volatility, or volume by the hour.
For custom colors or session windows, feel free to modify the script!
Setup Score OscillatorSetup Score Oscillator – Full Description
🎯 Purpose of the Script
This script is a manual trading setup scoring tool, designed to help traders quantify the quality of a trade setup by combining multiple technical, cyclical, and contextual signals.
Instead of relying on a single indicator, the trader manually selects which signals are present, and the script calculates a total score (0–100%), displayed as an oscillator in a separate panel (like RSI or MACD).
🔧 How it works in practice
1. Manual signal inputs
The script presents a set of checkboxes in the settings, where the trader can enable/disable the following signals:
✅ Confirmed Support/Resistance
✅ Aligned Volume Profile
✅ Favorable Cyclic Timing
✅ Valid Trend Line
✅ Aligned Cyclical Moving Averages
✅ Relevant Fibonacci Level
✅ Classic Volume Signal (spike, dry-up, etc.)
✅ Oscillator confirmation (e.g., divergences)
✅ Extreme Sentiment
✅ Relevant or incoming News
Each selected signal contributes to the total score based on its weight.
2. Scoring system
Each signal has a default weight (e.g., 20% for support/resistance, 15% for cycles, etc.).
Optionally, the trader can enable the “custom weights” checkbox and adjust each signal’s weight directly in the settings.
3. Score visualization
The final score (sum of all active weights) is plotted as an oscillator ranging from 0 to 100%, with dynamic coloring:
Range Color Meaning
0–39% Red No valid setup
40–54% Yellow Watchlist only
55–69% Orange Good setup
70–100% Green Strong setup
Several horizontal threshold lines are displayed:
50% → neutral threshold
40%, 55%, 70% → operational levels
4. Optional background coloring
When the score exceeds 55% or 70%, the oscillator background lightly changes color to highlight stronger setups (non-intrusive).
📌 Practical benefits
Objectifies subjective analysis: each decision becomes a number.
Prevents overtrading: no entries if the score is too low.
Adaptable to any trading style: swing, intraday, positional.
User-friendly: no coding needed – just tick boxes.
Italiano:
Setup Score Oscillator – Descrizione completa
🎯 Obiettivo dello script
Lo script è uno strumento manuale di valutazione dei setup di trading, pensato per aiutare il trader a quantificare la qualità di un'opportunità operativa basandosi su più segnali tecnici, ciclici e contestuali.
Invece di affidarsi a un solo indicatore, il trader seleziona manualmente quali segnali sono presenti, e lo script calcola un punteggio complessivo percentuale (0–100%), rappresentato come oscillatore in una finestra separata (tipo RSI, MACD, ecc.).
🔧 Come funziona operativamente
1. Input manuale dei segnali
Lo script mostra una serie di checkbox nelle impostazioni, dove il trader può attivare o disattivare i seguenti segnali:
✅ Supporto/Resistenza confermata
✅ Volume Profile allineato
✅ Cicli o timing favorevole
✅ Trend line valida
✅ Medie mobili cicliche allineate
✅ Livello di Fibonacci rilevante
✅ Volume classico significativo (spike, dry-up)
✅ Conferme da oscillatori (es. divergenze)
✅ Sentiment estremo (es. euforia o panico)
✅ News importanti imminenti o appena uscite
Ogni casella attiva contribuisce al punteggio totale, con un peso specifico.
2. Sistema di punteggio
Ogni segnale ha un peso predefinito (es. 20% per supporti/resistenze, 15% per cicli, ecc.).
Facoltativamente, il trader può attivare la funzione “Enable custom weights” per personalizzare i pesi di ciascun segnale direttamente da input.
3. Visualizzazione del punteggio
Il punteggio complessivo (somma dei pesi attivati) viene tracciato come oscillatore da 0 a 100%, con colori dinamici:
Range Colore Significato
0–39% Rosso Nessun setup valido
40–54% Giallo Osservazione
55–69% Arancione Setup buono
70–1005 Verde Setup forte
Sono tracciate anche delle linee guida orizzontali a:
50% → soglia neutra
40%, 55%, 70% → soglie operative
4. Colorazione dello sfondo (facoltativa)
Quando il punteggio supera 55% o 70%, lo sfondo dell’oscillatore cambia leggermente colore per evidenziare il segnale (non invasivo).
📌 Vantaggi pratici
Oggettivizza l’analisi soggettiva: ogni decisione manuale si trasforma in un numero.
Evita overtrading: se il punteggio è troppo basso, non si entra.
Adattabile a ogni stile: swing, intraday, position.
Facile da usare anche senza codice: basta spuntare le caselle.
S&P 500 Estimated PE (Sampled Every 4)📊 **S&P 500 Estimated PE Ratio (from CSV)**
This indicator visualizes the forward-looking estimated PE ratio of the S&P 500 index, imported from external CSV data.
🔹 **Features:**
- Real historical daily data from 2008 onward
- Automatically aligns PE values to closest available trading date
- Useful for macro valuation trends and long-term entry signals
📌 **Best for:**
- Investors interested in forward-looking valuation
- Analysts tracking over/undervaluation trends
- Long-term timing overlay on price action
Category: `Breadth indicators`, `Cycles`