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
"Candlestick"に関するスクリプトを検索
Candlestick Trading (Malaysia Stock Market)1. This indicator will indicate signals of bearish/bullish candlestick as below:
- 10 Bear Candles: Dark Cloud Cover, Bearish Kickers, Bearish Engulfing, Evening Star, Three Black Crows, Hanging Man, Shooting Star, Tweezer Top, Bearish Harami, Doji
- 10 Bull Candles: Piercing, Bullish Kickers, Bullish Engulfing, Morning Star, Three White Soldiers, Hammer, Inverted Hammer, Tweezer Bottom, Bearish Harami, Doji
2. In order for the Bear Candle signals to appear, these conditions should be met:
- Price must be above MA 1 (preset at SMA 20)
- Price must be above MA 2 (preset at SMA 50)
- Price must be above MA 3 (preset at SMA 200)
- In the range of specified trading days (preset at latest 10 days of trading)
3. For a strong bearish signal, a namely 'Potential Top' signal will appear on the top of the bearish candlestick signal. This 'Potential Top' signal will only appear under the condition of:
- Stochastic is at overbought area (preset at 75%)
4. In order for the Bull Candle signals to appear, these conditions should be met:
- Price must be in between MA 4 (preset at EMA 30) and MA 5 (preset at EMA 100)
- In the range of specified trading days (preset at latest 10 days of trading)
5. For a strong bullish signal, a namely 'Potential Bottom' signal will appear at the bottom of the bullish candlestick signal. This 'Potential Bottom' signal will only appear under the condition of:
- Stochastic is at oversold area (preset at 25%)
6. This indicator can help one to enter/exit a trade based on the bullish/bearish candlestick patterns that appear at the beginning/end of a trend, especially when the 'Potential Bottom/Top' appears with any of bullish/bearish candlestick signal.
7. However, this indicator is only designed for Malaysian Stocks Market as the script is based on the bids/pips calculation of the Malaysian Stocks Market. Nevertheless, I let the script open for everyone to modify it based on your own preference markets/instruments.
8. Hope you guys enjoy it. Thanks.
Candlestick RecognitionCandlestick Recognition
Version 1.0
Fun script to recognize and name candlesticks. Hamers and Highwaves and Marubozus oh my!
All candlestick names can be turned on or off in the settings since sometimes they stack close to each other and are hard to read. If you think I mislabeled any please provide me with an example of what you think it should be and I will review it to see if any changes need to be made. Please keep in mind that each stock will be a little different as the Candlestick Recognition uses ATR (Average True Range) for the calculations.
Volume-Blended Candlesticks [QuantVue]Introducing the Volume-Blended Candlestick Indicator, a powerful tool that seamlessly integrates volume information with candlesticks, providing you with a comprehensive view of market dynamics in a single glance.
The Volume-Blended Candlestick Indicator employs a unique approach of projecting volume totals by calculating the total volume traded per second and comparing it to the time left in the session as well as the historical average length selected by the user.
The indicator then dynamically adjusts the opacity of the candlestick colors based on the intensity of the projected volume. As volume intensifies, the candlestick colors become more pronounced, while low volume will cause colors to fade allowing you to visually perceive the level of buying or selling.
One of the standout features of the Volume-Blended Candlestick Indicator is its ability to identify pocket pivots. A pocket pivot is an up day with volume greater than any of the down days volume in the past 10 days. By highlighting these pocket pivots on your chart, the indicator helps you identify potential stealth accumulation.
In addition to blending volume with candlesticks and spotting pocket pivots, this versatile indicator provides you with an insightful table displaying key volume metrics. The table includes the average volume, average dollar volume, and the up-down volume ratio, allowing you to get a clear picture of buying and selling pressure.
Settings Include:
🔹Sensitivty Level: Normal, More, Less
🔹Volume MA Length
🔹Toggle Color based on previous close
🔹Show or hide volume info
🔹Chose candlestick colors
🔹Show or hide pocket pivots
🔹Show or hide volume info table
Don't hesitate to reach out with any questions or concerns.
We hope you enjoy!
Cheers.
Candlestick Signals StrategyThis strategy allows you to pick from 9 different candlestick patterns, and test them against historical data from your chart. You can get a good idea what patterns work best for each chart by turning each pattern on and off in the settings.
Japanese Candlestick Patterns💡 Japanese Candlesticks are a visual representation of price movements in financial markets. They were first developed by Japanese rice traders in the 18th century to analyze the price of rice contracts, and have since been adopted by traders across the world for a wide range of assets.
📌 A candlestick is composed of a rectangular body and two thin lines, known as wicks, that extend from the top and bottom of the body. The body represents the difference between the opening and closing prices of the asset during a specific time period, while the wicks indicate the high and low prices reached during that period.
📌 By using these and other candlestick patterns, traders can identify potential buying and selling opportunities and manage their risk accordingly. However, it's important to note that candlestick patterns should be used in conjunction with other technical and fundamental analysis tools to make well-informed trading decisions.
📌 Candlestick patterns are particularly useful because they are based on price action rather than external factors such as news or economic data. This makes them useful for traders who employ technical analysis, as they can use candlestick patterns to identify potential trading opportunities and manage their risk accordingly.
🚀 Candlesticks can be used to identify market trends, as well as potential buying and selling opportunities. By analyzing the patterns formed by multiple candlesticks, traders can gain insights into the behavior of the market and make informed trading decisions. Overall, Japanese Candlesticks are a powerful tool for technical analysis that can provide valuable insights into financial markets.
🔍 THE PATTERNS THAT ARE RECOGNIZED:
🔄 Reversal Patterns
* Counterattack Lines
* Dark-Cloud Cover
* Engulfing ( Bearish / Bullish )
* Hammer
* Hanging Man
* Harami ( Bearish / Bullish )
* In Neck
* On Neck
* Piercing
* Three Black Crows
* Thrusting
* Upside Gap Two Crows
⭐️ Stars
* Abandoned Baby
* Evening star
* Inverted Hammer
* Morning Star
* Shooting Star
🎯 Doji
* Doji
* Dragonfly Doji
* Evening Doji Star
* Gravestone Doji
* Long Legged Doji
* Morning Doji Star
🔥 Continuation Patterns
* Falling Three Methods
* Rising Three Methods
* Tasuki ( Upside / Downside )
🥊 Utility
* Long Lower Shadow
* Long Upper Shadow
❤️ Please, support the work with like & comment! ❤️
50% candlestick closeThis indicator is useful at important level, when you want to see some bullish or bearish signs in candlestick.
At your important support level you can buy, if candlestick close is above 50% of its range, with low of this candlestick as SL.
At your important resistance level you can sell, if candlestick close is below 50% of its range, with high of this candlestick as SL.
Classic Candlestick on Range ChartHello traders!
This is my first script to share with everyone! As of right now the range candles on Tradingview are lacking the option to see range charts using the classic candlesticks. This script allows you to overlay a regular candlestick or heikin-ashi candlestick on a range chart!! Unfortunately, the only bar that cannot be a candlestick is the current bar. Once that bar has completed its range then it will update to a regular candlestick.
Install / Use instructions!
-For the best visual appearance it is important to set the transparency of up bars and down bars to 0. This setting is found in the main chart settings under SYMBOL. However, if you want to see the current unfinished range bar you need to set the "projection up bars" and "projection down bars" to the color you prefer.
-To change the colors of the candlesticks is found under the indicator settings like any other script!
Pro Trading Art - Candlestick Patterns with alertAll candlestick pattern based on "Japanese candlestick charting techniques".
Currently Supported List of Candlestick Patterns :
Hammer
Hanging Man
Inverted Hammer
Shooting Star
Morning Star
Evening Star
Bullish Engulfing
Bearish Engulfing
Important Points:
1. You can create alert for all patterns.
2. You can modify multiplier(Length Of Shadow) for Hammer, Hanging Man, Inverted Hammer and Shooting Star
3. You can modify EMA length for upward and downward validation of any pattern.
Volume Filtered *All Candlestick Patterns* [KT] Hello!
This script uses TradingView's *All Candlestick Patterns* indicator and includes a volume filter.
The frequency of each candlestick pattern is recorded in addition to the subsequent session's outcome - higher or lower close.
The requisite volume for the pattern is configurable; formations will not be distinguished when volume is less than the defined lower threshold.
For example, setting the volume threshold to 10% forces the script to identify candlestick patterns in which volume for the session (candle) is 10% greater than the volume moving average. All candlestick patterns with volume less than (1.10 * volume MA) are discounted.
The script counts the frequency of each pattern - the number of times the pattern occurred - in addition to the next candle's outcome.
Pertinent statistics are displayed in the table, which can be hidden.
I plan on working on the script quite a bit more; please comment a suggestion if you have one! What else should be included?
BullDozz MA-CandlesticksBullDozz MA-Candlesticks 🏗️📊
The BullDozz MA-Candlesticks indicator transforms traditional candlesticks by replacing their Open, High, Low, and Close values with various types of Moving Averages (MAs). This helps traders visualize market trends with smoother price action, reducing noise and enhancing decision-making.
🔹 Features:
✅ Choose from multiple MA types: SMA, EMA, WMA, DEMA, TEMA, LSMA
✅ Customizable MA period for flexibility
✅ Candlestick colors based on trend: Green for bullish, Red for bearish
✅ Works on any market and timeframe
This indicator is perfect for traders who want a clearer perspective on price movement using moving average-based candlesticks. 🚀 Try it now and refine your market analysis! 📈🔥
Candlestick Pattern IdentifierMy script builds upon another user-submitted script by rebuilding the logic used to identify candlestick patterns. The logic in my script is a mix of strict and lax guidelines to mitigate false flags and present valid buy and sell signals.
-To use this indicator, simply add it to any chart. It will identify trends on any time frame although the lower you go, the more signals you'll see and the higher probability of those signals being false flags. You can also disable any candlestick patterns that you feel are not as useful.
- This indicator works best with Stocks and also with Forex markets to a lesser extent.
- This indicator works the best on the Daily chart and also works (with varying degrees of success) on any timeframe at or above 1 hour. I've found that this indicator works the best when used in tandem with the Daily and Hourly charts with the Hourly chart being used to determine an entry point while the Daily chart is used for long term trend analysis.
Candlestick Patterns - BisayaTCThe script displays a label when a candle stick pattern is detected based on Trends. This is related to the latest Candlestick patterns released in TradingView. I've created this to have all candlestick patterns in one indicator.
Candlestick Patterns can be one of confirmation of a trend you're following or a reversal.
DISCLAIMER: For educational purposes only. Nothing in this content should be interpreted as financial advice or a recommendation to buy or sell any sort of security or investment including all types of crypto. DYOR
Combined Candlestick PatternsI combined all the build-in candlestick patterns scripts into one single script so anyone who does not have a Pro plan can display all the patterns in the same chart.
Leave a comment for any feedback!
Inside Bar + Bullish and Bearish candlestick [Tarun]
Inside Bar Detection:
The function isInsideBar() checks if a bar is an inside bar, meaning its high is lower than the previous bar's high and its low is higher than the previous bar's low.
Inside bars are highlighted with an orange color.
Bearish Candlestick Patterns:
Bearish Engulfing: When the current candlestick's body completely engulfs the previous candlestick's body.
Dark Cloud Cover: When a bullish candle is followed by a bearish candle that opens above the previous bullish candle's close but closes below its midpoint.
Bearish Harami: When a small bullish candlestick is engulfed by a larger bearish candlestick.
Evening Star: A three-candle pattern consisting of a large bullish candle, a small-bodied candle with a gap up or down, and a large bearish candle that closes below the midpoint of the first candle.
Shooting Star: A single candlestick pattern with a small real body near the bottom of the price range and a long upper shadow.
Bearish Marubozu: A candlestick with a long bearish body and little to no upper or lower shadows.
Bearish candlestick patterns are highlighted with a red color and labeled with abbreviated names.
Bullish Candlestick Patterns:
Bullish Engulfing: Opposite of bearish engulfing, where the current candlestick's body completely engulfs the previous candlestick's body.
Piercing Pattern: When a bearish candle is followed by a bullish candle that opens below the previous bearish candle's low but closes above its midpoint.
Bullish Harami: Similar to bearish harami but bullish, where a small bearish candlestick is engulfed by a larger bullish candlestick.
Morning Star: A three-candle pattern opposite to the evening star, signaling a potential reversal from downtrend to uptrend.
Bullish Hammer: A single candlestick pattern with a small real body near the top of the price range and a long lower shadow.
Bullish Marubozu: A candlestick with a long bullish body and little to no upper or lower shadows.
Bullish candlestick patterns are highlighted with a purple color and labeled with abbreviated names.
Oxy CandlestickOxymoronic (oxy) candlesticks often appear at significant levels in a chart and can indicate increased probabilities of directional moves.
Typically, green candles are hollow and red candles are filled. An oxymoronic candle is colored bullishly but filled bearishly (solid green) or vice versa (hollow red).
Oxy flags occur when:
1) Price gaps up and closes lower than the open but above the last close. A solid green (or black) candle is bearish.
2) Price gaps down and closes higher than the open but below the last close. A hollow red candle is bullish.
An oxy candle indicates one of three things:
1) Price is going up (bullish oxy)
2) Price is going down (bearish oxy)
3) Price will return to this level (either)
#1 and #2 are the default meaning. If those don't play out then look for #3.
As is the case with most indicators, it is best not to use this indicator in isolation, but to combine it with other forms of analysis to increase your probabilities and to identify significant levels.
Hammer and Hanging Man candlesticks detectorSimple script to detect and mark possible reversal candlesticks - "hammer" and reversed version "hanging man".
hammer:
en.wikipedia.org(candlestick_pattern)
hanging man:
en.wikipedia.org(candlestick_pattern)
Crypto Candlestick Patterns - CN VersionIntroduction:
The candlestick chart has been used for centuries since the Japanese applications. Based on the candlestick charting, people developed candle pattern analysis. Now we have tons of books or articles illustrating the usage of reversal patterns and continuation patterns, and computers provide a faster and preciser way to recognize these pattern.
Originally we have a common *All Candlestick Patterns* indicator to use. This indicator works well for most of the markets or commodities including stocks and futures. However, for cryptocurrency market, quite a few patterns are not suitable anymore. For example, crypto markets are continuously running 7x24hrs and the big coins with good volume tend to have almost continuous price in commonly used time periods. Hence, original patterns with "window" or "jump" concepts are usually not applied to crypto.
For these issues, I modified the original *All Candlestick Patterns* indicator and introduced the Chinese version for people speaking such language.
Like most of the other indicators, I personally do not recommend anyone to simply follow the patterns it shows to enter the market. You may take these recognized patterns as a reference, and further actions on trading should be done with several other tools, such as MACD, RSI, Stochastic and etc.
Usage:
The application of this indicator is basically the same as the original *All Candlestick Patterns* and you will get an automatically generated pattern recognition by your computer system.
There are a few parameters to adjust for the indicator:
Trending Detection Settings: Here you can choose SMA-Fast, SMA-Fast/Slow or None detecting options to recognize the current market trend. This is a minor improvement from the original indicator and you can choose your preferred trending detecting settings by changing the length of SMA.
Candlestick Settings: You may adjust the rules to recognize the properties of candlesticks. I add a "perturbation" parameter here, which actually is an error tolerance for pattern recognition. Some seemingly pattern may not fulfill the strict rules of classic candlestick patterns, but we may recognize them by watch the charting on our own. Hence this error tolerance may show more potential patterns from the charting.
Plot Settings: It is the usually colour choice and providing options for bullish/bearish.
Pattern Settings: Here you can select the patterns that you would like to see from the charting. You can pick the preferred reversal patterns or choose to show all the patterns. It's all up to you!
Features:
Language Translation: Since this is a Chinese language version. I have replaced all the English explanation of patterns to Chinese ones. Move your mouse to the label, you will find a brief intro of the pattern and a notice about bullish or bearish signals it indicates.
Alerts: As the same as the original one, we will have the alert options from this indicator. All the alerts and their messages are Chinese. You can activate alerts based on this indicator from the alert management section, as the same as many other indicators you have used before.
Future Improvements:
For now I am satisfied with the work I have done, and I may apply it to several charts. It's welcome for any users to take a look at the codes and put modifications or improvements towards it. Currently most of the comments in the code are in Chinese language, since basically it's for Chinese speaking users, while the code itself and the parameter names should be pretty easy to understand in English. (I have been using English for writing in the past 8 years, hence this introduction is in English as well.)
Custom Candlestick MarkingsThis indicator allows you to filter candlesticks based on their body (the real body) and wick lengths. Specifically, it marks candlesticks based on the following criteria:
For Bearish Candles:
1. The close price is lower than the open price (indicating a bearish candle).
2. The difference between the high and the maximum of open and close is less than or equal to the specified upper wick length.
3. The absolute difference between the close and open is greater than or equal to the specified body height.
For Bullish Candles:
1. The close price is higher than the open price (indicating a bullish candle).
2. The difference between the maximum of open and close and the low is less than or equal to the specified lower wick length.
3. The absolute difference between the close and open is greater than or equal to the specified body height.
These conditions are used to filter and mark candlesticks that meet the specified criteria, allowing you to visually identify them on the chart. This can be useful for technical analysis and identifying specific candlestick patterns or conditions based on body and wick lengths.
Certainly, this indicator can help in identifying trends more easily. Specifically, by applying certain criteria based on the length of candlestick bodies and wicks, it becomes easier to visually capture changes in market trends and specific patterns.
For instance, you can use this indicator to identify candlestick patterns that match specific body heights or wick lengths. This makes it easier to detect signs of trend reversals or trend changes, and it can assist in making trading decisions when combined with trendlines or support and resistance levels.
However, it's common to use this indicator in conjunction with other technical analysis tools and indicators. Confirming trends and pinpointing entry points often requires multiple sources of information and analysis. In investing and trading, thorough research and careful strategy are essential.
Engulfing [TradingFinder] Bullish & Bearish CandleStick Pattern🔵 Introduction
The candlestick engulfing pattern is important pattern in technical analysis that can be observed in candlestick charts. This pattern occurs when a complete candle engulfs or "engulfs" the body of a previous candle, meaning that the body of the new candle completely covers the body of the previous candle.
The candlestick engulfing pattern has two types: the bullish engulfing pattern and the bearish engulfing pattern.
• Bullish Engulfing Pattern: This pattern occurs when a market candle opens with a larger and higher body than the previous market candle and completely covers the body of the previous candle. This pattern may indicate the presence of strong buying pressure and a potential change in price direction upwards.
• Bearish Engulfing Pattern: This pattern occurs when a market candle opens with a larger and lower body than the previous market candle and completely covers the body of the previous candle. This pattern may indicate the presence of strong selling pressure and a potential change in price direction downwards.
The candlestick engulfing pattern is usually used as a valid signal for a change in price direction in the market and can enhance a combination of crossover investments and technical analysis. However, it should always be evaluated alongside other indicators and market factors, and counter decisions should be made accordingly.
🔵 Recognition Method
Correct, the candlestick engulfing pattern is one of the important patterns in technical analysis that is typically used as a strong signal for a valid change in price direction in the market. This pattern occurs when a candle (usually in the market) opens with a larger and higher (for bullish engulfing pattern) or lower (for bearish engulfing pattern) body than a previous market candle and completely covers the body of the previous candle.
Example of Bullish Engulfing Pattern:
• First Candle: A bearish (downward) candle with a small red body.
• Second Candle: A bullish (upward) candle with a larger body that completely covers the body of the previous candle.
This pattern may indicate a change in price direction from downward to upward.
Example of Bearish Engulfing Pattern:
• First Candle: A bullish (upward) candle with a small green body.
• Second Candle: A bearish (downward) candle with a larger body that completely covers the body of the previous candle.
This pattern may indicate a change in price direction from upward to downward.
The most important point is that the candlestick engulfing pattern should be carefully considered and always evaluated alongside other market indicators and overall conditions. For example, the engulfing pattern near important support or resistance levels, during significant market command changes, or accompanied by other technical signals can have greater signaling power.
🟣 "Bullish Engulfing" Candle
• The first candle is bullish and the second candle is bearish.
• At the end of a downtrend.
• The closing of the first candle is above the opening of the second candle.
• The high of the first candle is higher than the high of the second candle.
Optimal Condition:
• The closing of the first candle is higher than the high of the second candle.
• More than 80% of the first candle is bullish.
🟣 "Bearish Engulfing" Candle
• The first candle is bearish and the second candle is bullish.
• At the end of an uptrend.
• The closing of the first candle is below the opening of the second candle.
• The low of the first candle is lower than the low of the second candle.
Optimal Condition:
• The closing of the first candle is below the opening of the second candle.
• More than 80% of the first candle is bearish.
🔵 Settings
The "Engulf Filter" option allows the "Optimal Condition" to be executed and will show fewer candlesticks.
🔵 Status
Off: Default mode, showing more identifications.
• Green color indicates optimal "Bullish Engulfing" candles.
• Red color indicates optimal "Bearish Engulfing" candles.
On: By changing the default to "On," the number of identifications decreases and the optimal condition is applied.
• Blue color indicates "Bullish Engulfing" candles.
• Black color indicates "Bearish Engulfing" candles.
🟣 Important Note
"Engulfing" candles are very useful signals in the direction of the overall trend, but we do not expect a suitable movement from "Engulfing" candles against the trend.
Pure Morning 2.0 - Candlestick Pattern Doji StrategyThe new "Pure Morning 2.0 - Candlestick Pattern Doji Strategy" is a trend-following, intraday cryptocurrency trading system authored by devil_machine.
The system identifies Doji and Morning Doji Star candlestick formations above the EMA60 as entry points for long trades.
For best results we recommend to use on 15-minute, 30-minute, or 1-hour timeframes, and are ideal for high-volatility markets.
The strategy also utilizes a profit target or trailing stop for exits, with stop loss set at the lowest low of the last 100 candles. The strategy's configuration details, such as Doji tolerance, and exit configurations are adjustable.
In this new version 2.0, we've incorporated a new selectable filter. Since the stop loss is set at the lowest low, this filter ensures that this value isn't too far from the entry price, thereby optimizing the Risk-Reward ratio.
In the specific case of ALPINE, a 9% Take-Profit and and Stop-Loss at Lowest Low of the last 100 candles were set, with an activated trailing-stop percentage, Max Loss Filter is not active.
Name : Pure Morning 2.0 - Candlestick Pattern Doji Strategy
Author : @devil_machine
Category : Trend Follower based on candlestick patterns.
Operating mode : Spot or Futures (only long).
Trades duration : Intraday
Timeframe : 15m, 30m, 1H
Market : Crypto
Suggested usage : Short-term trading, when the market is in trend and it is showing high volatility .
Entry : When a Doji or Morning Doji Star formation occurs above the EMA60.
Exit : Profit target or Trailing stop, Stop loss on the lowest low of the last 100 candles.
Configuration :
- Doji Settings (tolerances) for Entry Condition
- Max Loss Filter (Lowest Low filter)
- Exit Long configuration
- Trailing stop
Backtesting :
⁃ Exchange: BINANCE
⁃ Pair: ALPINEUSDT
⁃ Timeframe: 30m
⁃ Fee: 0.075%
⁃ Slippage: 1
- Initial Capital: 10000 USDT
- Position sizing: 10% of Equity
- Start: 2022-02-28 (Out Of Sample from 2022-12-23)
- Bar magnifier: on
Disclaimer : Risk Management is crucial, so adjust stop loss to your comfort level. A tight stop loss can help minimise potential losses. Use at your own risk.
How you or we can improve? Source code is open so share your ideas!
Leave a comment and smash the boost button!
Thanks for your attention, happy to support the TradingView community.
HTF Candlestick Patterns [TradingView] vX by DGTCandlesticks are graphical representations of price movements for a given period of time. They are commonly formed by the opening, high, low, and closing prices of a financial instrument. They have their origins in the centuries-old Japanese rice trade and have made their way into modern day price charting.
It’s important to note that candlestick patterns aren’t necessarily a buy or sell signal by themselves. They are instead a way to look at market structure and a potential indication of an upcoming opportunity. It is always useful to look at candlestick patterns in context like any other market analysis tool and candlestick patterns are most useful when used in combination with other techniques. There are countless candlestick patterns that traders can use to identify areas of interest on a chart, where some candlestick patterns may provide insights into the balance between buyers and sellers, others may indicate a reversal, continuation, or indecision.
Reversal patterns are quite useful when used in context. Reversal patterns should form at the bottom of a downtrend or at the top of an uptrend. Otherwise, they are not a reversal patterns, but continuation patterns. Most reversal patterns require confirmation such as price move in the direction of reversal accompanied by appropriate trading volume. The reversal patterns can further be confirmed through other means of traditional technical analysis—like trend lines, momentum, oscillators, or volume indicators—to reaffirm buying or selling pressure. The patterns themselves do not guarantee that the trend will reverse. Investors should always confirm reversal by the subsequent price action before initiating a trade.
This study implements some of the most commonly used candlestick patterns in a context with directional movement indicator. On request users can adjust the strong trend threshold from dialog box, eighter can disabled correlation with directional movement indicator. To add additional sight to analysis the simple moving averages of 20, 50, 100 and 200 periods are added (configurable)
You may add additional indicators of your choice. Colored DMI, BB Cloud or Price Distance to its MAs may help
Enjoy it!
Disclaimer: The script is for informational and educational purposes only. Use of the script does not constitutes professional and/or financial advice. You alone the sole responsibility of evaluating the script output and risks associated with the use of the script. In exchange for using the script, you agree not to hold dgtrd tradingview user liable for any possible claim for damages arising from any decision you make based on use of the script
Advanced Candlestick Pattern DetectorWhat Does This Indicator Do?
This indicator looks at the way price moves in the market using candlesticks (those red and green bars you see on charts). It tries to find special patterns like Bullish Engulfing, Hammer, Doji, and others. When one of these patterns shows up, the indicator checks a bunch of filters to decide if the pattern is strong enough to be a signal to buy or sell.
The Main Parts of the Indicator
1. Candlestick Pattern Detection
Bullish Engulfing:
Imagine you see a small down candle (red) and then a big up candle (green) that completely “covers” the red one. That’s a bullish engulfing pattern. It can signal that buyers are taking over.
Bearish Engulfing:
The opposite of bullish engulfing. A small up candle (green) is followed by a big down candle (red) that covers the previous candle. This suggests sellers might be in control.
Hammer & Shooting Star:
Hammer: A candle with a very short body and a long shadow at the bottom. It shows that buyers stepped in after a drop.
Shooting Star:
Similar to the hammer but with a long shadow on top. It can indicate that sellers are starting to push the price down.
Doji:
A candle with almost no body. This means the opening and closing prices are very close. It shows indecision in the market.
Harami Patterns (Bullish & Bearish):
These are two-candle patterns where the second candle is completely inside the body of the first candle. They signal that the previous trend might be about to change.
Morning Star & Evening Star:
These are three-candle patterns.
Morning Star:
Often seen at the bottom of a downtrend, it can signal a reversal to an uptrend.
Evening Star:
Seen at the top of an uptrend, it can signal that the price may soon go down.
2. Filters: Making the Signals Smarter
The indicator doesn’t just rely on patterns. It uses several “filters” to decide if a pattern is strong enough to trade on. Here’s what each filter does:
a. Adaptive Thresholds (ATR-Based)
What It Is:
The indicator uses something called ATR (Average True Range) to see how much the price is moving (volatility).
How It Works:
Instead of using fixed numbers to decide if a candle is a Hammer or a Doji, it adjusts these numbers based on current market activity.
User Settings:
Use Adaptive Thresholds: Turn this on to let the indicator adjust automatically.
Body Factor, Shadow Factor, Doji Factor: These numbers are multipliers that decide how small or big the body and shadows of the candle should be. You can change them if you want the indicator to be more or less sensitive.
b. Volume Filter
What It Is:
Volume shows how many trades are happening.
How It Works:
The filter checks if the current volume is higher than the average volume (multiplied by a set factor). This helps ensure that the signal isn’t coming from a very quiet market.
User Settings:
Use Volume Filter: Turn this on if you want to ignore signals when there’s not much trading.
Volume MA Period & Volume Multiplier: These settings determine what “normal” volume is and how much higher the current volume must be to count.
c. Multi-Timeframe Trend Filter
What It Is:
This filter looks at a bigger picture by using a moving average (MA) from a higher timeframe (for example, daily charts).
How It Works:
For a bullish (buy) signal, the indicator checks if the price is above this MA.
For a bearish (sell) signal, the price must be below the MA.
User Settings:
Use Multi-Timeframe Trend Filter: Enable or disable this filter.
Higher Timeframe for Trend: Choose which timeframe (like Daily) to use.
Trend MA Type (SMA or EMA) & Trend MA Period: Choose the type of moving average and how many candles to average.
d. Additional Trend Filters (ADX & RSI)
ADX Filter:
What It Is:
ADX stands for Average Directional Index. It measures how strong a trend is.
How It Works:
If the ADX is above a certain threshold, it means the trend is strong.
User Setting:
ADX Threshold: Set the minimum strength the trend should have.
RSI Filter:
What It Is:
RSI (Relative Strength Index) tells you if the price is overbought (too high) or oversold (too low).
How It Works:
For a buy signal, RSI should be low (under a set threshold).
For a sell signal, RSI should be high (above a set threshold).
User Settings:
RSI Buy Threshold & RSI Sell Threshold: These set the levels for buying or selling.
3. How the Final Signal Is Determined
For a signal (buy or sell) to be generated, the indicator first checks if one of the candlestick patterns is present. Then it goes through all these filters (trend, volume, ADX, RSI). Only if everything is in line will it show:
A BUY signal when all bullish conditions are met.
A SELL signal when all bearish conditions are met.
4. Visual Elements on the Chart
Trend MA Line:
A blue line is drawn on your chart showing the moving average from the higher timeframe (if you enable the trend filter). This helps you see the overall direction of the market.
Labels on the Chart:
When a signal is detected, you’ll see:
A BUY label below the candle (green).
A SELL label above the candle (red).
Background Colors:
The chart background might change slightly (green for bullish and red for bearish) to give you a quick visual cue.
Histogram:
At the bottom, there is a histogram that shows +1 for bullish signals, -1 for bearish signals, and 0 when there’s no clear signal.
5. Alerts
Alerts are built into the indicator so you can get a notification when a signal appears. The alert messages are fixed strings, meaning they always say something like “BUY signal on at price .” You can set up these alerts in TradingView to be notified via sound, email, or pop-up.
How to Use and Adjust the Filters
Deciding on Patterns:
You can choose which candlestick patterns you want to detect by toggling the options (e.g., Bullish Engulfing, Hammer, etc.).
Adjusting Adaptive Thresholds:
If you feel that the indicator is too sensitive (or not sensitive enough) during volatile times, adjust the Body Factor, Shadow Factor, and Doji Factor. These change how the indicator recognizes different candle shapes based on market movement.
Volume Filter Settings:
Use Volume Filter:
Turn this on if you want to ignore signals when there’s not enough trading activity.
Adjust the Volume MA Period and Volume Multiplier to change what “normal” volume is for your chart.
Multi-Timeframe Trend Filter Settings:
Choose a higher timeframe (like Daily) to see the bigger picture trend. Select the type of moving average (SMA or EMA) and its period. This filter ensures you only trade in the direction of the overall trend.
ADX & RSI Filters:
ADX:
Adjust the ADX Threshold if you want to change the minimum strength of the trend needed for a signal.
RSI:
Set the RSI Buy Threshold (for oversold conditions) and RSI Sell Threshold (for overbought conditions) to refine when a signal is valid.
Summary
This indicator is like having a smart assistant that not only looks for specific price patterns (candlesticks) but also checks if the overall market conditions are right using several filters. By combining:
Pattern Detection
Adaptive thresholds (based on ATR)
Volume Checks
Multi-Timeframe Trend Analysis
Additional Trend Strength and Overbought/Oversold Indicators (ADX & RSI)
...it helps you decide if it might be a good time to buy or sell. You can customize each part to fit your trading style, and with the built-in alerts, you can be notified when everything lines up.
Feel free to adjust the settings to see how each filter changes the signals on your chart. Experimenting with these will help you learn how the market behaves and how you can best use the indicator for your own strategy!