VWMACD-MFI-OBV Composite# MACD-MFI-OBV Composite
A dynamic volume-based technical indicator combining Volume-Weighted MACD, Money Flow Index (MFI), and normalized On Balance Volume (OBV). This composite indicator excels at identifying breakouts and strong trend movements through multiple volume confirmations, making it particularly effective for momentum and high-volatility trading environments.
## Overview
The indicator integrates trend, momentum, and cumulative volume analysis into a unified visualization system. Each component is carefully normalized to enable direct comparison, while the background color system provides instant trend recognition. This version is specifically optimized for breakout detection and strong trend confirmation.
## Core Components
### Volume-Weighted MACD
Visualized through the background color system, this enhanced MACD implementation uses Volume-Weighted Moving Averages (VWMA) instead of traditional EMAs. This modification ensures greater sensitivity to volume-supported price movements while filtering out less significant low-volume price changes. The background alternates between green (bullish) and red (bearish) to provide immediate trend feedback.
### Money Flow Index (MFI)
Displayed as the purple line, the MFI functions as a volume-weighted momentum oscillator. Operating within a natural 0-100 range, it helps identify potential overbought and oversold conditions while confirming volume support for price movements. The MFI is particularly effective at validating breakout momentum.
### Normalized On Balance Volume (OBV)
The white line represents normalized OBV, providing insight into cumulative buying and selling pressure. The normalization process scales OBV to match other components while maintaining its ability to confirm price trends through volume analysis. This component excels at identifying strong breakout movements and volume surges.
## Signal Integration
The indicator generates its most powerful signals when all three components align, particularly during breakout conditions:
Strong Bullish Signals develop when:
- Background shifts to green (VWMACD bullish)
- MFI shows strong upward momentum
- OBV demonstrates sharp volume accumulation
Strong Bearish Signals emerge when:
- Background turns red (VWMACD bearish)
- MFI exhibits downward momentum
- OBV shows significant volume distribution
## Market Application
This indicator variant is specifically designed for:
Breakout Trading:
The OBV component provides excellent sensitivity to volume surges, making it ideal for breakout confirmation and momentum validation.
Trend Following:
Sharp OBV movements combined with MFI momentum help identify and confirm strong trending conditions.
High Volatility Markets:
The indicator's design excels in active, volatile markets where clear signal generation is crucial for decision-making.
## Technical Implementation
Default Parameters:
Volume-Weighted MACD maintains traditional periods (12/26/9) while leveraging volume weighting. MFI uses standard 14-period calculation with 80/20 overbought/oversold thresholds. All components undergo normalization over a 100-period lookback for stable comparison.
Visual Elements:
- Background: VWMACD trend indication (green/red)
- Purple Line: Money Flow Index
- White Line: Normalized OBV
- Yellow Line: Combined signal (arithmetic mean of normalized components)
- Reference Lines: Key levels at 20, 50, and 80
## Trading Methodology
The indicator supports a systematic approach to breakout and momentum trading:
1. Breakout Identification
Monitor for background color changes accompanied by significant OBV movement, indicating potential breakout conditions.
2. Volume Surge Confirmation
Examine OBV slope and magnitude to confirm genuine breakout scenarios versus false moves.
3. Momentum Validation
Use MFI to confirm breakout strength and identify potential exhaustion points.
4. Combined Signal Analysis
The yellow line provides a unified view of all components, helping identify high-probability breakout opportunities.
## Interpretation Guidelines
Breakout Confirmation:
Strong breakouts typically show alignment of all three components with notable OBV surge. This configuration often precedes significant price movements.
Trend Strength:
Continuous OBV expansion during trends, supported by steady MFI readings, suggests sustained momentum.
## Market Selection
Optimal Markets Include:
- High-beta growth stocks
- Momentum-driven securities
- Stocks with significant volatility
- Active trading instruments
- Examples: TSLA, NVDA, growth stocks
## Version Information
Current Version: 2.0.0
This indicator represents a specialized adaptation of volume-based analysis, optimized for breakout trading and momentum strategies in high-volatility environments.
Komut dosyalarını "breakout" için ara
X.Y Format Candle Volume & CompressionThe Volume & Compression Indicator is designed to help traders identify significant market moves by displaying two key metrics above each candle. The top number represents the Volume Ratio, which compares the current candle's volume to the average volume of recent candles. For example, a reading of 2.5 means the current volume is 2.5 times higher than average. When volume exceeds 9.9 times the average, the indicator displays an up or down arrow instead of a number, indicating extremely high volume in that direction.
The bottom number shows the Compression Ratio, which measures the relationship between volume and price movement. This helps identify when large amounts of volume are moving price significantly (low compression) versus when high volume isn't resulting in much price movement (high compression). High compression often indicates accumulation or distribution phases, while low compression with high volume typically suggests strong directional moves.
The indicator includes visual cues to help spot patterns. Dots appear above candles when both high volume and high compression persist over several candles, potentially indicating accumulation phases. Arrows mark possible pivot points after these accumulation periods. Additionally, the candles themselves can display a gradient color that intensifies with increased compression, making it easier to spot areas of interest.
For trading purposes, watch for volume spikes (top number above 2.0) as they can signal potential reversal points or confirm breakouts. High compression readings might precede breakouts, while low compression with high volume often confirms strong trend moves. The most significant signals often come when both metrics show high readings over multiple candles, suggesting sustained institutional interest.
JJ Highlight Time Ranges with First 5 Minutes and LabelsTo effectively use this Pine Script as a day trader , here’s how the various elements can help you manage trades, track time sessions, and monitor price movements:
Key Components for a Day Trader:
1. First 5-Minute Highlight:
- Purpose: Day traders often rely on the first 5 minutes of the trading session to gauge market sentiment, watch for opening price gaps, or plan entries. This script draws a horizontal line at the high or low of the first 5 minutes, which can act as a key level for the rest of the day.
- How to Use: If the price breaks above or below the first 5-minute line, it can signal momentum. You might enter a long position if the price breaks above the first 5-minute high or a short if it breaks below the first 5-minute low.
2. Session Time Highlights:
- Morning Session (9:15–10:30 AM): The market often shows its strongest price action during the first hour of trading. This session is highlighted in yellow. You can use this highlight to focus on the most volatile period, as this is when large institutional moves tend to occur.
- Afternoon Session (12:30–2:55 PM): The blue highlight helps you track the mid-afternoon session, where liquidity may decrease, and price action can sometimes be choppier. Day traders should be more cautious during this period.
- How to Use: By highlighting these key times, you can:
- Focus on key breakouts during the morning session.
- Be more conservative in your trades during the afternoon, as market volatility may drop.
3. Dynamic Labels:
- Top/Bottom Positioning: The script places labels dynamically based on the selected position (Top or Bottom). This allows you to quickly glance at the session's start and identify where you are in terms of time.
- How to Use: Use these labels to remind yourself when major time segments (morning or afternoon) begin. You can adjust your trading strategy depending on the session, e.g., being more aggressive in the morning and more cautious in the afternoon.
Trading Strategy Suggestions:
1. Momentum Trades:
- After the first 5 minutes, use the high/low of that period to set up breakout trades.
- Long Entry: If the price breaks the high of the first 5 minutes (especially if there's a strong trend).
- Short Entry: If the price breaks the low of the first 5 minutes, signaling a potential downtrend.
2. Session-Based Strategy:
- Morning Session (9:15–10:30 AM):
- Look for strong breakout patterns such as support/resistance levels, moving average crossovers, or candlestick patterns (like engulfing candles or pin bars).
- This is a high liquidity period, making it ideal for executing quick trades.
- Afternoon Session (12:30–2:55 PM):
- The market tends to consolidate or show less volatility. Scalping and mean-reversion strategies work better here.
- Avoid chasing big moves unless you see a clear breakout in either direction.
3. Support and Resistance:
- The first 5-minute high/low often acts as a key support or resistance level for the rest of the day. If the price holds above or below this level, it’s an indication of trend continuation.
4. Breakout Confirmation:
- Look for breakouts from the highlighted session time ranges (e.g., 9:15 AM–10:30 AM or 12:30 PM–2:55 PM).
- If a breakout happens during a key time window, combine that with other technical indicators like volume spikes , RSI , or MACD for confirmation.
---
Example Day Trader Usage:
1. First 5 Minutes Strategy: After the market opens at 9:15 AM, watch the price action for the first 5 minutes. The high and low of these 5 minutes are critical levels. If the price breaks above the high of the first 5 minutes, it might indicate a strong bullish trend for the day. Conversely, breaking below the low may suggest bearish movement.
2. Morning Session: After the first 5 minutes, focus on the **9:15 AM–10:30 AM** window. During this time, look for breakout setups at key support/resistance levels, especially when paired with high volume or momentum indicators. This is when many institutions make large trades, so price action tends to be more volatile and predictable.
3. Afternoon Session: From 12:30 PM–2:55 PM, the market might experience lower volatility, making it ideal for scalping or range-bound strategies. You could look for reversals or fading strategies if the market becomes too quiet.
Conclusion:
As a day trader, you can use this script to:
- Track and react to key price levels during the first 5 minutes.
- Focus on high volatility in the morning session (9:15–10:30 AM) and **be cautious** during the afternoon.
- Use session-based timing to adjust your strategies based on the time of day.
Eroina Trend Reversal Indicator with ConfirmationsEroina Trend Reversal Indicator with Confirmations
Overview (English):
The Trend Reversal Indicator with Confirmations is designed to identify potential trend reversals by analyzing dynamic resistance and support levels. This script uses a robust confirmation system to reduce false signals, making it ideal for traders who seek disciplined, data-driven decisions.
Key Features:
• Dynamic Levels: Calculates resistance and support levels based on user-defined lengths.
• Breakout Confirmation: Confirms trend reversals by validating price action over a specified number of candles.
• Visual Cues: Displays “LONG” and “SHORT” signals directly on the chart, alongside resistance/support levels.
• Customizable Parameters: Adaptable to different timeframes and market conditions.
How It Works:
1. Resistance & Support Levels:
• Resistance: Calculated as the highest high over the last N bars.
• Support: Calculated as the lowest low over the last N bars.
2. Breakout Detection:
• A resistance breakout occurs when the price closes above the resistance level.
• A support breakout occurs when the price closes below the support level.
3. Confirmation Logic:
• Signals are validated only if the price remains above/below the levels for a user-defined number of candles.
4. Entry Signals:
• “LONG” signals indicate a confirmed breakout above resistance.
• “SHORT” signals indicate a confirmed breakdown below support.
Settings:
• Resistance Length: Defines the number of candles used to calculate resistance levels.
• Support Length: Defines the number of candles used to calculate support levels.
• Confirmation Candles: Specifies how many candles are required to confirm breakouts.
Usage:
This indicator is ideal for identifying trend reversals and optimizing entry points. Combine it with volume analysis or other technical indicators to enhance accuracy. For example:
• Use in conjunction with RSI to avoid overbought/oversold conditions.
• Combine with moving averages to confirm the trend direction.
Overview (Additional Language):
(Your additional language description can go here after English, e.g., Russian, Spanish, etc.)
Weis Wave Max█ Overview
Weis Wave Max is the result of my weis wave study.
David Weis said,
"Trading with the Weis Wave involves changes in behavior associated with springs, upthrusts, tests of breakouts/breakdowns, and effort vs reward. The most common setup is the low-volume pullback after a bullish/bearish change in behavior."
THE STOCK MARKET UPDATE (February 24, 2013)
I inspired from his sentences and made this script.
Its Main feature is to identify the largest wave in Weis wave and advantageous trading opportunities.
█ Features
This indicator includes several features related to the Weis Wave Method.
They help you analyze which is more bullish or bearish.
Highlight Max Wave Value (single direction)
Highlight Abnormal Max Wave Value (both directions)
Support and Resistance zone
Signals and Setups
█ Usage
Weis wave indicator displays cumulative volume for each wave.
Wave volume is effective when analyzing volume from VSA (Volume Spread Analysis) perspective.
The basic idea of Weis wave is large wave volume hint trend direction. This helps identify proper entry point.
This indicator highlights max wave volume and displays the signal and then proper Risk Reward Ratio entry frame.
I defined Change in Behavior as max wave volume (single direction).
Pullback is next wave that does not exceed the starting point of CiB wave (LH sell entry, HL buy entry).
Change in Behavior Signal ○ appears when pullback is determined.
Change in Behavior Setup (Entry frame) appears when condition of Min/Max Pullback is met and follow through wave breaks end point of CiB wave.
This indicator has many other features and they can also help a user identify potential levels of trade entry and which is more bullish or bearish.
In the screenshot below we can see wave volume zones as support and resistance levels. SOT and large wave volume /delta price (yellow colored wave text frame) hint stopping action.
█ Settings
Explains the main settings.
-- General --
Wave size : Allows the User to select wave size from ① Fixed or ② ATR. ② ATR is Factor x ATR(Length).
Display : Allows the User to select how many wave text and zigzag appear.
-- Wave Type --
Wave type : Allows the User to select from Volume or Volume and Time.
Wave Volume / delta price : Displays Wave Volume / delta price.
Simplified value : Allows the User to select wave text display style from ① Divisor or ② Normalized. Normalized use SMA.
Decimal : Allows the User to select the decimal point in the Wave text.
-- Highlight Abnormal Wave --
Highlight Max Wave value (single direction) : Adds marks to the Wave text to highlight the max wave value.
Lookback : Allows the User to select how many waves search for the max wave value.
Highlight Abnormal Wave value (both directions) : Changes wave text size, color or frame color to highlight the abnormal wave value.
Lookback : Allows the User to select SMA length to decide average wave value.
Large/Small factor : Allows the User to select the threshold large wave value and small wave value. Average wave value is 1.
delta price : Highlights large delta price by large wave text size, small by small text size.
Wave Volume : Highlights large wave volume by yellow colored wave text, small by gray colored.
Wave Volume / delta price : highlights large Wave Volume / delta price by yellow colored wave text frame, small by gray colored.
-- Support and Resistance --
Single side Max Wave Volume / delta price : Draws dashed border box from end point of Max wave volume / delta price level.
Single side Max Wave Volume : Draws solid border box from start point of Max wave volume level.
Bias Wave Volume : Draws solid border box from start point of bias wave volume level.
-- Signals --
Bias (Wave Volume / delta price) : Displays Bias mark when large difference in wave volume / delta price before and after.
Ratio : Decides the threshold of become large difference.
3Decrease : Displays 3D mark when a continuous decrease in wave volume.
Shortening Of the Thrust : Displays SOT mark when a continuous decrease in delta price.
Change in Behavior and Pullback : Displays CiB mark when single side max wave volume and pullback.
-- Setups --
Change in Behavior and Pullback and Breakout : Displays entry frame when change in behavior and pullback and then breakout.
Min / Max Pullback : Decides the threshold of min / max pullback.
If you need more information, please read the indicator's tooltip.
█ Conclusion
Weis Wave is powerful interpretation of volume and its tell us potential trend change and entry point which can't find without weis wave.
It's not the holy grail, but improve your chart reading skills and help you trade rationally (at least from VSA perspective).
Simple Decesion Matrix Classification Algorithm [SS]Hello everyone,
It has been a while since I posted an indicator, so thought I would share this project I did for fun.
This indicator is an attempt to develop a pseudo Random Forest classification decision matrix model for Pinescript.
This is not a full, robust Random Forest model by any stretch of the imagination, but it is a good way to showcase how decision matrices can be applied to trading and within Pinescript.
As to not market this as something it is not, I am simply calling it the "Simple Decision Matrix Classification Algorithm". However, I have stolen most of the aspects of this machine learning algo from concepts of Random Forest modelling.
How it works:
With models like Support Vector Machines (SVM), Random Forest (RF) and Gradient Boosted Machine Learning (GBM), which are commonly used in Machine Learning Classification Tasks (MLCTs), this model operates similarity to the basic concepts shared amongst those modelling types. While it is not very similar to SVM, it is very similar to RF and GBM, in that it uses a "voting" system.
What do I mean by voting system?
How most classification MLAs work is by feeding an input dataset to an algorithm. The algorithm sorts this data, categorizes it, then introduces something called a confusion matrix (essentially sorting the data in no apparently order as to prevent over-fitting and introduce "confusion" to the algorithm to ensure that it is not just following a trend).
From there, the data is called upon based on current data inputs (so say we are using RSI and Z-Score, the current RSI and Z-Score is compared against other RSI's and Z-Scores that the model has saved). The model will process this information and each "tree" or "node" will vote. Then a cumulative overall vote is casted.
How does this MLA work?
This model accepts 2 independent variables. In order to keep things simple, this model was kept as a three node model. This means that there are 3 separate votes that go in to get the result. A vote is casted for each of the two independent variables and then a cumulative vote is casted for the overall verdict (the result of the model's prediction).
The model actually displays this system diagrammatically and it will likely be easier to understand if we look at the diagram to ground the example:
In the diagram, at the very top we have the classification variable that we are trying to predict. In this case, we are trying to predict whether there will be a breakout/breakdown outside of the normal ATR range (this is either yes or no question, hence a classification task).
So the question forms the basis of the input. The model will track at which points the ATR range is exceeded to the upside or downside, as well as the other variables that we wish to use to predict these exceedences. The ATR range forms the basis of all the data flowing into the model.
Then, at the second level, you will see we are using Z-Score and RSI to predict these breaks. The circle will change colour according to "feature importance". Feature importance basically just means that the indicator has a strong impact on the outcome. The stronger the importance, the more green it will be, the weaker, the more red it will be.
We can see both RSI and Z-Score are green and thus we can say they are strong options for predicting a breakout/breakdown.
So then we move down to the actual voting mechanisms. You will see the 2 pink boxes. These are the first lines of voting. What is happening here is the model is identifying the instances that are most similar and whether the classification task we have assigned (remember out ATR exceedance classifier) was either true or false based on RSI and Z-Score.
These are our 2 nodes. They both cast an individual vote. You will see in this case, both cast a vote of 1. The options are either 1 or 0. A vote of 1 means "Yes" or "Breakout likely".
However, this is not the only voting the model does. The model does one final vote based on the 2 votes. This is shown in the purple box. We can see the final vote and result at the end with the orange circle. It is 1 which means a range exceedance is anticipated and the most likely outcome.
The Data Table Component
The model has many moving parts. I have tried to represent the pivotal functions diagrammatically, but some other important aspects and background information must be obtained from the companion data table.
If we bring back our diagram from above:
We can see the data table to the left.
The data table contains 2 sections, one for each independent variable. In this case, our independent variables are RSI and Z-Score.
The data table will provide you with specifics about the independent variables, as well as about the model accuracy and outcome.
If we take a look at the first row, it simply indicates which independent variable it is looking at. If we go down to the next row where it reads "Weighted Impact", we can see a corresponding percent. The "weighted impact" is the amount of representation each independent variable has within the voting scheme. So in this case, we can see its pretty equal, 45% and 55%, This tells us that there is a slight higher representation of z-score than RSI but nothing to worry about.
If there was a major over-respresentation of greater than 30 or 40%, then the model would risk being skewed and voting too heavily in favour of 1 variable over the other.
If we move down from there we will see the next row reads "independent accuracy". The voting of each independent variable's accuracy is considered separately. This is one way we can determine feature importance, by seeing how well one feature augments the accuracy. In this case, we can see that RSI has the greatest importance, with an accuracy of around 87% at predicting breakouts. That makes sense as RSI is a momentum based oscillator.
Then if we move down one more, we will see what each independent feature (node) has voted for. In this case, both RSI and Z-Score voted for 1 (Breakout in our case).
You can weigh these in collaboration, but its always important to look at the final verdict of the model, which if we move down, we can see the "Model prediction" which is "Bullish".
If you are using the ATR breakout, the model cannot distinguish between "Bullish" or "Bearish", must that a "Breakout" is likely, either bearish or bullish. However, for the other classification tasks this model can do, the results are either Bullish or Bearish.
Using the Function:
Okay so now that all that technical stuff is out of the way, let's get into using the function. First of all this function innately provides you with 3 possible classification tasks. These include:
1. Predicting Red or Green Candle
2. Predicting Bullish / Bearish ATR
3. Predicting a Breakout from the ATR range
The possible independent variables include:
1. Stochastics,
2. MFI,
3. RSI,
4. Z-Score,
5. EMAs,
6. SMAs,
7. Volume
The model can only accept 2 independent variables, to operate within the computation time limits for pine execution.
Let's quickly go over what the numbers in the diagram mean:
The numbers being pointed at with the yellow arrows represent the cases the model is sorting and voting on. These are the most identical cases and are serving as the voting foundation for the model.
The numbers being pointed at with the pink candle is the voting results.
Extrapolating the functions (For Pine Developers:
So this is more of a feature application, so feel free to customize it to your liking and add additional inputs. But here are some key important considerations if you wish to apply this within your own code:
1. This is a BINARY classification task. The prediction must either be 0 or 1.
2. The function consists of 3 separate functions, the 2 first functions serve to build the confusion matrix and then the final "random_forest" function serves to perform the computations. You will need all 3 functions for implementation.
3. The model can only accept 2 independent variables.
I believe that is the function. Hopefully this wasn't too confusing, it is very statsy, but its a fun function for me! I use Random Forest excessively in R and always like to try to convert R things to Pinescript.
Hope you enjoy!
Safe trades everyone!
Up/Down Volume with Normal DistributionThis indicator analyzes the relationship between price movements and trading volume by distinguishing between "up" and "down" volume. Up volume refers to trading volume occurring during price increases, while down volume refers to trading volume during price decreases. The indicator calculates the mean and standard deviation for both up and down volume over a specified length. This statistical approach enables traders to visualize volume deviations from the average, highlighting potential market anomalies that could signal trading opportunities.
Relationship Between Price and Volume
Volume is a critical metric in technical analysis, often considered a leading indicator of price movements. According to studies in financial economics, significant price changes accompanied by high volume tend to indicate strong market conviction (Wyart et al., 2008). Conversely, price changes on low volume may suggest a lack of interest or conviction, making those moves less reliable.
The relationship between price and volume can be summarized as follows:
Confirmation of Trends: High volume accompanying a price increase often confirms an upward trend. Similarly, high volume during price declines indicates bearish sentiment.
Reversals and Exhaustion: Decreases in volume during price increases may suggest a potential reversal or exhaustion of buying pressure, while increased volume during declines can indicate capitulation.
Breakouts: Price movements that break through significant resistance or support levels accompanied by high volume are typically more significant and suggest stronger follow-through in the new direction.
Developing a Trading Strategy
Traders can leverage the insights gained from this relationship to formulate a trading strategy based on volume analysis:
Entry Signals: Traders can enter long positions when the up volume significantly exceeds the mean by a predefined number of standard deviations. This situation indicates strong buying interest. Conversely, short positions can be initiated when down volume exceeds the mean by a specified standard deviation.
Exit Signals: Exiting positions can be based on changes in volume patterns. If the volume starts to decrease significantly after a price increase, this may signal a potential reversal or the need to lock in profits.
Risk Management: Integrating volume analysis with other technical indicators, such as moving averages or RSI, can provide a more comprehensive risk management framework, enhancing the overall effectiveness of the strategy.
In conclusion, understanding the relationship between price and volume, alongside employing statistical measures like the mean and standard deviation, enables traders to create more robust trading strategies that capitalize on market movements.
References
Wyart, M., Bouchaud, J.-P., & Dacorogna, M. (2008). "Self-organized volatility in a complicated market." European Physical Journal B, 61(2), 195-203. doi:10.1140
Range Tightening Indicator (RTI)The Range Tightening Indicator (RTI) quantifies price volatility relative to recent price action, helping traders identify low-volatility consolidations that often precede breakouts.
Range Tightening is calculated by measuring the range between each bar’s high and low prices over a chosen lookback period.
A 5-bar period is recommended for shorter-term momentum setups and a 15-bar period is recommended for swing trading. An option for a custom period is available to suit specific strategies. The default look back for custom is 50, ideal for longer term traders.
Other Key Features:
Dynamic Color Coding: The RTI line turns green when volatility doubles after a drop to or below 20, flagging significant volatility shifts commonly seen before breakouts.
Low-Volatility Dots: Orange dots appear on the RTI line when two or more consecutive bars show RTI values below 20, visually marking extended low-volatility periods.
Volatility Zones: Shaded zones provide quick context:
Zone 1 (0-5): Extremely tight volatility, shown in red.
Zone 2 (5-10): Low volatility, shown in light green.
Zone 3 (10-15): Moderate low volatility, shown in green.
The RTI indicator is ideal for traders looking to anticipate breakout conditions, with features that highlight consolidation phases, support momentum strategies, and help improve entry timing by focusing on shifts in volatility.
This indicator was inspired after Deepvue's RMV Indicator, but uses a different calculation. Results may vary.
CPR by NKDCentral Pivot Range (CPR) Trading Strategy:
The Central Pivot Range (CPR) is a widely-used tool in technical analysis, helping traders pinpoint potential support and resistance levels in the market. By using the CPR effectively, traders can better gauge market trends and determine favorable entry and exit points. This guide explores how the CPR works, outlines its calculation, and describes how traders can enhance their strategies using an extended 10-line version of CPR.
What Really Central Pivot Range (CPR) is?
At its core, the CPR consists of three key lines:
Pivot Point (PP) – The central line, calculated as the average of the previous day’s high, low, and closing prices.
Upper Range (R1) – Positioned above the Pivot Point, acting as a potential ceiling where price may face resistance.
Lower Range (S1) – Found below the Pivot Point, serving as a potential floor where price might find support.
Advanced traders often expand on the traditional three-line CPR by adding extra levels above and below the pivot, creating up to a 10-line system. This extended CPR allows for a more nuanced understanding of the market and helps identify more detailed trading opportunities.
Applying CPR for Trading Success
1. How CPR is Calculation
The CPR relies on the previous day's high (H), low (L), and close (C) prices to create its structure:
Pivot Point (PP) = (H + L + C) / 3
First Resistance (R1) = (2 * PP) - L
First Support (S1) = (2 * PP) - H
Additional resistance levels (R2, R3) and support levels (S2, S3) are calculated by adding or subtracting multiples of the previous day’s price range (H - L) from the Pivot Point.
2. Recognizing the Market Trend
To effectively trade using CPR, it’s essential to first determine whether the market is trending up (bullish) or down (bearish). In an upward-trending market, traders focus on buying at support levels, while in a downward market, they look to sell near resistance.
3. Finding Ideal Entry Points
Traders often look to enter trades when price approaches key levels within the CPR range. Support levels (S1, S2) offer buying opportunities, while resistance levels (R1, R2) provide selling opportunities. These points are considered potential reversal zones, where price may bounce or reverse direction.
4. Managing Risk with Stop-Loss Orders
Proper risk management is crucial in any trading strategy. A stop-loss should be set slightly beyond the support level for buy positions and above the resistance level for sell positions, ensuring that losses are contained if the market moves against the trader’s position.
5. Determining Profit Targets
Profit targets are typically set based on the distance between entry points and the next support or resistance level. Many traders apply a risk-reward ratio, aiming for larger potential profits compared to the potential losses. However, if the next resistance and support level is far then middle levels are used for targets (i.e. 50% of R1 and R2)
6. Confirmation Through Other Indicators
While CPR provides strong support and resistance levels, traders often use additional indicators to confirm potential trade setups. Indicators such as moving averages can
help validate the signals provided by the CPR.
7. Monitoring Price Action At CPR Levels
Constantly monitoring price movement near CPR levels is essential. If the price fails to break through a resistance level (R1) or holds firm at support (S1), it can offer cues on when to exit or adjust a trade. However, a strong price break past these levels often signals a continued trend.
8. Trading Breakouts with CPR
When the price breaks above resistance or below support with strong momentum, it may signal a potential breakout. Traders can capitalize on these movements by entering positions in the direction of the breakout, ideally confirmed by volume or other technical indicators.
9. Adapting to Changing Market Conditions
CPR should be used in the context of broader market influences, such as economic reports, news events, or geopolitical shifts. These factors can dramatically affect market direction and how price reacts to CPR levels, making it important to stay informed about external market conditions.
10. Practice and Backtesting for Improvements
Like any trading tool, the CPR requires practice. Traders are encouraged to backtest their strategies on historical price data to get a better sense of how CPR works in different market environments. Continuous analysis and practice help improve decision-making and strategy refinement.
The Advantages of Using a 10-Line CPR System
An extended 10-line CPR system—comprising up to five resistance and five support levels—provides more granular control and insight into market movements. This expanded view helps traders better gauge trends and identify more opportunities for entry and exit. Key benefits include:
R2, S2 Levels: These act as secondary resistance or support zones, giving traders additional opportunities to refine their trade entries and exits.
R3, S3 Levels: Provide an even wider range for identifying reversals or trend continuations in more volatile markets.
Flexibility: The broader range of levels allows traders to adapt to changing market conditions and make more precise decisions based on market momentum.
So in Essential:
The Central Pivot Range is a valuable tool for traders looking to identify critical price levels in the market. By providing a clear framework for identifying potential support and resistance zones, it helps traders make informed decisions about entering and exiting trades. However, it’s important to combine CPR with sound risk management and additional confirmation through other technical indicators for the best results.
Although no trading tool guarantees success, the CPR, when used effectively and combined with practice, can significantly enhance a trader’s ability to navigate market fluctuations.
RSI Fakeout Filter with SMA Confirmation [CHE] Introducing: RSI Fakeout Detection
Are you tired of being caught in fakeouts that can lead to frustrating losses? The RSI Fakeout Detection is here to enhance your trading strategy by filtering out false signals and providing you with more reliable entries. This innovative indicator is designed to help traders identify when market momentum, as indicated by the RSI, does not align with price movement – a key indicator of potential fakeouts!
What Does It Do?
The RSI Fakeout Detection focuses on one key goal: avoiding false signals. By monitoring when the RSI exceeds a customizable threshold (indicating strength) but the price remains below a moving average like the SMA, this indicator highlights situations where the market may seem strong, but the price action doesn't support that momentum. In other words, it saves you from those tricky fake breakouts.
Key Benefits:
1. Reduce Risk, Increase Confidence: Get an extra layer of protection against fakeouts by receiving signals only when both RSI and price confirm the market's true direction. Avoid entering false breakouts and trade with more confidence.
2. Dynamic Analysis of SMA Lengths: It doesn’t just rely on one SMA. The indicator automatically analyzes and sorts through different SMA lengths to find the most reliable one for your specific market condition, ensuring that you get the best possible signal.
3. Tailored for You: With customizable RSI thresholds, a choice of multiple moving average types (SMA, EMA, Bollinger Bands, and more), and vibrant color-coded visuals, this tool is built to fit your unique trading style and preferences.
4. Spot Fakeouts with Ease: Visual cues make it easy to see when the market might be tricking you. Labels, plotted lines, and a toggleable disclaimer keep everything transparent and easy to understand.
5. Friendly and Intuitive: Whether you’re new to trading or a seasoned pro, the RSI Fakeout Detection is designed to be simple and effective. The labels and plots are clear, the alerts are timely, and it seamlessly integrates into your chart without cluttering it.
Why Choose RSI Fakeout Detection?
- Accuracy and Precision: By combining RSI and SMA analysis, this indicator minimizes the risk of following false trends and entering trades too early.
- Save Time and Reduce Guesswork: No more spending hours trying to figure out which SMA length works best – the RSI Fakeout Detection does it for you!
- Peace of Mind: Avoiding fakeouts means fewer bad trades, which can lead to more consistent performance and less stress.
Transform the way you trade, and step into a more confident trading future with RSI Fakeout Detection . Whether you’re day trading or swing trading, this tool will give you an edge by helping you filter out the noise and make more informed decisions.
Best regards,
Chervolino
Disclaimer:
The content provided, including all code and materials, is strictly for educational and informational purposes only. It is not intended as, and should not be interpreted as, financial advice, a recommendation to buy or sell any financial instrument, or an offer of any financial product or service. All strategies, tools, and examples discussed are provided for illustrative purposes to demonstrate coding techniques and the functionality of Pine Script within a trading context.
Any results from strategies or tools provided are hypothetical, and past performance is not indicative of future results. Trading and investing involve high risk, including the potential loss of principal, and may not be suitable for all individuals. Before making any trading decisions, please consult with a qualified financial professional to understand the risks involved.
By using this script, you acknowledge and agree that any trading decisions are made solely at your discretion and risk.
Trading Ranges + ZScoreOverview
The "Trading Ranges + ZScore" script is a versatile technical indicator developed for TradingView. This tool combines two powerful concepts—price ranges and Z-Score analysis—to help traders identify potential trend reversals, overbought/oversold conditions, and trend strength. The script dynamically calculates price ranges based on recent price action and utilizes Z-Score to detect deviations from a statistical norm, providing valuable insights for decision-making in both ranging and trending markets.
Features
Price Ranges: Calculates dynamic upper and lower price boundaries based on volatility and market structure.
Z-Score Oscillator: A statistical measure that highlights overbought/oversold conditions based on the deviation from a moving average.
Trend Detection: Identifies trend continuation or reversal points by comparing current price action against historical levels.
Customizable Alerts: Generates visual signals (diamonds and X crosses) for potential long/short entries and exits.
Visual Representation: Colors the bars based on Z-Score and trend direction, enhancing the chart’s readability and signal clarity.
Customizable Parameters: The script allows users to fine-tune perception length, analysis period, factor multiplier, and oscillator thresholds to fit different market conditions.
Key Input Parameters
Perception: The length used for calculating highest/lowest price points (default: 20).
Analysis: The length used for calculating the moving average and volatility (default: 100).
Factor: A multiplier to adjust the width of the price ranges (default: 2.0).
Oscillator Threshold: The overbought/oversold threshold for the Z-Score oscillator (default: 70).
Trend Filter: A boolean switch that filters signals based on trend direction.
Fill Zones: Option to color-fill between price levels when certain conditions are met.
Bullish/Bearish/Neutral Colors: Customizable colors for bullish, bearish, and neutral signals.
How It Works
Price Ranges Calculation:
The script calculates five levels: two upper boundaries, the average price level, and two lower boundaries. These levels are based on the highest/lowest prices over a user-defined period and adjusted by volatility (Average True Range).
When the price crosses either of these levels, it suggests a significant change in market direction, potentially indicating a trend reversal.
Z-Score Oscillator:
The Z-Score is a statistical measurement of a price's position relative to its moving average. The indicator calculates two variations:
Z-Score based on the absolute difference between the price and the moving average.
Z-Score based on standard deviation.
These oscillators help detect extreme conditions where the price is likely to revert (overbought/oversold zones).
Trend Detection and Signals:
The indicator generates potential buy/sell signals when the price crosses the predefined levels or based on the fast Z-Score crossing the overbought/oversold thresholds.
Weak long/short signals are shown when the faster Z-Score oscillator reaches extreme levels but trend filters are applied to avoid noise.
Bar Colors and Signal Shapes:
Bar colors change dynamically to reflect the trend direction and Z-Score conditions. Signals for potential trades are displayed using diamonds and X crosses, making it easy to spot opportunities visually.
Visuals and Plots
Bar Colors: Changes the bar color based on Z-Score and trend direction.
Z-Score Plot: Displays two Z-Score oscillators, the standard and a faster one for detecting quicker price deviations.
Overbought/Oversold Zones: Highlighted by upper and lower thresholds of the Z-Score.
Long/Short Signals: Uses diamond-shaped markers for strong long/short signals and X-shaped markers for weaker signals.
Dynamic Range Lines: Plots lines for key price levels (upper/lower boundaries, mid-range) based on the dynamic range calculations.
Usage Guide
Identify Overbought/Oversold Conditions: Look for the Z-Score reaching extreme positive or negative values. When combined with trend signals, these conditions often point to a potential reversal.
Follow the Trend: Use the trend filter option to focus only on trades in the direction of the prevailing trend, reducing false signals in ranging markets.
Watch for Range Breakouts: Pay attention to the upper and lower boundaries. Price crossing these levels often signals the start of a new trend or a major price movement.
Adjust Parameters: Tailor the perception length, analysis length, and multiplier to suit different asset classes or timeframes.
Customization
You can adjust the key parameters to adapt the indicator to different markets or personal trading preferences:
- Perception & Analysis Lengths: Control the sensitivity of the price range calculations.
- Factor Multiplier: Adjusts the width of the ranges, with higher values indicating larger zones.
- Oscillator Threshold: Modify the overbought/oversold levels to suit different market volatility.
- Trend Filter: Toggle on/off to focus on trend-following strategies or range-bound conditions.
- Visual Options: Customize colors for bullish, bearish, and neutral signals, as well as enable/disable the zone fills.
Prior Day High/Low and Highest High/Lowest LowFeatures:
Prior Day High and Low:
The script tracks and displays the previous trading day's high and low prices. These levels can serve as important areas of support or resistance, helping traders to make informed decisions about potential price reversals or breakouts.
Highest High and Lowest Low Over N Days:
This indicator also tracks and displays the highest high and lowest low over the last N days, where N is user-configurable. This allows traders to see broader trends in price action and identify key levels for potential trend changes.
User-Configurable Inputs:
Show Prior Day High/Low: Toggle whether to display the prior day’s high and low levels.
Days to Consider for Highest High/Lowest Low: Define the number of days over which the highest high and lowest low are calculated.
Show Highest High/Lowest Low: Toggle whether to display the highest high and lowest low levels over the specified period.
Low Source and High Source: Customize the data sources for the high and low values.
Automatic Data Handling:
The script automatically tracks the daily high and low prices, storing them in arrays, and calculates the highest and lowest prices over the user-specified number of days. When a new day begins, the prior day's data is saved, and the calculations are updated accordingly.
Visual Display:
The indicator uses distinct colors and plotting styles:
Prior day’s high and low are plotted as blue circles.
The highest high over N days is plotted as a red circle.
The lowest low over N days is plotted as a green circle.
This indicator helps traders stay informed about significant price levels, which are often used in trading strategies for breakouts, trend following, or reversals.
Dynamic ALMA with signalsEnhanced ALMA with Signals
This TradingView indicator is designed to enhance your trading strategy by utilizing the Arnaud Legoux Moving Average (ALMA), a unique moving average that provides smoother price action while minimizing lag. The script not only plots the ALMA line but also dynamically adjusts its parameters based on market volatility to adapt to different trading conditions. Additionally, it highlights potential bounce points off the line, as well as breakout points, giving traders clear signals for potential support, resistance levels, and breakouts.
Key Features:
Dynamic ALMA Line with Glow Effect:
The core of this indicator is the ALMA line, which is dynamically adjusted to market volatility, providing more accurate signals in varying conditions. The line adapts to both trending and consolidating markets by adjusting its sensitivity in real time. A glow effect is created by plotting the ALMA line multiple times with increasing transparency, making it visually distinct.
Bounce Detection Signals with Volatility Filter:
The script detects and labels potential support and resistance bounces based on the crossover and crossunder of the price with the ALMA line, further filtered by a volatility condition. This helps in filtering out false signals during low-volatility conditions, making the signals more reliable.
Visual Enhancements:
Custom glow effects and labels for bounce detection enhance chart readability and help traders quickly identify key levels.
Inputs:
Base Window Size: Sets the number of bars used in calculating the ALMA, allowing traders to adjust the sensitivity of the moving average. This parameter is dynamically adjusted based on current market volatility.
Offset: Determines the position of the ALMA curve. Higher values move the curve further away from the price. This value remains constant for stability.
Sigma: Controls the smoothness of the ALMA curve; a higher sigma results in a smoother curve. This value also remains constant.
ATR Period and Threshold Multiplier: Used to calculate the Average True Range (ATR) for the volatility filter, which determines whether the market conditions are sufficiently volatile to consider bounce signals.
How It Works:
Dynamic ALMA Calculation:
The script calculates the ALMA (Arnaud Legoux Moving Average) using the ta.alma function, dynamically adjusting the window size based on market volatility measured by the ATR (Average True Range). This ensures that the ALMA line remains responsive in high-volatility environments and smooth in low-volatility conditions.
Glow Effect:
To create a glow effect around the ALMA line, the script plots the ALMA multiple times with varying degrees of transparency. This visual enhancement helps the ALMA line stand out on the chart.
Bounce Detection with Volatility Filter:
The script uses two conditions to detect potential bounces:
Support Bounce: Detected when the low of the bar crosses above the ALMA line (ta.crossover(low, alma)) and the close is above the ALMA, while the volatility filter confirms sufficient market activity. This suggests potential support at the ALMA line.
Resistance Bounce: Detected when the high of the bar crosses below the ALMA line (ta.crossunder(high, alma)) and the close is below the ALMA, while the volatility filter confirms sufficient market activity. This indicates potential resistance at the ALMA line.
Labeling Bounce Points:
When a bounce is detected, the script labels it on the chart:
Support Bounces (S): Labeled with a blue "S" below the bar where a support bounce is detected.
Resistance Bounces (R): Labeled with a white "R" above the bar where a resistance bounce is detected.
Usage:
This enhanced indicator helps traders visualize key support and resistance levels more effectively by dynamically adjusting the ALMA moving average to market conditions. By detecting and labeling potential bounce points and filtering these signals based on volatility, traders can better identify entry and exit points in their trading strategy. The dynamic adjustments and visual enhancements make it easier to spot critical levels quickly and adapt to changing market conditions.
Customize the inputs to fit your trading style, and use this enhanced ALMA indicator to gain a more refined understanding of market trends, potential reversals, and breakouts.
Change in State of Delivery CISD ICT [TradingFinder] Liquidity 1🔵 Introduction
🟣 What is CISD ?
Change in State of Delivery (CISD) is a key concept in technical analysis, similar to Change of Character (ChoCh) and Market Structure Shift (MSS) in the ICT (Inner Circle Trader) and Smart Money trading styles. Like ChoCh and MSS, CISD helps traders identify critical changes in market structure and make timely entries into trades.
To determine the CISD Level, traders typically review the last 1 to 4 candles to identify the first positive or negative candle. The CISD Level is then set using the opening price of the next candle.
In this version of the indicator, support and resistance levels are defined based on liquidity, which includes patterns such as SFP (Swing Failure Pattern), fake breakout, and false breakout.
Bullish CISD :
Bearish CISD :
🔵 How to Use
🟣 Bullish CISD (Change in State of Delivery Upward)
In Bullish CISD, the trend shifts from bearish to bullish after the price hits a liquidity zone, typically indicated by patterns such as SFP, fake breakout, or false breakout.
The steps to identify Bullish CISD are as follow s:
Identify the liquidity zone (SFP, fake breakout).
Review the candles and find the first positive candle.
Set the CISD Level using the opening price of the next candle after the positive candle.
Confirm the change in state of delivery when the price closes above the CISD Level.
Enter the trade after CISD confirmation.
🟣 Bearish CISD (Change in State of Delivery Downward)
In Bearish CISD, the trader looks for a shift from a bullish to a bearish trend. This change typically occurs when the price hits a liquidity level, indicated by patterns such as SFP or false breakout.
The steps to identify Bearish CISD are :
Identify the liquidity zone.
Review the candles and find the first negative candle.
Set the CISD Level using the opening price of the next candle after the negative candle.
Confirm the change in state of delivery when the price closes below the CISD Level.
Enter a short trade after CISD confirmation.
🟣 CISD Compared to ChoCh and MSS (CISD Vs ChoCh/ MSS)
CISD, ChoCh, and MSS are all tools for identifying trend changes in the market, but they have some differences :
CISD: Focuses on a change in the state of delivery and uses liquidity patterns (SFP, fake breakout) and key candles to confirm trend reversals.
ChoCh: Identifies a change in the market’s character, often signaling rapid shifts in trend direction.
MSS: Focuses on changes in market structure and identifies the breaking of key levels as a signal of trend shifts.
🔵 Settings
🟣 CISD Logical settings
Bar Back Check : Determining the return of candles to identify the CISD level.
CISD Level Validity : CISD level validity period based on the number of candles.
🟣 SFP Logical settings
Swing period : You can set the swing detection period.
Max Swing Back Method : It is in two modes "All" and "Custom". If it is in "All" mode, it will check all swings, and if it is in "Custom" mode, it will check the swings to the extent you determine.
Max Swing Back : You can set the number of swings that will go back for checking.
🟣 CISD Display settings
Displaying or not displaying swings and setting the color of labels and lines.
🟣 SFP Display settings
Displaying or not displaying swings and setting the color of labels and lines.
🔵 Conclusion
CISD is a powerful tool for identifying trend reversals using liquidity patterns and key candle analysis. Traders can use the CISD Level to detect trend changes and find optimal entry and exit points.
This concept is similar to ChoCh and MSS but stands out with its focus on confirming trend changes through liquidity and specific patterns. With the right approach, CISD helps traders capitalize on market movements more effectively.
Auto Fibo on IndicatorsThis drawing tool aims to draw auto Fibonacci Retracement Levels on desired indicators.
Users can define the target indicator to draw Auto Fibo Lines, from the "settings tab":
There are six commonly used indicators below the charts that can be selected to draw Fibonacci Retracement lines on:
RSI : Relative Strength Index
CCI : Commodity Channel Index
MFI : Money Flow Index
STOCHASTIC : Stochastic Oscillator
CMF : Chaikin Money Flow
CMO : Chande Momentum Oscillator
Fibonacci Retracement Levels will appear automatically after applying the indicator.
The "Auto Fibo on Indicators" tool looks back. It checks the indicator levels for a desired number of bars and then draws the Fibonacci Levels automatically in the right way, considering the final movements of the indicator.
There are five commonly used Fibonacci Levels added between the Highest and Lowest values such as:
%23.6
%38.2
%50 (Not precisely a Fibonacci Level, indeed)
%61.8 (Golden Ratio)
%78.6
Four extra levels can be added from the settings tab by checking their boxes:
%127.2 (adjustable level)
%161.8
%261.8
%361.8
Default lookback bars of Auto Fibo Levels: 144 (which is also a Fibonacci number)
Default Indicator: RSI
Default Indicator length: 14
Default data source: CLOSE
Users can also define and show overbought and oversold levels by unchecking the "Do not Show Indicator Overbought / Oversold Levels?" button from the settings menu.
In technical analysis, Fibonacci Levels on price can guide valuable trading signals for investors.
Levels can be significant support and resistance levels for breakouts and turning points.
This drawing tool aims to follow those necessary levels on indicators to observe critical levels and breakouts.
Consolidation Finder Expo [serkany88]It's relatively easy to create a repainting system where you can detect consolidation but it can be pretty hard to detect breakouts while the consolidation is happening live. This experimental approach came to my mind after brainstorming a bit.
What it does
This indicator DOES NOT REPAINT and try to show consolidation zones by coloring the bars or background to a selected color(default white)
How it works
In this approach we use weighted standard deviation of Vidya (Variable Index Dynamic Average created by Tushar Chande). The reason we use vidya is it's length is actually being adapted to volatility and lookback is dynamically adjusted. After getting vidya of base we also create same length vidya of high's and low's and get weighted standard deviation of those. After this we add and subtract those with base vidya and and get their average with our multiplier weight starting from the first bar. If our current value is higher than the average it means we are not in consolidation, else we are thus the bar and background will be painted.
How to use
Consolidation Finder can be used with your existing bot strategy as an additional filter or can be used with your manual trading system as an additional filter or detect breakouts. But be aware that you might need to tinker with length and multipliers in the settings depending on your timeframe to get best results possible before using it reliably. You can also enable the plots of vidya's from the style tab which is disabled by default to see how the deviations actually move if you are interested in it.
Probability Envelopes (PBE)Introduction
In the world of trading, technical analysis is vital for making informed decisions about the future direction of an asset's price. One such tool is the use of indicators, mathematical calculations that can help traders predict market trends. This article delves into an innovative indicator called the Probability Envelopes Indicator, which offers valuable insights into the potential price levels an asset may reach based on historical data. This in-depth look explores the statistical foundations of the indicator, highlighting its key components and benefits.
Section 1: Calculating Price Movements with Log Returns and Percentages
The Probability Envelopes Indicator provides the option to use either log returns or percentage changes when calculating price movements. Each method has its advantages:
Log Returns: These are calculated as the natural logarithm of the ratio of the current price to the previous price. Log returns are considered more stable and less sensitive to extreme price fluctuations.
Percentage Changes: These are calculated as the percentage difference between the current price and the previous price. They are simpler to interpret and easier to understand for most traders.
Section 2: Understanding Mean, Variance, and Standard Deviation
The Probability Envelopes Indicator utilizes various statistical measures to analyze historical price movements:
Mean: This is the average of a set of numbers. In the context of this indicator, it represents the average price movement for bullish (green) and bearish (red) scenarios.
Variance: This measure represents the dispersion of data points in a dataset. A higher variance indicates a greater spread of data points from the mean. Variance is calculated as the average of the squared differences from the mean.
Standard Deviation: This is the square root of the variance. It is a measure of the amount of variation or dispersion in a dataset. In the context of this indicator, standard deviations are used to calculate the width of the bands around the expected mean.
Section 3: Analyzing Historical Price Movements and Probabilities
The Probability Envelopes Indicator examines historical price movements and calculates probabilities based on their frequency:
The indicator first identifies and categorizes price movements into bullish (green) and bearish (red) scenarios.
It then calculates the probability of each price movement occurring by dividing the frequency of the movement by the total number of occurrences in each category (bullish or bearish).
The expected green and red movements are calculated by multiplying the probabilities by their respective price movements and summing the results.
The total expected movement, or weighted average, is calculated by combining the expected green and red movements and dividing by the total number of occurrences.
Section 4: Constructing the Probability Envelopes
The Probability Envelopes Indicator utilizes the calculated statistics to construct its bands:
The expected mean is calculated using the total expected movement and applied to the current open price.
An exponential moving average (EMA) is used to smooth the expected mean, with the smoothing length determining the degree of responsiveness.
The upper and lower bands are calculated by adding and subtracting the mean green and red movements, respectively, along with their standard deviations multiplied by a user-defined multiplier.
Section 5: Benefits of the Probability Envelopes Indicator
The Probability Envelopes Indicator offers numerous advantages to traders:
Enhanced Decision-Making: By providing probability-based estimations of future price levels, the indicator can help traders make more informed decisions and potentially improve their trading strategies.
Versatility: The indicator is applicable to various financial instruments, such as stocks, forex, commodities, and cryptocurrencies, making it a valuable tool for traders in different markets.
Customization: The indicator's parameters, including the use of log returns, multiplier values, and smoothing length, can be adjusted according to the user's preferences and trading style. This flexibility allows traders to fine-tune the Probability Envelopes Indicator to better suit their needs and goals.
Risk Management: The Probability Envelopes Indicator can be used as a component of a risk management strategy by providing insight into potential price movements. By identifying potential areas of support and resistance, traders can set stop-loss and take-profit levels more effectively.
Visualization: The graphical representation of the indicator, with its clear upper and lower bands, makes it easy for traders to quickly assess the market and potential price levels.
Section 6: Integrating the Probability Envelopes Indicator into Your Trading Strategy
When incorporating the Probability Envelopes Indicator into your trading strategy, consider the following tips:
Confirmation Signals: Use the indicator in conjunction with other technical analysis tools, such as trend lines, moving averages, or oscillators, to confirm the strength and direction of the market trend.
Timeframes: Experiment with different timeframes to find the optimal settings for your trading strategy. Keep in mind that shorter timeframes may generate more frequent signals but may also increase the likelihood of false signals.
Risk Management: Always establish a proper risk management strategy that includes setting stop-loss and take-profit levels, as well as managing your position sizes.
Backtesting: Test the Probability Envelopes Indicator on historical data to evaluate its effectiveness and fine-tune its parameters to optimize your trading strategy.
Section 7: Cons and Limitations of the Probability Envelopes Indicator
While the Probability Envelopes Indicator offers several advantages to traders, it is essential to be aware of its potential cons and limitations. Understanding these can help you make better-informed decisions when incorporating the indicator into your trading strategy.
Lagging Nature: The Probability Envelopes Indicator is primarily based on historical data and price movements. As a result, it may be less responsive to real-time changes in market conditions, and the predicted price levels may not always accurately reflect the market's current state. This lagging nature can lead to late entry and exit signals.
False Signals: As with any technical analysis tool, the Probability Envelopes Indicator can generate false signals. These occur when the indicator suggests a potential price movement, but the market does not follow through. It is crucial to use other technical analysis tools to confirm the signals and minimize the impact of false signals on your trading decisions.
Complex Statistical Concepts: The Probability Envelopes Indicator relies on complex statistical concepts and calculations, which may be challenging to grasp for some traders, particularly beginners. This complexity can lead to misunderstandings and misuse of the indicator if not adequately understood.
Overemphasis on Past Data: While historical data can be informative, relying too heavily on past performance to predict future movements can be limiting. Market conditions can change rapidly, and relying solely on past data may not provide an accurate representation of the current market environment.
No Guarantees: The Probability Envelopes Indicator, like all technical analysis tools, cannot guarantee success. It is essential to approach trading with realistic expectations and understand that no indicator or strategy can provide foolproof results.
To overcome these limitations, it is crucial to combine the Probability Envelopes Indicator with other technical analysis tools and utilize a comprehensive risk management strategy. By doing so, you can better understand the market and increase your chances of success in the ever-changing financial markets.
Section 8: Probability Envelopes Indicator vs. Bollinger Bands
Bollinger Bands and the Probability Envelopes Indicator are both technical analysis tools designed to identify potential support and resistance levels, as well as potential trend reversals. However, they differ in their underlying concepts, calculations, and applications. This section will provide a deep dive into the differences between these two indicators and how they can complement each other in a trading strategy.
Underlying Concepts and Calculations:
Bollinger Bands:
Bollinger Bands are based on a simple moving average (SMA) of the price data, with upper and lower bands plotted at a specified number of standard deviations away from the SMA.
The distance between the bands widens during periods of increased price volatility and narrows during periods of low volatility, indicating potential trend reversals or breakouts.
The standard settings for Bollinger Bands typically involve a 20-period SMA and a 2 standard deviation distance for the upper and lower bands.
Probability Envelopes Indicator:
The Probability Envelopes Indicator calculates the expected price movements based on historical data and probabilities, utilizing mean and standard deviation calculations for both upward and downward price movements.
It generates upper and lower bands based on the calculated expected mean movement and the standard deviation of historical price changes, multiplied by a user-defined multiplier.
The Probability Envelopes Indicator also allows users to choose between using log returns or percentage changes for the calculations, adding flexibility to the indicator.
Key Differences:
Calculation Method: Bollinger Bands are based on a simple moving average and standard deviations, while the Probability Envelopes Indicator uses statistical probability calculations derived from historical price changes.
Flexibility: The Probability Envelopes Indicator allows users to choose between log returns or percentage changes and adjust the multiplier, offering more customization options compared to Bollinger Bands.
Risk Management: Bollinger Bands primarily focus on volatility, while the Probability Envelopes Indicator incorporates probability calculations to provide additional insights into potential price movements, which can be helpful for risk management purposes.
Complementary Use:
Using both Bollinger Bands and the Probability Envelopes Indicator in your trading strategy can offer valuable insights into market conditions and potential price levels.
Bollinger Bands can provide insights into market volatility and potential breakouts or trend reversals based on the widening or narrowing of the bands.
The Probability Envelopes Indicator can offer additional information on the expected price movements based on historical data and probabilities, which can be helpful in anticipating potential support and resistance levels.
Combining these two indicators can help traders to better understand market dynamics and increase their chances of identifying profitable trading opportunities.
In conclusion, while both Bollinger Bands and the Probability Envelopes Indicator aim to identify potential support and resistance levels, they differ significantly in their underlying concepts, calculations, and applications. By understanding these differences and incorporating both tools into your trading strategy, you can gain a more comprehensive understanding of the market and make more informed trading decisions.
In conclusion, the Probability Envelopes Indicator is a powerful and versatile technical analysis tool that offers unique insights into expected price movements based on historical data and probability calculations. It provides traders with the ability to identify potential support and resistance levels, as well as potential trend reversals. When compared to Bollinger Bands, the Probability Envelopes Indicator offers more customization options and incorporates probability-based calculations for a different perspective on market dynamics.
Although the Probability Envelopes Indicator has its limitations and potential cons, such as the reliance on historical data and the assumption that past performance is indicative of future results, it remains a valuable addition to any trader's toolkit. By using the Probability Envelopes Indicator in conjunction with other technical analysis tools, such as Bollinger Bands, traders can gain a more comprehensive understanding of the market and make more informed trading decisions.
Ultimately, the success of any trading strategy relies on the ability to interpret and apply multiple indicators effectively. The Probability Envelopes Indicator serves as a unique and valuable tool in this regard, providing traders with a deeper understanding of the market and its potential price movements. By utilizing this indicator in combination with other tools and techniques, traders can increase their chances of success and optimize their trading strategies.
Adaptive Candlestick Pattern Recognition System█ INTRODUCTION
Nearly three years in the making, intermittently worked on in the few spare hours of weekends and time off, this is a passion project I undertook to flesh out my skills as a computer programmer. This script currently recognizes 85 different candlestick patterns ranging from one to five candles in length. It also performs statistical analysis on those patterns to determine prior performance and changes the coloration of those patterns based on that performance. In searching TradingView's script library for scripts similar to this one, I had found a handful. However, when I reviewed the ones which were open source, I did not see many that truly captured the power of PineScrypt or leveraged the way it works to create efficient and reliable code; one of the main driving factors for releasing this 5,000+ line behemoth open sourced.
Please take the time to review this description and source code to utilize this script to its fullest potential.
█ CONCEPTS
This script covers the following topics: Candlestick Theory, Trend Direction, Higher Timeframes, Price Analysis, Statistic Analysis, and Code Design.
Candlestick Theory - This script focuses solely on the concept of Candlestick Theory: arrangements of candlesticks may form certain patterns that can potentially influence the future price action of assets which experience those patterns. A full list of patterns (grouped by pattern length) will be in its own section of this description. This script contains two modes of operation for identifying candlestick patterns, 'CLASSIC' and 'BREAKOUT'.
CLASSIC: In this mode, candlestick patterns will be identified whenever they appear. The user has a wide variety of inputs to manipulate that can change how certain patterns are identified and even enable alerts to notify themselves when these patterns appear. Each pattern selected to appear will have their Profit or Loss (P/L) calculated starting from the first candle open succeeding the pattern to a candle close specified some number of candles ahead. These P/L calculations are then collected for each pattern, and split among partitions of prior price action of the asset the script is currently applied to (more on that in Higher Timeframes ).
BREAKOUT: In this mode, P/L calculations are held off until a breakout direction has been confirmed. The user may specify the number of candles ahead of a pattern's appearance (from one to five) that a pattern has to confirm a breakout in either an upward or downward direction. A breakout is constituted when there is a candle following the appearance of the pattern that closes above/at the highest high of the pattern, or below/at its lowest low. Only then will percent return calculations be performed for the pattern that's been identified, and these percent returns are broken up not only by the partition they had appeared in but also by the breakout direction itself. Patterns which do not breakout in either direction will be ignored, along with having their labels deleted.
In both of these modes, patterns may be overridden. Overrides occur when a smaller pattern has been detected and ends up becoming one (or more) of the candles of a larger pattern. A key example of this would be the Bearish Engulfing and the Three Outside Down patterns. A Three Outside Down necessitates a Bearish Engulfing as the first two candles in it, while the third candle closes lower. When a pattern is overridden, the return for that pattern will no longer be tracked. Overrides will not occur if the tail end of a larger pattern occurs at the beginning of a smaller pattern (Ex: a Bullish Engulfing occurs on the third candle of a Three Outside Down and the candle immediately following that pattern, the Three Outside Down pattern will not be overridden).
Important Functionality Note: These patterns are only searched for at the most recently closed candle, not on the currently closing candle, which creates an offset of one for this script's execution. (SEE LIMITATIONS)
Trend Direction - Many of the patterns require a trend direction prior to their appearance. Noting TradingView's own publication of candlestick patterns, I utilize a similar method for determining trend direction. Moving Averages are used to determine which trend is currently taking place for candlestick patterns to be sought out. The user has access to two Moving Averages which they may individually modify the following for each: Moving Average type (list of 9), their length, width, source values, and all variables associated with two special Moving Averages (Least Squares and Arnaud Legoux).
There are 3 settings for these Moving Averages, the first two switch between the two Moving Averages, and the third uses both. When using individual Moving Averages, the user may select a 'price point' to compare against the Moving Average (default is close). This price point is compared to the Moving Average at the candles prior to the appearance of candle patterns. Meaning: The close compared to the Moving Average two candles behind determines the trend direction used for Candlestick Analysis of one candle patterns; three candles behind for two candle patterns and so on. If the selected price point is above the Moving Average, then the current trend is an 'uptrend', 'downtrend' otherwise.
The third setting using both Moving Averages will compare the lengths of each, and trend direction is determined by the shorter Moving Average compared to the longer one. If the shorter Moving Average is above the longer, then the current trend is an 'uptrend', 'downtrend' otherwise. If the lengths of the Moving Averages are the same, or both Moving Averages are Symmetrical, then MA1 will be used by default. (SEE LIMITATIONS)
Higher Timeframes - This script employs the use of Higher Timeframes with a few request.security calls. The purpose of these calls is strictly for the partitioning of an asset's chart, splitting the returns of patterns into three separate groups. The four inputs in control of this partitioning split the chart based on: A given resolution to grab values from, the length of time in that resolution, and 'Upper' and 'Lower Limits' which split the trading range provided by that length of time in that resolution that forms three separate groups. The default values for these four inputs will partition the current chart by the yearly high-low range where: the 'Upper' partition is the top 20% of that trading range, the 'Middle' partition is 80% to 33% of the trading range, and the 'Lower' partition covers the trading range within 33% of the yearly low.
Patterns which are identified by this script will have their returns grouped together based on which partition they had appeared in. For example, a Bullish Engulfing which occurs within a third of the yearly low will have its return placed separately from a Bullish Engulfing that occurred within 20% of the yearly high. The idea is that certain patterns may perform better or worse depending on when they had occurred during an asset's trading range.
Price Analysis - Price Analysis is a major part of this script's functionality as it can fundamentally change how patterns are shown to the user. The settings related to Price Analysis include setting the number of candles ahead of a pattern's appearance to determine the return of that pattern. In 'BREAKOUT' mode, an additional setting allows the user to specify where the P/L calculation will begin for a pattern that had appeared and confirmed. (SEE LIMITATIONS)
The calculation for percent returns of patterns is illustrated with the following pseudo-code (CLASSIC mode, this is a simplified version of the actual code):
type patternObj
int ID
int partition
type returnsArray
float returns
// No pattern found = na returned
patternObj TEST_VAL = f_FindPattern()
priorTestVal = TEST_VAL
if not na( priorTestVal )
pnlMatrixRow = priorTestVal.ID
pnlMatrixCol = priorTestVal.partition
matrixReturn = matrix.get(PERCENT_RETURNS, pnlMatrixRow, pnlMatrixCol)
percentReturn = ( (close - open ) / open ) * 100%
array.push(matrixReturn.returns, percentReturn)
Statistic Analysis - This script uses Pine's built-in array functions to conduct the Statistic Analysis for patterns. When a pattern is found and its P/L calculation is complete, its return is added to a 'Return Array' User-Defined-Type that contains numerous fields which retain information on a pattern's prior performance. The actual UDT is as follows:
type returnArray
float returns = na
int size = 0
float avg = 0
float median = 0
float stdDev = 0
int polarities = na
All values within this UDT will be updated when a return is added to it (some based on user input). The array.avg , array.median and array.stdev will be ran and saved into their respective fields after a return is placed in the 'returns' array. The 'polarities' integer array is what will be changed based on user input. The user specifies two different percentages that declare 'Positive' and 'Negative' returns for patterns. When a pattern returns above, below, or in between these two values, different indices of this array will be incremented to reflect the kind of return that pattern had just experienced.
These values (plus the full name, partition the pattern occurred in, and a 95% confidence interval of expected returns) will be displayed to the user on the tooltip of the labels that identify patterns. Simply scroll over the pattern label to view each of these values.
Code Design - Overall this script is as much of an art piece as it is functional. Its design features numerous depictions of ASCII Art that illustrate what is being attempted by the functions that identify patterns, and an incalculable amount of time was spent rewriting portions of code to improve its efficiency. Admittedly, this final version is nearly 1,000 lines shorter than a previous version (one which took nearly 30 seconds after compilation to run, and didn't do nearly half of what this version does). The use of UDTs, especially the 'patternObj' one crafted and redesigned from the Hikkake Hunter 2.0 I published last month, played a significant role in making this script run efficiently. There is a slight rigidity in some of this code mainly around pattern IDs which are responsible for displaying the abbreviation for patterns (as well as the full names under the tooltips, and the matrix row position for holding returns), as each is hard-coded to correspond to that pattern.
However, one thing I would like to mention is the extensive use of global variables for pattern detection. Many scripts I had looked over for ideas on how to identify candlestick patterns had the same idea; break the pattern into a set of logical 'true/false' statements derived from historically referencing candle OHLC values. Some scripts which identified upwards of 20 to 30 patterns would reference Pine's built-in OHLC values for each pattern individually, potentially requesting information from TradingView's servers numerous times that could easily be saved into a variable for re-use and only requested once per candle (what this script does).
█ FEATURES
This script features a massive amount of switches, options, floating point values, detection settings, and methods for identifying/tailoring pattern appearances. All modifiable inputs for patterns are grouped together based on the number of candles they contain. Other inputs (like those for statistics settings and coloration) are grouped separately and presented in a way I believe makes the most sense.
Not mentioned above is the coloration settings. One of the aims of this script was to make patterns visually signify their behavior to the user when they are identified. Each pattern has its own collection of returns which are analyzed and compared to the inputs of the user. The user may choose the colors for bullish, neutral, and bearish patterns. They may also choose the minimum number of patterns needed to occur before assigning a color to that pattern based on its behavior; a color for patterns that have not met this minimum number of occurrences yet, and a color for patterns that are still processing in BREAKOUT mode.
There are also an additional three settings which alter the color scheme for patterns: Statistic Point-of-Reference, Adaptive coloring, and Hard Limiting. The Statistic Point-of-Reference decides which value (average or median) will be compared against the 'Negative' and 'Positive Return Tolerance'(s) to guide the coloration of the patterns (or for Adaptive Coloring, the generation of a color gradient).
Adaptive Coloring will have this script produce a gradient that patterns will be colored along. The more bullish or bearish a pattern is, the further along the gradient those patterns will be colored starting from the 'Neutral' color (hard lined at the value of 0%: values above this will be colored bullish, bearish otherwise). When Adaptive Coloring is enabled, this script will request the highest and lowest values (these being the Statistic Point-of-Reference) from the matrix containing all returns and rewrite global variables tied to the negative and positive return tolerances. This means that all patterns identified will be compared with each other to determine bullish/bearishness in Adaptive Coloring.
Hard Limiting will prevent these global variables from being rewritten, so patterns whose Statistic Point-of-Reference exceed the return tolerances will be fully colored the bullish or bearish colors instead of a generated gradient color. (SEE LIMITATIONS)
Apart from the Candle Detection Modes (CLASSIC and BREAKOUT), there's an additional two inputs which modify how this script behaves grouped under a "MASTER DETECTION SETTINGS" tab. These two "Pattern Detection Settings" are 'SWITCHBOARD' and 'TARGET MODE'.
SWITCHBOARD: Every single pattern has a switch that is associated with its detection. When a switch is enabled, the code which searches for that pattern will be run. With the Pattern Detection Setting set to this, all patterns that have their switches enabled will be sought out and shown.
TARGET MODE: There is an additional setting which operates on top of 'SWITCHBOARD' that singles out an individual pattern the user specifies through a drop down list. The names of every pattern recognized by this script will be present along with an identifier that shows the number of candles in that pattern (Ex: " (# candles)"). All patterns enabled in the switchboard will still have their returns measured, but only the pattern selected from the "Target Pattern" list will be shown. (SEE LIMITATIONS)
The vast majority of other features are held in the one, two, and three candle pattern sections.
For one-candle patterns, there are:
3 — Settings related to defining 'Tall' candles:
The number of candles to sample for previous candle-size averages.
The type of comparison done for 'Tall' Candles: Settings are 'RANGE' and 'BODY'.
The 'Tolerance' for tall candles, specifying what percent of the 'average' size candles must exceed to be considered 'Tall'.
When 'Tall Candle Setting' is set to RANGE, the high-low ranges are what the current candle range will be compared against to determine if a candle is 'Tall'. Otherwise the candle bodies (absolute value of the close - open) will be compared instead. (SEE LIMITATIONS)
Hammer Tolerance - How large a 'discarded wick' may be before it disqualifies a candle from being a 'Hammer'.
Discarded wicks are compared to the size of the Hammer's candle body and are dependent upon the body's center position. Hammer bodies closer to the high of the candle will have the upper wick used as its 'discarded wick', otherwise the lower wick is used.
9 — Doji Settings, some pulled from an old Doji Hunter I made a while back:
Doji Tolerance - How large the body of a candle may be compared to the range to be considered a 'Doji'.
Ignore N/S Dojis - Turns off Trend Direction for non-special Dojis.
GS/DF Doji Settings - 2 Inputs that enable and specify how large wicks that typically disqualify Dojis from being 'Gravestone' or 'Dragonfly' Dojis may be.
4 Settings related to 'Long Wick Doji' candles detailed below.
A Tolerance for 'Rickshaw Man' Dojis specifying how close the center of the body must be to the range to be valid.
The 4 settings the user may modify for 'Long Legged' Dojis are: A Sample Base for determining the previous average of wicks, a Sample Length specifying how far back to look for these averages, a Behavior Setting to define how 'Long Legged' Dojis are recognized, and a tolerance to specify how large in comparison to the prior wicks a Doji's wicks must be to be considered 'Long Legged'.
The 'Sample Base' list has two settings:
RANGE: The wicks of prior candles are compared to their candle ranges and the 'wick averages' will be what the average percent of ranges were in the sample.
WICKS: The size of the wicks themselves are averaged and returned for comparing against the current wicks of a Doji.
The 'Behavior' list has three settings:
ONE: Only one wick length needs to exceed the average by the tolerance for a Doji to be considered 'Long Legged'.
BOTH: Both wick lengths need to exceed the average of the tolerance of their respective wicks (upper wicks are compared to upper wicks, lower wicks compared to lower) to be considered 'Long Legged'.
AVG: Both wicks and the averages of the previous wicks are added together, divided by two, and compared. If the 'average' of the current wicks exceeds this combined average of prior wicks by the tolerance, then this would constitute a valid 'Long Legged' Doji. (For Dojis in general - SEE LIMITATIONS)
The final input is one related to candle patterns which require a Marubozu candle in them. The two settings for this input are 'INCLUSIVE' and 'EXCLUSIVE'. If INCLUSIVE is selected, any opening/closing variant of Marubozu candles will be allowed in the patterns that require them.
For two-candle patterns, there are:
2 — Settings which define 'Engulfing' parameters:
Engulfing Setting - Two options, RANGE or BODY which sets up how one candle may 'engulf' the previous.
Inclusive Engulfing - Boolean which enables if 'engulfing' candles can be equal to the values needed to 'engulf' the prior candle.
For the 'Engulfing Setting':
RANGE: If the second candle's high-low range completely covers the high-low range of the prior candle, this is recognized as 'engulfing'.
BODY: If the second candle's open-close completely covers the open-close of the previous candle, this is recognized as 'engulfing'. (SEE LIMITATIONS)
4 — Booleans specifying different settings for a few patterns:
One which allows for 'opens within body' patterns to let the second candle's open/close values match the prior candles' open/close.
One which forces 'Kicking' patterns to have a gap if the Marubozu setting is set to 'INCLUSIVE'.
And Two which dictate if the individual candles in 'Stomach' patterns need to be 'Tall'.
8 — Floating point values which affect 11 different patterns:
One which determines the distance the close of the first candle in a 'Hammer Inverted' pattern must be to the low to be considered valid.
One which affects how close the opens/closes need to be for all 'Lines' patterns (Bull/Bear Meeting/Separating Lines).
One that allows some leeway with the 'Matching Low' pattern (gives a small range the second candle close may be within instead of needing to match the previous close).
Three tolerances for On Neck/In Neck patterns (2 and 1 respectively).
A tolerance for the Thrusting pattern which give a range the close the second candle may be between the midpoint and close of the first to be considered 'valid'.
A tolerance for the two Tweezers patterns that specifies how close the highs and lows of the patterns need to be to each other to be 'valid'.
The first On Neck tolerance specifies how large the lower wick of the first candle may be (as a % of that candle's range) before the pattern is invalidated. The second tolerance specifies how far up the lower wick to the close the second candle's close may be for this pattern. The third tolerance for the In Neck pattern determines how far into the body of the first candle the second may close to be 'valid'.
For the remaining patterns (3, 4, and 5 candles), there are:
3 — Settings for the Deliberation pattern:
A boolean which forces the open of the third candle to gap above the close of the second.
A tolerance which changes the proximity of the third candle's open to the second candle's close in this pattern.
A tolerance that sets the maximum size the third candle may be compared to the average of the first two candles.
One boolean value for the Two Crows patterns (standard and Upside Gapping) that forces the first two candles in the patterns to completely gap if disabled (candle 1's close < candle 2's low).
10 — Floating point values for the remaining patterns:
One tolerance for defining how much the size of each candle in the Identical Black Crows pattern may deviate from the average of themselves to be considered valid.
One tolerance for setting how close the opens/closes of certain three candle patterns may be to each other's opens/closes.*
Three floating point values that affect the Three Stars in the South pattern.
One tolerance for the Side-by-Side patterns - looks at the second and third candle closes.
One tolerance for the Stick Sandwich pattern - looks at the first and third candle closes.
A floating value that sizes the Concealing Baby Swallow pattern's 3rd candle wick.
Two values for the Ladder Bottom pattern which define a range that the third candle's wick size may be.
* This affects the Three Black Crows (non-identical) and Three White Soldiers patterns, each require the opens and closes of every candle to be near each other.
The first tolerance of the Three Stars in the South pattern affects the first candle body's center position, and defines where it must be above to be considered valid. The second tolerance specifies how close the second candle must be to this same position, as well as the deviation the ratio the candle body to its range may be in comparison to the first candle. The third restricts how large the second candle range may be in comparison to the first (prevents this pattern from being recognized if the second candle is similar to the first but larger).
The last two floating point values define upper and lower limits to the wick size of a Ladder Bottom's fourth candle to be considered valid.
█ HOW TO USE
While there are many moving parts to this script, I attempted to set the default values with what I believed may help identify the most patterns within reasonable definitions. When this script is applied to a chart, the Candle Detection Mode (along with the BREAKOUT settings) and all candle switches must be confirmed before patterns are displayed. All switches are on by default, so this gives the user an opportunity to pick which patterns to identify first before playing around in the settings.
All of the settings/inputs described above are meant for experimentation. I encourage the user to tweak these values at will to find which set ups work best for whichever charts they decide to apply these patterns to.
Refer to the patterns themselves during experimentation. The statistic information provided on the tooltips of the patterns are meant to help guide input decisions. The breadth of candlestick theory is deep, and this was an attempt at capturing what I could in its sea of information.
█ LIMITATIONS
DISCLAIMER: While it may seem a bit paradoxical that this script aims to use past performance to potentially measure future results, past performance is not indicative of future results . Markets are highly adaptive and often unpredictable. This script is meant as an informational tool to show how patterns may behave. There is no guarantee that confidence intervals (or any other metric measured with this script) are accurate to the performance of patterns; caution must be exercised with all patterns identified regardless of how much information regarding prior performance is available.
Candlestick Theory - In the name, Candlestick Theory is a theory , and all theories come with their own limits. Some patterns identified by this script may be completely useless/unprofitable/unpredictable regardless of whatever combination of settings are used to identify them. However, if I truly believed this theory had no merit, this script would not exist. It is important to understand that this is a tool meant to be utilized with an array of others to procure positive (or negative, looking at you, short sellers ) results when navigating the complex world of finance.
To address the functionality note however, this script has an offset of 1 by default. Patterns will not be identified on the currently closing candle, only on the candle which has most recently closed. Attempting to have this script do both (offset by one or identify on close) lead to more trouble than it was worth. I personally just want users to be aware that patterns will not be identified immediately when they appear.
Trend Direction - Moving Averages - There is a small quirk with how MA settings will be adjusted if the user inputs two moving averages of the same length when the "MA Setting" is set to 'BOTH'. If Moving Averages have the same length, this script will default to only using MA 1 regardless of if the types of Moving Averages are different . I will experiment in the future to alleviate/reduce this restriction.
Price Analysis - BREAKOUT mode - With how identifying patterns with a look-ahead confirmation works, the percent returns for patterns that break out in either direction will be calculated on the same candle regardless of if P/L Offset is set to 'FROM CONFIRMATION' or 'FROM APPEARANCE'. This same issue is present in the Hikkake Hunter script mentioned earlier. This does not mean the P/L calculations are incorrect , the offset for the calculation is set by the number of candles required to confirm the pattern if 'FROM APPEARANCE' is selected. It just means that these two different P/L calculations will complete at the same time independent of the setting that's been selected.
Adaptive Coloring/Hard Limiting - Hard Limiting is only used with Adaptive Coloring and has no effect outside of it. If Hard Limiting is used, it is recommended to increase the 'Positive' and 'Negative' return tolerance values as a pattern's bullish/bearishness may be disproportionately represented with the gradient generated under a hard limit.
TARGET MODE - This mode will break rules regarding patterns that are overridden on purpose. If a pattern selected in TARGET mode would have otherwise been absorbed by a larger pattern, it will have that pattern's percent return calculated; potentially leading to duplicate returns being included in the matrix of all returns recognized by this script.
'Tall' Candle Setting - This is a wide-reaching setting, as approximately 30 different patterns or so rely on defining 'Tall' candles. Changing how 'Tall' candles are defined whether by the tolerance value those candles need to exceed or by the values of the candle used for the baseline comparison (RANGE/BODY) can wildly affect how this script functions under certain conditions. Refer to the tooltip of these settings for more information on which specific patterns are affected by this.
Doji Settings - There are roughly 10 or so two to three candle patterns which have Dojis as a part of them. If all Dojis are disabled, it will prevent some of these larger patterns from being recognized. This is a dependency issue that I may address in the future.
'Engulfing' Setting - Functionally, the two 'Engulfing' settings are quite different. Because of this, the 'RANGE' setting may cause certain patterns that would otherwise be valid under textbook and online references/definitions to not be recognized as such (like the Upside Gap Two Crows or Three Outside down).
█ PATTERN LIST
This script recognizes 85 patterns upon initial release. I am open to adding additional patterns to it in the future and any comments/suggestions are appreciated. It recognizes:
15 — 1 Candle Patterns
4 Hammer type patterns: Regular Hammer, Takuri Line, Shooting Star, and Hanging Man
9 Doji Candles: Regular Dojis, Northern/Southern Dojis, Gravestone/Dragonfly Dojis, Gapping Up/Down Dojis, and Long-Legged/Rickshaw Man Dojis
White/Black Long Days
32 — 2 Candle Patterns
4 Engulfing type patterns: Bullish/Bearish Engulfing and Last Engulfing Top/Bottom
Dark Cloud Cover
Bullish/Bearish Doji Star patterns
Hammer Inverted
Bullish/Bearish Haramis + Cross variants
Homing Pigeon
Bullish/Bearish Kicking
4 Lines type patterns: Bullish/Bearish Meeting/Separating Lines
Matching Low
On/In Neck patterns
Piercing pattern
Shooting Star (2 Lines)
Above/Below Stomach patterns
Thrusting
Tweezers Top/Bottom patterns
Two Black Gapping
Rising/Falling Window patterns
29 — 3 Candle Patterns
Bullish/Bearish Abandoned Baby patterns
Advance Block
Collapsing Doji Star
Deliberation
Upside/Downside Gap Three Methods patterns
Three Inside/Outside Up/Down patterns (4 total)
Bullish/Bearish Side-by-Side patterns
Morning/Evening Star patterns + Doji variants
Stick Sandwich
Downside/Upside Tasuki Gap patterns
Three Black Crows + Identical variation
Three White Soldiers
Three Stars in the South
Bullish/Bearish Tri-Star patterns
Two Crows + Upside Gap variant
Unique Three River Bottom
3 — 4 Candle Patterns
Concealing Baby Swallow
Bullish/Bearish Three Line Strike patterns
6 — 5 Candle Patterns
Bullish/Bearish Breakaway patterns
Ladder Bottom
Mat Hold
Rising/Falling Three Methods patterns
█ WORKS CITED
Because of the amount of time needed to complete this script, I am unable to provide exact dates for when some of these references were used. I will also not provide every single reference, as citing a reference for each individual pattern and the place it was reviewed would lead to a bibliography larger than this script and its description combined. There were five major resources I used when building this script, one book, two websites (for various different reasons including patterns, moving averages, and various other articles of information), various scripts from TradingView's public library (including TradingView's own source code for *all* candle patterns ), and PineScrypt's reference manual.
Bulkowski, Thomas N. Encyclopedia of Candlestick Patterns . Hoboken, New Jersey: John Wiley & Sons Inc., 2008. E-book (google books).
Various. Numerous webpages. CandleScanner . 2023. online. Accessed 2020 - 2023.
Various. Numerous webpages. Investopedia . 2023. online. Accessed 2020 - 2023.
█ AKNOWLEDGEMENTS
I want to take the time here to thank all of my friends and family, both online and in real life, for the support they've given me over the last few years in this endeavor. My pets who tried their hardest to keep me from completing it. And work for the grit to continue pushing through until this script's completion.
This belongs to me just as much as it does anyone else. Whether you are an institutional trader, gold bug hedging against the dollar, retail ape who got in on a squeeze, or just parents trying to grow their retirement/save for the kids. This belongs to everyone.
Private Beta for new features to be tested can be found here .
Vires In Numeris
Inverse Head and Shoulders Patterns [theEccentricTrader]█ OVERVIEW
This indicator automatically draws inverse head and shoulders patterns and price projections derived from the ranges that constitute the patterns.
█ CONCEPTS
Green and Red Candles
• A green candle is one that closes with a close price equal to or above the price it opened.
• A red candle is one that closes with a close price that is lower than the price it opened.
Swing Highs and Swing Lows
• A swing high is a green candle or series of consecutive green candles followed by a single red candle to complete the swing and form the peak.
• A swing low is a red candle or series of consecutive red candles followed by a single green candle to complete the swing and form the trough.
Peak and Trough Prices (Basic)
• The peak price of a complete swing high is the high price of either the red candle that completes the swing high or the high price of the preceding green candle, depending on which is higher.
• The trough price of a complete swing low is the low price of either the green candle that completes the swing low or the low price of the preceding red candle, depending on which is lower.
Historic Peaks and Troughs
The current, or most recent, peak and trough occurrences are referred to as occurrence zero. Previous peak and trough occurrences are referred to as historic and ordered numerically from right to left, with the most recent historic peak and trough occurrences being occurrence one.
Upper Trends
• A return line uptrend is formed when the current peak price is higher than the preceding peak price.
• A downtrend is formed when the current peak price is lower than the preceding peak price.
• A double-top is formed when the current peak price is equal to the preceding peak price.
Lower Trends
• An uptrend is formed when the current trough price is higher than the preceding trough price.
• A return line downtrend is formed when the current trough price is lower than the preceding trough price.
• A double-bottom is formed when the current trough price is equal to the preceding trough price.
Range
The range is simply the difference between the current peak and current trough prices, generally expressed in terms of points or pips.
Support and Resistance
• Support refers to a price level where the demand for an asset is strong enough to prevent the price from falling further.
• Resistance refers to a price level where the supply of an asset is strong enough to prevent the price from rising further.
Support and resistance levels are important because they can help traders identify where the price of an asset might pause or reverse its direction, offering potential entry and exit points. For example, a trader might look to buy an asset when it approaches a support level , with the expectation that the price will bounce back up. Alternatively, a trader might look to sell an asset when it approaches a resistance level , with the expectation that the price will drop back down.
It's important to note that support and resistance levels are not always relevant, and the price of an asset can also break through these levels and continue moving in the same direction.
Breakouts and Breakdowns
• A breakout occurs when the price of an asset breaks above a resistance level.
• A breakdown occurs when the price of an asset breaks below a support level.
• A confirmed breakout occurs when the price of an asset breaks and closes above a resistance level.
• A confirmed breakdown occurs when the price of an asset breaks and closes below a support level.
It's important to note that breakouts and breakdowns of resistance and support levels are not always relevant, and the price of an asset can also reverse once it has broken through a level to carry on in the opposite direction.
Trendlines
Trendlines are straight lines that are drawn between two or more points on a price chart. These lines are used as dynamic support and resistance levels for making strategic decisions and predictions about future price movements. For example traders will look for price movements along, and reactions to, trendlines in the form of rejections or breakouts/downs.
Inverse Head and Shoulders Patterns
Inverse head and shoulders patterns are generally characterised by three troughs with the one in the middle being the lowest of the three.
The current peak acts as neckline resistance and the trendline drawn from the preceding peak to current peak acts as dynamic neckline resistance.
Traders typically look for breakouts of Inverse head and shoulders necklines to identify potential trading opportunities, with targets and stop losses set as multiples of the pattern's range.
█ FEATURES
Inputs
• Show Historic
• Show Necklines
• Show Dynamic Necklines
• Show Projections
• Pattern Color
• Pattern Neckline Color
• Extend Current Pattern Lines
• Extend Current Pattern Necklines
• Extend Current Projection Lines
█ LIMITATIONS
All green and red candle calculations are based on differences between open and close prices, as such I have made no attempt to account for green candles that gap lower and close below the close price of the preceding candle, or red candles that gap higher and close above the close price of the preceding candle. This may cause some unexpected behaviour on some markets and timeframes. I can only recommend using 24-hour markets, if and where possible, as there are far fewer gaps and, generally, more data to work with.
Head and Shoulders Patterns [theEccentricTrader]█ OVERVIEW
This indicator automatically draws head and shoulders patterns and price projections derived from the ranges that constitute the patterns.
█ CONCEPTS
Green and Red Candles
• A green candle is one that closes with a close price equal to or above the price it opened.
• A red candle is one that closes with a close price that is lower than the price it opened.
Swing Highs and Swing Lows
• A swing high is a green candle or series of consecutive green candles followed by a single red candle to complete the swing and form the peak.
• A swing low is a red candle or series of consecutive red candles followed by a single green candle to complete the swing and form the trough.
Peak and Trough Prices (Basic)
• The peak price of a complete swing high is the high price of either the red candle that completes the swing high or the high price of the preceding green candle, depending on which is higher.
• The trough price of a complete swing low is the low price of either the green candle that completes the swing low or the low price of the preceding red candle, depending on which is lower.
Historic Peaks and Troughs
The current, or most recent, peak and trough occurrences are referred to as occurrence zero. Previous peak and trough occurrences are referred to as historic and ordered numerically from right to left, with the most recent historic peak and trough occurrences being occurrence one.
Upper Trends
• A return line uptrend is formed when the current peak price is higher than the preceding peak price.
• A downtrend is formed when the current peak price is lower than the preceding peak price.
• A double-top is formed when the current peak price is equal to the preceding peak price.
Lower Trends
• An uptrend is formed when the current trough price is higher than the preceding trough price.
• A return line downtrend is formed when the current trough price is lower than the preceding trough price.
• A double-bottom is formed when the current trough price is equal to the preceding trough price.
Range
The range is simply the difference between the current peak and current trough prices, generally expressed in terms of points or pips.
Support and Resistance
• Support refers to a price level where the demand for an asset is strong enough to prevent the price from falling further.
• Resistance refers to a price level where the supply of an asset is strong enough to prevent the price from rising further.
Support and resistance levels are important because they can help traders identify where the price of an asset might pause or reverse its direction, offering potential entry and exit points. For example, a trader might look to buy an asset when it approaches a support level , with the expectation that the price will bounce back up. Alternatively, a trader might look to sell an asset when it approaches a resistance level , with the expectation that the price will drop back down.
It's important to note that support and resistance levels are not always relevant, and the price of an asset can also break through these levels and continue moving in the same direction.
Breakouts and Breakdowns
• A breakout occurs when the price of an asset breaks above a resistance level.
• A breakdown occurs when the price of an asset breaks below a support level.
• A confirmed breakout occurs when the price of an asset breaks and closes above a resistance level.
• A confirmed breakdown occurs when the price of an asset breaks and closes below a support level.
It's important to note that breakouts and breakdowns of resistance and support levels are not always relevant, and the price of an asset can also reverse once it has broken through a level to carry on in the opposite direction.
Trendlines
Trendlines are straight lines that are drawn between two or more points on a price chart. These lines are used as dynamic support and resistance levels for making strategic decisions and predictions about future price movements. For example traders will look for price movements along, and reactions to, trendlines in the form of rejections or breakouts/downs.
Head and Shoulders Patterns
Head and shoulders patterns are generally characterised by three peaks with the one in the middle being the highest of the three.
The current trough acts as neckline support and the trendline drawn from the preceding trough to current trough acts as dynamic neckline support.
Traders typically look for breakdowns of head and shoulders necklines to identify potential trading opportunities, with targets and stop losses set as multiples of the pattern's range.
█ FEATURES
Inputs
• Show Historic
• Show Necklines
• Show Dynamic Necklines
• Show Projections
• Pattern Color
• Pattern Neckline Color
• Extend Current Pattern Lines
• Extend Current Pattern Necklines
• Extend Current Projection Lines
█ LIMITATIONS
All green and red candle calculations are based on differences between open and close prices, as such I have made no attempt to account for green candles that gap lower and close below the close price of the preceding candle, or red candles that gap higher and close above the close price of the preceding candle. This may cause some unexpected behaviour on some markets and timeframes. I can only recommend using 24-hour markets, if and where possible, as there are far fewer gaps and, generally, more data to work with.
Descending Inv. Head and Shoulders Patterns [theEccentricTrader]█ OVERVIEW
This indicator automatically draws descending inverse head and shoulders patterns and price projections derived from the ranges that constitute the patterns.
█ CONCEPTS
Green and Red Candles
• A green candle is one that closes with a close price equal to or above the price it opened.
• A red candle is one that closes with a close price that is lower than the price it opened.
Swing Highs and Swing Lows
• A swing high is a green candle or series of consecutive green candles followed by a single red candle to complete the swing and form the peak.
• A swing low is a red candle or series of consecutive red candles followed by a single green candle to complete the swing and form the trough.
Peak and Trough Prices (Basic)
• The peak price of a complete swing high is the high price of either the red candle that completes the swing high or the high price of the preceding green candle, depending on which is higher.
• The trough price of a complete swing low is the low price of either the green candle that completes the swing low or the low price of the preceding red candle, depending on which is lower.
Historic Peaks and Troughs
The current, or most recent, peak and trough occurrences are referred to as occurrence zero. Previous peak and trough occurrences are referred to as historic and ordered numerically from right to left, with the most recent historic peak and trough occurrences being occurrence one.
Upper Trends
• A return line uptrend is formed when the current peak price is higher than the preceding peak price.
• A downtrend is formed when the current peak price is lower than the preceding peak price.
• A double-top is formed when the current peak price is equal to the preceding peak price.
Lower Trends
• An uptrend is formed when the current trough price is higher than the preceding trough price.
• A return line downtrend is formed when the current trough price is lower than the preceding trough price.
• A double-bottom is formed when the current trough price is equal to the preceding trough price.
Range
The range is simply the difference between the current peak and current trough prices, generally expressed in terms of points or pips.
Support and Resistance
• Support refers to a price level where the demand for an asset is strong enough to prevent the price from falling further.
• Resistance refers to a price level where the supply of an asset is strong enough to prevent the price from rising further.
Support and resistance levels are important because they can help traders identify where the price of an asset might pause or reverse its direction, offering potential entry and exit points. For example, a trader might look to buy an asset when it approaches a support level , with the expectation that the price will bounce back up. Alternatively, a trader might look to sell an asset when it approaches a resistance level , with the expectation that the price will drop back down.
It's important to note that support and resistance levels are not always relevant, and the price of an asset can also break through these levels and continue moving in the same direction.
Breakouts and Breakdowns
• A breakout occurs when the price of an asset breaks above a resistance level.
• A breakdown occurs when the price of an asset breaks below a support level.
• A confirmed breakout occurs when the price of an asset breaks and closes above a resistance level.
• A confirmed breakdown occurs when the price of an asset breaks and closes below a support level.
It's important to note that breakouts and breakdowns of resistance and support levels are not always relevant, and the price of an asset can also reverse once it has broken through a level to carry on in the opposite direction.
Trendlines
Trendlines are straight lines that are drawn between two or more points on a price chart. These lines are used as dynamic support and resistance levels for making strategic decisions and predictions about future price movements. For example traders will look for price movements along, and reactions to, trendlines in the form of rejections or breakouts/downs.
Descending Inverse Head and Shoulders Patterns
Descending inverse head and shoulders patterns are generally characterised by three troughs with the one in the middle being the lowest of the three and the third trough being lower than the first. Similarly, the two peaks that connect the three troughs are also descending, with the second peak, or right shoulder peak, being lower than the preceding peak, or left shoulder peak.
The current peak acts as neckline resistance and the trendline drawn from the preceding peak to current peak acts as dynamic neckline resistance.
Traders typically look for breakouts of descending head and shoulders necklines to identify potential trading opportunities, with targets and stop losses set as multiples of the pattern's range.
█ FEATURES
Inputs
• Show Historic
• Show Necklines
• Show Dynamic Necklines
• Show Projections
• Pattern Color
• Pattern Neckline Color
• Extend Current Pattern Lines
• Extend Current Pattern Necklines
• Extend Current Projection Lines
█ LIMITATIONS
All green and red candle calculations are based on differences between open and close prices, as such I have made no attempt to account for green candles that gap lower and close below the close price of the preceding candle, or red candles that gap higher and close above the close price of the preceding candle. This may cause some unexpected behaviour on some markets and timeframes. I can only recommend using 24-hour markets, if and where possible, as there are far fewer gaps and, generally, more data to work with.
Descending Head and Shoulders Patterns [theEccentricTrader]█ OVERVIEW
This indicator automatically draws descending head and shoulders patterns and price projections derived from the ranges that constitute the patterns.
█ CONCEPTS
Green and Red Candles
• A green candle is one that closes with a close price equal to or above the price it opened.
• A red candle is one that closes with a close price that is lower than the price it opened.
Swing Highs and Swing Lows
• A swing high is a green candle or series of consecutive green candles followed by a single red candle to complete the swing and form the peak.
• A swing low is a red candle or series of consecutive red candles followed by a single green candle to complete the swing and form the trough.
Peak and Trough Prices (Basic)
• The peak price of a complete swing high is the high price of either the red candle that completes the swing high or the high price of the preceding green candle, depending on which is higher.
• The trough price of a complete swing low is the low price of either the green candle that completes the swing low or the low price of the preceding red candle, depending on which is lower.
Historic Peaks and Troughs
The current, or most recent, peak and trough occurrences are referred to as occurrence zero. Previous peak and trough occurrences are referred to as historic and ordered numerically from right to left, with the most recent historic peak and trough occurrences being occurrence one.
Upper Trends
• A return line uptrend is formed when the current peak price is higher than the preceding peak price.
• A downtrend is formed when the current peak price is lower than the preceding peak price.
• A double-top is formed when the current peak price is equal to the preceding peak price.
Lower Trends
• An uptrend is formed when the current trough price is higher than the preceding trough price.
• A return line downtrend is formed when the current trough price is lower than the preceding trough price.
• A double-bottom is formed when the current trough price is equal to the preceding trough price.
Range
The range is simply the difference between the current peak and current trough prices, generally expressed in terms of points or pips.
Support and Resistance
• Support refers to a price level where the demand for an asset is strong enough to prevent the price from falling further.
• Resistance refers to a price level where the supply of an asset is strong enough to prevent the price from rising further.
Support and resistance levels are important because they can help traders identify where the price of an asset might pause or reverse its direction, offering potential entry and exit points. For example, a trader might look to buy an asset when it approaches a support level , with the expectation that the price will bounce back up. Alternatively, a trader might look to sell an asset when it approaches a resistance level , with the expectation that the price will drop back down.
It's important to note that support and resistance levels are not always relevant, and the price of an asset can also break through these levels and continue moving in the same direction.
Breakouts and Breakdowns
• A breakout occurs when the price of an asset breaks above a resistance level.
• A breakdown occurs when the price of an asset breaks below a support level.
• A confirmed breakout occurs when the price of an asset breaks and closes above a resistance level.
• A confirmed breakdown occurs when the price of an asset breaks and closes below a support level.
It's important to note that breakouts and breakdowns of resistance and support levels are not always relevant, and the price of an asset can also reverse once it has broken through a level to carry on in the opposite direction.
Trendlines
Trendlines are straight lines that are drawn between two or more points on a price chart. These lines are used as dynamic support and resistance levels for making strategic decisions and predictions about future price movements. For example traders will look for price movements along, and reactions to, trendlines in the form of rejections or breakouts/downs.
Descending Head and Shoulders Patterns
Descending head and shoulders patterns are generally characterised by three peaks with the one in the middle being the highest of the three and the third peak being lower than the first. Similarly, the two troughs that connect the three peaks are also descending, with the second trough, or right shoulder trough, being lower than the preceding trough, or left shoulder trough.
The current trough acts as neckline support and the trendline drawn from the preceding trough to current trough acts as dynamic neckline support.
Traders typically look for breakouts of descending head and shoulders necklines to identify potential trading opportunities, with targets and stop losses set as multiples of the pattern's range.
█ FEATURES
Inputs
• Show Historic
• Show Necklines
• Show Dynamic Necklines
• Show Projections
• Pattern Color
• Pattern Neckline Color
• Extend Current Pattern Lines
• Extend Current Pattern Necklines
• Extend Current Projection Lines
█ LIMITATIONS
All green and red candle calculations are based on differences between open and close prices, as such I have made no attempt to account for green candles that gap lower and close below the close price of the preceding candle, or red candles that gap higher and close above the close price of the preceding candle. This may cause some unexpected behaviour on some markets and timeframes. I can only recommend using 24-hour markets, if and where possible, as there are far fewer gaps and, generally, more data to work with.
Ascending Inv. Head and Shoulders Patterns [theEccentricTrader]█ OVERVIEW
This indicator automatically draws ascending inverse head and shoulders patterns and price projections derived from the ranges that constitute the patterns.
█ CONCEPTS
Green and Red Candles
• A green candle is one that closes with a close price equal to or above the price it opened.
• A red candle is one that closes with a close price that is lower than the price it opened.
Swing Highs and Swing Lows
• A swing high is a green candle or series of consecutive green candles followed by a single red candle to complete the swing and form the peak.
• A swing low is a red candle or series of consecutive red candles followed by a single green candle to complete the swing and form the trough.
Peak and Trough Prices (Basic)
• The peak price of a complete swing high is the high price of either the red candle that completes the swing high or the high price of the preceding green candle, depending on which is higher.
• The trough price of a complete swing low is the low price of either the green candle that completes the swing low or the low price of the preceding red candle, depending on which is lower.
Historic Peaks and Troughs
The current, or most recent, peak and trough occurrences are referred to as occurrence zero. Previous peak and trough occurrences are referred to as historic and ordered numerically from right to left, with the most recent historic peak and trough occurrences being occurrence one.
Upper Trends
• A return line uptrend is formed when the current peak price is higher than the preceding peak price.
• A downtrend is formed when the current peak price is lower than the preceding peak price.
• A double-top is formed when the current peak price is equal to the preceding peak price.
Lower Trends
• An uptrend is formed when the current trough price is higher than the preceding trough price.
• A return line downtrend is formed when the current trough price is lower than the preceding trough price.
• A double-bottom is formed when the current trough price is equal to the preceding trough price.
Range
The range is simply the difference between the current peak and current trough prices, generally expressed in terms of points or pips.
Support and Resistance
• Support refers to a price level where the demand for an asset is strong enough to prevent the price from falling further.
• Resistance refers to a price level where the supply of an asset is strong enough to prevent the price from rising further.
Support and resistance levels are important because they can help traders identify where the price of an asset might pause or reverse its direction, offering potential entry and exit points. For example, a trader might look to buy an asset when it approaches a support level , with the expectation that the price will bounce back up. Alternatively, a trader might look to sell an asset when it approaches a resistance level , with the expectation that the price will drop back down.
It's important to note that support and resistance levels are not always relevant, and the price of an asset can also break through these levels and continue moving in the same direction.
Breakouts and Breakdowns
• A breakout occurs when the price of an asset breaks above a resistance level.
• A breakdown occurs when the price of an asset breaks below a support level.
• A confirmed breakout occurs when the price of an asset breaks and closes above a resistance level.
• A confirmed breakdown occurs when the price of an asset breaks and closes below a support level.
It's important to note that breakouts and breakdowns of resistance and support levels are not always relevant, and the price of an asset can also reverse once it has broken through a level to carry on in the opposite direction.
Trendlines
Trendlines are straight lines that are drawn between two or more points on a price chart. These lines are used as dynamic support and resistance levels for making strategic decisions and predictions about future price movements. For example traders will look for price movements along, and reactions to, trendlines in the form of rejections or breakouts/downs.
Ascending Inverse Head and Shoulders Patterns
Ascending inverse head and shoulders patterns are generally characterised by three troughs with the one in the middle being the lowest of the three and the third trough being higher than the first. Similarly, the two peaks that connect the three troughs are also ascending, with the second peak, or right shoulder peak, being higher than the preceding peak, or left shoulder peak.
The current peak acts as neckline resistance and the trendline drawn from the preceding peak to current peak acts as dynamic neckline resistance.
Traders typically look for breakouts of ascending inverse head and shoulders necklines to identify potential trading opportunities, with targets and stop losses set as multiples of the pattern's range.
█ FEATURES
Inputs
• Show Historic
• Show Necklines
• Show Dynamic Necklines
• Show Projections
• Pattern Color
• Pattern Neckline Color
• Extend Current Pattern Lines
• Extend Current Pattern Necklines
• Extend Current Projection Lines
█ LIMITATIONS
All green and red candle calculations are based on differences between open and close prices, as such I have made no attempt to account for green candles that gap lower and close below the close price of the preceding candle, or red candles that gap higher and close above the close price of the preceding candle. This may cause some unexpected behaviour on some markets and timeframes. I can only recommend using 24-hour markets, if and where possible, as there are far fewer gaps and, generally, more data to work with.