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
Скользящие средние
Trend Bands [starlord_xrp]This indicator uses multiple trendlines to determine the overall trend and trend changes. It also highlights areas of potential pullbacks to entry.
Ignition Cha Cha ChaIgnition Cha Cha Cha (ICCC) is a 3 color coded moving average indicator which numerically quantify the angle of their trends. I have labeled them as fast, medium and slow. The trend colors are Green for bullish, Red for bearish and Grey for sideways. The sideways movement can be user defined for all 3 in the settings under Threshold. If you regard for example anything under 10º as sideways then place 10 in the corresponding threshold and any angle under 10º will give a grey moving average and a grey labeled text. I use this chart in several ways. If you don't want moving averages all over your Chartistic Masterpiece you can turn off the plots and leave the numeric angles which will give you an overview of the trend. Conversely if you want to make the ultimate trend chart you can setup a 4 chart layout, Weekly, Daily, 12 hour and 4 hour and add the indicator with 200/50/25 moving averages and look for confluence. I find the best way for this is turn off the candles and use the moving averages with the numeric labels. You also have the ability to turn off and on different aspects of the indicator so that there is good control over its look. Also I have given the indicator lots of Alert presets for all 3 of the moving averages so you can avoid demented screen-stairing. Please forgive the name, my mother made me do Ballroom dancing lessons as a kid.
[MiV] MA Screener v1.0In my trading I stick to the following strategy: I buy an asset above the 100/200 moving average and then sell it.
The most problematic thing in all this is to look for assets that are above the 100 or 200 moving average, and to assess how "far" the price is from that moving average.
In fact, to solve this problem I created this indicator.
It works with 30 different assets and displays the state of its two moving averages, whether the price is higher or not, and how much higher the price is from that level.
Multiple Moving Average ToolkitFeatures Overview:
Multiple Moving Averages: The script allows you to plot up to five different Moving Averages (MAs) on your chart at the same time. You can choose the type of MA (EMA, SMA, HMA, WMA, DEMA, VWMA, VWAP) and the length of each one.
Color Ribbon: You can turn the MAs into a color ribbon by selecting the "Turn into Color Ribbon?" option. This will make the area between the MAs colored and can help you identify trends more easily.
MA Value Table: You can draw a table on your chart that displays the current values of each MA, whether the trend is bullish or bearish along with the length of the MAs. The current ATR value is also shown in the last cell of the table. You can choose the location of the table (Top Left, Top Right, Bottom Left, Bottom Right) and the transparency of the background color.
Crosses: The script can detect when two MAs cross over each other (1st MA crosses 5th MA and vice versa), indicating a potential trend reversal. It will plot crosses on the chart at the point of the crossover and give an alert if the "Bullish Cross Detected" or "Bearish Cross Detected" condition is met.
How to use:
Once the script is added to your chart, you can customize the settings to fit your preferences. You can choose the type and length of each MA, whether to turn them into a color ribbon, whether to plot crosses, and whether to draw the MA Value Table.
The MA Value Table can be moved to a different location on the chart by selecting the "Location of Table" option and choosing Top Left, Top Right, Bottom Left, or Bottom Right.
Watch for MA crossovers and alerts to identify potential trend reversals. The script can help you identify bullish and bearish trends by color-coding the area between the MAs and displaying the current values of each MA in the table.
Breakdown of the script:
User Inputs
The first section of the script defines several user inputs that allows you to customize the indicator. These include options for turning the MAs into a color ribbon, plotting crosses when there is a bullish or bearish cross of the MAs, drawing a table of the MA values, and setting the transparency of the ribbon. You can also select the location of the MA value table and customize the settings for each individual MA.
Moving Average Calculation
The script defines a function called "getMA" that calculates the moving average for a given type and length. The function uses a switch statement to determine which type of moving average to use, such as an exponential moving average (EMA), simple moving average (SMA), Hull moving average (HMA), weighted moving average (WMA), double exponential moving average (DEMA), volume-weighted moving average (VWMA), or volume-weighted average price (VWAP).
The script then calls this function to calculate the values of up to five different MAs, depending on the user input. The ATR (average true range) is also calculated using the TA library.
Color Filter and Cross Detection
The script sets a color filter based on the relationship between the MAs. If the shorter-term MAs are above the longer-term MAs, the filter is set to green to indicate a bullish trend, and if the shorter-term MAs are below the longer-term MAs, the filter is set to red to indicate a bearish trend. You can adjust the transparency of the ribbon to make it more or less visible.
The script also detects when there is a bullish or bearish cross of the MAs and can generate alerts to notify you.
MA Plotting
The script plots up to five MAs on the chart, depending on the user input. The MAs are plotted as lines with different colors and thicknesses, and you can choose to turn them into a color ribbon if desired.
Cross Plotting
The script plots crosses on the chart when there is a bullish or bearish cross of the MAs. The crosses are plotted as X shapes at the location of the cross and are color-coded to indicate the direction of the cross.
MA Value Table
Finally, the script draws a table of the MA values on the chart, displaying the values of each MA as well as the current trend and the ATR. You can customize the location of the table, and the table is colored to match the color filter of the MAs.
Feel free to message me or comment on the post with any questions or issues!
Much more to come!
Thanks for reading, enjoy!
KST con HMA---------- ENGLISH DESCRIPTION ----------
The indicator created is called "KST with HMA" and is used to measure the impulse of an asset's price.
The code begins by defining four variables representing ROC (Rate of Change) period lengths for calculating the KST (Know Sure Thing) and a variable for the length of the HMA (Hull Moving Average).
Next, an HMA function is defined to calculate the Hull Moving Average, a type of weighted moving average that adjusts for price volatility.
ROC values are then calculated for the four periods defined above and KST values are calculated as a weighted sum of the ROC values. These values are then normalized with the HMA and the standard deviation of the HMA is calculated. The normalized value is finally plotted with three different color lines: black for values greater than 1, red for values less than -1, and green for values between -1 and 1.
Finally, a black dashed line is plotted to represent the zero line. The green line indicates a phase of market uncertainty or lateralization, while the indicator can be used to identify buy points above zero and sell points below zero.
---------- ITALIAN DESCRIPTION ----------
L'indicatore creato è chiamato "KST con HMA" e viene utilizzato per misurare l'impulso del prezzo di un asset.
Il codice inizia definendo quattro variabili che rappresentano le lunghezze dei periodi di ROC (Rate of Change) per il calcolo del KST (Know Sure Thing) e una variabile per la lunghezza dell'HMA (Hull Moving Average).
Successivamente viene definita una funzione HMA per il calcolo della Hull Moving Average, un tipo di media mobile ponderata che si adatta alla volatilità del prezzo.
Vengono poi calcolati i valori ROC per i quattro periodi definiti in precedenza e calcolati i valori KST come somma ponderata dei valori ROC. Questi valori vengono poi normalizzati con l'HMA e viene calcolata la deviazione standard dell'HMA. Il valore normalizzato viene infine plottato con tre diverse linee di colore: nero per valori superiori a 1, rosso per valori inferiori a -1 e verde per valori tra -1 e 1.
Infine, viene plottata una linea tratteggiata nera per rappresentare la linea zero. La linea verde indica una fase di incertezza o lateralizzazione del mercato, mentre l'indicatore può essere utilizzato per individuare punti di acquisto sopra lo zero e di vendita al di sotto dello zero.
TradeEasy - KintroThe TradingView script provided is a custom indicator named "TradeEasy - Kintro". It is created by the author Kintro and is designed to help traders identify potential buy and sell signals in the market. The indicator is based on the Exponential Moving Average (EMA) and uses two different EMAs, one with a period of 20 and the other with a period of 50.
The indicator is meant to be used on the 5-minute timeframe and it is recommended to use TradingView in Dark Mode for better appearance. The author also reminds users that no strategy works 100% accurately and backtesting should be done before trading with a real account. The author is not responsible for any losses incurred by traders.
The indicator uses a simple set of rules to generate trading signals. The thick line on the chart represents the 50 EMA while the thin line represents the 20 EMA. When the thin line crosses upwards over the thick line, it indicates a bullish signal. After the crossover, traders are advised to wait for the price to pullback between the two lines. A range should then be created while the price moves through the thin line.
On the break of the range, an entry signal is generated, and the stop loss should be set below the range. The author advises traders to exit their profits according to their own analysis or price action and not to re-enter on the next pullback of the same trend. The same rules apply when the thin line crosses downwards over the thick line.
The author emphasizes that range creation is mandatory on crossing and that traders should not try to go against the trend. If the price is above both lines, traders should only go for buy orders, and vice versa.
If there is no range created while crossing, traders are advised not to enter the market. Traders should wait for the opportunity and not force a trade.
The indicator also includes a plot of the 34 EMA, and a range is created above and below the price action using the "up" and "down" variables. The author uses the "fill" function to color the background of the chart to highlight the range. The "dummy" variable is used to plot circles above or below the price action, depending on the trend.
In summary, the "TradeEasy - Kintro" indicator is a custom indicator designed to help traders identify potential buy and sell signals based on the crossing of two EMAs. The author provides a set of rules to generate trading signals and advises traders to wait for the opportunity and not force a trade. The indicator also includes a visual representation of the range created on the chart. As always, traders are advised to conduct their own research and analysis before entering any trades.
Smoothing R-Squared ComparisonIntroduction
Heyo guys, here I made a comparison between my favorised smoothing algorithms.
I chose the R-Squared value as rating factor to accomplish the comparison.
The indicator is non-repainting.
Description
In technical analysis, traders often use moving averages to smooth out the noise in price data and identify trends. While moving averages are a useful tool, they can also obscure important information about the underlying relationship between the price and the smoothed price.
One way to evaluate this relationship is by calculating the R-squared value, which represents the proportion of the variance in the price that can be explained by the smoothed price in a linear regression model.
This PineScript code implements a smoothing R-squared comparison indicator.
It provides a comparison of different smoothing techniques such as Kalman filter, T3, JMA, EMA, SMA, Super Smoother and some special combinations of them.
The Kalman filter is a mathematical algorithm that uses a series of measurements observed over time, containing statistical noise and other inaccuracies, and produces estimates of unknown variables that tend to be more accurate than those based on a single measurement.
The input parameters for the Kalman filter include the process noise covariance and the measurement noise covariance, which help to adjust the sensitivity of the filter to changes in the input data.
The T3 smoothing technique is a popular method used in technical analysis to remove noise from a signal.
The input parameters for the T3 smoothing method include the length of the window used for smoothing, the type of smoothing used (Normal or New), and the smoothing factor used to adjust the sensitivity to changes in the input data.
The JMA smoothing technique is another popular method used in technical analysis to remove noise from a signal.
The input parameters for the JMA smoothing method include the length of the window used for smoothing, the phase used to shift the input data before applying the smoothing algorithm, and the power used to adjust the sensitivity of the JMA to changes in the input data.
The EMA and SMA techniques are also popular methods used in technical analysis to remove noise from a signal.
The input parameters for the EMA and SMA techniques include the length of the window used for smoothing.
The indicator displays a comparison of the R-squared values for each smoothing technique, which provides an indication of how well the technique is fitting the data.
Higher R-squared values indicate a better fit. By adjusting the input parameters for each smoothing technique, the user can compare the effectiveness of different techniques in removing noise from the input data.
Usage
You can use it to find the best fitting smoothing method for the timeframe you usually use.
Just apply it on your preferred timeframe and look for the highlighted table cell.
Conclusion
It seems like the T3 works best on timeframes under 4H.
There's where I am active, so I will use this one more in the future.
Thank you for checking this out. Enjoy your day and leave me a like or comment. 🧙♂️
---
Credits to:
▪@loxx – T3
▪@balipour – Super Smoother
▪ChatGPT – Wrote 80 % of this article and helped with the research
Relative Strength Index w/ STARC Bands and PivotsThis is an old script that I use with some useful RSI strategies from "Technical Analysis for the Trading Professional" 2nd edition by Constance Brown.
The base RSI comes with the option for custom length, and has some pre-configured ranges for looking at exits and entrances. The idea is to be bullish when bounces happen in the red zone during an already bullish trend or when the indicator enters green without a rejection. Be bearish if the indicator falls through the red zone or fails to enter green during an already bearish trend.
I have added the formulas used for creating STARC bands (just think fancier volatility bands) with adjustable tolerances. The idea is to look out for when the RSI touches one of the bands and reverses. This is usually indicative of a strong reversal (though the timing will be up to the trader). Best use this on shorter time frames during a volatile time of a stock's price action.
Although a little messy, there is a small segment of the script which includes pivot points. I like to use these because they make indicating local highs/lows for finding divergences easier.
Finally, I have added a couple of customizable EMAS for the RSI itself. Useful when combined with the other features!
Bar Color Long / Short Indicator With Advised SLOverview
This script is a trading indicator named "Bar Color Long / Short Indicator With Advised SL" designed for the TradingView platform. The indicator's primary purpose is to provide entry signals for long and short positions, based on various technical analysis methods. Additionally, the indicator suggests stop-loss levels for both long and short positions.
User Inputs
The indicator has several user inputs, such as:
Length
Smoothing
Multiplier
Show bar colors (ON/OFF)
When the bar colors are turned off, the alert signals for long and short positions will be displayed instead.
Custom Risk Calculation
The script calculates a custom risk level based on a modified version of the RSI (Relative Strength Index) formula. The custom risk level is divided into three categories: low, medium, and high.
Sentiment Score Calculation
The indicator calculates a sentiment score based on a combination of methods resembling EMA (Exponential Moving Average), MACD (Moving Average Convergence Divergence), and ROC (Rate of Change). The sentiment score is used to determine if the sentiment is positive or negative.
Bollinger Bands Percent and Combined Signal
The Bollinger Bands Percent is calculated, and the custom risk, sentiment score, and Bollinger Bands Percent are combined to generate a new signal. This signal is used in conjunction with EMA10 to determine the bar colors and provide entry signals.
Bar Colors
Based on the combined signal and EMA10, the script determines the bar colors as follows:
Orange: Positive sentiment
Blue: Negative sentiment
Gray: Neutral
Entry Signals and Alerts
When the bar colors are turned off, the indicator displays large green arrow signals for long (buy) positions and red arrow signals for short (sell) positions based on the sentiment and EMA10 conditions. The script also includes alert conditions for long and short signals, which can be used to set up notifications when these signals are triggered in the TradingView platform.
Advised Stop-Loss Levels
The indicator plots stop-loss lines for both long and short positions at the last candle, accompanied by labels showing the advised stop-loss levels in numeric values.
On-Chart QQE of RSI on Variety MA [Loxx]On-Chart QQE of RSI on Variety MA (Quantitative Qualitative Estimation) is usually calculated using RSI. This version is uses an RSI of a Moving Average instead. The results are completely different than the original QQE. Also, this version is drawn directly on chart. There are four types of signals.
What is QQE?
Quantitative Qualitative Estimation (QQE) is a technical analysis indicator used to identify trends and trading opportunities in financial markets. It is based on a combination of two popular technical analysis indicators - the Relative Strength Index (RSI) and Moving Averages (MA).
The QQE indicator uses a smoothed RSI to determine the trend direction, and a moving average of the smoothed RSI to identify potential trend changes. The indicator then plots a series of bands above and below the moving average to indicate overbought and oversold conditions in the market.
The QQE indicator is designed to provide traders with a reliable signal that confirms the strength of a trend or indicates a possible trend reversal. It is particularly useful for traders who are looking to trade in markets that are trending strongly, but also want to identify when a trend is losing momentum or reversing.
Traders can use QQE in a number of different ways, including as a confirmation tool for other indicators or as a standalone indicator. For example, when used in conjunction with other technical analysis tools like support and resistance levels, the QQE indicator can help traders identify key entry and exit points for their trades.
One of the main advantages of the QQE indicator is that it is designed to be more reliable than other indicators that can generate false signals. By smoothing out the price action, the QQE indicator can provide traders with more accurate and reliable signals, which can help them make more profitable trading decisions.
In conclusion, QQE is a popular technical analysis indicator that traders use to identify trends and trading opportunities in financial markets. It combines the RSI and moving average indicators and is designed to provide traders with reliable signals that confirm the strength of a trend or indicate a possible trend reversal.
What is RSI?
RSI stands for Relative Strength Index . It is a technical indicator used to measure the strength or weakness of a financial instrument's price action.
The RSI is calculated based on the price movement of an asset over a specified period of time, typically 14 days, and is expressed on a scale of 0 to 100. The RSI is considered overbought when it is above 70 and oversold when it is below 30.
Traders and investors use the RSI to identify potential buy and sell signals. When the RSI indicates that an asset is oversold, it may be considered a buying opportunity, while an overbought RSI may signal that it is time to sell or take profits.
It's important to note that the RSI should not be used in isolation and should be used in conjunction with other technical and fundamental analysis tools to make informed trading decisions.
This indicator makes use of the following libraries:
Loxx's Moving Averages
Loxx's Expanded Source Types
Extras
Alerts
Signals
Signal Types
Change on Levels
Change on Slope
Change on Zero
Change on Original
Hull PressureThis amazing oscillator displays the difference between the hull average calculated on the close of the candles and the one calculated between the average of the highs and lows.
This allows the user to identify the pressure of the closing price over the average, useful to identify trends, divergences, and reversals.
This indicator also has two dynamic overbought and oversold areas, calculated over the past extreme highs and lows of the oscillator.
Nadaraya-Watson OscillatorThis indicator is based on the work of @jdehorty and his amazing Nadaraya-Watson Kernel Envelope, which you can see here:
General Description
The Nadaraya-Watson Oscillator (NWO) will give the same information as the Nadaraya-Watson Envelope, but as an oscillator off the main chart, by plotting the relationship between price and the Kernel and its bands. This also means that we can now detect divergences between price and the NWO.
You can see the relationship between the two here:
You can think of this indicator as the kernel envelope version of a Bollinger Band %B. In ranging markets the bands are perfect for mean reversion trades, but in certain situations the break of one of the bands can signal the beggining of a strong trend and price will remain close to the bands for a long period and will only give small pullbacks. As with any indicator, confluence with price and other tools must be taken into account.
Main Features
As with @jdehorty 's Envelope, you can change the following settings:
Lookback Window.
Relative Weighting.
The initial bar for the regression.
ATR period for the bands.
Inner and Outer Multiples for the bands.
I also added the following:
A middle band around the Kernel to filter out false crossovers.
A Hull Moving Average to smoothen out the movements of the oscillator and give extra confirmation of turnover points.
Colors
Some special things to note regarding the coloring:
The zero line features a gradient that changes color every time the Kernel slope changes direction.
The Oscillator plot has a gradient coloring that gets stronger the closer it gets to each of the bands.
Every time the oscillator crosses over/under the outer bands the background will be highlighted.
Happy trading!
Historical AverageThis indicator calculates the sum of all past candles for each new candle.
For the second candle of the chart, the indicator shows the average of the first two candles. For the 10th candle, it's the average of the last ten candles.
Simple Moving Averages (SMAa) calculate the average of a specific timeframe (e.g. SMA200 for the last 200 candles). The historical moving average is an SMA 2 at the second candle, an SMA3 for the third candle, an SMA10 for the tenth, an SMA200 for the 200th candle etc.
Settings:
You can set the multiplier to move the Historical Moving Average along the price axis.
You can show two Historical Moving Averages with different multipliers.
You can add fibonacci multipliers to the Historical Moving Average.
This indicator works best on charts with a lot of historical data.
Recommended charts:
INDEX:BTCUSD
BLX
But you can use it e.g. on DJI or any other chart as well.
God's Little FingerThe "God's Little Finger" indicator uses several technical analysis tools to provide information about the direction of the market and generate buy/sell signals. These tools include a 200-period exponential moving average (EMA), Moving Average Convergence Divergence (MACD), Bollinger Bands, and the Relative Strength Index (RSI).
EMA is used to determine if prices are trending. MACD measures the speed and momentum of the trend. Bollinger Bands are used to determine if prices are staying within a range and to measure the strength of the trend. RSI shows overbought/oversold levels and can be used to determine if the trend will continue.
The indicator generates buy/sell signals based on market conditions. A buy signal is generated when the MACD line is below zero, the price is below the lower boundary of the Bollinger Bands, the price is above the 200-period EMA, and the RSI is in oversold levels (usually below 40). A sell signal is generated when the MACD line is above zero, the price is above the upper boundary of the Bollinger Bands, the price is below the 200-period EMA, and the RSI is in overbought levels (usually above 60).
However, it should be noted that indicators can be used to predict market conditions, but they do not guarantee results and any changes or unexpected events in the market can affect predictions. Therefore, they should always be used in conjunction with other analysis methods and risk management strategies.
Momentum Ratio Oscillator [Loxx]What is Momentum Ratio Oscillator?
The theory behind this indicator involves utilizing a sequence of exponential moving average (EMA) calculations to achieve a smoother value of momentum ratio, which compares the current value to the previous one. Although this results in an outcome similar to that of some pre-existing indicators (such as volume zone or price zone oscillators), the use of EMA for smoothing is what sets it apart. EMA produces a smooth step-like output when values undergo sudden changes, whereas the mathematics used for those other indicators are completely distinct. This is a concept by the beloved Mladen of FX forums.
To utilize this version of the indicator, you have the option of using either levels, middle, or signal crosses for signals. The indicator is range bound from 0 to 1.
What is an EMA?
EMA stands for Exponential Moving Average, which is a type of moving average that is commonly used in technical analysis to smooth out price data and identify trends.
In a simple moving average (SMA), each data point is given equal weight when calculating the average. For example, if you are calculating the 10-day SMA, you would add up the prices for the past 10 days and divide by 10 to get the average. In contrast, in an EMA, more weight is given to recent prices, while older prices are given less weight.
The formula for calculating an EMA involves using a smoothing factor that is multiplied by the difference between the current price and the previous EMA value, and then adding this to the previous EMA value. The smoothing factor is typically calculated based on the length of the EMA being used. For example, a 10-day EMA might use a smoothing factor of 2/(10+1) or 0.1818.
The result of using an EMA is that the line produced is more responsive to recent price changes than a simple moving average. This makes it useful for identifying short-term trends and potential trend reversals. However, it can also be more volatile and prone to whipsaws, so it is often used in combination with other indicators to confirm signals.
Overall, the EMA is a widely used and versatile tool in technical analysis, and its effectiveness depends on the specific context in which it is applied.
What is Momentum?
In technical analysis, momentum refers to the rate of change of an asset's price over a certain period of time. It is often used to identify trends and potential trend reversals in financial markets.
Momentum is calculated by subtracting the closing price of an asset X days ago from its current closing price, where X is the number of days being used for the calculation. The result is the momentum value for that particular day. A positive momentum value suggests that prices are increasing, while a negative value indicates that prices are decreasing.
Traders use momentum in a variety of ways. One common approach is to look for divergences between the momentum indicator and the price of the asset being traded. For example, if an asset's price is trending upwards but its momentum is trending downwards, this could be a sign of a potential trend reversal.
Another popular strategy is to use momentum to identify overbought and oversold conditions in the market. When an asset's price has been rising rapidly and its momentum is high, it may be considered overbought and due for a correction. Conversely, when an asset's price has been falling rapidly and its momentum is low, it may be considered oversold and due for a bounce back up.
Momentum is also often used in conjunction with other technical indicators, such as moving averages or Bollinger Bands, to confirm signals and improve the accuracy of trading decisions.
Overall, momentum is a useful tool for traders and investors to analyze price movements and identify potential trading opportunities. However, like all technical indicators, it should be used in conjunction with other forms of analysis and with consideration of the broader market context.
Extras
Alerts
Signals
Loxx's Expanded Source Types, see here for details
+ Bollinger Bands WidthHere is my rendition of Bollinger Bands Width. If you are unfamiliar, Bollinger Bands Width is a measure of the distance between the top and bottom bands of Bollinger Bands. Bollinger Bands themselves being a measure of market volatility, BB Width is a simpler, cleaner way of determining the amount of volatility in the market. Myself, I found the original, basic version of BB Width a bit too basic, and I thought that by adding to it it might make for an improvement for traders over the original.
Simple things that I've done are adding a signal line; adding a 'baseline' using Donchian Channels (such as that which is in my Average Candle Bodies Range indicator); adding bar and background coloring; and adding alerts for increasing volatility, and baseline and signal line crosses. It really ends up making for a much improved version of the basic indicator.
A note on how I created the baseline:
First, what do I mean by 'baseline?' I think of it as an area of the indicator where if the BB Width is below you will not want to enter into any trades, and if the BB Width is above then you are free to enter trades based on your system. It's basically a volatility measure of the volatility indicator. Waddah Attar Explosion is a popular indicator that implements something similar. The baseline is calculated thus: make a Donchian Channel of the BB Width, and then use the basis as the baseline while not plotting the actual highs and lows of the Donchian Channel. Now, the basis of a Donchian Channel is the average of the highs and the lows. If we did that here we would have a baseline much too high, however, by making the basis adjustable with a divisor input it no longer must be plotted in the center of the channel, but may be moved much lower (unless you set the divisor to 2, but you wouldn't do that). This divisor is essentially a sensitivity adjustment for the indicator. Of course you don't have to use the baseline. You could ignore it and only use the signal line, or just use the rising and falling of the BB Width by itself as your volatility measure.
I should make note: the main image above at default settings is an 8 period lookback (so, yes, that is quite fast), and the signal line is a Hull MA set to 13. The background and bar coloring are simply set to the rising and falling of the BB Width. Images below will show some different settings, but definitely play with it yourself to determine if it might be a good fit for your system.
Above, settings are background and bar coloring tuned to BB Width being above the baseline, and also requiring that the BB Width be rising. Background coloring only highlights increasing volatility or volatility above a certain threshold. Grey candles are because the BB Width is above the baseline but falling. We'll see an example without the requirement of BB Width rising, below.
Here, we see that background highlights and aqua candles are more prevalent because I've checked off the requirement that BB Width be rising. The idea is that BB Width is above the baseline therefor there is sufficient volatility to enter trades if our indicators give us the go-ahead.
This here is set to BB Width being above the signal line and also requiring a rising BB Width. Keep in mind the signal line is a Hull MA.
And this fourth and final image uses a volume-weighted MA as the signal line. Bar coloring is turned off, and instead the checkboxes for volatility advancing and declining are turned on under the signal line options. BB Width crosses up the signal line is advancing volatility, while falling below it is declining volatility. Background highlights are set to baseline and not requiring a rising BB Width. This way, with a quick glance you can see if the rising volatility is legitimate, i.e., is the cross up of the signal line coupled with it being above the baseline.
Please enjoy.
CPR with inside candle, Pivot Points and 4EMA The CPR trading strategy is a technical analysis approach that combines multiple indicators to determine potential price levels and trading opportunities. The strategy uses three main components: Inside Candles, Pivot Points, and the 4EMA.
Inside Candles: The Inside Candle pattern is a candlestick pattern where the current candle has a lower high and a higher low than the previous candle. This pattern can indicate a period of consolidation or indecision in the market and can signal a potential reversal or continuation of the trend.
Pivot Points: Pivot Points are technical indicators that use the previous day's price data to calculate key levels of support and resistance for the current trading day. These levels can act as potential areas of buying or selling pressure and can help traders identify potential entry and exit points.
4EMA: The 4EMA is a short-term Exponential Moving Average that tracks the average price of an asset over the previous four periods. This indicator is used to help identify short-term trends in the market and can signal potential buying or selling opportunities.
To apply the CPR strategy, traders first look for Inside Candles on their chart, indicating a period of consolidation or indecision in the market. Next, they identify the Pivot Points for the current trading day, which can act as potential areas of support or resistance. Finally, traders use the 4EMA to confirm the direction of the trend and potential entry or exit points.
For example, if an Inside Candle forms at a Pivot Point level and the 4EMA is indicating an uptrend, this could be a potential buying opportunity. Conversely, if an Inside Candle forms at a Pivot Point level and the 4EMA is indicating a downtrend, this could be a potential selling opportunity.
VWAP ROC Weighted AverageThe VWAP ROC Weighted Average indicator combines the concepts of Volume Weighted Average Price (VWAP) and Rate of Change (ROC) to create a unique and versatile tool for traders. The indicator calculates the average VWAP and average ROC over a specified period (default: 200 bars) and then creates a weighted average of these two values. This provides a single line that can help traders identify potential entry and exit points in a market.
How it can be used in trading:
Trend Confirmation: The VWAP_ROC_WA can be used to confirm the prevailing trend of an asset. If the weighted average line is moving upward, it indicates a bullish trend, while a downward-moving line suggests a bearish trend. Traders can use this information to enter trades in the direction of the trend to improve their odds of success.
Support and Resistance: The VWAP_ROC_WA line can act as dynamic support and resistance levels. When the price is above the weighted average line, it can act as a support level, and when the price is below the line, it can serve as a resistance level. Traders can use these levels to set stop-loss and take-profit orders or to identify potential entry and exit points.
Divergences: Traders can look for divergences between the price and the VWAP_ROC_WA line to identify potential reversals. For instance, if the price is making higher highs while the weighted average line is making lower highs, it may signal a bearish divergence, indicating a potential reversal to the downside. Conversely, if the price is making lower lows while the weighted average line is making higher lows, it may signal a bullish divergence, indicating a potential reversal to the upside.
Crossovers: Traders can monitor crossovers between the price and the VWAP_ROC_WA line. A bullish crossover occurs when the price crosses above the weighted average line, suggesting a potential long entry point. A bearish crossover occurs when the price crosses below the line, suggesting a potential short entry point.
CoffeeShopCrypto 3pl MAThe CoffeeShopCrypto 3pl MA indicator is a technical analysis tool that uses three different moving averages to identify trends in the price of an asset. The three moving averages have lengths of 12, 26, and 50. If these numbers sound familiar its because they are based off the standard of the MACD indicator, and can be either simple moving averages (SMA) or exponential moving averages (EMA), depending on user preference.
The following is plotted on the chart
The fast EMA/SMA (based on the 12-period length) in yellow.
The mid EMA/SMA (based on the 26-period length) in gray.
The slow EMA/SMA (based on the 50-period length) in either green or red, depending on whether the current close price is above or below the Overall Trend MA.
In addition to the moving averages, the indicator also calculates the MACD (Moving Average Convergence Divergence), and uses it to color the bars based on the momentum of the asset.
The MACD is calculated using two user-defined lengths (fast and slow), as well as a user-defined smoothing length for the signal line. The oscillator and signal line can be either SMA or EMA, and the colors of the MACD bars are based on whether the histogram is growing or falling, and whether it is above or below the zero line.
Overall, this indicator provides traders with a comprehensive tool for understanding the trend of an asset, as well as the momentum behind that trend. The moving averages provide a clear visual representation of the trend, while the MACD bars give insight into the strength of that trend and potential shifts in momentum.
---------------LONG ENTRY----------------
MA1 above MA2 and Overall trend = Green
IF RSI is above its midline you are confirmed for a long entry
-----------Short Entry--------------
MA1 below MA2 and Overall trend = Red
IF RSI is below its midline you are confirmed for a short entry
Custom Weighted Moving Average with SMA, EMA, and VWAPThe Custom Weighted Moving Average with SMA, EMA, and VWAP (CWMA-SMA-EMA-VWAP) is a versatile and comprehensive trading indicator that combines the strength of Simple Moving Averages (SMAs), Exponential Moving Averages (EMAs), and the Volume Weighted Average Price (VWAP) to create a custom weighted moving average. This indicator is designed to provide a more holistic view of the market and enhance trading decisions by considering multiple moving average types and their respective timeframes. The indicator also highlights intersections between the custom weighted moving average and the individual SMA, EMA, and VWAP lines by changing their color to yellow, which can be used as potential entry or exit signals.
How to Use:
The CWMA-SMA-EMA-VWAP indicator can be used in various ways to make informed trading decisions. Here are some possible strategies:
Trend Identification: The custom weighted moving average (CWMA) can act as a dynamic support and resistance level, smoothing out the price movements and revealing the underlying trend. When the price is above the CWMA, it may indicate an uptrend, and when it's below, a downtrend. Traders can use this information to align their trades with the prevailing market trend.
Crossovers: The intersections between the CWMA and individual SMA, EMA, and VWAP lines are highlighted in yellow, which can serve as potential entry or exit signals. For instance, when the price or one of the moving averages crosses above the CWMA, it may signal a bullish trend, and traders could consider entering a long position. Conversely, when the price or one of the moving averages crosses below the CWMA, it may signal a bearish trend, and traders could consider entering a short position.
Confirmation of Signals: The CWMA-SMA-EMA-VWAP indicator can be used in conjunction with other technical analysis tools to confirm or strengthen trading signals. For example, traders may use oscillators like the RSI or MACD to confirm overbought or oversold conditions and identify potential reversals in tandem with the CWMA-SMA-EMA-VWAP crossovers.
Stop Loss and Take Profit Levels: The CWMA, SMAs, EMAs, and VWAP lines can serve as dynamic support and resistance levels, helping traders set stop loss and take profit targets. For example, a trader might set a stop loss below the CWMA during an uptrend or above the CWMA during a downtrend. Similarly, they might set take profit targets near significant SMA or EMA levels, anticipating that the price may reverse or consolidate at these points.
It's important to note that the CWMA-SMA-EMA-VWAP indicator, like any other technical analysis tool, should not be used in isolation. Combining it with other technical analysis methods, proper risk management, and a well-defined trading plan will increase the chances of success in the market. Additionally, traders should backtest and validate any strategy using historical data before applying it to real-world trading.
Weighted Moving Average Indicator (WMAI) with Std DevThe updated Weighted Moving Average Indicator with Standard Deviation (WMAI_SD) now includes the central line, which is the weighted moving average, along with 3 lines above and 3 lines below the central line that represent different levels of standard deviation. This combination can be used to identify trends, potential entry and exit points, support and resistance levels, and to gauge the volatility of the asset. Here's how to use this updated indicator:
Identifying trends: The central line (Weighted Moving Average) can be used to identify trends. When the line is moving upwards, it signals a bullish trend, and when it's moving downwards, it signals a bearish trend. A flat central line suggests a sideways or consolidating market.
Potential entry and exit points: You can use the crossing of the price with the central line to identify potential entry and exit points for trades. When the price crosses above the central line, it might be considered a buy signal. Conversely, when the price crosses below the central line, it might be considered a sell signal. Keep in mind that the WMAI_SD is not foolproof and should be used in conjunction with other technical analysis tools and techniques to increase the chances of successful trades.
Support and resistance levels: The central line, along with the standard deviation lines, can act as dynamic support and resistance levels. When the price is above the central line, the line can act as support. Conversely, when the price is below the central line, it can act as resistance. The standard deviation lines can also serve as additional support and resistance levels, with the lines closer to the central line being less significant than the ones further away.
Gauging volatility: The distance between the standard deviation lines can give you an idea of the asset's volatility. When the distance between the lines is wide, it indicates higher volatility, while a narrower distance indicates lower volatility. An increase in volatility could signal a strong trend or a potential trend reversal, whereas low volatility might suggest a lack of conviction in the current trend.
Confirming signals from other indicators: You can use the WMAI_SD to confirm signals from other technical analysis tools. For instance, if you use a momentum oscillator like the Relative Strength Index (RSI) to identify overbought or oversold conditions, you can look for confluence with the WMAI_SD central line and standard deviation lines.
Weighted Moving Average Indicator (WMAI) 50/100/200 SMA + 21 EMAThe Weighted Moving Average Indicator (WMAI) is a custom technical analysis tool that combines the information from three Simple Moving Averages (SMA) and one Exponential Moving Average (EMA) to create a single line on the chart. This line can be used to identify trends, potential entry and exit points, and overall market direction. Here's how to use this indicator:
Identifying trends: When the WMAI line is moving upwards, it signals a bullish trend, meaning that the asset's price is generally increasing. Conversely, when the WMAI line is moving downwards, it signals a bearish trend, indicating that the asset's price is generally decreasing. A flat WMAI line suggests a sideways or consolidating market.
Potential entry and exit points: You can use the WMAI line in combination with the asset's price or other technical indicators to identify potential entry and exit points for trades. For example, when the price crosses above the WMAI line, it might be considered a buy signal, as it suggests a potential upward trend. Conversely, when the price crosses below the WMAI line, it might be considered a sell signal, indicating a potential downward trend. Keep in mind that, like any other indicator, WMAI is not foolproof and should be used in conjunction with other technical analysis tools and techniques to increase the chances of successful trades.
Support and resistance levels: The WMAI line can act as a dynamic support and resistance level. When the price is above the WMAI line, the line can act as a support level, making it less likely for the price to drop below the line. Conversely, when the price is below the WMAI line, it can act as a resistance level, making it harder for the price to rise above the line.
Confirming signals from other indicators: You can use the WMAI line to confirm signals from other technical analysis tools. For instance, if you use a momentum oscillator like the Relative Strength Index (RSI) to identify overbought or oversold conditions, you can look for confluence with the WMAI line. If the WMAI line is also pointing in the same direction as the RSI signal, it can add confidence to the trade.