Hull WavesThe Hull Waves indicator is based on the Hull Moving Averages (HMA), which are special moving averages that stand out for their ability to filter out market noise and offer a clearer view of price trends. Compared to traditional moving averages, HMAs are more responsive yet smoother, allowing traders to capture significant price movements without getting overwhelmed by short-term fluctuations.
The HMAs integrated into Hull Waves provide two distinct perspectives on the price trend:
8-period HMA: This short-term HMA is extremely reactive and closely follows price changes. It is ideal for capturing short-term trading signals while the medium-term 21-period HMA offers a more balanced view of price trends and identifies medium-term trends.
By crossing HMAs, traders can efficiently identify trend reversal points or strong market continuations.
Another feature of the indicator is the “fan” of dynamic lines, which acts as a visual float for price candles, allowing traders to quickly evaluate trading opportunities.
The "fan" or float of dynamic lines represents a visual representation of the candle's price movements. These lines extend from the start point to the end point, like an open fan. This visual approach makes the market dynamics immediately evident.
Strategy:
Long Entry Signal (Buy):
When the Hull Waves range shows a series of upward sloping lines and the Hull Moving Averages (e.g. 8-period HMA) crosses the 21-period HMA upwards, it is a long entry signal.
Confirmation of the signal can come from an increase in trader volume or other supporting indicators.
Place a buy order at the next closing price.
Short Entry Signal (Sell):
When the Hull Waves range shows a series of downward sloping lines and the Hull Moving Averages (e.g. 8-period HMA) crosses the 21-period HMA downward, it is a short entry signal.
Confirm the signal with an increase in trader volume or other relevant indicators.
Place a sell order at the next closing price.
Exit Signal (Closing a Position):
To close a long position, wait for a signal reversal, such as the Hull Moving Averages crossing downwards or a change in the Hull Waves range.
To close a short position, wait for a signal reversal, such as the Hull Moving Averages crossing higher or a change in the Hull Waves range.
Análise de Ondas
ZigZag++ FibonacciAuto Fibonacci tools are powerful ways designed to simplify your technical analysis by automatically drawing Fibonacci retracement and extension levels on your chart. This indicator is built to enhance your trading experience with clearer market moves and informative insights.
You can easily spot your waves and patterns when the percentages are moving with you.
Key Features:
Automated Fibonacci Levels: Plots Fibonacci retracement and extension levels based on recent price movements.
Multi-Timeframe Support: This indicator is your versatile companion, offering multi-timeframe functionality. You can seamlessly track Fibonacci levels across different resolutions, providing a comprehensive view of the market.
Two Types of Fibs: Retracement and Timeframe extension Fibonacci levels. Use retracements to identify potential reversal points and extensions to anticipate price targets, giving you a well-rounded perspective on market movements.
Benefits:
Save Time: No more manual Fibonacci drawing; It does this for you in real-time.
Enhanced Analysis: Gain a deeper understanding of potential support, resistance, and price targets.
User-Friendly: Suitable for traders of all levels, this indicator simplifies complex technical analysis.
For the math lovers
I started creating the ZigZag++ based on the MT4 calculation as I found it better performing than the tradingview inbuilt one. I have revised the calculation couple of times and now the final calculation is simple yet more accurate for my analysis.
First, I observe the market direction for the last Depth setting by comparing the rate at which high values reduce and low values increase. When the number of ticks set by Deviation is crossed and the last cross is more than the Backstep candles, then we have our ZigZag points.
These are the points we use in our Fibonacci calculation.
Checkout ZigLib below to use the same logic in your scripts.
Sample usage
This is a 4 Hour configuration with the default settings.
When the trend reversed, some key points I watch are 0.618 and 0.5. The market retraced back and formed the new point for the next ZigZag line on that level. This market behaviour happens quite often on these Fibonacci points. I would be looking for reversal or a break in this zone to know the next step.
Resources
ZigZag++ Lib by me; for retrieving the line points.
Fibonacci Toolkit by Lux Algo; For drawing the Timeframe Fibs. Very Amazing script.
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
ZigLibLibrary "ZigLib"
Calculate the points for ZigZag++.
You can use custom data and resolution for your ZigZag++.
Sample Usage
import DevLucem/ZigLib/1 as ZigZag
= ZigZag.zigzag(low, high)
bgcolor(direction<0? color.rgb(255, 82, 82, 80): color.rgb(0, 230, 119, 80))
line zz = line.new(z1.time, z1.price, z2.time, z2.price, xloc.bar_time, width=3)
if direction==direction
line.delete(zz )
zigzag(_low, _high, depth, deviation, backstep)
Get current zigzag points and direction
Parameters:
_low (float)
_high (float)
depth (int)
deviation (int)
backstep (int)
Returns direction, chart point 1 and chart point 2
TREND LINES B/O By Vintage Trader_ The Analytical skillsThis indicator is based on trend lines breakout setup
Smart money conceptThe indicator tracks the smallest movements of price action. It can monitor and analyze market context, attempting to identify trends within each time frame.
If a candle has its entire body above the previous swing high, it indicates a strong upward momentum. The market is leaning towards an upward direction. If the candle remains within the range of the previous swing high, it signifies weak upward momentum. The market is reluctant to move higher.
If a candle has its entire body below the previous swing low, it reflects a strong downward momentum. The market is leaning towards a downward direction. If the candle remains within the range of the previous swing low, it indicates weak downward momentum. The market is reluctant to move lower.
Hosoda Waves ABCDEThe Hosoda Waves indicator was devised by Goichi Hosoda, who is also the creator of the Ichimoku system, with the idea that previous highs and lows could determine future price ranges that the market would react to.
Hosoda's projections are the NT, N, V, and E waves, which are derived from calculations based on both upward and downward ABC swings.
Hosoda's waves are derived from the following calculations:
NT Wave = C + (C - A)
N Wave = B + (B - A)
V Wave = B + (B - C)
E Wave = C + (B - A)
There are already scripts for the Hosoda waves, and my idea is to project an ABCDE swing simultaneously, meaning projecting three swings:
ABC, indicated with an A, resulting in NT-A, N-A, V-A, E-A.
BCD, indicated with a B, resulting in NT-B, N-B, V-B, E-B.
CDE, indicated with a C, resulting in NT-C, N-C, V-C, E-C.
Once the indicator is applied to the chart, the interactive Pine Script tool version 5 will prompt you to identify 5 points of "low-high-low-high-low" or "high-low-high-low-high," both for upward and downward movements and mixed.
Once clicked, these price points can be moved. If you change the time frame or market instrument, the indicator must be removed because it remains tied to the prices where it was initially drawn.
ABC on Recursive Zigzag [Trendoscope]There are several implementations of ABC pattern in tradingview and pine script. However, we have made this indicator to provide users additional quantifiable information along with flexibility to experiment and develop their own strategy based on the patterns.
🎲 Highlights of this indicator over other ABC implementations are:
Implementation is based on recursive multi level zigzag allows bigger as well as smaller patterns to be identified
Allows users to set their trading rules with respect to entry, target and stop ratios, experiment and build their own strategy based on the ABC pattern.
Back test summary including win ratio and risk reward will help users understand the profitability based on different settings being used.
🎲 Concept of ABC Pattern
The ABC pattern, also known as the "Corrective Wave" or "Zigzag Pattern," is a fundamental concept in Elliott Wave Theory, which is widely used in technical analysis to identify and predict price movements in financial markets.
The ABC pattern is a three-wave corrective pattern that typically occurs within the context of a larger impulse or trending wave. It consists of two smaller waves in the opposite direction (A and C) separated by a corrective wave (B). These waves are labeled alphabetically and represent price movements.
Wave A (Impulse Wave): Wave A is the first leg of the ABC pattern and is characterized by a strong price move in the opposite direction of the prevailing trend. It is often driven by a fundamental or sentiment-driven event that temporarily disrupts the trend.
Wave B (Corrective Wave): Wave B is the corrective wave that follows Wave A. It represents a partial retracement of Wave A's price movement. Wave B can take various forms, such as a simple correction or a complex correction (e.g., a triangle or a flat correction). It typically doesn't retrace the entire length of Wave A.
Wave C (Impulse Wave): Wave C is the final leg of the ABC pattern and is characterized by a strong price move in the same direction as the prevailing trend. It often surpasses the starting point of Wave A and confirms the resumption of the larger trend.
🎲 Indicator Components
Upon loading the indicator on the chart, we can observe the following components on the chart.
Pattern Drawings is the graphical representation of present patterns. Please note that it is not necessary for patterns to be there on the chart all the time. Patterns will appear on the chart when price makes the patterns.
Trade Box is the box representing trade signals of the pattern. These trade levels are generated based on the user settings.
Summary Table is the back test summary containing details of historical pattern performance including Win Ratio and Risk Reward.
🎲 Indicator Settings
Details of each user settings are provided in the tooltips. Below is the snapshot of it.
🎲 Alerts
Basic level of alerts are built in the script using alert function to highlight the following conditions:
New ABC Pattern
Updates to existing Pattern
Both conditions will alert simple text messages. There is not much customization provided as part of this indicator. We will consider providing more options in future versions based on the interest and demand shown by users.
The Next Pivot [Kioseff Trading]Hello!
This script "The Next Pivot" uses various similarity measures to compare historical price sequences to the current price sequence!
Features
Find the most similar price sequence up to 100 bars from the current bar
Forecast price path up to 250 bars
Forecast ZigZag up to 250 bars
Spearmen
Pearson
Absolute Difference
Cosine Similarity
Mean Squared Error
Kendall
Forecasted linear regression channel
The image above shows/explains some of the indicator's capabilities!
The image above highlights the projected zig zag (pivots) pattern!
Colors are customizable (:
Additionally, you can plot a forecasted LinReg channel.
Should load times permit it, the script can search all bar history for a correlating sequence. This won't always be possible, contingent on the forecast length, correlation length, and the number of bars on the chart.
Reasonable Assessment
The script uses various similarity measures to find the "most similar" price sequence to what's currently happening. Once found, the subsequent price move (to the most similar sequence) is recorded and projected forward.
So,
1: Script finds most similar price sequence
2: Script takes what happened after and projects forward
While this may be useful, the projection is simply the reaction to a possible one-off "similarity" to what's currently happening. Random fluctuations are likely and, if occurring, similarities between the current price sequence and the "most similar" sequence are plausibly coincidental.
That said, if you have any ideas on cool features to add please let me know!
Thank you (:
Trig-Log Scaled Momentum OscillatorTaylor Series Approximations for Trigonometry:
1. The indicator starts by calculating sine and cosine values of the close price using Taylor Series approximations. These approximations use polynomial terms to estimate the values of these trigonometric functions.
Mathematical Component Formation:
2. The calculated sine and cosine values are then multiplied together. This gives us the primary mathematical component, termed as the 'trigComponent'.
Smoothing Process:
3. To ensure that our indicator is less susceptible to market noise and more reactive to genuine price movements, this 'trigComponent' undergoes a smoothing process using a simple moving average (SMA). The length of this SMA is defined by the user.
Logarithmic Transformation:
4. With our smoothed value, we apply a natural logarithm approximation. Again, this approximation is based on the Taylor expansion. This step ensures that all resultant values are positive and offers a different scale to interpret the smoothed component.
Dynamic Scaling:
5. To make our indicator more readable and comparable over different periods, the logarithmically transformed values are scaled between a range. This range is determined by the highest and lowest values of the transformed component over the user-defined 'lookback' period.
ROC (Rate of Change) Direction:
6. The direction of change in our scaled value is determined. This offers a quick insight into whether our mathematical component is increasing or decreasing compared to the previous value.
Visualization:
7. Finally, the indicator plots the dynamically scaled and smoothed mathematical component on the chart. The color of the plotted line depends on its direction (increasing or decreasing) and its boundary values.
Custom SMA Plot It creates a custom indicator named "Custom SMA Plot (CSP)" that overlays on a price chart. The indicator fetches the closing prices and calculates a 14-period simple moving average (SMA) of these prices. This SMA is then visually represented as a blue line, which starts from the SMA value of the bar 100 candles ago and extends to the current bar's SMA value. The line has a thickness of 1 unit.
When price breaks over wave go long.
When price breaks below wave go short.
Elliott Wave with Supertrend Exit - Strategy [presentTrading]## Introduction and How it is Different
The Elliott Wave with Supertrend Exit provides automated detection and validation of Elliott Wave patterns for algorithmic trading. It is designed to objectively identify high-probability wave formations and signal entries based on confirmed impulsive and corrective patterns.
* The Elliott part is mostly referenced from Elliott Wave by @LuxAlgo
Key advantages compared to discretionary Elliott Wave analysis:
- Wave Labeling and Counting: The strategy programmatically identifies swing pivot highs/lows with the Zigzag indicator and analyzes the waves between them. It labels the potential impulsive and corrective patterns as they form. This removes the subjectivity of manual wave counting.
- Pattern Validation: A rules-based engine confirms valid impulsive and corrective patterns by checking relative size relationships and fib ratios. Only confirmed wave counts are plotted and traded.
- Objective Entry Signals: Trades are entered systematically on the start of new impulsive waves in the direction of the trend. Pattern failures invalidate setups and stop out positions.
- Automated Trade Management: The strategy defines specific rules for profit targets at fib extensions, trailing stops at swing points, and exits on Supertrend reversals. This automates the entire trade lifecycle.
- Adaptability: The waveform recognition engine can be tuned by adjusting parameters like Zigzag depth and Supertrend settings. It adapts to evolving market conditions.
ETH 1hr chart
In summary, the strategy brings automation, objectivity and adaptability to Elliott Wave trading - removing subjective interpretation errors and emotional trading biases. It implements a rules-based, algorithmic approach for systematically trading Elliott Wave patterns across markets and timeframes.
## Trading Logic and Rules
The strategy follows specific trading rules based on the detected and validated Elliott Wave patterns.
Entry Rules
- Long entry when a new impulsive bullish (5-wave) pattern forms
- Short entry when a new impulsive bearish (5-wave) pattern forms
The key is entering on the start of a new potential trend wave rather than chasing.
Exit Rules
- Invalidation of wave pattern stops out the trade
- Close long trades on Supertrend downturn
- Close short trades on Supertrend upturn
- Use a stop loss of 10% of entry price (configurable)
Trade Management
- Scale out partial profits at Fibonacci levels
- Move stop to breakeven when price reaches 1.618 extension
- Trail stops below key swing points
- Target exits at next Fibonacci projection level
Risk Management
- Use stop losses on all trades
- Trade only highest probability setups
- Size positions according to chart timeframe
- Avoid overtrading when no clear patterns emerge
## Strategy - How it Works
The core logic follows these steps:
1. Find swing highs/lows with Zigzag indicator
2. Analyze pivot points to detect impulsive 5-wave patterns:
- Waves 1, 3, and 5 should not overlap
- Waves 3 and 5 must be longer than wave 1
- Confirm relative size relationships between waves
3. Validate corrective 3-wave patterns:
- Look for overlapping, choppy waves that retrace the prior impulsive wave
4. Plot validated waves and Fibonacci retracement levels
5. Signal entries when a new impulsive wave pattern forms
6. Manage exits based on pattern failures and Supertrend reversals
Impulsive Wave Validation
The strategy checks relative size relationships to confirm valid impulsive waves.
For uptrends, it ensures:
```
Copy code- Wave 3 is longer than wave 1
- Wave 5 is longer than wave 2
- Waves do not overlap
```
Corrective Wave Validation
The strategy identifies overlapping corrective patterns that retrace the prior impulsive wave within Fibonacci levels.
Pattern Failure Invalidation
If waves fail validation tests, the strategy invalidates the pattern and stops signaling trades.
## Trade Direction
The strategy detects impulsive and corrective patterns in both uptrends and downtrends. Entries are signaled in the direction of the validated wave pattern.
## Usage
- Use on charts showing clear Elliott Wave patterns
- Start with daily or weekly timeframes to gauge overall trend
- Optimize Zigzag and Supertrend settings as needed
- Consider combining with other indicators for confirmation
## Default Settings
- Zigzag Length: 4 bars
- Supertrend Length: 10 bars
- Supertrend Multiplier: 3
- Stop Loss: 10% of entry price
- Trading Direction: Both
Price by Volume ColumnsThis indicator allows you to identify how price changes for a given time period are sensitive to the volume. You will identify these changes as bars in the bottom of the chart. You may see the changes in bars for better understanding of price movements, identify trends. Please take trades at your own risk and discretion
SRTL, 2EMA & TRAMASRTL - Support Resistance and Trend Line with Double EMA and TRAMA
The SRTL indicator is a powerful tool for technical analysis that seamlessly integrates support and resistance levels, trend lines, and moving average signals. It offers traders a comprehensive view of the market's dynamics, making it a valuable addition to any trading toolkit. Here's a concise summary of its key features and functionalities:
Key Features:
- Dynamic Support and Resistance Levels based on Pivot Points
- Trend Lines based on Recent Pivot Points
- Double Exponential Moving Averages (EMA) with adjustable lengths
- Trend Regularity Adaptive Moving Average (TRAMA) for trend identification
- Buy and Sell signals based on the crossover of EMAs
The indicator is composed of 4 main components:
1. Support and resistance levels: The indicator calculates support and resistance levels based on pivot points and a channel width parameter. These levels can be used to identify potential entry and exit points for trades. The script calculates and plots dynamic support and resistance levels based on pivot points. Users can adjust the period for calculating pivot points, loopback period, and S/R strength to customize the levels' sensitivity.
2. Trend Lines: The script identifies and plots trend lines based on recent pivot points. Users can customize the number of pivot points to consider and the start date to begin plotting the trend lines. The script identifies and plots trend lines based on recent pivot points. By adjusting the number of pivot points to consider and the start date, traders can visualize potential trends and assess the market's overall direction. This feature helps traders understand the prevailing market sentiment and make informed trading decisions.
3. Double Exponential Moving Averages (EMA): The script calculates and plots two Exponential Moving Averages (EMA) with customizable lengths. A crossover of these EMAs can be used as a signal for potential trend changes. The study calculates and displays two Exponential Moving Averages (EMA) with adjustable lengths. The crossover of these EMAs serves as a crucial signal for potential trend changes. When the faster EMA crosses above the slower EMA, a "Buy" signal is generated, and when the faster EMA crosses below the slower EMA, a "Sell" signal is generated.
4. Trend Regularity Adaptive Moving Average (TRAMA): The script calculates and plots the TRAMA, a unique adaptive moving average that helps identify trends and adapt to market conditions. The indicator includes the Trend Regularity Adaptive Moving Average (TRAMA), an adaptive moving average designed to identify trends and adapt to varying market conditions. TRAMA helps traders gauge the strength of a trend and provides valuable insights into potential trend reversals.
5. Signals: The script generates "Buy - Green" and "Sell- Red" signals based on the crossover of the two EMAs and Pivot Point Trend Levels. That Also Customizable.
How to Use:
The SRTL indicator is a powerful tool for technical analysis, offering multiple layers of information for traders. When the price approaches dynamic support or resistance levels, The dynamic support and resistance levels are based on pivot points and adjust to the market's current conditions. The trend lines help visualize potential trends and can be adjusted to show different numbers of pivot points. Additionally, the Double EMA and TRAMA lines provide further insight into the market's momentum and potential reversals. Traders can assess the potential for trend reversals or breakouts. The trend lines help visualize the market's prevailing direction, and the crossover of the Double EMA signals potential entry and exit points.
Traders should use this study as part of a broader trading strategy and combine it with other technical indicators, fundamental analysis, and risk management techniques. Additionally, it's essential to test the indicator thoroughly in a demo or back testing environment before applying it to live trading to ensure its compatibility with individual trading styles and preferences.
Price Deviation Indicator (PDI)Management
The Price Deviation Indicator (PDI) was developed by "DimArt". This indicator allows you to determine the percentage deviation of the price from its average value over a certain period of time. The larger the deviation, the higher the histogram on the indicator chart. The PDI indicator can be useful for identifying a trend reversal in combination with other technical indicators, such as RSI, MACD, and others. For example, if the RSI and MACD indicators show the beginning of a possible trend reversal, using the PDI indicator can confirm this signal by showing the deviation of the current price from the average price. This can help the trader make more accurate trading decisions based on a strong signal.
Description
To calculate the values of the "Price Deviation Indicator" (PDI), we use the following steps:
• Determine the "Period" variable, which specifies the number of bars used to calculate the average price. (Default value is 20)
• Calculate the average price over the specified period using the "sma()" (simple moving average) function.
• Calculate the percentage difference between the current price and the average price using the formula: ((close - avg_price) / avg_price) * 100 .
• Set levels to change the color of the histogram based on price deviation from the average value. "Histogram Color" is a parameter to customize the color of the histogram based on deviation levels. By default, if the deviation is more than 5%, the histogram will be red; if it is less than -5%, it will be green, and for all other deviations, it will be blue. However, this parameter can be changed to other values.
• Draw a histogram of price change relative to the average value. The "Style" parameter allows you to choose the style of the indicator (histogram). By default, the "Histogram" style is set, but you can also select "Line on Close" or "Line on Open".
Application of the Indicator
The PDI indicator is based on the assumption that the price of any asset always tends to its mean value. Using PDI on higher timeframes allows you to determine the overall market trend, whereas on smaller timeframes, situations can be found when the price is in negative territory, and the histogram starts to smoothly transition from negative to positive value. This can be a signal to buy, as the price is likely in an oversold condition and ready to change its trend. On the other hand, if the strength of the price slows down or begins to approach 0, this may indicate that the asset is overbought and starting to turn towards oversold, which is a signal to sell. A beautiful feature of the PDI indicator is its simplicity and conciseness, which allows you to quickly and easily identify a trend change and make trading decisions based on a strong signal.
Conclusion
The "Price Deviation Indicator" (PDI) can be useful in analyzing price movements in the market. It allows you to calculate the relative difference between the current price and the average price, allowing you to identify market saturation and change in trend. The indicator can be used in technical analysis to make decisions about buying or selling assets on the exchange. It can also be useful for traders of different levels of experience, as its settings can be adapted depending on the user's needs and requirements. Overall, this indicator is one of the tools that can help in analyzing price and volumes to determine possible investment prospects in assets.
Zigzag Trend-based Color [SteinG]Zigzag Indicator with Trend-based Color Coding and Info Table
This indicator is forked from Trendoscope's Recursive Zigzag
The Zigzag Indicator with Trend-based Color Coding and Info Table is a powerful tool for technical analysis, designed to help you identify significant price swings, visualize trends, and analyze pivot points with ease. This advanced indicator offers enhanced functionalities and improved visual representation.
The primary purpose of the Zigzag Indicator is to identify and highlight important price reversals, commonly referred to as pivot points, in a given chart. These pivot points are essential in recognizing trend changes and potential market turning points. With the Zigzag Indicator, you can quickly identify these pivotal moments and gain valuable insights into market dynamics.
One of the standout features of this indicator is the color coding applied to the Zigzag line, which intuitively reflects the trend associated with each pivot point. The color scheme is as follows:
- Green : Indicates an upward trend, representing a bullish movement in the price.
- Lime : Represents a retracement during an upward trend, indicating a temporary pullback before the uptrend resumes.
- Red : Signifies a downward trend, indicating a bearish movement in the price.
- Orange : Represents a retracement during a downward trend, indicating a temporary bounce before the downtrend resumes.
This color coding allows you to easily visualize the prevailing market sentiment and make more informed trading decisions accordingly.
In addition to the visual representation, the Zigzag Indicator also includes an informative table that provides essential details about each pivot point. The table presents the following information for each pivot point:
1. Pivot Value : The price level at which the pivot point occurs.
2. Direction : Indicates whether the pivot point represents an upward or downward trend.
3. Fibo Ratios : Displays the Fibonacci retracement levels between two consecutive pivot points, offering insights into potential support and resistance levels.
The inclusion of this comprehensive info table enables you to analyze pivot points more effectively, understand the underlying price dynamics, and identify key trading opportunities.
MACD Fake Filter [RH]Introducing a new indicator for the TradingView community based on the MACD indicator! This innovative tool goes beyond traditional MACD signals by analyzing positive and negative waves to determine the average height of the waves to filter false cross-over or cross-under signals during the sideways market.
There are two types of waves created by the MACD line, one is a positive wave above the "zero" line and another is a negative wave below "zero" line. Each wave has peaks. This indicator will find the average height of the positive waves' peaks and plot as a green line(by default). Vice-versa it will also find the average height of the negative waves' peaks and plot as a red line(by default).
Example :
This indicator will show labels when the MACD line crosses-under the MACD signal line above the average height of the positive waves.
Vice-versa, the indicator will show labels when the MACD line crosses-above the MACD signal line below the average height of the negative waves.
Example:
Alerts are also available for these types of cross-over and cross-under.
Enhanced WaveTrend OscillatorThe Enhanced WaveTrend Oscillator is a modified version of the original WaveTrend. The WaveTrend indicator is a popular technical analysis tool used to identify overbought and oversold conditions in the market and generate trading signals. The enhanced version addresses certain limitations of the original indicator and introduces additional features for improved analysis and comparison across assets.
WaveTrend:
The original WaveTrend indicator calculates two lines based on exponential moving averages and their relationship to the asset's price. The first line measures the distance between the asset's price and its EMA, while the second line smooths the first line over a specific period. The result is divided by 0.015 multiplied by the smoothed difference ('d' for reference). The indicator aims to identify overbought and oversold conditions by analyzing the relationship between the two lines.
In the original formula, the rudimentary estimation factor 0.015 times 'd' fails to accomodate for approximately a quarter of the data, preventing the indicator from reaching the traditional stationary levels of +-100. This limitation renders the indicator quantitatively biased, as it relies on the user's subjective adjustment of the levels. The enhanced version replaces this factor with the standard deviation of the asset's price, resulting in improved estimation accuracy and provides a more dynamic and robust outcome, we thereafter multiply the result by 100 to achieve a more traditional oscillation.
Enhancements and Features:
The enhanced version of the WaveTrend indicator addresses several limitations of the original indicator and introduces additional features-
Dynamic Estimation: The original indicator uses an arbitrary estimation factor, while the enhanced version replaces it with the standard deviation of the asset's price. This modification provides a more dynamic and accurate estimation, adapting to the specific price characteristics of each asset.
Stationary Support and Resistance Levels: The enhanced version provides stationary key support and resistance levels that range from -150 to 150. These levels are determined based on the analysis of the indicator's data and encompass more than 95% of the indicator's values. These levels offer important reference points for traders to identify potential price reversals or significant price movements.
Comparison Across Assets: The enhanced version allows for better comparison and analysis across different assets. By incorporating the standard deviation of the asset's price, the indicator provides a more consistent and comparable interpretation of the market conditions across multiple assets.
Upon closer inspection of the modification in the enhanced version, we can observe that the resulting indicator is a smoothed variation of the Z-Score!
f_ewave(src, chlen, avglen) =>
basis = ta.ema(src, chlen)
dev = ta.stdev(src, chlen)
wave = (src - basis) / dev * 100
ta.ema(wave, avglen)
Z-Score Analysis:
The Z-Score is a statistical measurement that quantifies how far a particular data point deviates from the mean in terms of standard deviations. In the enhanced version, the calculation involves determining the basis (mean) and deviation (standard deviation) of the asset's price to calculate its Z-Score, thereafter applying a smoothing technique to generate the final WaveTrend value.
Utility:
The 𝗘𝗻𝗵𝗮𝗻𝗰𝗲𝗱 𝗪𝗧 indicator offers traders and investors valuable insights into overbought and oversold conditions in the market. By analyzing the indicator's values and referencing the stationary support and resistance levels, traders can identify potential trend reversals, evaluate market strength, and make better informed analysis.
It is important to note that this indicator should be used in conjunction with other technical analysis tools and indicators to confirm trading signals and validate market dynamics.
Credit:
The 𝗘𝗻𝗵𝗮𝗻𝗰𝗲𝗱 𝗪𝗧 indicator is a modification of the original WaveTrend Oscillator developed by @LazyBear on TradingView.
Example Charts:
Moving Average CandlesInspired by Ricardo Santos's " Multiple Moving Average Candle System V0" ()
This script plots 6 moving averages using the plotcandle function rather than the normal plot function. Result is a stylish indicator that shows moving average crossovers in a more visual way. Moving average type options available are , or Simple, Exponential, Hull, Relative, Volume Weighted, and Arnaud Legoux Moving Averages, Linear Regression Curve, and Median. Lengths for each can be set in settings along with selection specific parameters. Good for plotting/visualizing potential entry/exit points based on your preferred moving averages crossing over, or just as some eye candy.
PivotLibrary "Pivot"
This library helps you store and manage pivots.
bias(isHigh, isHigher, prevWasHigher)
Helper function to calculate bias.
Parameters:
isHigh (bool) : (bool) Wether the pivot is a pivot high or not.
isHigher (bool) : (bool) Wether the pivot is a higher pivot or not.
@return (bool) The bias (true = bullish, false = bearish, na = neutral).
prevWasHigher (bool)
biasToString(bias)
Parameters:
bias (bool)
biasToColor(bias, theme)
Parameters:
bias (bool)
theme (Theme)
nameString(isHigh, isHigher)
Parameters:
isHigh (bool)
isHigher (bool)
abbrString(isHigh, isHigher)
Parameters:
isHigh (bool)
isHigher (bool)
tooltipString(y, isHigh, isHigher, bias, theme)
Parameters:
y (float)
isHigh (bool)
isHigher (bool)
bias (bool)
theme (Theme)
createLabel(x, y, isHigh, isHigher, prevWasHigher, settings)
Parameters:
x (int)
y (float)
isHigh (bool)
isHigher (bool)
prevWasHigher (bool)
settings (Settings)
new(x, y, isHigh, isHigher, settings)
Parameters:
x (int)
y (float)
isHigh (bool)
isHigher (bool)
settings (Settings)
newArray(size, initialValue)
Parameters:
size (int)
initialValue (Pivot)
method getFirst(this)
Namespace types: Pivot
Parameters:
this (Pivot )
method getLast(this, isHigh)
Namespace types: Pivot
Parameters:
this (Pivot )
isHigh (bool)
method getLastHigh(this)
Namespace types: Pivot
Parameters:
this (Pivot )
method getLastLow(this)
Namespace types: Pivot
Parameters:
this (Pivot )
method getPrev(this, numBack, isHigh)
Namespace types: Pivot
Parameters:
this (Pivot )
numBack (int)
isHigh (bool)
method getPrevHigh(this, numBack)
Namespace types: Pivot
Parameters:
this (Pivot )
numBack (int)
method getPrevLow(this, numBack)
Namespace types: Pivot
Parameters:
this (Pivot )
numBack (int)
method getText(this)
Namespace types: Pivot
Parameters:
this (Pivot)
method setX(this, value)
Namespace types: Pivot
Parameters:
this (Pivot)
value (int)
method setY(this, value)
Namespace types: Pivot
Parameters:
this (Pivot)
value (float)
method setXY(this, x, y)
Namespace types: Pivot
Parameters:
this (Pivot)
x (int)
y (float)
method setBias(this, value)
Namespace types: Pivot
Parameters:
this (Pivot)
value (int)
method setColor(this, value)
Namespace types: Pivot
Parameters:
this (Pivot)
value (color)
method setText(this, value)
Namespace types: Pivot
Parameters:
this (Pivot)
value (string)
method add(this, pivot)
Namespace types: Pivot
Parameters:
this (Pivot )
pivot (Pivot)
method updateLast(this, y, settings)
Namespace types: Pivot
Parameters:
this (Pivot )
y (float)
settings (Settings)
method update(this, y, isHigh, settings)
Namespace types: Pivot
Parameters:
this (Pivot )
y (float)
isHigh (bool)
settings (Settings)
Pivot
Stores Pivot data.
Fields:
x (series int)
y (series float)
isHigh (series bool)
isHigher (series bool)
bias (series bool)
lb (series label)
Theme
Attributes for customizable look and feel.
Fields:
size (series string)
colorDefault (series color)
colorNeutral (series color)
colorBullish (series color)
colorBearish (series color)
colored (series bool)
showTooltips (series bool)
showTooltipName (series bool)
showTooltipValue (series bool)
showTooltipBias (series bool)
Settings
All settings for the pivot.
Fields:
theme (Theme)
Monday_Weekly_Range/ErkOzi/Deviation Level/V1"Hello, first of all, I believe that the most important levels to look at are the weekly Fibonacci levels. I have planned an indicator that automatically calculates this. It models a range based on the weekly opening, high, and low prices, which is well-detailed and clear in my scans. I hope it will be beneficial for everyone.
***The logic of the Monday_Weekly_Range indicator is to analyze the weekly price movement based on the trading range formed on Mondays. Here are the detailed logic, calculation, strategy, and components of the indicator:
***Calculation of Monday Range:
The indicator calculates the highest (mondayHigh) and lowest (mondayLow) price levels formed on Mondays.
If the current bar corresponds to Monday, the values of the Monday range are updated. Otherwise, the values are assigned as "na" (undefined).
***Calculation of Monday Range Midpoint:
The midpoint of the Monday range (mondayMidRange) is calculated using the highest and lowest price levels of the Monday range.
***Fibonacci Levels:
// Calculate Fibonacci levels
fib272 = nextMondayHigh + 0.272 * (nextMondayHigh - nextMondayLow)
fib414 = nextMondayHigh + 0.414 * (nextMondayHigh - nextMondayLow)
fib500 = nextMondayHigh + 0.5 * (nextMondayHigh - nextMondayLow)
fib618 = nextMondayHigh + 0.618 * (nextMondayHigh - nextMondayLow)
fibNegative272 = nextMondayLow - 0.272 * (nextMondayHigh - nextMondayLow)
fibNegative414 = nextMondayLow - 0.414 * (nextMondayHigh - nextMondayLow)
fibNegative500 = nextMondayLow - 0.5 * (nextMondayHigh - nextMondayLow)
fibNegative618 = nextMondayLow - 0.618 * (nextMondayHigh - nextMondayLow)
fibNegative1 = nextMondayLow - 1 * (nextMondayHigh - nextMondayLow)
fib2 = nextMondayHigh + 1 * (nextMondayHigh - nextMondayLow)
***Fibonacci levels are calculated using the highest and lowest price levels of the Monday range.
Common Fibonacci ratios such as 0.272, 0.414, 0.50, and 0.618 represent deviation levels of the Monday range.
Additionally, the levels are completed with -1 and +1 to determine at which level the price is within the weekly swing.
***Visualization on the Chart:
The Monday range, midpoint, Fibonacci levels, and other components are displayed on the chart using appropriate shapes and colors.
The indicator provides a visual representation of the Monday range and Fibonacci levels using lines, circles, and other graphical elements.
***Strategy and Usage:
The Monday range represents the starting point of the weekly price movement. This range plays an important role in determining weekly support and resistance levels.
Fibonacci levels are used to identify potential reaction zones and trend reversals. These levels indicate where the price may encounter support or resistance.
You can use the indicator in conjunction with other technical analysis tools and indicators to conduct a more comprehensive analysis. For example, combining it with trendlines, moving averages, or oscillators can enhance the accuracy.
When making investment decisions, it is important to combine the information provided by the indicator with other analysis methods and use risk management strategies.
Thank you in advance for your likes, follows, and comments. If you have any questions, feel free to ask."
Absolute ZigZag LibLibrary "Absolute_ZigZag_Lib"
This ZigZag Library is a Bit different. Instead of using percentages or looking more than 1 bar left or right, this Zigzag library calculates pivots by just looking at the current bar highs and lows and the ones of one bar earlier.
This is the most accurate way of calculating pivots and it also eliminates lag.
The library also features a solution for bars that have both a higher high and a higher low like seen below.
You can also use your own colors for the labels and the lines.
You can also quickly select a one-colored theme without changing all colors at once
method isHigherHigh(this)
Checks if current pivot is a higher high
Namespace types: Pivot
Parameters:
this (Pivot) : (Pivot) The object to work with.
@return (bool) True if the pivot is a higher high, false if not.
method isLowerHigh(this)
Checks if current pivot is a lower high
Namespace types: Pivot
Parameters:
this (Pivot) : (Pivot) The object to work with.
@return (bool) True if the pivot is a lower high, false if not.
method isHigherLow(this)
Checks if current pivot is a higher low
Namespace types: Pivot
Parameters:
this (Pivot) : (Pivot) The object to work with.
@return (bool) True if the pivot is a higher low, false if not.
method isLowerLow(this)
Checks if current pivot is a lower low
Namespace types: Pivot
Parameters:
this (Pivot) : (Pivot) The object to work with.
@return (bool) True if the pivot is a lower low, false if not.
method getLastPivotHigh(this)
Gets the last Pivot High
Namespace types: Pivot
Parameters:
this (Pivot ) : (array) The object to work with.
@return (Pivot) The latest Pivot High
method getLastPivotLow(this)
Gets the last Pivot Low
Namespace types: Pivot
Parameters:
this (Pivot ) : (array) The object to work with.
@return (Pivot) The latest Pivot Low
method prev(this, index)
Namespace types: Pivot
Parameters:
this (Pivot )
index (int)
method last(this, throwError)
Namespace types: Pivot
Parameters:
this (Pivot )
throwError (bool)
new(highFirst, theme)
Parameters:
highFirst (bool)
theme (Theme)
getLowerTimeframePeriod()
Theme
Used to create a (color) theme to draw Zigzag
Fields:
colorDefault (series color)
colorNeutral (series color)
colorBullish (series color)
colorBearish (series color)
coloredLines (series bool)
Point
Used to determine a coordination on the chart
Fields:
x (series int)
y (series float)
Pivot
Used to determine pivots on the chart
Fields:
point (Point)
isHigh (series bool)
isHigher (series bool)
ln (series line)
lb (series label)
Interactive Motive Wave ChecklistHere is an interactive tool that can be used for learning a bit about Elliott Waves
🎲 How it works?
The script upon load asks users to enter 6 pivots in an order. Once all 6 pivots are selected on the interactive chart, the script will calculate if the structure is a valid motive wave.
When you load the script, you will see a prompt on the chart to select points on the chart to form 6 pivots.
When you select the 6 pivots, the checklists are populated on the chart to notify users which conditions for qualifying the selection has passed and which of them are failed.
🎲 Conditions for Motive Wave
Motive wave can be either Impulse or Diagonal Wave. Diagonal wave can be either expanding or contracting diagonals. To learn more about diagonal waves, please go through this idea.
Rules for generic motive waves are as below
Pivots in order - Checks wether the pivots selected are in progressive order.
Directions in order - Checks if the pivot directions are correct - either PH, PL, PH, PL, PH, PL or PL, PH, PL, PH, PL, PH
Wave 2 never moves beyond the start of wave 1 - Wave 2 retracement is less than 100% of wave1
Wave 3 always moves beyond the end of wave 1 - Wave 3 retracement is more than 100% of wave2
Wave 3 is never the shortest one - Checks if Wave 3 is bigger than either Wave 1 or wave 5 or both.
Now, these are the specific rules for Impulse Waves on top of Motive Wave conditions
Wave 4 never moves beyond the end of Wave 1 - meaning wave 1 and wave 4 never overlap on price scale.
Wave 1, 3, 5 are all not extended. We check for retracement ratios of more than 200% to be considered as extended wave.
Below are the conditions for Diagonal Waves on top of Motive Wave conditions
Wave4 never moves beyond the start of Wave 3 - Wave 4 retracement is less than 100%
Wave 4 always ends within the price territory of Wave 1 - Unlike impulse wave, wave 4 intersects with wave 1 in case of diagonal waves. This is the major difference between impulse and diagonal wave.
Waves are progressively expanding or contracting - Wave1 > Wave3 > Wave5 and Wave2 > Wave4 to be contracting diagonal. Wave1 < Wave3 < Wave5 and Wave2 < Wave4 to be expanding diagonal wave.
Here is an example of diagonal wave projection
Here is an example of impulse wave projection