Bitcoin Power LawThis is the main body version of the script. The Oscillator version can be found here .
Firstly, we would like to give credit to @apsk32 and @x_X_77_X_x as part of the code originates from their work. Additionally, @apsk32 is widely credited with applying the Power Law concept to Bitcoin and popularizing this model within the crypto community. Additionally, the visual layout is fully inspired by @apsk32's designs, and we think it looks amazing. So much so that we had to turn it into a TradingView script. Thank you!
Understanding the Bitcoin Power Law Model
Also called the Long-Term Bitcoin Power Law Model. The Bitcoin Power Law model tries to capture and predict Bitcoin's price growth over time. It assumes that Bitcoin's price follows an exponential growth pattern, where the price increases over time according to a mathematical relationship.
By fitting a power law to historical data, the model creates a trend line that represents this growth. It then generates additional parallel lines (support and resistance lines) to show potential price boundaries, helping to visualize where Bitcoin’s price could move within certain ranges.
In simple terms, the model helps us understand Bitcoin's general growth trajectory and provides a framework to visualize how its price could behave over the long term.
The Bitcoin Power Law has the following function:
Power Law = 10^(a + b * log10(d))
Consisting of the following parameters:
a: Power Law Intercept (default: -17.668).
b: Power Law Slope (default: 5.926).
d: Number of days since a reference point(calculated by counting bars from the reference point with an offset).
Explanation of the a and b parameters:
Roughly explained, the optimal values for the a and b parameters are determined through a process of linear regression on a log-log scale (after applying a logarithmic transformation to both the x and y axes). On this log-log scale, the power law relationship becomes linear, making it possible to apply linear regression. The best fit for the regression is then evaluated using metrics like the R-squared value, residual error analysis, and visual inspection. This process can be quite complex and is beyond the scope of this post.
Applying vertical shifts to generate the other lines:
Once the initial power-law is created, additional lines are generated by applying a vertical shift . This shift is achieved by adding a specific number of days (or years in case of this script) to the d-parameter. This creates new lines perfectly parallel to the initial power law with an added vertical shift, maintaining the same slope and intercept.
In the case of this script, shifts are made by adding +365 days, +2 * 365 days, +3 * 365 days, +4 * 365 days, and +5 * 365 days, effectively introducing one to five years of shifts. This results in a total of six Power Law lines, as outlined below (From lowest to highest):
Base Power Law Line (no shift)
1-year shifted line
2-year shifted line
3-year shifted line
4-year shifted line
5-year shifted line
The six power law lines:
Bitcoin Power Law Oscillator
This publication also includes the oscillator version of the Bitcoin Power Law. This version applies a logarithmic transformation to the price, Base Power Law Line, and 5-year shifted line using the formula log10(x) .
The log-transformed price is then normalized using min-max normalization relative to the log-transformed Base Power Law Line and 5-year shifted line with the formula:
normalized price = log(close) - log(Base Power Law Line) / log(5-year shifted line) - log(Base Power Law Line)
Finally, the normalized price was multiplied by 5 to map its value between 0 and 5, aligning with the shifted lines.
Interpretation of the Bitcoin Power Law Model:
The shifted Power Law lines provide a framework for predicting Bitcoin's future price movements based on historical trends. These lines are created by applying a vertical shift to the initial Power Law line, with each shifted line representing a future time frame (e.g., 1 year, 2 years, 3 years, etc.).
By analyzing these shifted lines, users can make predictions about minimum price levels at specific future dates. For example, the 5-year shifted line will act as the main support level for Bitcoin’s price in 5 years, meaning that Bitcoin’s price should not fall below this line, ensuring that Bitcoin will be valued at least at this level by that time. Similarly, the 2-year shifted line will serve as the support line for Bitcoin's price in 2 years, establishing that the price should not drop below this line within that time frame.
On the other hand, the 5-year shifted line also functions as an absolute resistance , meaning Bitcoin's price will not exceed this line prior to the 5-year mark. This provides a prediction that Bitcoin cannot reach certain price levels before a specific date. For example, the price of Bitcoin is unlikely to reach $100,000 before 2021, and it will not exceed this price before the 5-year shifted line becomes relevant. After 2028, however, the price is predicted to never fall below $100,000, thanks to the support established by the shifted lines.
In essence, the shifted Power Law lines offer a way to predict both the minimum price levels that Bitcoin will hit by certain dates and the earliest dates by which certain price points will be reached. These lines help frame Bitcoin's potential future price range, offering insight into long-term price behavior and providing a guide for investors and analysts. Lets examine some examples:
Example 1:
In Example 1 it can be seen that point A on the 5-year shifted line acts as major resistance . Also it can be seen that 5 years later this price level now corresponds to the Base Power Law Line and acts as a major support (Note: Vertical yearly grid lines have been added for this purpose👍).
Example 2:
In Example 2, the price level at point C on the 3-year shifted line becomes a major support three years later at point C, now aligning with the Base Power Law Line.
Finally, let's explore some future price predictions, as this script provides projections on the weekly timeframe :
Example 3:
In Example 3, the Bitcoin Power Law indicates that Bitcoin's price cannot surpass approximately $808K before 2030 as can be seen at point E, while also ensuring it will be at least $224K by then (point F).
Wave
Bitcoin Power Law OscillatorThis is the oscillator version of the script. The main body of the script can be found here .
Firstly, we would like to give credit to @apsk32 and @x_X_77_X_x as part of the code originates from their work. Additionally, @apsk32 is widely credited with applying the Power Law concept to Bitcoin and popularizing this model within the crypto community. Additionally, the visual layout is fully inspired by @apsk32's designs, and we think it looks amazing. So much so that we had to turn it into a TradingView script. Thank you!
Understanding the Bitcoin Power Law Model
Also called the Long-Term Bitcoin Power Law Model. The Bitcoin Power Law model tries to capture and predict Bitcoin's price growth over time. It assumes that Bitcoin's price follows an exponential growth pattern, where the price increases over time according to a mathematical relationship.
By fitting a power law to historical data, the model creates a trend line that represents this growth. It then generates additional parallel lines (support and resistance lines) to show potential price boundaries, helping to visualize where Bitcoin’s price could move within certain ranges.
In simple terms, the model helps us understand Bitcoin's general growth trajectory and provides a framework to visualize how its price could behave over the long term.
The Bitcoin Power Law has the following function:
Power Law = 10^(a + b * log10(d))
Consisting of the following parameters:
a: Power Law Intercept (default: -17.668).
b: Power Law Slope (default: 5.926).
d: Number of days since a reference point(calculated by counting bars from the reference point with an offset).
Explanation of the a and b parameters:
Roughly explained, the optimal values for the a and b parameters are determined through a process of linear regression on a log-log scale (after applying a logarithmic transformation to both the x and y axes). On this log-log scale, the power law relationship becomes linear, making it possible to apply linear regression. The best fit for the regression is then evaluated using metrics like the R-squared value, residual error analysis, and visual inspection. This process can be quite complex and is beyond the scope of this post.
Applying vertical shifts to generate the other lines:
Once the initial power-law is created, additional lines are generated by applying a vertical shift . This shift is achieved by adding a specific number of days (or years in case of this script) to the d-parameter. This creates new lines perfectly parallel to the initial power law with an added vertical shift, maintaining the same slope and intercept.
In the case of this script, shifts are made by adding +365 days, +2 * 365 days, +3 * 365 days, +4 * 365 days, and +5 * 365 days, effectively introducing one to five years of shifts. This results in a total of six Power Law lines, as outlined below (From lowest to highest):
Base Power Law Line (no shift)
1-year shifted line
2-year shifted line
3-year shifted line
4-year shifted line
5-year shifted line
The six power law lines:
Bitcoin Power Law Oscillator
This publication also includes the oscillator version of the Bitcoin Power Law. This version applies a logarithmic transformation to the price, Base Power Law Line, and 5-year shifted line using the formula log10(x) .
The log-transformed price is then normalized using min-max normalization relative to the log-transformed Base Power Law Line and 5-year shifted line with the formula:
normalized price = log(close) - log(Base Power Law Line) / log(5-year shifted line) - log(Base Power Law Line)
Finally, the normalized price was multiplied by 5 to map its value between 0 and 5, aligning with the shifted lines.
Interpretation of the Bitcoin Power Law Model:
The shifted Power Law lines provide a framework for predicting Bitcoin's future price movements based on historical trends. These lines are created by applying a vertical shift to the initial Power Law line, with each shifted line representing a future time frame (e.g., 1 year, 2 years, 3 years, etc.).
By analyzing these shifted lines, users can make predictions about minimum price levels at specific future dates. For example, the 5-year shifted line will act as the main support level for Bitcoin’s price in 5 years, meaning that Bitcoin’s price should not fall below this line, ensuring that Bitcoin will be valued at least at this level by that time. Similarly, the 2-year shifted line will serve as the support line for Bitcoin's price in 2 years, establishing that the price should not drop below this line within that time frame.
On the other hand, the 5-year shifted line also functions as an absolute resistance , meaning Bitcoin's price will not exceed this line prior to the 5-year mark. This provides a prediction that Bitcoin cannot reach certain price levels before a specific date. For example, the price of Bitcoin is unlikely to reach $100,000 before 2021, and it will not exceed this price before the 5-year shifted line becomes relevant. After 2028, however, the price is predicted to never fall below $100,000, thanks to the support established by the shifted lines.
In essence, the shifted Power Law lines offer a way to predict both the minimum price levels that Bitcoin will hit by certain dates and the earliest dates by which certain price points will be reached. These lines help frame Bitcoin's potential future price range, offering insight into long-term price behavior and providing a guide for investors and analysts. Lets examine some examples:
Example 1:
In Example 1 it can be seen that point A on the 5-year shifted line acts as major resistance . Also it can be seen that 5 years later this price level now corresponds to the Base Power Law Line and acts as a major support (Note: Vertical yearly grid lines have been added for this purpose👍).
Example 2:
In Example 2, the price level at point C on the 3-year shifted line becomes a major support three years later at point C, now aligning with the Base Power Law Line.
Finally, let's explore some future price predictions, as this script provides projections on the weekly timeframe :
Example 3:
In Example 3, the Bitcoin Power Law indicates that Bitcoin's price cannot surpass approximately $808K before 2030 as can be seen at point E, while also ensuring it will be at least $224K by then (point F).
Bitcoin Polynomial Regression ModelThis is the main version of the script. Click here for the Oscillator part of the script.
💡Why this model was created:
One of the key issues with most existing models, including our own Bitcoin Log Growth Curve Model , is that they often fail to realistically account for diminishing returns. As a result, they may present overly optimistic bull cycle targets (hence, we introduced alternative settings in our previous Bitcoin Log Growth Curve Model).
This new model however, has been built from the ground up with a primary focus on incorporating the principle of diminishing returns. It directly responds to this concept, which has been briefly explored here .
📉The theory of diminishing returns:
This theory suggests that as each four-year market cycle unfolds, volatility gradually decreases, leading to more tempered price movements. It also implies that the price increase from one cycle peak to the next will decrease over time as the asset matures. The same pattern applies to cycle lows and the relationship between tops and bottoms. In essence, these price movements are interconnected and should generally follow a consistent pattern. We believe this model provides a more realistic outlook on bull and bear market cycles.
To better understand this theory, the relationships between cycle tops and bottoms are outlined below:https://www.tradingview.com/x/7Hldzsf2/
🔧Creation of the model:
For those interested in how this model was created, the process is explained here. Otherwise, feel free to skip this section.
This model is based on two separate cubic polynomial regression lines. One for the top price trend and another for the bottom. Both follow the general cubic polynomial function:
ax^3 +bx^2 + cx + d.
In this equation, x represents the weekly bar index minus an offset, while a, b, c, and d are determined through polynomial regression analysis. The input (x, y) values used for the polynomial regression analysis are as follows:
Top regression line (x, y) values:
113, 18.6
240, 1004
451, 19128
655, 65502
Bottom regression line (x, y) values:
103, 2.5
267, 211
471, 3193
676, 16255
The values above correspond to historical Bitcoin cycle tops and bottoms, where x is the weekly bar index and y is the weekly closing price of Bitcoin. The best fit is determined using metrics such as R-squared values, residual error analysis, and visual inspection. While the exact details of this evaluation are beyond the scope of this post, the following optimal parameters were found:
Top regression line parameter values:
a: 0.000202798
b: 0.0872922
c: -30.88805
d: 1827.14113
Bottom regression line parameter values:
a: 0.000138314
b: -0.0768236
c: 13.90555
d: -765.8892
📊Polynomial Regression Oscillator:
This publication also includes the oscillator version of the this model which is displayed at the bottom of the screen. The oscillator applies a logarithmic transformation to the price and the regression lines using the formula log10(x) .
The log-transformed price is then normalized using min-max normalization relative to the log-transformed top and bottom regression line with the formula:
normalized price = log(close) - log(bottom regression line) / log(top regression line) - log(bottom regression line)
This transformation results in a price value between 0 and 1 between both the regression lines. The Oscillator version can be found here.
🔍Interpretation of the Model:
In general, the red area represents a caution zone, as historically, the price has often been near its cycle market top within this range. On the other hand, the green area is considered an area of opportunity, as historically, it has corresponded to the market bottom.
The top regression line serves as a signal for the absolute market cycle peak, while the bottom regression line indicates the absolute market cycle bottom.
Additionally, this model provides a predicted range for Bitcoin's future price movements, which can be used to make extrapolated predictions. We will explore this further below.
🔮Future Predictions:
Finally, let's discuss what this model actually predicts for the potential upcoming market cycle top and the corresponding market cycle bottom. In our previous post here , a cycle interval analysis was performed to predict a likely time window for the next cycle top and bottom:
In the image, it is predicted that the next top-to-top cycle interval will be 208 weeks, which translates to November 3rd, 2025. It is also predicted that the bottom-to-top cycle interval will be 152 weeks, which corresponds to October 13th, 2025. On the macro level, these two dates align quite well. For our prediction, we take the average of these two dates: October 24th 2025. This will be our target date for the bull cycle top.
Now, let's do the same for the upcoming cycle bottom. The bottom-to-bottom cycle interval is predicted to be 205 weeks, which translates to October 19th, 2026, and the top-to-bottom cycle interval is predicted to be 259 weeks, which corresponds to October 26th, 2026. We then take the average of these two dates, predicting a bear cycle bottom date target of October 19th, 2026.
Now that we have our predicted top and bottom cycle date targets, we can simply reference these two dates to our model, giving us the Bitcoin top price prediction in the range of 152,000 in Q4 2025 and a subsequent bottom price prediction in the range of 46,500 in Q4 2026.
For those interested in understanding what this specifically means for the predicted diminishing return top and bottom cycle values, the image below displays these predicted values. The new values are highlighted in yellow:
And of course, keep in mind that these targets are just rough estimates. While we've done our best to estimate these targets through a data-driven approach, markets will always remain unpredictable in nature. What are your targets? Feel free to share them in the comment section below.
Bitcoin Polynomial Regression OscillatorThis is the oscillator version of the script. Click here for the other part of the script.
💡Why this model was created:
One of the key issues with most existing models, including our own Bitcoin Log Growth Curve Model , is that they often fail to realistically account for diminishing returns. As a result, they may present overly optimistic bull cycle targets (hence, we introduced alternative settings in our previous Bitcoin Log Growth Curve Model).
This new model however, has been built from the ground up with a primary focus on incorporating the principle of diminishing returns. It directly responds to this concept, which has been briefly explored here .
📉The theory of diminishing returns:
This theory suggests that as each four-year market cycle unfolds, volatility gradually decreases, leading to more tempered price movements. It also implies that the price increase from one cycle peak to the next will decrease over time as the asset matures. The same pattern applies to cycle lows and the relationship between tops and bottoms. In essence, these price movements are interconnected and should generally follow a consistent pattern. We believe this model provides a more realistic outlook on bull and bear market cycles.
To better understand this theory, the relationships between cycle tops and bottoms are outlined below:https://www.tradingview.com/x/7Hldzsf2/
🔧Creation of the model:
For those interested in how this model was created, the process is explained here. Otherwise, feel free to skip this section.
This model is based on two separate cubic polynomial regression lines. One for the top price trend and another for the bottom. Both follow the general cubic polynomial function:
ax^3 +bx^2 + cx + d.
In this equation, x represents the weekly bar index minus an offset, while a, b, c, and d are determined through polynomial regression analysis. The input (x, y) values used for the polynomial regression analysis are as follows:
Top regression line (x, y) values:
113, 18.6
240, 1004
451, 19128
655, 65502
Bottom regression line (x, y) values:
103, 2.5
267, 211
471, 3193
676, 16255
The values above correspond to historical Bitcoin cycle tops and bottoms, where x is the weekly bar index and y is the weekly closing price of Bitcoin. The best fit is determined using metrics such as R-squared values, residual error analysis, and visual inspection. While the exact details of this evaluation are beyond the scope of this post, the following optimal parameters were found:
Top regression line parameter values:
a: 0.000202798
b: 0.0872922
c: -30.88805
d: 1827.14113
Bottom regression line parameter values:
a: 0.000138314
b: -0.0768236
c: 13.90555
d: -765.8892
📊Polynomial Regression Oscillator:
This publication also includes the oscillator version of the this model which is displayed at the bottom of the screen. The oscillator applies a logarithmic transformation to the price and the regression lines using the formula log10(x) .
The log-transformed price is then normalized using min-max normalization relative to the log-transformed top and bottom regression line with the formula:
normalized price = log(close) - log(bottom regression line) / log(top regression line) - log(bottom regression line)
This transformation results in a price value between 0 and 1 between both the regression lines.
🔍Interpretation of the Model:
In general, the red area represents a caution zone, as historically, the price has often been near its cycle market top within this range. On the other hand, the green area is considered an area of opportunity, as historically, it has corresponded to the market bottom.
The top regression line serves as a signal for the absolute market cycle peak, while the bottom regression line indicates the absolute market cycle bottom.
Additionally, this model provides a predicted range for Bitcoin's future price movements, which can be used to make extrapolated predictions. We will explore this further below.
🔮Future Predictions:
Finally, let's discuss what this model actually predicts for the potential upcoming market cycle top and the corresponding market cycle bottom. In our previous post here , a cycle interval analysis was performed to predict a likely time window for the next cycle top and bottom:
In the image, it is predicted that the next top-to-top cycle interval will be 208 weeks, which translates to November 3rd, 2025. It is also predicted that the bottom-to-top cycle interval will be 152 weeks, which corresponds to October 13th, 2025. On the macro level, these two dates align quite well. For our prediction, we take the average of these two dates: October 24th 2025. This will be our target date for the bull cycle top.
Now, let's do the same for the upcoming cycle bottom. The bottom-to-bottom cycle interval is predicted to be 205 weeks, which translates to October 19th, 2026, and the top-to-bottom cycle interval is predicted to be 259 weeks, which corresponds to October 26th, 2026. We then take the average of these two dates, predicting a bear cycle bottom date target of October 19th, 2026.
Now that we have our predicted top and bottom cycle date targets, we can simply reference these two dates to our model, giving us the Bitcoin top price prediction in the range of 152,000 in Q4 2025 and a subsequent bottom price prediction in the range of 46,500 in Q4 2026.
For those interested in understanding what this specifically means for the predicted diminishing return top and bottom cycle values, the image below displays these predicted values. The new values are highlighted in yellow:
And of course, keep in mind that these targets are just rough estimates. While we've done our best to estimate these targets through a data-driven approach, markets will always remain unpredictable in nature. What are your targets? Feel free to share them in the comment section below.
John Ehlers - The Price RadioPrice curves consist of much noise and little signal. For separating the latter from the former, John Ehlers proposed in the Stocks&Commodities May 2021 issue an unusual approach: Treat the price curve like a radio wave. Apply AM and FM demodulating technology for separating trade signals from the underlying noise.
reference: financial-hacker.com
Wave Surge [UAlgo]The "Wave Surge " is a comprehensive indicator designed to provide advanced wave pattern analysis for market trends and price movements. Built with customizable parameters, it caters to both beginner and advanced traders looking to improve their decision-making process.
This indicator utilizes wave-based calculations, adaptive thresholds, and volume analysis to detect and visualize key market signals. By integrating multiple analysis techniques.
It calculates waves for high, low, and close prices using a configurable moving average (EMA) technique and pairs it with volume and baseline analysis to confirm patterns. The result is a robust framework for identifying potential entry and exit points in the market.
🔶 Key Features
Wave-Based Analysis: This indicator computes waves using exponential moving averages (EMA) of high, low, and close prices, with an adjustable wave period to suit different market conditions.
Customizable Baseline: Traders can select from multiple baseline types, including VWMA (Volume-Weighted Moving Average), EMA, SMA (Simple Moving Average), and HMA (Hull Moving Average), for trend confirmation.
Adaptive Thresholds: The adaptive threshold feature dynamically adjusts sensitivity based on a chosen period, ensuring the indicator remains responsive to varying market volatility.
Volume Analysis: The integrated volume analysis calculates volume ratios and allows traders to enable or disable this feature to refine signal accuracy.
Pattern Recognition: The indicator identifies specific wave patterns (Wave 1, Wave 3, Wave 4, Wave 5, Wave 6) and visually plots them on the chart for easy interpretation.
Visual and Color-Coded Signals: Clear visual signals (upward and downward arrows) are plotted on the chart to highlight potential bullish or bearish patterns. The baseline is color-coded for an intuitive understanding of market trends.
Configuration: Parameters for wave period, baseline length, volume factors, and sensitivity can be tailored to align with the trader’s strategy and market environment.
🔶 Interpreting the Indicator
Wave Patterns
The indicator detects and plots six unique wave patterns based on price changes that exceed an adaptive threshold. These patterns are validated by the direction of the baseline:
Wave 1 (Bullish): Triggered when the price increases above the threshold while the baseline is falling.
Wave 3, 4, and 6 (Bearish): Indicate potential downtrends validated by a rising baseline.
Wave 5 (Bullish): Suggests upward momentum when prices exceed the threshold with a falling baseline.
Baseline Trend
The baseline serves as a trend confirmation tool, dynamically changing color to reflect market direction:
Aqua (Rising): Indicates an upward trend.
Red (Falling): Indicates a downward trend.
Volume Confirmation
When enabled, the volume analysis feature ensures that signals are supported by significant volume movements. Patterns with high volume are considered more reliable.
Signal Visualization
Upward Arrows (🡹): Highlight potential bullish opportunities.
Downward Arrows (🡻): Highlight potential bearish opportunities.
Alerts
Alerts are triggered when key wave patterns are identified, providing traders with timely notifications to take action without being tied to the screen.
🔶 Disclaimer
Use with Caution: This indicator is provided for educational and informational purposes only and should not be considered as financial advice. Users should exercise caution and perform their own analysis before making trading decisions based on the indicator's signals.
Not Financial Advice: The information provided by this indicator does not constitute financial advice, and the creator (UAlgo) shall not be held responsible for any trading losses incurred as a result of using this indicator.
Backtesting Recommended: Traders are encouraged to backtest the indicator thoroughly on historical data before using it in live trading to assess its performance and suitability for their trading strategies.
Risk Management: Trading involves inherent risks, and users should implement proper risk management strategies, including but not limited to stop-loss orders and position sizing, to mitigate potential losses.
No Guarantees: The accuracy and reliability of the indicator's signals cannot be guaranteed, as they are based on historical price data and past performance may not be indicative of future results.
Weierstrass Function (Fractal Cycles)THE WEIERSTRASS FUNCTION
f(x) = ∑(n=0)^∞ a^n * cos(b^n * π * x)
The Weierstrass Function is the sum of an infinite series of cosine functions, each with increasing frequency and decreasing amplitude. This creates powerful multi-scale oscillations within the range ⬍(-2;+2), resembling a system of self-repetitive patterns. You can zoom into any part of the output and observe similar proportions, mimicking the hidden order behind the irregularity and unpredictability of financial markets.
IT DOESN’T RELY ON ANY MARKET DATA, AS THE OUTPUT IS BASED PURELY ON A MATHEMATICAL FORMULA!
This script does not provide direct buy or sell signals and should be used as a tool for analyzing the market behavior through fractal geometry. The function is often used to model complex, chaotic systems, including natural phenomena and financial markets.
APPLICATIONS:
Timing Aspect: Identifies the phases of market cycles, helping to keep awareness of frequency of turning points
Price-Modeling features: The Amplitude, frequency, and scaling settings allow the indicator to simulate the trends and oscillations. Its nowhere-differentiable nature aligns with the market's inherent uncertainty. The fractured oscillations resemble sharp jumps, noise, and dips found in volatile markets.
SETTINGS
Amplitude Factor (a): Controls the size of each wave. A higher value makes the waves larger.
Frequency Factor (b): Determines how fast the waves oscillate. A higher value creates more frequent waves.
Ability to Invert the output: Just like any cosine function it starts its journey with a decline, which is not distinctive to the behavior of most assets. The default setting is in "inverted mode".
Scale Factor: Adjusts the speed at which the oscillations grow over time.
Number of Terms (n_terms): Increases the number of waves. More terms add complexity to the pattern.
Wolfe Wave Detector [LuxAlgo]The Wolfe Wave Detector displays occurrences of Wolfe Waves, alongside a target line. A multiple swing detection approach is used to maximize the number of detected waves.
The indicator includes a dashboard with the number of detected waves, as well as the number of reached targets.
🔶 USAGE
The Wolfe Wave pattern is a chart pattern composed of five segments, with the initial segment extremities (points XABCD) forming a channel containing price variations.
After the price reaches point D , we can expect a reversal toward a target line (point E ). The target line is obtained by connecting and extending point X -> C .
The script draws the XABCD pattern and a projection of where E might potentially be located.
The projection is derived from the intersection between the target line and a line starting from D , parallel to B-C . From this line, margins are added, left and right, creating a wedge-shaped figure in most cases.
When the price passes the target line, this is highlighted by a dot. The dot and pattern are green by default when the target is above D and red when the target is below D . Colors can be edited in the settings. The dashed target line is colored in the opposite color.
As seen in the above example, the price trend can reverse after reaching the target line.
🔹 Symmetry
Ideally, the Wolfe Wave must have a degree of symmetry; every upward line should have a similar angle to the other upward lines, and the same should be true for the downward lines.
Also, the lines forming the channel should be as parallel as possible.
Users have the option to adjust the tolerance:
Margin controls the wave symmetry of the pattern
Angle controls the channel symmetry of the pattern
It's important to note that in both cases, a lower number will lead to more symmetrical patterns, but they may appear less frequently.
It is also important to note that increasing the Margin can delay validating the pattern. In the meantime, the price could surpass the channel in the opposite direction, invalidating and deleting the otherwise valid pattern.
🔹 Multiple Swings
Users can set a Minimum Swing length (for example 2) and a Maximum Swing length (for example 100) which defines the range of the swing point detection length, higher values for these settings will detect longer-term Wolfe patterns, while a larger range will allow for the detection of a larger number of patterns.
By using multiple swings, it is possible to find smaller next to larger patterns at the same time.
The dashboard shows the number of patterns found and targets reached. When, for example, bullish patterns are disabled in the settings, the dashboard only shows the results of bearish patterns.
🔹 Extend Target Line
The publication includes a setting that allows the Target Line to be extended up to 50 bars further. As seen in the above example, the Target Line can still be reached even after the pattern has been finalized. Once the Target Line is reached, it won't be updated further.
Here is another example of a Target Line being reached later on.
The Target Line acted as a support level, after which where the price changed direction.
🔹 Show Progression
An option is included to show the progression before the pattern is completed. Users can make use of the XABC pattern or visualize where point D should be positioned.
The focus lies on the bar range (between the left and right borders of the grey rectangle). The pattern is considered invalid and deleted when point D is beyond these limits. The height of the rectangle is optional. Ideally, the price should be located between the top and bottom of the rectangle, but it is not mandatory.
Show Progression has three options including:
Full: Show all lines of XABC plus line C-D and rectangle for the position of point D
Partial: Show line C-D and rectangle for the position of point D
None: Only show valid completed patterns
The 'Partial' option in the 'Show Progression' feature is designed to help users locate the desired position of point D without the visual clutter caused by the XABC lines. This can be useful for those who prefer a cleaner visual representation of the evolving pattern.
🔶 SETTINGS
🔹 Swing Length
Minimum: Minimum length used for the swing detection.
Maximum Swing Length: Maximum length used for the swing detection.
🔹 Tolerance
Margin: Influences the symmetry of the pattern; with a higher number allowing for less symmetry.
Angle: Influences the symmetry of the channel; with a higher number allowing for less symmetry.
🔹 Style
Toggle: Bullish/Bearish + colors
Extend Target Line: Extend a maximum of 50 bars or until Target Line is reached
Show Progression: Show pattern progression
Dot Size: The size of the dot when the Target Line is reached
🔹 Dashboard
Show Dashboard: Toggle dashboard which shows the number of found patterns and targets reached.
Location: Location of the dashboard on the chart.
Text Size: Text size.
🔹 Calculation
Calculated Bars: Allows the usage of fewer bars for performance/speed improvement
Wave Consolidation [LuxAlgo]The Wave Consolidation indicator uses market profiles to highlight consolidation zones based on upward and downward moves determined when a Higher-High or Lower-Low is created.
Users can control the amount of consolidation zones to display and the sensitivity of the swing point detection used to return those zones.
🔶 USAGE
These zones are intended as areas of interest to traders where price has seen historical interactions, which can be interpreted as support and resistance. By identifying these areas of interest before the price returns to them, traders are able to anticipate and prepare for various scenarios and respond dynamically to the behavior of the market, as seen below.
Rejection: A quick move away from the zone may indicate that the area is either overvalued or undervalued, leading to a fast movement in the opposite direction.
Breakthrough: Moving beyond a zone could indicate acceptance at that specific price, potentially signaling a shift in momentum or the start of a new trend. In a strong major trend, zones created from smaller trends could be used as price targets for taking profit and managing risk.
Consolidation: Holding these zones might suggest a market in balance at these levels, this could lead to opportunities for range-bound trading.
Below is an example of the Rejection and Consolidation scenarios described above.
Note: By analyzing the tests and retests of these zones, traders can also gain further insight into where participants are interacting in the market.
🔶 DETAILS
The full process for acquiring and managing these zones is described in the sub-sections below.
🔹 Creation
By only considering market movements creating a higher-high or lower-low, we can identify meaningful, directional, moves which can then be used to calculate zones.
Once a move is identified, the script calculates a volume profile spanning the length of the given move.
The width of the zones is determined starting from the POC of the profile and expanding outwards until the value of the profile's row falls below the profile's average.
Note: By increasing the "Multiplier" Input, Users can increase the threshold the script uses to determine zone width in multiples of Standard Deviations above the Average.
While this area is similar to a VP Value Area, it is not intended to replicate a value zone. The calculation is not concerned with capturing any % of the total profile's volume within the zone and only analyzes based on a fixed inclusion threshold.
🔹 Management
To keep clutter to a minimum, If a new zone overlaps a recently created zone, the zones are grouped as one. This is especially helpful in areas where prices are ranging, creating multiple zones in a very similar area.
Zones before management:
Zones after management:
🔹 Deletion
Just because a zone is crossed, does not make it immediately unimportant!
Once a Zone is mitigated (crossed in the opposite direction of its bias) it is reduced to a single dotted line representing the outer threshold for the zone. These lines are important to watch, as the price will often retest a break. For this reason, they will stay on the chart until the next swing point is detected when they will finally be deleted for good.
Below is an example of activity around a broken zone before it is deleted.
Below is the same example 2bBars later , once the new swing is confirmed, the dotted lines are deleted and new zones are created.
Notice how the newly formed resistance zone is in the same area where we noticed sellers previously.
🔶 SETTINGS
🔹 Structure
Display Structure: Determines if swing structures are displayed.
Structure Length: Sets Length for structure identification.
🔹 Zones
Volume-Based Calculations: Opt to use a "Volume" based Profile Calculation instead of the default "Price Action" based Calculation.
Display Count: Sets the specific number of bullish and bearish zones to display on the chart.
Multiplier: Sets the multiplier to use for the value cut-off for determining zone boundaries.
🔹 Style
Display Average Lines: Toggles on/off the average (mid) lines for the zones.
RSI Momentum Waves [Quantigenics]RSI Momentum Waves Indicator
The RSI Momentum Waves Indicator is your intuitive tool for visualizing market strength and trend persistence. It refines the classic RSI by smoothing the data with Exponential Moving Averages (EMAs), which help clear out the noise to give you a more accurate picture of where the market’s heading. The parameters - RSI Period, Smoothing Period, Overbought, Oversold, Upper Neutral Zone, and Lower Neutral Zone - are all adjustable, so you can tailor the indicator to different market conditions or your trading style.
How It Works:
RSI Period (RsiPer): Adjusts how far back the RSI looks to calculate its value, affecting its sensitivity.
Smoothing Period (SmoothPer): Dictates how smooth the EMA lines are, balancing between sensitivity and noise reduction.
Overbought (OBLevel) / Oversold (OSLevel) Levels: Set the thresholds where the market might be too stretched in either direction and due for a reversal.
Neutral Zones (UpperNZ / LowerNZ): Define the areas where the market is considered neutral, and trend strength is less clear.
Trading Instructions:
Use the RSI Momentum Waves to gain insights into the market’s momentum and make informed decisions:
For Trend Identification: If the waves are consistently above the 50 line and climbing, the market may be bullish; if below and declining, bearish signals are suggested.
Overbought and Oversold Regions: Entering these areas might indicate a potential reversal. A peak and downturn in the overbought region can signal a sell, while a trough and upturn in the oversold region can indicate a buy.
Neutral Zone Caution: In the neutral zones, exercise caution and wait for a breakout in either direction for stronger signals.
Confirm with Other Analysis: Never rely solely on one indicator. Confirm the RSI Momentum Waves signals with other technical indicators or fundamental analysis for best practices.
Remember, the goal is to detect the rhythm of the market’s momentum and act accordingly. Happy trading!
ZigZag Multi [TradingFinder] Trend & Wave Lines - Structures🔵 Introduction
"Zigzag" is an indicator that forms based on price changes. Essentially, the function of this indicator is to connect consecutive and alternating High and Low pivots. This pattern assists in analyzing price changes and can also be used to identify classic patterns. "Zigzag" is an analytical tool that, by filtering partial price movements based on the specified period, can identify price waves across different time frames (short or long term).
🔵 Reason for Creation
The combination of "short term zigzag" and "long term zigzag" enhances accuracy and reduces analysis time. In a time frame, "long term zigzag" represents the main trend, while "short term zigzag" depicts short-term waves.
🔵 How to Use
After selecting the desired time frame and adding "zigzag" to the chart, begin utilization. Keep in mind to identify the main market trend from "long term zigzag" and the minor waves from "short term zigzag".
🟣 Important: Additionally, classic patterns such as HH, LH, LL, and HL can be recognized. All traders analyzing financial markets using classic patterns and Elliot Waves can benefit from the "zigzag" indicator to facilitate their analysis.
🔵 Settings
Short term zigzag : In this section, you can adjust settings such as time frame range, display mode, color, and line width of the zigzag lines.
Short term label : This section allows you to activate or deactivate the display of zigzag labels according to your needs. You can also customize their color and size.
Long term zigzag : Here, you can adjust settings for time frame range, display mode, color, and line width of zigzag lines.
Long term label : Similar to short term label settings.
The recommended time frame for "long term zigzag" is between 9 to 15, and for "short term zigzag" is between 3 to 5.
🟣 Important Notes :
Considering the different behaviors of financial markets and various time frames, it is recommended to experiment with different time frame settings when using "zigzag" to find the best settings for each symbol and time frame, thereby preventing potential errors.
🟣 Terminology Explanations :
"HH": When the price is higher than the previous peak (Higher High).
"HL": When the price is higher than the previous low (Higher Low).
"LH": When the price is lower than the previous peak (Lower High).
"LL": When the price is lower than the previous low (Lower Low).
Awesome Oscillator + Bars count lines + EMA LineThe indicator includes an Awesome Oscillator with 2 vertical lines at a distance of 100 and 140 bars from the last bar to determine the third Elliott wave by the maximum peak of AO in the interval from 100 to 140 bars according to Bill Williams' Profitunity strategy. Additionally, a faster EMA line is displayed that calculates the difference between 5 Period and 34 Period Exponential Moving Averages (EMA 5 - EMA 34) based on the midpoints of the bars, just like AO calculates the difference between Simple Moving Averages (SMA 5 - SMA 34).
In the indicator settings, you can change the number of bars for vertical lines and any parameters for AO and EMA - method (SMA, Smoothed SMA, EMA and others), length, source (open, high, low, close, hl2 and others).
***
Индикатор включает Awesome Oscillator с 2 вертикальными линиями на расстоянии 100 и 140 баров от последнего бара, чтобы определить третью волну Эллиота по максимальному пику AO в интервале от 100 до 140 баров по стратегии Profitunity Билла Вильямса. Дополнительно отображается более быстрая линия EMA, которая вычисляет разницу между 5 Периодной и 34 Периодной Экспоненциальными Скользящими Средними (EMA 5 - EMA 34) по средним точкам баров (hl2), точно так же, как AO вычисляет разницу между Простыми Скользящими Средними (SMA 5 - SMA 34).
В настройках индикатора вы можете изменить количество баров для вертикальных линий и любые параметры для AO и EMA – метод (SMA, Smoothed SMA, EMA и другие), длину, источник (open, high, low, close, hl2 и другие).
Visible bars count on chart + highest/lowest bars, max/min AOThe indicator displays the number of visible bars on the screen (in the upper right corner), including the prices of the highest and lowest bars, the maximum or minimum value of the Awesome Oscillator (similar to MACD 5-34-5) for identify the 3-wave Elliott peak in the interval of 100 to 140 bars according to the Profitunity strategy of Bill Williams. The values change dynamically when scrolling or changing the scale of the graph.
In the indicator settings, you can hide labels, lines and change any parameters for the AO indicator - method (SMA, Smoothed SMA, EMA and others), length, source (open, high, low, close, hl2 and others).
‼️ The values are updated within 2-3 seconds after changing the number of visible bars on the screen.
***
Индикатор отображает количество видимых баров на экране (в правом верхнем углу), в том числе цены самого высокого и самого низкого баров, максимальное или минимальное значение Awesome Oscillator (аналогично MACD 5-34-5), чтобы определить пик 3-волны Эллиота в интервале от 100 до 140 баров по стратегии Profitunity Билла Вильямса. Значения меняются динамически при скроллинге или изменении масштаба графика.
В настройках индикатора вы можете скрыть метки, линии и изменить любые параметры для индикатора AO – метод (SMA, Smoothed SMA, EMA и другие), длину, источник (open, high, low, close, hl2 и другие).
‼️ Значения обновляются в течении 2-3 секунд после изменения количества видимых баров на экране.
Zigzag Chart Points█ OVERVIEW
This indicator displays zigzag based on high and low using latest pine script version 5 , chart.point which using time, index and price as parameters.
Pretty much a strip down using latest pine script function, without any use of library .
This allow pine script user to have an idea of simplified and cleaner code for zigzag.
█ CREDITS
LonesomeTheBlue
█ FEATURES
1. Label can be show / hide including text can be resized.
2. Hover to label, can see tooltip will show price and time.
3. Tooltip will show date and time for hourly timeframe and below while show date only for day timeframe and above.
█ NOTES
1. I admit that chart.point just made the code much more cleaner and save more time. I previously using user-defined type(UDT) which quite hassle.
2. I have no plan to extend this indicator or include alert just I thinking to explore log.error() and runtime.error() , which I may probably release in other publications.
█ HOW TO USE'
Pretty much similar inside mentioned references, which previously I created.
█ REFERENCES
1. Zigzag Array Experimental
2. Simple Zigzag UDT
3. Zig Zag Ratio Simplified
4. Cyclic RSI High Low With Noise Filter
5. Auto AB=CD 1 to 1 Ratio Experimental
Relative Strength Index Wave Indicator [CC]The Relative Strength Index Wave Indicator was created by Constance Brown (Technical Analysis for the Trading Professional), and this is a unique indicator that uses the weighted close formula, but instead of using the typical price values, it uses the RSI calculated from the various prices. It then creates a rainbow by smoothing the weighted RSI with four different lengths. As far as the buy or sell signals with this indicator go, I did change things from the original source, so feel free to experiment and let me know if anything works better for you. I decided to do a variation of the original source and create buy and sell signals based on crossovers, but my version only uses the first and second smoothed RSI lines. You could also average all of the lines and buy when the average is rising and sell when it starts to fall. I have used my typical buy and sell signals to use darker colors for strong signals and lighter colors for normal signals. Because of the rainbow effect from the wave, the color changes will only appear for the bar itself when you enable that setting.
Let me know if there is any other script you would like to see me publish! I will have plenty more RSI scripts to publish in the next week. Let me know if you like this indicator series.
Elliott Wave [LuxAlgo]The Elliott Wave indicator allows users to detect Elliott Wave (EW) impulses as well as corrective segments automatically on the chart. These are detected and displayed serially, allowing users to keep track of the evolution of an impulse or corrective wave.
Fibonacci retracements constructed from detected impulse waves are also included.
This script additionally allows users to get alerted on a wide variety of trigger conditions (see the ALERTS section below).
🔶 SETTINGS
🔹 Source
• "high" -> options high, close, maximum of open/close
• "low" -> options low, close, minimum of open/close
🔹 ZigZag
• The source and length are used to check whether a new Pivot Point is found.
Example:
• source = high/low, length = 10:
• There is a new pivot high when:
- previous high is higher than current high
- the highs of 10 bars prior to previous high are all lower
• These pivot points are used to form the ZigZag lines, which in their turn are used for pattern recognition
🔶 USAGE
The basic principles we use to identify Elliott Wave impulses are:
• A movement in the direction of the trend ( Motive/Impulse wave ) is divided in 5 waves (Wave 1 -> 5)
• The Corrective Wave (against the trend) is divided in 3 waves (Wave A -> C)
• The waves can be subdivided in smaller waves
• Wave 2 can’t retrace more than the beginning of Wave 1
• Wave 4 does not overlap with the price territory of Wave 1
Here we see an example:
Let's look at the development:
• 1 bar after point (5) a confirmed 5 Motive Wave pattern is found (1 -> 5; The 5 Waves can also be seen as one large Wave 1 ).
• Next, the script draws a set of Fibonacci lines, which are area's where the Corrective Wave potentially will bounce.
Here we see the fifth wave is getting larger, the previous highest point is updated, and the Wave 5 is larger than Wave 3 :
(At this point, the pattern is invalidated, and it display as dotted)
Further progression in time:
At this point, a confirmed " 3 Corrective Wave pattern " is found (a -> c)
When a new high has developed, a circle is drawn (in the same color of the lines)
However, when the bottom of the drawn box has breached, a red cross will be visualized.
Further progression:
Later on, a bearish confirmed " 5 Motive Wave pattern " is found (1 -> 5):
When a Corrective Wave becomes invalidated, the ABC pattern will display as dashed (not dotted):
🔶 TECHNIQUES
Pine Script™ introduces methods!
• More information can be found here:
• Pine Script™ v5 User Manual 👉 Methods
• Pine Script™ language reference manual 👉 method
🔶 ALERTS
Dynamic alerts are included in the script, you only need to set 1 alert to receive following messages:
• When a new EW Motive Pattern is found (Bullish/Bearish )
• When a new EW Corrective Pattern is found (Bullish/Bearish )
• When an EW Motive Pattern is invalidated (Bullish/Bearish )
• When an EW Corrective Pattern is invalidated (Bullish/Bearish )
• When possible, a start of a new EW Motive Wave is found (Bullish/Bearish )
• Here is information how you can set these alerts()
Sinusoidal High Pass Filter (SHPF)Sinusoidal High Pass Filter
This script implements a sinusoidal high pass filter, which is a type of digital filter that is used to remove low frequency components from a signal. The filter is defined by a series of weights that are applied to the input data, with the weights being determined by a sinusoidal function. The resulting filtered signal is then plotted on a chart, allowing the user to visualize the effect of the filter on the original signal.
The script begins by defining the sinusoidal_hpf function, which takes three arguments: _series, _period, and _phase_shift. The _series argument is the input data series that will be filtered, and the _period argument determines the length of the filter. The _phase_shift argument is an optional parameter that allows the user to adjust the phase of the sinusoidal function that is used to calculate the filter weights.
The function then initializes a variable ma to 0.0, and loops through each data point in the input series, starting from the most recent and going back in time for the specified _period number of points. For each data point, the function calculates a weight using a sinusoidal function, and adds the weighted data point to the ma variable. Finally, the function returns the average of the weighted data points by dividing ma by the _period.
The script also includes user input fields for the Length and Phase Shift parameters, which allows the user to customize the filter according to their specific needs. The filtered signal is then plotted on a chart, along with a reference line at 0.
Overall, this script provides a useful tool for analyzing and processing financial data, and can be easily customized to fit the needs of the user.
RSI Wave SignalsQuick Description: Smoothed RSI with optimized trailing moving average. Look for cross above or cross under signals for buy and sell orders respectively.
VIDYA moving average of RSI incorporated with "optimized trend tracker" system. Thanks to kivancozbilgic and anilozeksi for implementing this great idea on Tradingview. The indicator adds "1,000" to the RSI MA values for more natural and accurate percentage trailing.
Settings:
- Period MA is the moving average length of the blue line
- Trailing Percentage of MA adjusts the percentage (sort of) trailing level of the moving average.
- RSI Length adjusts the rsi length in calculation.
Trading Tips:
- System might be enhanced by taking signals only on "oversold" or "overbought" territories (i.e <~1020 or >~1080)
- Adjust position size of by 4 times of atr(length=14)
- Take 50% of position as profit when position reaches the 4*atr TP Level (breakeven)
- Let the rest ride.
- Best performing on short frequencies such as 1, 3, 5 mins.
Wave Chart v1##Wave Chart v1##
For analyzing Neo-wave theory
Plot the market's highs and lows in real-time order.
Then connect the highs and lows
with a diagonal line. Next, the last plot of one day (or bar) is connected with a straight line to the
first plot of the next day (or bar).
##How To Use##
if you want a weekly chart you drop the time frame to the daily chart.
Then you set the range to 7(if the market opens 7 days per week).
Then you click "highlight the bar that runs to plot" and you must shift the highlight to the last day that the weekly chart bar close(Sunday / Friday)
##Example 1
Weekly chart BTCUSDT on BINANCE
first open daily chart, set range = 7 and Bars_shift = 3 (shift highlight to Sunday)
##Example 2
Weekly chart XAUUSD on FXOPEN
first open daily chart, set range = 5 (market open 5 days per week) and Bars_shift = 1 (shift highlight to Friday)
##Note##
If the market has a special holiday Wave Chart may be inaccurate.
Wave Trend OscillatorThis is a very standard version of the Wave Trend Oscillator.
The Channel and Average values are displayed as lines, most people display them as areas.
The Channel and Average difference is displayed as a histogram, most people display it as a tiny noisy area.
I was unable to find a standard version of the Wave Trend Oscillator.
The colorful hyped up versions of this indicator made me feel like a clown while using them.
I have essentially copied the style of the MACD with this indicator, to keep things professional.
With this WTO, you can change the timeframe and source.
You can also change the histogram average length and multiplier, making it usable.
The typical way that people display the histogram is completely unusable and just for appearance.
Now it does a decent job showing when the momentum of the WTO's downward movement is slowing down, just like how the MACD histogram works.
This indicator is essentially a normalized MACD, though they are calculated differently.
The Wave Trend Oscillator is useful for spotting/monitoring changed in mid-trend momentum.
In my experience, divergence in this indicator is a strong signal.
If the MACD is too slow for you, then this is a great alternative; without all the extra fluff people usually add to it.
test - wave collapseexperimental:
translates a gaussian wave to collapse from high/low peaks, slice of a pun intended to the cat in the box :)
Volume Pump WaveThis indicator displays volume as a pump wave. Can be useful for chart analysis and easy detection of anomalies/trends.
Technical Ratings Pro - Pump WaveThis script uses the built in Technical Ratings indicator but interprets the data visually. It plots the results for "total", "MA" and "other" as pump waves. It uses MA to plot a trend line (can be turned off in settings) . Candles are colored to the rating strength and a percentage number was added to the results. For more informations on the Technical Ratings indicator please refer to official documentation.