Flags and Pennants [Trendoscope®]🎲 An extension to Chart Patterns based on Trend Line Pairs - Flags and Pennants
After exploring Algorithmic Identification and Classification of Chart Patterns and developing Auto Chart Patterns Indicator , we now delve into extensions of these patterns, focusing on Flag and Pennant Chart Patterns. These patterns evolve from basic trend line pair-based structures, often influenced by preceding market impulses.
🎲 Identification rules for the Extension Patterns
🎯 Identify the existence of Base Chart Patterns
Before identifying the flag and pennant patterns, we first need to identify the existence of following base trend line pair based converging or parallel patterns.
Ascending Channel
Descending Channel
Rising Wedge (Contracting)
Falling Wedge (Contracting)
Converging Triangle
Descending Triangle (Contracting)
Ascending Triangle (Contracting)
🎯 Identifying Extension Patterns.
The key to pinpointing these patterns lies in spotting a strong impulsive wave – akin to a flagpole – preceding a base pattern. This setup suggests potential for an extension pattern:
A Bullish Flag emerges from a positive impulse followed by a descending channel or a falling wedge
A Bearish Flag appears after a negative impulse leading to an ascending channel or a rising wedge.
A Bullish Pennant is indicated by a positive thrust preceding a converging triangle or ascending triangle.
A Bearish Pennant follows a negative impulse and a converging or descending triangle.
🎲 Pattern Classifications and Characteristics
🎯 Bullish Flag Pattern
Characteristics of Bullish Flag Pattern are as follows
Starts with a positive impulse wave
Immediately followed by either a short descending channel or a falling wedge
Here is an example of Bullish Flag Pattern
🎯 Bearish Flag Pattern
Characteristics of Bearish Flag Pattern are as follows
Starts with a negative impulse wave
Immediately followed by either a short ascending channel or a rising wedge
Here is an example of Bearish Flag Pattern
🎯 Bullish Pennant Pattern
Characteristics of Bullish Pennant Pattern are as follows
Starts with a positive impulse wave
Immediately followed by either a converging triangle or ascending triangle pattern.
Here is an example of Bullish Pennant Pattern
🎯 Bearish Pennant Pattern
Characteristics of Bearish Pennant Pattern are as follows
Starts with a negative impulse wave
Immediately followed by either a converging triangle or a descending converging triangle pattern.
Here is an example of Bearish Pennant Pattern
🎲 Trading Extension Patterns
In a strong market trend, it's common to see temporary periods of consolidation, forming patterns that either converge or range, often counter to the ongoing trend direction. Such pauses may lay the groundwork for the continuation of the trend post-breakout. The assumption that the trend will resume shapes the underlying bias of Flag and Pennant patterns
It's important, however, not to base decisions solely on past trends. Conducting personal back testing is crucial to ascertain the most effective entry and exit strategies for these patterns. Remember, the behavior of these patterns can vary significantly with the volatility of the asset and the specific timeframe being analyzed.
Approach the interpretation of these patterns with prudence, considering that market dynamics are subject to a wide array of influencing factors that might deviate from expected outcomes. For investors and traders, it's essential to engage in thorough back testing, establishing entry points, stop-loss orders, and target goals that align with your individual trading style and risk appetite. This step is key to assessing the viability of these patterns in line with your personal trading strategies and goals.
It's fairly common to witness a breakout followed by a swift price reversal after these patterns have formed. Additionally, there's room for innovation in trading by going against the bias if the breakout occurs in the opposite direction, specially when the trend before the formation of the pattern is in against the pattern bias.
🎲 Cheat Sheet
🎲 Indicator Settings
Custom Source : Enables users to set custom OHLC - this means, the indicator can also be applied on oscillators and other indicators having OHLC values.
Zigzag Settings : Allows users to enable different zigzag base and set length and depth for each zigzag.
Scanning Settings : Pattern scanning settings set some parameters that define the pattern recognition process.
Display Settings : Determine the display of indicators including colors, lines, labels etc.
Backtest Settings : Allows users to set a predetermined back test bars so that the indicator will not time out while trying to run for all available bars.
Cari dalam skrip untuk "trend"
RSI-Divergence Goggles [Trendoscope®]🎲 Introducing the RSI-Divergence Goggle
🎯 Revolutionizing Divergence Analysis in Trading
While the concept of divergence plays a crucial role in technical analysis, existing indicators in the community library have faced limitations, particularly in simultaneously displaying divergence lines on both price and oscillator graphs. This challenge stems from the fact that RSI and other oscillators are typically plotted in a separate pane from the price chart. Traditional Pine Script® indicators are confined to a single pane, thus restricting comprehensive divergence analysis.
🎯 Our Innovative Solution: RSI on the Price Pane
The RSI-Divergence Goggle breaks through these limitations. Our innovative approach involves plotting the RSI directly onto the price pane within a movable and resizable widget. This groundbreaking feature allows for the simultaneous drawing of zigzag patterns on both price and the oscillator, enabling the effective calculation and visualization of divergence lines on both.
🎯 The Foundation: Our Divergence Research and Rules
Our journey into divergence research began three years ago with the launch of the "Zigzag Trend Divergence Detector." The foundational rules established with this script remain pertinent and form the basis of all our subsequent divergence-based indicators.
🎯 Understanding Divergence: Key Concepts
Divergence Varieties : We identify two main types - Bullish Divergence (and its hidden counterpart) occurs at pivot lows, while Bearish Divergence (and its hidden version) appears at pivot highs.
Contextual Occurrence : Bullish divergence is a phenomenon of downtrends, whereas bearish divergence is unique to uptrend. Conversely, hidden bullish divergence arises in uptrends, and hidden bearish divergence in downtrends.
Oscillator Behavior : In standard divergence scenarios, the oscillator lags behind price, signaling potential reversals. In hidden divergence cases, the oscillator leads, suggesting trend continuation.
🎯 Visual Insights: Divergence and Hidden Divergence
For a clearer understanding, refer to our visual guides:
🎯 A Word of Caution
While divergence is a powerful tool, it's not a standalone guarantee of trend reversals or continuations. We recommend using these patterns in conjunction with support and resistance levels, as demonstrated in our "Divergence Based Support Resistance" implementation.
🎯 Using the RSI-Divergence Goggles
Upon applying the indicator to your chart, you'll be prompted to select two corner points, defining the widget's placement and size. This widget is the stage for your RSI plotting and divergence calculations. Choose these points carefully to ensure they encompass your area of interest without overlapping important price bars.
An example as below.
🎯 Innovative Features:
Plotting RSI: RSI values are scaled from 0 to 100 within the widget. This unique plotting may not align with individual bar values, but pivot labels and tooltips provide detailed RSI and retracement ratio information.
Zigzag and Pivots: Our adjusted RSI plots determine the zigzag pivot highs and lows, which may not always correspond with visible price pivots. However, calculations based on close prices ensure minimal deviation.
Divergence Display: Divergence types are identified following our established rules, with a simple moving average employed to discern the prevailing trend.
🎯 Trend Detection Mechanism
A simple moving average is used as base for determining the trend. If the difference between moving averages of the alternate pivots is positive, then the sentiment is considered to be uptrend. Else, we consider the sentiment to be in downtrend.
This is a simple method to identify trend, implemented via this indicator. The indicator does not provide alternative methods to identify trend. This is something that we can explore in the future.
🎯 Interactive and Customizable
The RSI-Divergence Goggle isn't just a static tool; it's an interactive feature on your chart. You can move or resize the widget, allowing for dynamic analysis and focused study on different chart segments.
Oscillator Volume Profile [Trendoscope®]The Oscillator Volume Profile indicator is designed to construct a volume profile based on predefined oscillator levels. It integrates volume data with oscillator readings to offer a unique perspective on market dynamics.
🎲 Selectable Oscillators:
Users can select from an array of oscillator options for the basis of the volume profile, including:
Relative Strength Index (RSI)
Chande Momentum Oscillator (CMO)
Center of Gravity (COG)
Money Flow Index (MFI)
Rate of Change (ROC)
Commodity Channel Index (CCI)
Stochastic Oscillator (Stoch)
True Strength Index (TSI)
Williams %R (WPR)
The length parameters - Length, Fast Length, Slow Length allows users to define the period over which the chosen oscillator is calculated, tailoring the sensitivity of the indicator to their trading strategy.
🎲 Dynamic Overbought/Oversold Ranges:
This indicator enhances traditional concepts by introducing dynamic overbought and oversold levels. These adaptable thresholds are calculated using various methods, including:
🎯 Highest/Lowest Range Method : This method establishes the range based on the highest and lowest values of the oscillator within the last N bars.
🎯 Moving Average Range Method : The range is derived from a moving average of the oscillator, providing a smoothed threshold that reflects more recent market conditions.
In addition to these methods, the indicator incorporates a unique 'Sticky Border' feature:
🎯 Sticky Border: With this option enabled, the dynamic ranges maintain their levels until the oscillator breaks out of the range. Once a breakout occurs, the levels are recalculated and updated. This mechanism ensures that the borders remain consistent and relevant, only adjusting to significant market movements that warrant a recalculation.
Users can select their preferred method for determining dynamic ranges, allowing for a customized approach that aligns with their analysis and trading strategy. The sticky border feature further refines this functionality, offering continuity until a decisive market move occurs.
🎲 Volume Profile Calculation Parameters:
🎯 Trend Filter: The indicator provides a versatile trend filter with four selectable options:
Uptrend: The volume profile is calculated when the oscillator indicates an uptrend.
Downtrend: The volume profile is calculated when the oscillator indicates a downtrend.
Any: The volume profile is calculated regardless of the trend.
External: Users can input values from an external indicator. The volume profile is then calculated only when the external indicator's value is non-zero, integrating external analysis into the volume profile construction.
🎯 Precision: Users have the option to define the precision for calculating the volume profile, which is crucial due to the varying scales of different oscillators (e.g., some oscillators range from 0 to 100, while others from -1 to 1). Selecting an appropriate precision ensures that the volume profile is accurately aligned with the minimal price range significant to the chosen oscillator. This setting requires user intervention for optimal configuration, as automatic calculation is not feasible due to the diverse nature of oscillator ranges.
🎯 Number of Bars: Users can select a specific number of bars for volume profile calculation, or opt to include all available historical bars for a comprehensive profile.
🎲 Selecting the right precision:
Users must select the right precision based on their choice of indicator. For example, RSI values range from 0-100. Hence, the default precision of 1 work fine on RSI as the volume profiles are plotted from 0 to 100 at the interval of 0.1
But, the default precision of 1 will not be ok on TSI because TSI values range from -1 to 1. Hence, using 1 as precision will result in very less volume profile lines as shown below.
Due to this, it is necessary to increase the precision for oscillators such as TSI where the range between highest and lowest value is far less. Once we set the precision to 2, we can see more appropriate volume profile division.
🎲 Note of thanks:
This publication uses polyline feature for drawing volume profiles. The advantage of using polyline is that we can overcome max 500 lines issue that we face by using the regular line objects. More details of polyline can be found in the tradingview blog post
Further, using polyline for display of volume profiles is inspired by the publications of fikira and KioseffTrading
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.
Master Supertrend Strategy [Trendoscope]Here is the strategy version of the indicator - Master Supertrend
Options and variations are same throughout.
🎲 Variations
Following variations are provided in the form of settings.
🎯 Range Type
Instead of ATR, different types of ranges can be used for stop calculation. Here is the complete list used in the script.
Plus/Minus Range* - Calculates plus range and minus range for each candle and uses them for different sides of stop calculation
Ladder ATR - Based on the existing concept of Ladder ATR defined in Supertrend-Ladder-ATR
True Range - True range derived from standard function ta.tr
Standard Deviation - Standard deviation of close prices
🎯 Applied Calculation
In standard ATR, rma of TR is used for calculations. But, the application calculation provides option to users to use different mechanisms. It can be a type of moving average or few other types of calculations.
Available values are
sma
ema
hma
rma
wma
high
median
🎯 Other options
Few other options provided are
Use Close Price - If selected stops are calculated based on the close price instead of high/low prices
Wait for Close If selected, change of supertrend direction is calculated based on close price instead of high/low prices
Diminishing Stop Distance - When selected, stop distance for the trend direction can only reduce and cannot increase. This option is useful for keeping the tight stops on strong trends.
🎯 Plus Minus Range*
One of the range type used is Plus/Minus Range. What it means and how are these ranges calculated? Let's have a look.
Plus Range is an upward movement of a candle from its last price or open price whichever is lower.
Minus Range is a downward movement of a candle from its last price or open price whichever is higher.
This divides True Range into two separate range for positive and negative side.
Note : Effectiveness on daily charts are quire visible. However, if you want to use it for lower timeframes, please play around with settings before settling on suitable configuration.
Angled Volume Profile [Trendoscope]Volume profile is useful tool to understand the demand and supply zones on horizontal level. But, what if you want to measure the volume levels over trend line? In trending markets, the feature to measure volume over angled levels can be very useful for traders who use these measures. Here is an attempt to provide such tool.
🎲 How to use
🎯 Interactive input for selecting starting point and angle.
Upon loading the script, you will be prompted to select
Start time and price - this is a point which you can select by moving the maroon highlighted label.
End price - though this is shown as maroon bullet, this is price only input. Hence, when you click on the bullet, a horizontal line will appear. Users can move the line to use different End price.
Start and End price are used for identifying the angle at which volume profile need to be calculated. Whereas start time is used as starting time of the volume profile. Last bar of the chart is considered as ending bar.
🎯 Other settings.
From settings, users can select the colour of volume profile and style. Step multiplier defines the distance at which the profile lines needs to be drawn. Higher multiplier leads to less dense profile lines whereas lower multiplier leads to higher density of profile lines.
🎲 Limitations
🎯 Max 500 lines
Pinescript only allows max 500 lines on an indicator. Due to this, if we set very low multiplier - this can lead to more than 500 profile lines. Due to this some lines can get removed.
On the contrary, if multiplier is too high, then you will see very few lines which may not be meaningful.
Hence, it is important to select optimal multiplier based on your timeframe
🎯 No updates on new bar
Since the profile can spawn many bars, it is not possible to recalculate the whole volume profile when price creates new bars. Hence, there will not be visual update when new bars are created. But, to update the chart, users only need to make another movement of Start or ending point on interactive input.
Band-Zigzag Based Trend FollowerWe defined new method to derive zigzag last month - which is called Channel-Based-Zigzag . This script is an example of one of the use case of this method.
🎲 Trend Following
Defining a trend following method is simple. Basic rule of trend following is Buy High and Sell Low (Yes, you heard it right). To explain further - methodology involve finding an established trend which is flying high and join the trend with proper risk and optimal stop. Once you get into the trade, you will not exit unless there is change in the trend. Or in other words, the parameters which you used to define trend has reversed and the trend is not valid anymore.
Few examples are:
🎯 Using bands
When price breaks out of upper bands (example, Bollinger Band, Keltener Channel, or Donchian Channel), with a pre determined length and multiplier, we can consider the trend to be bullish and similarly when price breaks down the lower band, we can consider the trend to be bearish.
Here are few examples where I have used bands for identifying trend
Band-Based-Supertrend
Donchian-Channel-Trend-Filter
🎯 Using Pivots
Simple logic using zigzag or pivot points is that when price starts making higher highs and higher lows, we can consider this as uptrend. And when price starts making lower highs and lower lows, we can consider this as downtrend. There are few supertrend implementations I have published in the past based on zigzags and pivot points.
Adoptive-Supertrend-Pivots
Zigzag-Supertrend
Drawbacks of both of these methods is that there will be too many fluctuations in both cases unless we increase the reference length. And if we increase the reference length, we will have higher drawdown.
🎲 Band Based Zigzag Method
Band Based Zigzag will help overcome these issues by combining both the methods.
Here we use bands to define our pivot high and pivot low - this makes sure that we are identifying trend only on breakouts as pivots are only formed on breakouts.
Our method also includes pivot ratio to cross over 1.0 to be able to consider it as trend. This means, we are waiting for price also to make new high high or lower low before making the decision on trend. But, this helps us ignore smaller pivot movements due to the usage of bands.
I have also implemented few tricks such as sticky bands (Bands will not contract unless there is breakout) and Adaptive Bands (Band will not expand unless price is moving in the direction of band). This makes the trend following method very robust.
To avoid fakeouts, we also use percentB of high/low in comparison with price retracement to define breakout.
🎲 The indicator
The output of indicator is simple and intuitive to understand.
🎯 Trend Criteria
Uptrend when last confirmed pivot is pivot high and has higher retracement ratio than PercentB of High. Else, considered as downtrend.
Downtrend when last confirmed pivot is pivot low and has higher retracement ratio than PercentB of High. Else, considered as uptrend.
🎯 Settings
Settings allow you to select the band type and parameters used for calculating zigzag and then trend. Also has few options to hide the display.
Harmonic Patterns Based Trend FollowerEarlier this week, published an idea on how harmonic patterns can be used for trend following. This script is an attempt to implement the same.
🎲 Process
🎯 Derive Zigzag and scan harmonic patterns for last 5 confirmed pivots
🎯 If a pattern is found, highest point of pattern will become the bullish zone and lower point of the pattern will become bearish zone.
🎯 Since it is trend following method, when price reaches bullish zone, then the trend is considered as bullish and when price reaches bearish zone, the trend is considered as bearish.
🎯 If price does not touch both regions, then trend remains unchanged.
🎯 Bullish and bearish zone will change as and when new patterns are formed.
🎲 Note
Patterns are not created on latest pivot as last pivot will be unconfirmed and moving. Due to this, patterns appear after certain delay - patterns will not be real time. But, this is expected and does not impact the overall process.
When new pattern formed
When price breaks over the zones
🎲 Output
🎯 Patterns formed are drawn in blue coloured lines. Due to pine limitation of max 500 lines, older patterns automatically get deleted when new ones come.
🎯 Bullish Zone and Bearish Zone are plotted in green and red colours and the zone will change whenever new pattern comes along.
🎯 Bar colors are changed according to calculated trend. Trend value can be 1 or -1 based on the current trend. You can also find the value in data window.
🎯 For simplicity purpose, input option for selection of specific patterns are not provided and also pattern names are not displayed on the chart.
Extreme Trend Reversal Points [HeWhoMustNotBeNamed]Using moving average crossover for identifying the change in trend is very common. However, this method can give lots of false signals during the ranging markets. In this algorithm, we try to find the extreme trend by looking at fully aligned multi-level moving averages and only look at moving average crossover when market is in the extreme trend - either bullish or bearish. These points can mean long term downtrend or can also cause a small pullback before trend continuation. In this discussion, we will also check how to handle different scenarios.
🎲 Components
🎯 Recursive Multi Level Moving Averages
Multi level moving average here refers to applying moving average on top of base moving average on multiple levels. For example,
Level 1 SMA = SMA(source, length)
Level 2 SMA = SMA(Level 1 SMA, length)
Level 3 SMA = SMA(Level 2 SMA, length)
..
..
..
Level n SMA = SMA(Level (n-1) SMA, length)
In this script, user can select how many levels of moving averages need to be calculated. This is achieved through " recursive moving average " algorithm. Requirement for building such algorithm was initially raised by @loxx
While I was able to develop them in minimal code with the help of some of the existing libraries built on arrays and matrix , I also thought why not extend this to find something interesting.
Note that since we are using variable levels - we will not be able to plot all the levels of moving average. (This is because plotting cannot be done in the loop). Hence, we are using lines to display the latest moving average levels in front of the last candle. Lines are color coded in such a way that least numbered levels are greener and higher levels are redder.
🎯 Finding the trend and range
Strength of fully aligned moving average is calculated based on position of each level with respect to other levels.
For example, in a complete uptrend, we can find
source > L(1)MA > L(2)MA > L(3)MA ...... > L(n-1)MA > L(n)MA
Similarly in a complete downtrend, we can find
source < L(1)MA < L(2)MA < L(3)MA ...... < L(n-1)MA < L(n)MA
Hence, the strength of trend here is calculated based on relative positions of each levels. Due to this, value of strength can range from 0 to Level*(Level-1)/2
0 represents the complete downtrend
Level*(Level-1)/2 represents the complete uptrend.
Range and Extreme Range are calculated based on the percentile from median. The brackets are defined as per input parameters - Range Percentile and Extreme Range Percentile by using Percentile History as reference length.
Moving average plot is color coded to display the trend strength.
Green - Extreme Bullish
Lime - Bullish
Silver - range
Orange - Bearish
Red - Extreme Bearish
🎯 Finding the trend reversal
Possible trend reversals are when price crosses the moving average while in complete trend with all the moving averages fully aligned. Triangle marks are placed in such locations which can help observe the probable trend reversal points. But, there are possibilities of trend overriding these levels. An example of such thing, we can see here:
In order to overcome this problem, we can employ few techniques.
1. After the signal, wait for trend reversal (moving average plot color to turn silver) before placing your order.
2. Place stop orders on immediate pivot levels or support resistance points instead of opening market order. This way, we can also place an order in the direction of trend. Whichever side the price breaks out, will be the direction to trade.
3. Look for other confirmations such as extremely bullish and bearish candles before placing the orders.
🎯 An example of using stop orders
Let us take this scenario where there is a signal on possible reversal from complete uptrend.
Create a box joining high and low pivots at reasonable distance. You can also chose to add 1 ATR additional distance from pivots.
Use the top of the box as stop-entry for long and bottom as stop-entry for short. The other ends of the box can become stop-losses for each side.
After few bars, we can see that few more signals are plotted but, the price is still within the box. There are some candles which touched the top of the box. But, the candlestick patterns did not represent bullishness on those instances. If you have placed stop orders, these orders would have already filled in. In that case, just wait for position to hit either stop or target.
For bullish side, targets can be placed at certain risk reward levels. In this case, we just use 1:1 for bullish (trend side) and 1:1.5 for bearish side (reversal side)
In this case, price hit the target without any issue:
Wait for next reversal signal to appear before placing another order :)
Trendmaster - LiquidationsTrendmaster™ - Liquidations is a Crypto Specific Indicator that shows liquidation levels depending on the leverage of positions entered within a certain period.
What are Liquidation Levels?
A liquidation level is expressed as a percentage value of the assets in a trader's margin account.
If a Crypto trader's positions go against them, their account will eventually reach the liquidation level, unless the trader injects additional funds.
Another name for liquidation level is liquidation margin.
How to use Liquidations:
High leverage positions such as 100x or 50x traders have a higher probability of being liquidated within intraday trading.
The lower a trader's leverage is, can decrease the probability of their position getting liquidated.
This means that using the Liquidations Indicator, users can see other traders’ liquidation levels based on several time periods.
The liquidation levels shown by the Indicator are 100x, 50x, 20x, 10x, 5x, 3x, and 2x in the periods Daily, Weekly, Monthly, and Yearly.
This means that within a certain period users can see the liquidation positions of other traders at all of those periods and use that information to predict price movements and reversal points.
Donchian Channel - trend filterStrategy based on Donchian Trend filter indicator:
Which in turn is derived from custom Donchian Channel indicator:
Few extra paremters added:
EntryType
Breakout : Entry on first confirmation of trend.
Pullback : After confirmation of trend, wait till price comes back to mid band before entry.
Combined : Prefer pullback entry. But, if price breaks higher band more often, then go long on breakout. Parameter EntryBreakoutStrength + TrendCountLimit is used for measuring repeated breakout and possibility of not getting pullback signal.
ExitType
Reversal : Exit upon complete trend reversal
Choppy : Exit when trend becomes neutral and candles are colored in silver
Midband : Exit when price hits midband. Please note, this option should not be used in conjunction with EntryType - Pullback or Combined
Combined : Uses UpCount / DownCount along with ExitMidBandRange and ExitChoppyRange values to determine where to exit. High UpCount or DownCount means, instrument has trended for long - in this case early exit is favourable. If TrendCount is higher than ExitMidBandRange, then exit upon touching MidBand. If TrendCount is higher than ExitChoppyRange, then exit when trend becomes choppy. If not, wait till reversal.
Motive Wave Scanner [Trendoscope®]Motive Wave Scanner is a simple algorithm to find out motive waves as per the rules of Elliott Wave theory.
It is an extension to our previous open source script Interactive Motive Wave Checklist which provides interactive capability to select six points of a five wave formation. Once users select them, the rules of motive waves are applied to manually selected points to highlight them as either diagonal wave, motive wave or none.
This indicator does the same. But, instead of requesting the pivots manually from the user, the indicator automatically picks and scans them through zigzag.
We have already published a similar script as protected source. But, due to some changes in the pine engine, there have been few issues in the runtime. In this publication, we not only address those runtime issues but also making it open source for the users to make use of the source code and enhance it further.
🎲 What are motive waves
Motive waves are strong upward or downward movement with 5 subwaves.
Motive Wave in the upward direction will start with Swing High, Ends with Swing High and consists of 3 Higher Highs and 2 Higher Lows representing strong upward trend.
Motive Wave in the downward direction will start with Swing Low, Ends with Swing low and consists of 3 Lower Lows and 2 Lower Highs representing strong downward trend.
🎲 Types of Motive Waves
Motive Waves are broadly classified by two types:
Impulse Waves
Diagonal Waves
Diagonal Waves are further classified into Contracting and Expanding Diagonals. These can fall into the category of either leading diagonal and ending diagonal.
🎲 Rules of Motive Waves
🎯 Generic Rule of any motive waves are as follows
Should consist of 5 alternating waves. (Swing High followed by Swing low and vice versa)
This can start from Swing High and end in Swing High or start from Swing Low and end in Swing Low of a zigzag.
Wave-2 should not move beyond Wave-1. This means, the Wave-2 is always shorter than Wave-1 with respect to distance between the price of start and end.
Wave-3 always moves beyond Wave-1. This means, the Wave-3 is always longer than Wave-2 in terms of price
Among Wave-1, Wave-3, and Wave-5, Wave-3 is never the shortest one. This means, either Wave-1 or Wave-5 can be longer than Wave-3 but not both. Wave-3 can also be longest among the three.
Here is the pictorial representation of the rules of the Motive Waves
For a wave to be considered as motive wave, it also needs to follow the rules of either impulse or diagonal waves.
🎯 Rules for a 5 wave pattern to be considered as Impulse Wave are:
Wave-4 never overlaps with Wave-1 price range
Wave-1, Wave-3 and Wave-5 should not be either expanding or contracting. Meaning, we cannot have Wave-1 > Wave-3 > Wave-5 , and we cannot have Wave-1 < Wave-3 < Wave-5
Pictorial representation of the impulse wave rules are as below:
🎯 Rules for the Diagonal Waves are as follows
Contrary to the first rule of impulse wave, in case of diagonal wave, Wave-4 always overlaps with Wave-1 price range. But, it will not go beyond Wave-3
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.
Pictorial representation of the Contracting Diagonal Wave is as below. Here, the Wave-1, Wave-3 and Wave-5 are in contracting formation.
Pictorial representation of the Expanding Diagonal Wave is as below. Here, the Wave-1, Wave-3 and Wave-5 are in expanding formation.
🎲 Indicator Settings
Indicator settings are defined as below:
Repaint Warning : If Repaint is selected, the indicator will throw a runtime error after certain bars or when alerts are set. This is due to some pine internal issue. At present, we do not have any solution for this until the internal issue is resolved by Tradingview Pine Team.
Converging Chart Patterns - Ultimate [Trendoscope®]🎲 Introducing the Converging Chart Patterns Ultimate Indicator
Derived from the comprehensive capabilities of our premium offering, the Auto Chart Patterns - Ultimate , this new indicator focuses exclusively on converging chart patterns. It marks the beginning of a series that, over time, will encompass the full spectrum of chart pattern analysis, ultimately enhancing and expanding beyond the scope of Auto Chart Patterns.
This strategic separation into more focused indicators is designed to cater to traders seeking precision in specific chart pattern categories.
🎲 Leveraging Research and Open-Source Foundations
Our journey to this indicator has been paved by extensive research and the insights gained from our prior works on Chart Patterns, including:
Algorithmic Identification of Chart Patterns
Flag and Pennant Chart Patterns
Trading Converging Chart Patterns
Drawing upon the foundation laid by our publicly shared indicators - Auto Chart Patterns and Flags and Pennants - this tool is the culmination of our efforts to provide traders with a refined method for strategizing around converging patterns. It not only facilitates the development of technical trading strategies but also aids in evaluating their effectiveness through historical performance analysis. The specific patterns addressed by this indicator include:
Rising Wedge (Converging Type)
Falling Wedge (Converging Type)
Converging Triangle
Rising Triangle (Converging Type)
Falling Triangle (Converging Type)
🎲 Chart Pattern Scanning Methodology
The process of identifying converging chart patterns involves several key steps:
Begin by examining each zigzag for the last 5 or 6 pivot points to identify potential trend line pairs.
Determine if these trend lines are converging by projecting them forwards and checking for an intersection within a specified number of bars ahead.
Upon confirming convergence, categorize each pattern based on the directional orientation of its trend lines, as detailed in our article - Algorithmic Identification of Chart Patterns
🎲 Methodology or Trading for Chart Patterns
While traditional views assign specific trading biases to converging patterns (e.g., Rising Wedges as bearish and Falling Wedges as bullish, with Triangles being more versatile), empirical support for these assumptions is limited. Our indicator is designed to empower users to explore and validate various trading hypotheses, including unconventional ones, thereby not confining trading strategies to past market behaviors.
We enable extensive customization for testing different strategies, with the initial setup allowing for both long and short trading scenarios for each identified pattern. Users have the liberty to adjust trading directions and other parameters within the indicator's settings to suit their analytical needs.
This open approach is rooted in the methodology outlined in - Trading Converging Chart Patterns , exemplified by the following process, which users can adapt and refine through our indicator.
🎲 Overview of Indicator Components
The components of our indicator are illustrated in the chart below
Pattern Visualization : This feature dynamically displays the patterns on the chart, focusing on currently active patterns. To maintain clarity and performance, historical patterns are not shown due to the constraints of drawing objects.
Trading Annotations : The indicator marks open trades directly on the chart, accommodating both long and short positions depending on the user's settings and the current status of trades associated with each pattern.
Performance Metrics Table : A comprehensive table presents the back testing results for individual patterns as well as aggregated outcomes. It includes crucial metrics such as win rates and the profit factor based on the set risk-reward ratio, offering users valuable insights into the potential profitability of their configurations and trade strategies.
🎲 Exploring the Indicator's Customization Options
This indicator is rich in settings, offering users the capability to tailor criteria and adapt their trading rules. Each setting is accompanied by detailed tooltips, providing insights into their use. Let's examine each category systematically.
🎯 Zigzag Configuration Options
These settings enable users to adjust the scope of their pattern analysis by varying the zigzag's length and depth.
Length Adjustment : Modifying this parameter changes the scale of detected patterns, with higher values spotting larger formations and lower ones focusing on more compact patterns.
Depth Enhancement : This alters the intricacy of the recursive zigzag analysis, potentially unveiling larger patterns across several levels. Caution is advised, as excessive depth may lead to the indicator exceeding its processing capacity.
🎯 Pattern Scanning Settings
This suite of settings fine-tunes the pattern scanning process, generally calibrated for precise geometric alignment of identified patterns. While most settings may remain as default for routine use, users are encouraged to tweak them, especially the "Last Pivot Direction," to explore various theoretical approaches to pattern trading.
🎯 Trade Configuration Settings
Arguably the most crucial for users, these settings offer complete autonomy in defining trading strategies around converging chart patterns. This includes the flexibility to set entry, stop, and target prices, adjust risk-reward ratios, select the historical depth for back testing, and incorporate filters to steer trade direction.
🎯 Pattern Specific Settings
Here, users can personalize settings for individual patterns or groups, enhancing the specificity of their strategy. Apart from enabling/disabling individual patterns and pattern groups, users can also select pattern specific Last Pivot Direction, Trade Direction Filter and external filters for each pattern.
🎯 Fully Customizable Alerts
Implemented through the alert() function, these alerts bypass the standard template in the alert widget. To counteract this, we've introduced placeholders within the settings to craft detailed alert templates.
Available Categories Include
New - Alerts when a new pattern is identified
Entry - Alerts when an entry condition for configured pattern based trade is met.
Stop - Alerts when a trade that has reached entry gets stopped out without reaching target
Target - Alerts when a trade reaches its target
Invalidation - Alerts when a trade reaches invalidation point before reaching the entry.
Each alert types can have its own template. Customizable templates are very important in using alerts for broker or exchange integration.
Here are some of the placeholders that are defined in the indicator.
{type} - Alert type - new/entry/stop/target/invalid
{pid} - Pattern ID of the pattern belonging to trade. Multiple trades can have same pattern id since a pattern can be traded in both long and short directions.
{tid} - Unique Trade ID for the given trade.
{ticker} - Ticker ID on which the indicator is run
{timeframe} - Chart timeframe on which the indicator is run
{basecurrency} - Base currency of the symbol
{quotecurrency} - Quote currency of the symbol
{pivots} - Pivot values of the pattern
{price} - Current price when the alert is triggered.
{pattern} - Name of the pattern on which the alert is triggered.
{direction} - Direction of the trade.
{entrydirection} - Direction of the entry signal. Used for specific bot integration.
{exitdirection} - Direction of the exit signal. Used for specific bot integration.
{entry} - Entry price of the trade
{stop} - Stop price of the trade
{target} - Target price of the trade
{invalidation} - Invalidation price of the trade
🎯 Display and Stats
These settings are used to control the display options on the chart. Closed trade stats is displayed in a table and printed in the bottom left corner of the chart. This can be customized by using display settings.
Auto Chart Patterns [Trendoscope®]🎲 Introducing our most comprehensive automatic chart pattern recognition indicator.
Last week, we published an idea on how to algorithmically identify and classify chart patterns.
This indicator is nothing but the initial implementation of the idea. Whatever we explained in that publication that users can do manually to identify and classify the pattern, this indicator will do it for them.
🎲 Process of identifying the patterns.
The bulk of the logic is implemented as part of the library - chartpatterns . The indicator is a shell that captures the user inputs and makes use of the library to deliver the outcome.
🎯 Here is the list of steps executed to identify the patterns on the chart.
Derive multi level recursive zigzag for multiple base zigzag length and depth combinations.
For each zigzag and level, check the last 5 pivots or 6 pivots (based on the input setting) for possibility of valid trend line pairs.
If there is a valid trend line pair, then there is pattern.
🎯 Rules for identifying the valid trend line pairs
There should be at least two trend lines that does not intersect between the starting and ending pivots.
The upper trend line should touch all the pivot highs of the last 5 or 6 pivots considered for scanning the patterns
The lower trend line should touch all the pivot lows of the last 5 or 6 pivots considered for scanning the patterns.
None of the candles from starting pivot to ending pivot should fall outside the trend lines (above upper trend line and below lower trend line)
The existence of a valid trend line pair signifies the existence of pattern. What type of pattern it is, to identify that we need to go through the classification rules.
🎲 Process of classification of the patterns.
We need to gather the following information before we classify the pattern.
Direction of upper trend line - rising, falling or flat
Direction of lower trend line - rising, falling or flat
Characteristics of trend line pair - converging, expanding, parallel
🎯 Broader Classifications
Broader classification would include the following types.
🚩 Classification Based on Geometrical Shapes
This includes
Wedges - both trend lines are moving in the same direction. But, the trend lines are either converging or diverging and not parallel to each other.
Triangles - trend lines are moving in different directions. Naturally, they are either converging or diverging.
Channels - Both trend lines are moving in the same direction, and they are parallel to each other within the limits of error.
🚩 Classification Based on Pattern Direction
This includes
Ascending/Rising Patterns - No trend line is moving in the downward direction and at least one trend line is moving upwards
Descending/Falling Patterns - No trend line is moving in the upward direction, and at least one trend line is moving downwards.
Flat - Both Trend Lines are Flat
Bi-Directional - Both trend lines are moving in opposite direction and none of them is flat.
🚩 Classification Based on Formation Dynamics
This includes
Converging Patterns - Trend Lines are converging towards each other
Diverging Patterns - Trend Lines are diverging from each other
Parallel Patterns - Trend Lines are parallel to each others
🎯 Individual Pattern Types
Now we have broader classifications. Let's go through in detail to find out fine-grained classification of each individual patterns.
🚩 Ascending/Uptrend Channel
This pattern belongs to the broader classifications - Ascending Patterns, Parallel Patterns and Channels. The rules for the Ascending/Uptrend Channel pattern are as below
Both trend lines are rising
Trend lines are parallel to each other
🚩 Descending/Downtrend Channel
This pattern belongs to the broader classifications - Descending Patterns, Parallel Patterns and Channels. The rules for the Descending/Downtrend Channel pattern are as below
Both trend lines are falling
Trend lines are parallel to each other
🚩 Ranging Channel
This pattern belongs to the broader classifications - Flat Patterns, Parallel Patterns and Channels. The rules for the Ranging Channel pattern are as below
Both trend lines are flat
Trend lines are parallel to each other
🚩 Rising Wedge - Expanding
This pattern belongs to the broader classifications - Rising Patterns, Diverging Patterns and Wedges. The rules for the Expanding Rising Wedge pattern are as below
Both trend lines are rising
Trend Lines are diverging.
🚩 Rising Wedge - Contracting
This pattern belongs to the broader classifications - Rising Patterns, Converging Patterns and Wedges. The rules for the Contracting Rising Wedge pattern are as below
Both trend lines are rising
Trend Lines are converging.
🚩 Falling Wedge - Expanding
This pattern belongs to the broader classifications - Falling Patterns, Diverging Patterns and Wedges. The rules for the Expanding Falling Wedge pattern are as below
Both trend lines are falling
Trend Lines are diverging.
🚩 Falling Wedge - Contracting
This pattern belongs to the broader classifications - Falling Patterns, Converging Patterns and Wedges. The rules for the Converging Falling Wedge are as below
Both trend lines are falling
Trend Lines are converging.
🚩 Rising/Ascending Triangle - Expanding
This pattern belongs to the broader classifications - Rising Patterns, Diverging Patterns and Triangles. The rules for the Expanding Ascending Triangle pattern are as below
The upper trend line is rising
The lower trend line is flat
Naturally, the trend lines are diverging from each other
🚩 Rising/Ascending Triangle - Contracting
This pattern belongs to the broader classifications - Rising Patterns, Converging Patterns and Triangles. The rules for the Contracting Ascending Triangle pattern are as below
The upper trend line is flat
The lower trend line is rising
Naturally, the trend lines are converging.
🚩 Falling/Descending Triangle - Expanding
This pattern belongs to the broader classifications - Falling Patterns, Diverging Patterns and Triangles. The rules for the Expanding Descending Triangle pattern are as below
The upper trend line is flat
The lower trend line is falling
Naturally, the trend lines are diverging from each other
🚩 Falling/Descending Triangle - Contracting
This pattern belongs to the broader classifications - Falling Patterns, Converging Patterns and Triangles. The rules for the Contracting Descending Triangle pattern are as below
The upper trend line is falling
The lower trend line is flat
Naturally, the trend lines are converging.
🚩 Converging Triangle
This pattern belongs to the broader classifications - Bi-Directional Patterns, Converging Patterns and Triangles. The rules for the Converging Triangle pattern are as below
The upper trend line is falling
The lower trend line is rising
Naturally, the trend lines are converging.
🚩 Diverging Triangle
This pattern belongs to the broader classifications - Bi-Directional Patterns, Diverging Patterns and Triangles. The rules for the Diverging Triangle pattern are as below
The upper trend line is rising
The lower trend line is falling
Naturally, the trend lines are diverging from each other.
🎲 Indicator Settings - Auto Chart Patterns
🎯 Zigzag Settings
Zigzag settings allow users to select the number of zigzag combinations to be used for pattern scanning, and also allows users to set zigzag length and depth combinations.
🎯 Scanning Settings
Number of Pivots - This can be either 5 or 6. Represents the number of pivots used for identification of patterns.
Error Threshold - Error threshold used for initial trend line validation.
Flat Threshold - Flat angle threshold is used to identify the slope and direction of trend lines.
Last Pivot Direction - Filters patterns based on the last pivot direction. The values can be up, down, both, or custom. When custom is selected, then the individual pattern specific last pivot direction setting is used instead of the generic one.
Verify Bar Ratio - Provides option to ignore extreme patterns where the ratios of zigzag lines are not proportionate to each other.
Avoid Overlap - When selected, the patterns that overlap with existing patterns will be ignored while scanning. Meaning, if the new pattern starting point falls between the start and end of an existing pattern, it will be ignored.
🎯 Group Classification Filters
Allows users to enable disable patterns based on group classifications.
🚩 Geometric Shapes Based Classifications
Wedges - Rising Wedge Expanding, Falling Wedge Expanding, Rising Wedge Contracting, Falling Wedge Contracting.
Channels - Ascending Channel, Descending Channel, Ranging Channel
Triangles - Converging Triangle, Diverging Triangle, Ascending Triangle Expanding, Descending Triangle Expanding, Ascending Triangle Contrcting and Descending Triangle Contracting
🚩 Direction Based Classifications
Rising - Rising Wedge Contracting, Rising Wedge Expanding, Ascending Triangle Contracting, Ascending Triangle Expanding and Ascending Channel
Falling - Falling Wedge Contracting, Falling Wedge Expanding, Descending Triangle Contracting, Descending Triangle Expanding and Descending Channel
Flat/Bi-directional - Ranging Channel, Converging Triangle, Diverging Triangle
🚩 Formation Dynamics Based Classifications
Expanding - Rising Wedge Expanding, Falling Wedge Expanding, Ascending Triangle Expanding, Descending Triangle Expanding, Diverging Triangle
Contracting - Rising Wedge Contracting, Falling Wedge Contracting, Ascending Triangle Contracting, Descending Triangle Contracting, Converging Triangle
Parallel - Ascending Channel, Descending Channgel and Ranging Channel
🎯 Individual Pattern Filters
These settings allow users to enable/disable individual patterns and also set last pivot direction filter individually for each pattern. Individual Last Pivot direction filters are only considered if the main "Last Pivot Direction" filter is set to "custom"
🎯 Display Settings
These are the settings that determine the indicator display. The details are provided in the tooltips and are self explanatory.
🎯 Alerts
A basic alert message is enabled upon detection of new pattern on the chart.
Multi-Timeframe Recursive Zigzag [Trendoscope®]🎲 Welcome to the Advanced World of Zigzag Analysis
Embark on a journey through the most comprehensive and feature-rich Zigzag implementation you’ll ever encounter. Our Multi-Timeframe Recursive Zigzag Indicator is not just another tool; it's a groundbreaking advancement in technical analysis.
🎯 Key Features
Multi Time-Frame Support - One of the rare open-source Zigzag indicators with robust multi-timeframe capabilities, this feature sets our tool apart, enabling a broader and more dynamic market analysis.
Innovative Recursive Zigzag Algorithm - At its core is our unique Recursive Zigzag Algorithm, a pioneering development that powers multiple Zigzag levels, offering an intricate view of market movements. This proprietary algorithm is the backbone of our advanced pattern recognition indicators.
Sub-Waves and Micro-Waves Analysis - Dive deeper into market trends with our Sub-Waves and Micro-Waves feature. Sub-Waves reveal the interconnectedness of various Zigzag levels, while Micro-Waves offer insight into the fundamental waves at the base level.
Enhanced Indicator Tracking - Integrate and track your custom indicators or oscillators with the zigzag, capturing their values at each Zigzag level, complete with retracement ratios. This offers a comprehensive view of market dynamics.
Curved Zigzag Visualization - Experience a new way of visualizing market movements with our Curved Zigzag Display, employing Pine Script’s polyline feature for a more intuitive and visually appealing representation.
Built-in Customizable Alerts - Stay ahead with built-in alerts that can be customized via user input settings.
🎯 Practical Applications
Our Zigzag Indicator is designed with an understanding of its inherent nature - the last unconfirmed pivot that consistently repaints. This characteristic, while by design, directs its usage more towards pattern recognition rather than direct identification of market tops and bottoms. Here's how you can leverage the Zigzag Indicator:
Harmonic Patterns - Ideal for those familiar with harmonic patterns, this tool simplifies the manual spotting of complex XABCD, ABC, and ABCD patterns on charts.
Chart Patterns - Effortlessly identify patterns like Double/Triple Taps, Head and Shoulders, Inverse Head and Shoulders, and Cup and Handle patterns with enhanced clarity. Navigate through challenging patterns such as Triangles, Wedges, Flags, and Price Channels, where the Zigzag Indicator adds a layer of precision to your breakout strategy.
Elliott Wave Components - The indicator's detailed pivot highlighting aids in identifying key Elliott Wave components, enhancing your wave analysis and decision-making process.
🎲 Deep Dive into Indicator Features
Join us as we explore the intricate features of our indicator in more detail.
🎯 Multi-Timeframe Capability
Our indicator comes equipped with an input option for selecting the desired resolution. This unique feature allows users to view higher timeframe Zigzag patterns directly on their lower timeframe charts.
🎯 Recursive Multi Level Zigzag
Our advanced recursive approach creates multi-level Zigzags from lower-level data. For instance, the level 0 Zigzag forms the base, calculated from specified length and depth parameters, while level 1 Zigzag is derived using level 0 as its foundation, and so forth.
The indicator not only displays multiple Zigzag levels but also offers settings to emphasize specific levels for more detailed analysis.
🎯 Sub-Components and Micro-Components of Zigzag Wave
Sub-components within a Zigzag wave consist of the previous level's Zigzag pivots. Meanwhile, the micro-components are composed of the base level (Level 0) Zigzag pivots encapsulated within the wave.
🎯 Curved Zigzag
Experience a new perspective with our curved Zigzag display. This innovative feature utilizes the polyline curved option to automatically generate sinusoidal waves based on multiple points.
🎯 Indicator Tracking
Default indicators such as RSI, MFI, and OBV are included, alongside the ability to track one external indicator at each Zigzag pivot.
🎯 Customizable Alerts
Our indicator employs the `alert()` function for alert creation. While this means the absence of a customization text box in the alert settings, we've included a custom text area for users to create their own alert templates.
Template placeholders include:
{alertType} - type of alert. Either Confirmed Pivot Update or Last Pivot Update. Depends on the alert type selected in the inputs.
When Last Pivot Update type is selected, the alerts are triggered whenever there is a new Zigzag Pivot. This may also be a repaint of last unconfirmed pivot.
When Confirmed Pivot Update type is selected, the alerts are triggered only when a pivot becomes a confirmed pivot.
{level} - Zigzag level on which the alert is triggered.
{pivot} - Details of the last pivot or confirmed pivot including price, ratio, indicator values and ratios, subcomponent and micro-component pivots.
🎲 User Settings Overview
🎯 Zigzag and Generic Settings
This involves some generic zigzag calculation settings such as length, depth, and timeframe. And few display options such as theme, Highlight Level and Curved Zigzag. By default, zigzag calculation is done based on the latest real time bar. An option is provided to disable this and use only confirmed bars for the calculation.
Indicator Settings
Allows users to track one or more oscillators or volume indicators. Option to add any indicator via external input is provided.
🎯 Alert Settings
Has input fields required to select and customize alerts.
Volume Spike Analysis [Trendoscope]The Volume Spike Analysis is designed to detect volume spikes in a trading instrument's data. Rather than relying on the traditional method of comparing volume to its moving average, this indicator employs a distinctive approach to ensure accuracy.
Methodology
Historical Volume Comparison: The indicator first assesses the current bar's volume, say 100k, and looks back historically to determine the last instance when the volume was equal to or exceeded this level.
High Volume Bar Gap Calculation: The intervals or gaps between high volume bars are recorded. These gaps help in determining how common or rare a particular volume spike is.
Spike Magnitude Determination: Here, the extent of the volume spike is gauged in relation to either the median, lowest, or average volume of the intervening bars. The reference metric (median, lowest, or average) can be chosen by the user through the "Volume Spike Reference" input parameter.
Spike Percentile Analysis: The calculated spike magnitude (as a percentage of the reference volume) is cataloged. This collection aids in understanding the relative intensity of the current volume spike when compared to previous spikes.
Threshold Comparisons: The indicator then compares the calculated "High Volume Distance Percentile" to the "Last High Volume Distance Percentile" and the "Volume Spike Percentile" to the "Volume Spike Threshold". If these values surpass the preset thresholds, the current bar is flagged as a high volume or volume spike bar.
Visual Components
Bar Highlighting : High volume or volume spike bars are accentuated with bright colors for easy identification. All other bars have increased transparency to reduce visual clutter.
Distance from the High Volume Bar: Indication of the number of bars since the last high volume occurrence and its respective percentile.
Comparative Factors: A factor representing the magnitude by which the current volume surpasses the lowest, median, and average volumes.
Lowest, Median and Average Volumes: The lowest and median volumes are indicated by tooltips on lines marking the respective bars. The average volume is depicted as a dotted horizontal line, with a triangle marker tooltip revealing its value.
This indicator offers a nuanced analysis of volume spikes, aiding traders in making more informed decisions.
Auto Harmonic Pattern - Screener [Trendoscope]At Trendoscope, we take pride in offering a wide range of indicators on Harmonic Patterns, including both free and premium options. While we have successfully developed various advanced tools, we recognize that creating a Harmonic Pattern screener is an audacious endeavor that few have ventured into.
Creating a harmonic pattern screener presents a formidable challenge. The intricate nature of the algorithm, coupled with the limitations of cloud-based processing and platform memory, makes it exceedingly difficult to implement the screener functionality without encountering runtime errors.
Today marks a historic achievement as we overcome numerous challenges to unveil our groundbreaking harmonic pattern-based screener. This significant leap signifies our commitment to innovation in the field.
Without further delay, let's dive right into the new Auto Harmonic Pattern - Screener algorithm
🎲 Features Overview
🎯 Primary Functionality
We prefer not to categorize this as a traditional indicator, as it goes beyond that scope. Instead, it's a unique amalgamation of both a screener and an indicator, designed to achieve primarily two essential functions.
Firstly, it efficiently scans multiple tickers, up to 20, for harmonic pattern formations and presents them on a user-friendly dashboard
Secondly, it provides harmonic pattern drawings on the chart, but only if the current chart ticker is part of the screener and exhibits a harmonic pattern formation.
🎯 Secondary Features
In addition to its primary functionalities, our revolutionary algorithm offers an array of secondary features that cater to traders' diverse needs
Users have the privilege of accessing enhanced settings, providing limitless customization options for the zigzag and pattern detection algorithm
The platform empowers traders to effortlessly customize stop entry target ratios, facilitating automatic calculations and display of suggestions
The freedom to personalize the visualization and display of patterns and dashboard ensures a seamless and intuitive user experience
And finally, the algorithm leaves no stone unturned, keeping traders well-informed through timely alerts on every bar, highlighting tickers exhibiting Harmonic Pattern formations.
🎯 Limitations
Our innovative screener harnesses the power of the recursive zigzag algorithm to deliver efficient and accurate harmonic pattern detections. While the deep search algorithm, present in our other Harmonic Pattern algorithms, offers unparalleled precision, its resource-intensive nature makes it unsuitable for simultaneous scanning of 20 tickers. By focusing on the recursive zigzag approach, we strike the perfect balance between performance and functionality, ensuring seamless scanning across multiple tickers without compromising on accuracy. This strategic decision allows us to deliver a powerful and reliable screener that meets the diverse needs of traders and empowers them with real-time harmonic pattern insights.
🎲 Chart Components
Upon loading the indicator and configuring your tickers, our user-friendly interface offers two key components seamlessly integrated into the chart:
A color-coded screener dashboard : The dashboard presents a clear visualization of tickers with bullish and bearish harmonic patterns. This intuitive display allows you to quickly identify potential trading opportunities based on pattern formations.
Dynamic pattern display : As you interact with the chart, our algorithm dynamically highlights possible harmonic patterns based on the latest zigzag pivots. Please note that patterns may not always be visible on the chart, especially in cases where higher-level zigzags take time to form pivots. However, rest assured that our sophisticated algorithm ensures real-time updates, providing you with accurate and timely harmonic pattern insights.
🎯 Screener Dashboard
In our screener dashboard, you will find a wealth of information at your fingertips:
Bullish patterns : Tickers exhibiting bullish harmonic patterns are prominently highlighted with a refreshing green background
Bearish patterns : Similarly, tickers featuring bearish harmonic patterns stand out with a striking red background
Dual patterns : Tickers displaying both bullish and bearish patterns are cleverly highlighted in a captivating purple background, providing a comprehensive view of the harmonic pattern landscape.
Tickers without current patterns : Tickers lacking any current patterns are elegantly displayed with a silver background. These tickers do not trigger tooltips, streamlining your focus on actionable pattern-related data.
🎲 Settings in Detail
🎯 Tickers
Our platform currently allows users to select up to 20 tickers for the harmonic pattern screener. We understand the importance of flexibility and scalability, and while we are excited to accommodate more tickers in the future, our present focus is to ensure optimal performance within the CPU and memory limitations. Rest assured, we are continuously working on enhancing our capabilities to provide you with an even more comprehensive experience. Stay tuned for updates as we strive to meet your evolving needs.
🎯 Zigzag and Harmonic Pattern
In this section, we present a range of essential settings that play a pivotal role in the calculation of the zigzag and the scanning of patterns. These parameters share similarities with other premium indicators associated with Harmonic patterns. These settings serve as building blocks for our advanced algorithms' suite.
This include
Zigzag length and depth settings for calculation of the multi level recursive zigzag
Pattern scanning settings to filter patterns based on preferences of category, pattern name, accuracy of calculation, and other considerations.
User preference of pattern trading ratios that are used for calculating entry, stop and target prices.
🎯 Screener Dashboard and Alerts
In this section, we introduce the parameters that define the format and content of alerts and the screener dashboard, offering you maximum flexibility in customizing their display. These settings encompass the following key aspects:
Screener dashboard position, layout and size that influence the display of screener dashboard.
List of parameters that can be shown on dashboard tooltips as well as on alerts.
Format of alert and tooltip data
🎯 Pattern Display
These are the settings related to pattern display on the chart and to limit calculation to last n bars
Will soon make video tutorials on this soon.
Consolidation Range Tracker[Trendoscope]🎲 Introducing Consolidation Range Tracker: Visualising Price Consolidation after Impulsive Moves
ConsolidationRangeTracker is an innovative indicator designed to assist traders in identifying and tracking price consolidation zones following impulsive market moves. This indicator is built on Auto Motive Wave indicator and Interactive Motive Wave indicator. This is also an attempt to plot Wyckoff Distribution pattern. But, instead of implying the price movement after consolidation, we are just leaving it to the interpretation of the users.
🎲 Process
Find impulse wave using the methods defined in Auto Motive Wave indicator and Interactive Motive Wave indicator
Define the range of consolidation based on predefined ratio (available as input settings)
Track the price movement within range along with number of bars and cumulative volume.
When price breaks out of the range, check if price ranged long enough to consider it as consolidation.
Retain the drawings and visualisation if the consolidation is confirmed before the breakout. Or else, remove them from the chart to keep it clean.
Overall output can be visualised as
Note : Patterns will not be there on the chart every time. It is normal for indicator not to show any drawings or patterns on the chart.
🎲 Stages of the Indicator
🎯 When an Impulse is formed
When an impulse wave is detected, wave is drawn on the chart along with details such as number of bars and volume spawning the impulse wave and the calculated range based on the input value. An alert of new impulse is also triggered if configured for alerts.
🎯 When an Impulse is updated
When price extends further without consolidating, the impulse wave is also updated to consider the latest values. This repaint is expected and as designed. We will also trigger an alert related to update of an impulse wave.
🎯 Update of range as and when it happens
Range is not bound and it keeps moving based on the highest and lowest price. Value of range is constant and it is calculated based on certain ratio of impulse as configured in settings. But, this range can move up and down based on which direction the price moves.
For example, this is the initial range when the impulse wave is formed.
But, after certain bars, we can see that the range shift slightly up because, price has more upward movement than downward.
No alerts are triggered during this phase.
🎯 Confirmed consolidation
Consolidation range is confirmed after price range through certain bars with respect to number of bars involved in the impulse wave. The default setting of 1 for range bar ratio means that range is confirmed when price ranges for same number of bars as that of impulse.
An alert is triggered when consolidation range is confirmed.
🎯 Breakout
Breakout happen if the price exceeds the range bracket. Breakout may happen either before or after confirmation of consolidation. In either case, an alert is triggered.
Patterns are removed from the chart if the consolidation is not confirmed. In other words, the price did not stay in range for long time.
🎲 Settings
Simple settings to define the zigzag base and few pattern related configuration.
🎲 Alerts
Alerts are configured using alert function and are triggered in following scenarios.
A new impulse created
An impulse wave is updated
Consolidation range confirmed
Breakout with/without confirmed consolidation.
🎲 Use Cases
Indicator can be used for identifying few types of patterns on the chart. But, they may involve user's discretion. Major patterns that can be identified are:
🎯 Flag Formation Consolidation after an impulse can be termed as flag and is a sign of trend continuation after consolidation.
🎯 Wyckoff Distribution Long consolidation with high volume after an impulse can be a sign of wyckoff distribution formation. This pattern is trend reversal pattern.
Auto Harmonic Pattern - Backtester [Trendoscope]We are finally here with the implementation of backtesting tool for Auto-Harmonic-Pattern-UltimateX .
CAUTION: THIS IS NOT A STRATEGY AND SHOULD NOT BE FOLLOWED BLINDLY. WE ENCOURAGE USERS TO UTILISE THIS AS BACKTESTING TOOL FOR BUILDING THEIR STRATEGY BASED ON HARMONIC PATTERNS
This script is based on our premium indicator - Auto-Harmonic-Pattern-UltimateX . In this script, along with implementation of scanning harmonic patterns, we provide various options via settings which enables users to build their own strategy based on harmonic patterns, use them with custom coded filters, backtest them on various tickers and timeframes.
Harmonic Patterns is concept and we can trade harmonic pattern in many ways. While general interest around harmonic patterns is to find reversal zones and use them for short term swing trades. But, using it along trend following strategies can also be very rewarding. Here is one of the educational idea I shared about using harmonic patterns for trend following. These are just few possibilities where users can explore further on how they want to trade this. The settings of this script are crafted in such a way that it enables users to explore all these possibilities.
🎲 Components
Chart components of this script is lighter compared to Auto Harmonic Pattern - UltimateX. This is because we want to keep lighter interface in order to support seamless execution of emulator. Since pine strategy framework does most of the things such as calculating profitability, keeping track of trades and results etc, display with respect to - "Closed Trade Stats" are removed from this script and "Open Trade Stats" are made lighter.
🎲 Settings
🎯 Trade Settings : Few important settings under this section are
Due to pine limitations, we will not be able to support both long and short in a same setup. Hence, users need to chose either long or short trade setup.
Entry/Base/Target play important role in defining your strategy.
Confluence is another important factor which lets users use multiple patterns at once as confirmation.
🎯 Zigzag Settings : Zigzag settings determine the size of patterns being formed.
Please note that smaller patterns may not yield very good results and larger patterns may take time to complete trade. Similarly higher depth can cause runtime issues. Recursive zigzag option is alternative to deep search algorithm.
🎯 Filters :
Filters enable users to select trades based on specific conditions. Ability to use external filter even allows writing and using custom filters to be used with this algorithm. Here is a video which explains how this can be done. HOW-TO-Use-external-filters
Pattern filters allow users to pick and chose patterns they want to trade. This can be done either individually or based on category
🎯 Alerts :
Apart from strategy specific alerts, the script also implements customisable alerts via pine alert() function. Alerts can be configured to send upon three conditions
When new pattern is created
When an existing pattern updates entry/stop/target due to safe repaint of D (Only happens when Trail Entry Price is selected)
When a pattern in trade closes either due to hitting stop or target
Important Note: Alerts fired via this method may not match the trades shown on chart as trades which are controlled via pine strategy emulator depends on various other factors such as pyramiding.
Alert template is customisable and users can make use of available placeholders to get dynamic data in alerts. Valid placeholders are
{alertType} - Alert type - New/Update/Close
{id} - Pattern Id
{ticker} - Ticker
{timeframe} - Chart timeframe
{price} - Current price
{patterns} - Identified pattern names
{direction} - Direction - Long/Short
{entry} - Entry Price
{stop} - Stop Price
{target} - Target Price
{orderType} - Limit/Stop - applicable for only New and Update types
{status} - Trade status. Valid values are Pending/Cancelled/Stopped/Success
Template is common for all custom alert types. Hence, updating the template will impact all custom alerts - New/Update/Close
{
"alert" : "{alertType}",
"id" : {id},
"ticker" : "{ticker}",
"timeframe" : "{timeframe}",
"price" : {price},
"patterns" : "{patterns}",
"direction" : "{direction}",
"entry" : {entry},
"stop" : {stop},
"target" : {target},
"orderType" : {orderType}
"status" : {status}
}
Here is a video on how to customise the alerts using templates and placeholders - HOW-TO-Customize-Alerts-With-Placeholders
🎯 Miscellaneous :
These are simple settings to control display and backtest bars. If you are running alerts, we suggest turning of Open Trades and Drawings and limit backtest to minimal value in order to improve efficiency of
🎯 Backtest Engine Parameters :
Default settings are optimised for trend following. Users are encouraged to play around with settings and filters to build strategy out of this tool.
Position sizing is not leveraged. Margin settings makes sure that trades cannot exceed capital.
All measures are taken to avoid repainting. Script does not use request.security and real time bars. This drastically reduces the risk of repainting in scripts.
If you are premium user, please select "Bar Magnifier".
Band Based Trend FilterSimilar to RelativeBandwidthFilter , this script is also a simple trend filter which can be used to define your trading zone.
🎲 Concept
On contrary to reversal mindset, we define trend when price hits either side of the band. If close price hits upper band then it is considered as bullish and if close price hits lower band, then it is considered bearish. Further, trend strength is measured in terms of how many times the price hits one side of the band without hitting other side. Hit is counted only if price has touched middle line in between the touches. This way price walks on the bands are considered as just one hit.
🎲 Settings
Settings are minimal and details can be found in the tooltips against each parameters
🎲 Usage
This can be used with your own strategy to filter your trading/non-trading zones based on trend . Script plots a variable called "Trend" - which is not shown on chart pane. But, it is available in the data window. This can be used in another script as external input and apply logic.
Trend values can be
1 : Allow only Long
-1 : Allow only short
0 : Do not allow any trades
Auto Harmonic Pattern - UltimateX [Trendoscope]IMPORTANT NOTE: (Read this before looking at any other thing on this indicator)
This indicator is created to supersede existing Auto-Harmonic-Pattern-Ultimate-Trendoscope invite only script. The script deviates a lot from the original Auto Harmonic Patterns Ultimate script in terms of number of available patterns, trading type and few other things. Hence, instead of updating the existing script, we have just decided to release as new script. Few FAQs in this regard are as below
What it means for users of AHPU and new users?
▶ Subscription of this script is not sold separately, but will be offered along with existing AHPU script. Meaning, there will be single subscription for both scripts together.
▶ All existing subscribers of AHPU will also get access to this script for the duration of their subscription term. Will start adding access to users starting from lifetime subscribers first.
▶ Any new subscriptions to AHPU will also get access to both the scripts together. We will eventually look to phase out existing AHPU once users are accustomed to new script and any possible bugs are resolved.
▶ Any trial requests will also get access to both scripts. You can request trial even if you have recently requested trial for AHPU.
Why did we create new script instead of updating the existing one?
▶ As mentioned before, this script deviates a lot from the original AHPU. Hence, it is released as new version to make sure smoother transition of users. If anyone is not comfortable using the new version, they can continue using the existing AHPU script until things settle down.
▶ Since the script is new implementation, it may also have initial bugs. It will help us resolve it in more streamlined way.
What are the main differences between these scripts?
▶ Uses single zigzag instead of multi as algorithm is further improved to detect almost everything using single zigzag.
▶ More number of patterns added. But, new patterns are disabled by default as some of them have very wide PRZ. Users can enable it via settings.
▶ Trading type with trailing entry - With wide PRZs, we also had to implement different method for calculating entry/stop. This is explained later in the script.
▶ Matrix implementation and enhanced stats - Entire implementation is redesigned to use matrix data structure instead of arrays. This allows lots of possibilities including enhanced closed trade stats.
▶ Support/Resistance widget is removed as it is proving to be bit of overhead. Users can make use of Support Resistance widget script which is a free to use script instead.
Let's get to the details of indicator now.
🎲 Indicator Components
🎯 Patterns Covered
● Classic Patterns
Gartley
Bat
Butterfly
Crab
Deep Crab
Cypher
Shark
Nenstar
● Anti/Alternate Patterns
Anti Nenstar
Anti Shark
Anti Cypher
Anti Crab
Anti Butterfly
Anti Bat
Anti Gartley
Navarro200
● Non-Standard Patterns (Disabled by default)
Five Zero
Three Drives
White Swan
Black Swan
Sea Pony
Leonardo
121
Snorm
Total
Below is a quick snapshot of indicator components.
Now, lets look at some of the individual components:
🎯 Open trade stats helps recognise trades in motion.
Apart from regular stats, it also contain different types of risk reward ratios.
Regular RR : RR calculated from entry to reach target with initial stop for risk consideration
Trailing RR : This is RR calculated for price to reach from one target to next target considering trailing stop for calculating risk
Live RR : This is calculated based on current price as entry and with given targets and stop levels. Live RR will be blank for targets which are already reached.
Targets are calculated only when entry is made. Hence, target details are not shown for patterns where it is still awaiting entry.
🎯 Closed trade stats helps understand historical performance of patterns.
By default closed stats are displayed in Compact mode. Which means, only total stats are shown. But, users can change this to show detailed stats via settings. Detailed stats take up entire screen most of the time. So, keep them only if it is required.
Closed stats present average Risk Reward, Trailing Risk Reward, Average Win Rate, and Average Trailing Win Rate for all the possible levels. As discussed before.
Regular RR : RR calculated from entry to reach target with initial stop for risk consideration
Trailing RR : This is RR calculated for price to reach from one target to next target considering trailing stop for calculating risk
Win Rate : Simple win rate calculation based on number of patterns reached target and number of valid patterns.
Trailing Win Rate : This is win rate calculated based on previous target to current target.
For example, if there are 48 valid patterns and out of which 24 patterns reach target1 and 12 patterns out of 24 reach target 2
Target1 WR : 50% (24/48)
Target1 TWR : Not applicable as there is no target before Target1
Target2 WR : 25% (12/48)
Target2 TWR : 50% (12/24)
🎲 Settings
Tooltips are provided to help with each and every settings. And they are as below.
🎲 Fully Customisable Alerts - Placeholders
Alerts are created via alert() method of pine. Hence, users will not see message box for alert template on alert widget.
Instead alerts widget look something like this:
To overcome this issue, script provides alert template placeholders as part of settings. In settings, you can already see Alert section where you can enable/disable alerts for different events.
▶ New Pattern Detection
▶ Entry Reached
▶ Target1-4 Reached
▶ Stop price reached
▶ Trade Complete - either by stop or reaching target 4
You can use following placeholders in the given text boxes to create your own alert template.
🎯 Common placeholders which are applicable for all alerts
{type} - Alert Type
- New Harmonic Pattern
- Harmonic Pattern Status Update
- Harmonic Pattern Trade Closure
{id} - Pattern Id. This is not fully unique id. But, this will be unique for all open trades. Once trade is closed, Ids are reused whenever feasible.
{ticker} - Ticker information
{timeframe} - Timeframe information
{price} - Current close price
{patterns} - Possible patterns for the projections or PRZ.
{direction} - Trade direction - Bullish or bearish
{entry} - Calculated entry for pattern
{stop} - Calculated stop for pattern
{tstop} - Trailing stop for the pattern in trade
{target1} - Target1 for pattern in trade
{target2} - Target2 for pattern in trade
{target3} - Target3 for pattern in trade
{target4} - Target4 for pattern in trade
🎯 There are few specific placeholders, which are applicable for some alert types.
Harmonic Pattern Status Update
{status} - Status of the Pattern in trade
{laststatus} - Previous status of the Pattern in trade
Harmonic Pattern Trade Closure
{result} - Trade result upon closure
Auto Harmonic Projection - Ultimate [Trendoscope]Hello traders, Many who used Auto Harmonic Pattern - Ultimate had enquired with me about having option to project PRZ before patterns formed. We always replied that it is in pipeline but will not be part of existing script. Finally, we decided to utilise part of our Christmas and new year break to make it happen.
Lets get started..
⬜ Process
▶ Unlike Auto Harmonic Patterns Ultimate, instead of scanning whole XABCD for harmonic pattern, this script only collects XABC and projects PRZs (Possible D zones)
▶ Once possible patterns are found, lines are drawn to connect XABC and boxes to project PRZs. There can be more than 1 PRZs for XABC combination. If PRZs of multiple patterns overlap, they are joined and shown as single PRZ where all patterns are listed against it.
▶ If price crosses C, pattern is considered as failed. If price stays between C and PRZs for long time, patterns are timed out. In either case, patterns and projections are removed from chart.
▶ Pattern is considered to be active once price reach B. Until then Pattern is inactive.
▶ PRZs are tracked individually even if they belong to same pattern. PRZ is considered active only if price hits PRZ and completes the pattern. Till then PRZ is considered inactive.
▶ After activating, PRZs can either reach successful level if price moves in reversal direction. Or it can reach failure if price reaches stop.
▶ PRZs are removed from chart once it either reaches stop or success level. But, if more PRZs are present for pattern, pattern will still be there on chart.
▶ Pattern is kept active till all the PRZs are either hit stop or success or pattern itself is either failed or timed out.
Note:
Whenever we refer pattern - consider it as lines joining X, A, B, C and D if PRZ is active.
Wherever we refer PRZ - consider it as box representing potential reversal zones.
⬜ Screen components
▶ Inactive Patterns and PRZ - Patterns with inactive PRZs are represented as lines joining XABC. There will not be line connecting D and PRZs are shown with faded colour and smaller fonts.
▶ Active Patterns and PRZ - Patterns with active PRZ are represented with full pattern and line fills. PRZ will also show stop and success level. Note that success level is not target level - but a position used for validating the outcome.
▶ Stats table - Open stats table contains patterns and corresponding PRZ levels. Stats will have red background for bearish patterns/projections and green background for bullish patterns/projections. Content text colour is matched with that of PRZ and Pattern line colors so that users can identify the matching stats easily.
▶ Run timer - Tells how long the script backtest is running. Run timer will have red background for TRIAL access or if right access key is not used. Otherwise, it will have green background colour. This does not have much significance now as there are no closed stats available. It will be added in the future versions.
▶ Watermark - Watermark appears only if valid key is not used or TRIAL access key is used.
Bit more details about open stats table here
⬜ Settings
⚪ Alert Key
Alert key is given for active subscribers. This key is required in order to set alerts or in order to run the script for more than 30 bars on single instrument without interruption. Not having alert key will not stop users from using the indicator once they acquire access - but it will only limit few capabilities. Key is not given for trial access.
Key is prompted every time users add indicator to chart. If you are provided with key, please use it instead of the TRIAL access key.
If you are using valid key,
You will see run timer in green instead of red background
No TRIAL ACCESS watermark on the chart.
⚪ Zigzag and pattern detection settings
⚪ Pattern Selection settings
⚪ Stats and Display
⚪ Colors and themes
⚪ Backtest Settings
Not important for now as there are no closed pattern stats. Kept for future usage. Will impact the timer widget.
⚪ Alerts
▶ Types and settings
▶Setting alerts is simple. When indicator is loaded on chart (Make sure you are using the right alert key), goto alerts and select the AHProjection from Condition dropdown. Update other parameters such as alert name, webhook details as required and press create
▶ Examples of alerts
⬜ Status Tracking
Script tracks two types of statuses.
⚪ Harmonic Pattern Projection Status : Tracks projection as a whole for each combination of X, A, B, C. Different states available are
Awaiting Activation : Any pattern projection when formed by default goes into Inactive State and hence set to Awaiting Activation.
Projection Active : Once price reach B, then pattern projection is considered active
Entry Reached : Once price reach the nearest PRZ level, it is considered as Entry reached. Status will remain as entry reached even if PRZ is removed and next PRZ level is yet to be reached.
Projection Invalidated : If price goes beyond C level, then pattern projection is considered invalidated. It can happen at any stage and even after successful completion of few PRZ ranges.
Projection Timed Out : If price keeps between PRZ and C for considerable time, it will timed out and removed from chart.
⚪ Harmonic Pattern Projection PRZ Status Tracks individual PRZs separately which may or may not belong to same patterns. Different states available are
Awaiting Activation : Any PRZ is considered inactive before price reaching the PRZ level.
Active : Once price reaches PRZ, it will become active. Active PRZs are highlighted with line fill on chart. Active PRZ also display success and stop levels. PRZ is not removed unless price hits one of these levels or the entire pattern is timed out.
Successful : If an active PRZ price reaches success level, then PRZ projection is considered successful. Once successful, PRZ will removed from chart
Failed : If an active PRZ price reaches stop level, then PRZ projection is considered failure. Once failed PRZ will be removed from chart.
Multi-ZigZag Multi-Oscillator Trend DetectorThis table is intended to give you snapshot of how price and oscillators are moving along with zigzag pivots.
This is done in the same lines of Zigzag-Trend-Divergence-Detector
But, here are the differences
Table shows multiple oscillator movements at a same time instead of one selected oscillator
Divergence is not calculated and also supertrend based trend. Trend can be calculated based on zigzag movements. However, lets keep this for future enhancements.
This system also uses multiple zigzags instead of just one.
⬜ Process
▶ Derive multiple zigzags - Code is taken from Multi-ZigZag
▶ Along with zigzags - also calculate different oscillators and attach it to zigzag pivot.
▶ Calculate directions of zigzag pivots and corresponding oscillators.
▶ Plot everything in the table on last bar.
⬜ Table components
Table contains following data:
Directional legends are:
⇈ - Higher High (Green)
⇊ - Lower Low (Red)
⭡- Lower High (Orange)
⭣ - Higher Low (Lime)
⬜ Input Parameters
▶ Source : Default is close. If Unchecked - uses high/low data for calculating pivots. Can also use external input such as OBV
▶ Stats : Gives option to select the depth of output (History) and also lets you chose text size and table position.
▶ Oscillators : Oscillator length is derived by multiplying multiplier to zigzag length. For example, for zigzag 5, with 4 as multiplier, all oscillators are calculated with length 20. But, same for zigzag 8 will be 32 and so on.
▶ Available oscillators :
CCI - Commodity Channel Index
CMO - Chande Momentum Oscillator
COG - Center Of Gravity
MFI - Money Flow Index (Shows only if volume is present)
MOM - Momentum oscillator
ROC - Rate Of Change
RSI - Relative Strength Index
TSI - Total Strength Index
WPR - William Percent R
BB - Bollinger Percent B
KC - Keltner Channel Percent K
DC - Donchian Channel Percent D
ADC - Adoptive Donchian Channel Percent D ( Adoptive-Donchian-Channel )
⬜ Challenges
There are 12 oscillators and each zigzag has different length. Which means, there are 48 combinations of the ocillators.
First challenge was generating these values without creating lots of static initialization. Also, note, if the functions are not called on each bar, then they will not yield correct result. This is achieved through initializer function which runs on every bar and stores the oscillator values in an array which emulates multi dimensional array oscillator X zigzag length.
Next challenge was getting these values within function when we need it. While doing so I realized that values stored in array also have historical series and calling array.get will actully get you the entire series and not just the value. This is an important takeaway for me and this can be used for further complex implementations.
Thanks to @LonesomeTheBlue and @LucF for some timely suggestions and interesting technical discussions :)