Initial Balance |ASE|Introduction
Initial Balance (IB) refers to the price data that is formed during the first hour of a trading session. It is an important concept in trading as it provides insights into the market's opening sentiment and potential trading opportunities or reversals for the day. There are multiple trading sessions throughout the day. The most popular, the NY Session, is open from 9:30 am to 4:00pm EST making the Initial Balance(IB) range the first hour (9:30-10:30) The other sessions include London, Tokyo, and Sydney.
IB Customization
The Initial Balance lines are fully customizable to fit the traders need.
Show Initial Balance
This setting will plot the Initial Balance
Fill/Extend IB Range
The Fill IB Range toggle fills the area in between the IB High and IB Low. Use the IB Fill Color option to change the fill color in the “Line Settings” group on the settings panel.
The Extend IB Range extends the IB lines until the market closes.
Show 1x/2x Extensions
The Show 1x Extension toggle displays 1 times the IB range line (IB High - IB Low) above IB High and 1 times the IB range line below IB Low.
The Show 2x Extension toggle displays the 2 times the IB range line (IB High - IB Low) above IB High and 2 times the IB range line below IB Low.
*Use the Extension Level Color in the “Line Settings” to change the color of the lines.
Show Middle Levels
The Show Middle Levels toggle shows all the 50% lines between the upper 2x and upper 1x line, upper 1x and IB high, IB high and IB low, IB low and lower 1x line, and the lower 1x and lower 2x line.
*Use the Mid Level Color in the “Line Settings” to change the color of the lines.
Delete Previous Day’s Levels
This setting will only show the current day's Initial Balance and delete all previous day levels to produce a clean chart.
How To Use:
The Initial Balance Range can support a bias as it shows the opening market sentiment. By watching price action interact with the Initial Balance Range we can watch for indications of trending or failing moves at the high or the low and overall a ranging or trending session.
The extension levels are projections as to where price could potentially reach in a trending market. If we are bullish and trending higher, we would want to see price reach the first extension, signs of strength at these levels can be used as confirmation to target other levels.
Overall, all these levels can and should be used as support and resistance levels, and as always, can not be used by themselves and require additional confirmation, whether that be an indicator or price action. Below you can see chart examples of these levels in action.
Pesquisar nos scripts por "价格在30元内股票"
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
Nick_OS RangesUNDERSTANDING THE SCRIPT:
TIMEFRAME RESOLUTION:
* You have the option to choose Daily , Weekly , or Monthly
LOOKBACK WINDOW:
* This number represents how far back you want the data to pull from
- Example: "250" would represent the past 250 Days, Weeks, or Months depending on what is selected in the Timeframe Resolution
RANGE 1 nth (Gray lines):
* This number represents the range of the nth biggest day, week, or month in the Lookback Window
- Example: "30" would represent the range of the 30th biggest day in the past 250 days. (If the Lookback Window is "250")
RANGE 2 nth (Blue lines):
* This number represents the range of the nth biggest day, week, or month in the Lookback Window
- Example: "10" would represent the range of the 10th biggest day in the past 250 days. (If the Lookback Window is "250")
RANGE 3 nth (Pink lines):
* This number represents the range of the nth biggest day, week, or month in the Lookback Window
- Example: "3" would represent the range of the 3rd biggest day in the past 250 days. (If the Lookback Window is "250")
YELLOW LINES:
* The yellow lines are the average percentage move of the inputted number in the Lookback Window
SUGGESTED INPUTS:
FOR DAILY:
Lookback Window: 250
Range 1 nth: 30
Range 2 nth: 10
Range 3 nth: 3
FOR WEEKLY:
Lookback Window: 50
Range 1 nth: 10
Range 2 nth: 5
Range 3 nth: 2
FOR MONTHLY:
Lookback Window: 12
Range 1 nth: 3
Range 2 nth: 2
Range 3 nth: 1
TIMEFRAMES TO USE (If You Have TradingView Premium):
Daily: 5 minute timeframe and higher (15 minute timeframe and higher for Futures)
Weekly: 15 minute timeframe and higher
Monthly: Daily timeframe and higher (Monthly still has issues)
TIMEFRAMES TO USE (If You DO NOT Have TradingView Premium):
Daily: 15 minute timeframe and higher
Weekly: 30 minute timeframe and higher
Monthly: Daily timeframe and higher (Monthly still has issues)
IMPORTANT RELATED NOTE:
If you decide to use a higher Lookback Window, the ranges might be off and the timeframes listed above might not apply
ISSUES THAT MIGHT BE RESOLVED IN THE FUTURE
1. If it is a shortened week (No Monday or Friday), then the Weekly Ranges will show the same ranges as last week
2. Monthly ranges will change based on any timeframe used
Expected Move Plotter IntradayHello everyone!
I am releasing my Intra-day expected move plotter indicator.
About the indicator:
This indicator looks at 3 differing time frames, the 15, 30 and 60 minute time frames.
It calculates the average move from high to low over the past 5 candle period and then plots out the expected move based on that average.
It also attempts to determine the sentiment. How it does this is by taking the average of the High, Low and Close of the previous 5 minute candle and comparing it in relation to the close of the current 5 minute candle. It essentially is the premise of pivot points.
Each time frame can be shut off or selected based on your preference, as well as the sentiment fills.
How to use:
Please play around with it and determine how you feel you could best use it, but I can share with you some tips that I have picked up from using this.
Wait for a clear rejection of respect of a level:
Once you have confirmed rejection or support, you can scalp to the next support level:
As well, you can switch between the 30 and 60 minute time frames as reference
30 Minute:
And that's it!
Its a very simplistic indicator, but it is quite helpful to help identify potential areas of reversal.
There really isn't much to it!
Also, it can be used on any stock!
As always, I have provided a quick tutorial video for your reference, linked below:
Let me know if you have any questions or recommendations for modification to make the indicator more useful and helpful.
Thanks so much for checking it out and trying it out everyone!
As always, safe trades and green days!
STD-Stepped, Variety N-Tuple Moving Averages [Loxx]STD-Stepped, Variety N-Tuple Moving Averages is the standard deviation stepped/filtered indicator of the following indicator
Variety N-Tuple Moving Averages is a moving average indicator that allows you to create 1- 30 tuple moving average types; i.e., Double-MA, Triple-MA, Quadruple-MA, Quintuple-MA, ... N-tuple-MA. This version contains 5 different moving average types including T3. A list of tuples can be found here if you'd like to name the order of the moving average by depth: Tuples extrapolated
STD-Stepped, You'll notice that this is a lot of code and could normally be packed into a single loop in order to extract the N-tuple MA, however due to Pine Script limitations and processing paradigm this is not possible ... yet.
If you choose the EMA option and select a depth of 2, this is the classic DEMA ; EMA with a depth of 3 is the classic TEMA , and so on and so forth this is to help you understand how this indicator works. This version of NTMA is restricted to a maximum depth of 30 or less. Normally this indicator would include 50 depths but I've cut this down to 30 to reduce indicator load time. In the future, I'll create an updated NTMA that allows for more depth levels.
This is considered one of the top ten indicators in forex. You can read more about it here: forex-station.com
How this works
Step 1: Run factorial calculation on the depth value,
Step 2: Calculate weights of nested moving averages
factorial(nemadepth) / (factorial(nemadepth - k) * factorial(k); where nemadepth is the depth and k is the weight position
Examples of coefficient outputs:
6 Depth: 6 15 20 15 6
7 Depth: 7 21 35 35 21 7
8 Depth: 8 28 56 70 56 28 8
9 Depth: 9 36 34 84 126 126 84 36 9
10 Depth: 10 45 120 210 252 210 120 45 10
11 Depth: 11 55 165 330 462 462 330 165 55 11
12 Depth: 12 66 220 495 792 924 792 495 220 66 12
13 Depth: 13 78 286 715 1287 1716 1716 1287 715 286 78 13
Step 3: Apply coefficient to each moving average
For QEMA, which is 5 depth EMA , the caculation is as follows
ema1 = ta. ema ( src , length)
ema2 = ta. ema (ema1, length)
ema3 = ta. ema (ema2, length)
ema4 = ta. ema (ema3, length)
ema5 = ta. ema (ema4, length)
qema = 5 * ema1 - 10 * ema2 + 10 * ema3 - 5 * ema4 + ema5
Included:
Alerts
Loxx's Expanded Source Types
Bar coloring
Signals
Standard deviation stepping
Variety N-Tuple Moving Averages [Loxx]Variety N-Tuple Moving Averages is a moving average indicator that allows you to create 1- 30 tuple moving average types; i.e., Double-MA, Triple-MA, Quadruple-MA, Quintuple-MA, ... N-tuple-MA. This version contains 5 different moving average types including T3. A list of tuples can be found here if you'd like to name the order of the moving average by depth: Tuples extrapolated
You'll notice that this is a lot of code and could normally be packed into a single loop in order to extract the N-tuple MA, however due to Pine Script limitations and processing paradigm this is not possible ... yet.
If you choose the EMA option and select a depth of 2, this is the classic DEMA; EMA with a depth of 3 is the classic TEMA, and so on and so forth this is to help you understand how this indicator works. This version of NTMA is restricted to a maximum depth of 30 or less. Normally this indicator would include 50 depths but I've cut this down to 30 to reduce indicator load time. In the future, I'll create an updated NTMA that allows for more depth levels.
This is considered one of the top ten indicators in forex. You can read more about it here: forex-station.com
How this works
Step 1: Run factorial calculation on the depth value,
Step 2: Calculate weights of nested moving averages
factorial(nemadepth) / (factorial(nemadepth - k) * factorial(k); where nemadepth is the depth and k is the weight position
Examples of coefficient outputs:
6 Depth: 6 15 20 15 6
7 Depth: 7 21 35 35 21 7
8 Depth: 8 28 56 70 56 28 8
9 Depth: 9 36 34 84 126 126 84 36 9
10 Depth: 10 45 120 210 252 210 120 45 10
11 Depth: 11 55 165 330 462 462 330 165 55 11
12 Depth: 12 66 220 495 792 924 792 495 220 66 12
13 Depth: 13 78 286 715 1287 1716 1716 1287 715 286 78 13
Step 3: Apply coefficient to each moving average
For QEMA, which is 5 depth EMA, the caculation is as follows
ema1 = ta.ema(src, length)
ema2 = ta.ema(ema1, length)
ema3 = ta.ema(ema2, length)
ema4 = ta.ema(ema3, length)
ema5 = ta.ema(ema4, length)
qema = 5 * ema1 - 10 * ema2 + 10 * ema3 - 5 * ema4 + ema5
Included:
Alerts
Loxx's Expanded Source Types
Bar coloring
FALGUN INDICATOR WITH SAR V1.0This script is a trend-following system that uses a long-term and Short-term Moving Average to spot the trend.
Default Settings and Calculation:
- The trend is detected using the Simple Moving Average on 200 periods and 30 Periods.
- The Market is considered an Uptrend when the price closes above the 30 and 200 Moving Averages.
- The Market is considered in a Downtrend when the price closes below the 30 and 200 Moving Averages.
This script is best suited for all timeframes.
The options allow for modification of the type of moving average to use.
RSI ModifiedThe RSI is an excellent indicator for determining when equities are overbought/oversold. Though I believe there is a shortcoming in using the 70/30 levels since they are static and do not adjust for when an equity is trending. It stands to reason that in a downtrend, the overbought might be less than 70 and the oversold less than 30—Vice versa for a bull trend. Using the built-in function of pivots, I have attempted to create overbought/oversold lines that adjust with the trend. Leaving the 70/30 lines on the indicator also helps visualize the equity trend. All pivot settings are adjustable in the input menu. The pivot limits serve as a filter for recording pivot points. For example, with an upper pivot limit of 60, only pivots greater than 60 will be recorded into the array used to determine overbought. The crosses represent which values are used to determine overbought/oversold and do not provide timely indications.
Commodity Channel Relative StrengthNew concept(I think atleast) I've joined the Standard RSI and CCI at the hip with another plotcandle, which gives a picture of a larger candle With more interesting movement imo. Includes Fib Retracement Levels, High/Low and a couple of coppock curves for more confirmation. Broadening candles seem to indicate a weakening of trend strength (from what i've seen atleast) although exceptions do occur. Vice versa for tapering to a lesser degree I imagine. RSI has been shifted down to 0 to align the center point with the CCI , so the usual 30/70 RSI Levels are now -20/20 (although I have 30/-30 instead for the hlines).
SPY Volume Weighted CloseHey everyone!
Deciding to make this indicator public and open access.
This is a volume weighted close indicator for SPY. It is a statistics based indicator.
How it works:
It uses volume data mixed with some price action data to prospectively predict where SPY's price will close within a 30 minute interval.
As such, its different from other indicators in the sense that its not reactive, it proactive and actively predicts the price that SPY will see within the next 30 minutes and where SPY will most likely close at.
It has 3 bands. The main centre band (blue, but colour can be changed) is the most likely price that SPY will close at within the next 30 minutes.
The Upper Level Confidence and Lower Level Confidence bands are the expected range that the analysis thinks SPY will remain confined in based on current volume and price action.
How to Use it:
I personally use this in place of VWAP, but the applications are infinite. Take a look at the chart below:
Applications:
This is specifically programmed for SPY but I have used it with other stocks such as QQQ, UPRO and DIA. However, using it with those stocks, the upper and lower confidence bands are not helpful. But YMMV with other stocks. This is specifically designed for SPY.
Let me know your questions and thoughts!
Thanks for reading and checking this out!
Customizable OCC Non Repainting Scalper Bot v7.0bThis strategy is intended to be used on an automated trading platform and should be run on a one minute chart for fastest confirmations and signal relay to crypto automation platform. The strategy has been modded to only go long at this time to focus on profitability for one direction. The open long and close long text fields allow you to use your own webhook message for this purpose.
I have spent quite a bit of time and I figured I would put it out to the community to share the work and also get some feedback.
Ok, so let me say that I have done absolutely everything I can to make the strategy not repaint while still maintaining it's profitability. It has been a challenge so I am publishing this to the community to help test this.
What I have observed: the strategy will not repaint in real time. That is, if you have the chart open and keep it open, the signals are the same as the ones that are sent out by the strategy. In certain cases, when I reload the chart- the signals might be off from what was sent. In some ways, that is repainting, but it is repainting based on losing the real time data and recalculating from a different set of bars- since I am running it on a one minute chart then the start becomes different when you refresh.
To address repainting while keeping the strategy calculating as quickly as possibly I have altered the logic in the following ways:
I have made an assumption which might not work for everyone- at the first tick of the next bar, you can almost safefly assume in crypto that if you are looking at the previous bar for information, the open of the current bar was the close of the previous bar. This for the most part holds true in crypto with good liquidity. If you are trading a pair that jumps around due to low volume- this might not be the strategy to use. I might publish a different version with a different logic.
I have altered the security repaint to use isbarconfirmed, so at the very end of the bar (as soon as the bar is confirmed), we recalculate to the higher time frames. So as soon as the data is available, it is at that point that we can then safely calculate higher time frames. This is unique and experimental, but seems to do well at creating good signals for entry.
I have employed my own intervals by utilizing the resolution as an integer (used by the previous authors)- but in this case, I use the interval to take a snapshot of the higher time frame. With open close cross, the different moving averages can cause the repainting as they change to show the exact point of the cross. The interval feature I created minimizes this by utilizing the previous bar info until the interval is closed and then we recalculate the variants. You can use the interval offset feature to denote which minute is the one that starts and ends the interval. So for instance, Trading View uses minue 1 and minute 31 for 30 minute intervals. If you offset your 30 minute interval would start on minute 16 and do its calculations based on the last 30 minutes,
As with most of my scripts, I have started using filters and a "show data" feature that will give you the ability to see the values of indicators that you cannot plot in the overlay. This allows you to figure out how to filter losing trades or market conditions.
I have also added a trailing stop and created a fixed stop loss as seems to perform better than the original occ strategy. The original one seemed to repaint enough that it would close too quickly and not give the posiition enough time to become profitable. In certain cases where there was a large move, it would perform well, but for the most part the trades would not close profitably even though the backtest said that it did - probably due to the delay in execution and pinescript not having a confirmation on what the actual position price was.
This is still in beta mode, so please forward test first and use at your own risk.
If you spot repaint issues, please send me a message and try to explain the situation.
Ichimoku Kinko HyoThis indicator is adding to the original indicator Ichimoku Cloud some visual informations.
Be aware of settings that are by default 10, 30, 60, while in the original indicator, default settings are 9, 26, 52. These are commonly consider like "crypto settings".
Tenkan = blue line
Kijun = orange line
SSB = red line
This indicator display three categories of signals that are given by the Ichimoku indicator:
- tenkan / kijun crosses ;
- breaks of mid prices for the different time horizon ;
- bar coloring depending of the trend
Let's review more in deep each of these elements.
Tenkan / Kijun crosses
When the tenkan crossover the kijun, this is called gold cross and it's display by a green triangle at the bottom of the chart.
When the tenkan crossunder the kijun, this is called death cross and it's display by a red triangle at the top of the chart.
I advise to not enter long or short only on this signal because it can be fake, especially during ranges.
To confirm the signal, we need to wait for a movement of the kijun in the same side of the cross. See first arrow on the chart.
Breaks of mid prices
Ichimoku is composed of three han-le lines that displays mid-price of the last candles depending on the settings (10, 30, 60).
Tenkan show us the mid-price of the last 10 candles (short term)
Kijun show us the mid-price of the last 30 candles (mid term)
SSB show us the mid-price of the last 60 candles (long term)
Break of tenkan by the price is the first signal that Ichimoku gives us before a reversal of the trend. This signal is display by a blue triangle.
Then, happened the break of kijun line follow by the break of the SSB. These are display respectively by an orange triangle and a red triangle.
Same advise, don't enter long or short only on break of these lines.
However, tenkan and kijun breaks can be used as exit point.
Bar coloring
The bar coloring display the strength of the trend:
- green candle: strong bullish trend - this happen when the current price is above tenkan, kijun and SSB ;
- blue candle: potential starting of a bullish trend - this happen when the current price is above tenkan and kijun but below the SSB ;
- no colored candle: no trend, market is in a range - this happen when the current price is above tenkan and below kijun and SSB or when the current price is below tenkan and above kijun and SSB ;
- orange candle: potential starting of a bearish trend - this happen when the current price is below tenkan and kijun but above SSB ;
- red candle: strong bearish trend - this happen when the current price is below tenkan, kijun and SSB
How to use to enter / exit trades
First of all, we need confirmations to enter in the side of the trend.
The first signal that the indicator gives us is the break of tenkan, follow by the break of kijun. Candles becomes blue / orange depending of the side.
Then, we wait for a cross of tenkan and kijun. This cross has to be confirmed by a movement of kijun. A flat kijun tell us this is a fake cross.
When the movement of kijun happened in the same side of the cross it is possible to enter a trade if you are aggresive.
Otherwise, you can wait for the third signal to take place: break of SSB, candle become green / red, depending on the side.
You can then enter a trade.
Then hold the position and wait to exit for break of tenkan or kijun, depending on your horizon (short / mid term).
If you have other questions or some features that are missing, pm me. Thanks.
MME MTF CCIHi All,
This is a Dual/Multi TF CCI script to be used for Intraday as well as positional system.
Intraday:
Chart TF : 5 mins
Underlying Trend CCI : CCI 34 of 30 mins TF
Immediate Trend CCI : CCI 34 of 5 mins TF
Execution CCI : CCI 8 of 5 mins TF
The CCIs are used for entry, exit during momentum breakouts or pullbacks.
General Long Setup:
Buy at CCI-8 5m below -135, when CCI-34 30 mins is > +100. Long exit when CCI 34 5 min < -60
General Short Setup:
Sell at CCI-8 5m above -135, when CCI-34 30 mins is < -100. Short exit when CCI 34 5 min > +60
The same CCI settings can be used for positional or investment per appropriate timeframes one is interested to trade, along with HTF above in ratio 1:5.
Hope its helpful!
MTF Stochastic ScannerThis Stochastic scanner can be use to identify overbought and oversold of 10 symbols over multiple timeframes
it will give you a quick overview which pair is more overbough or more oversold and also signals tops and bottoms in the AVG row
light red/green cell = weak bearish (Stoch = 30-20) / bullish (Stoch = 70-80)
medium red/green cell = bearish (Stoch = 20-10) / bullish (Stoch = 80-90)
dark red/green cell = strong bearish (Stoch <= 10) / bullish (Stoch >= 90)
gray cell = neutral (Stoch = 30-70)
Usage
If AVG (average of all 4 timeframes) falls below 20, the cell will get green, indicating a good time to enter long (buy)
If AVG (average of all 4 timeframes) rises above 80, the cell will get red, indicating a good time to enter short (sell)
Use the "MTF Stochastic Scanner" in combination with the " MTF RSI Scanner "
to find tops (RSI MTF avg >=70 AND Stochastic MTF avg >= 80)
or bottoms (RSI MTF avg <= 30 AND Stochastic MTF avg <= 20)
Here is how the two MTF scanners looked on Nov 08 2021 (ATH) »
and here how the MTF scanners looked on June 21 2022
use TradingViews Replay function to check how it would have worked in the past and when not.
As always… there NOT a single indicator that can show to the top & bottom 100% every single time. So use with caution, with other indicators and/or deeper understanding of technicals analysis ☝️☝️☝️
Settings
You can change the timeframes, symbols, Stochastic settings, overbought/oversold levels and colors to your liking
Drag the table onto the price chart, if you want to use it as an overlay.
NOTE:
Because of the 4x10 security requests, it can take up to 1 minute for changed settings to take effect! Please be patient 🙃
If you have any idea on how to optimise the code, please feel free to share 🙏
*** Inspired by "Binance CHOP Dashboard" from @Cazimiro and "RSI MTF Table" from @mobester16 ***
ATR vs Day Trading Range and PercentageThis indicator displays the Current Daily ATR vs the current Day Range and displays the percentage.
For example if the Daily ATR is $5 and the current range of the day is $10 this would be 200% the original move.
It is color coded (and can be modified) to change color when the Daily range is over 100% the ATR.
The time frame can be changed from Daily just be aware you must be on a lower timeframe then selected. So if you want to compare the current 30 minute ATR to the current 30 minute range you will need to be showing a 30 min chart or lower for it to calculate correctly.
MTF Bullish/Bearish IndicatorThe script plots a bullish/bearish indicator by evaluating a variety of moving averages for a security across multiple timeframes. It's derived from built in Technical Analysis indicator published by TradingView. The result of evaluation is plotted on the chart in green light/red light format in a configurable location.
evaluated moving averages include
- SMA 10, 20, 30, 50, 100, 200
- EMA 10, 20, 30, 50, 100, 200
- Hull MA 9
- VWMA 20
- Ichimoku Cloud
moving averages are evaluated at chart timeframes and 5 min, 15 min, 30 min, 120 min, 240 min, and daily by default but can be customized.
vol_premiaThis script shows the volatility risk premium for several instruments. The premium is simply "IV30 - RV20". Although Tradingview doesn't provide options prices, CBOE publishes 30-day implied volatilities for many instruments (most of which are VIX variations). CBOE calculates these in a standard way, weighting at- and out-of-the-money IVs for options that expire in 30 days, on average. For realized volatility, I used the standard deviation of log returns. Since there are twenty trading periods in 30 calendar days, IV30 can be compared to RV20. The "premium" is the difference, which reflects market participants' expectation for how much upcoming volatility will over- or under-shoot recent volatility.
The script loads pretty slow since there are lots of symbols, so feel free to delete the ones you don't care about. Hopefully the code is straightforward enough. I won't list the meaning of every symbols here, since I might change them later, but you can type them into tradingview for data, and read about their volatility index on CBOE's website. Some of the more well-known ones are:
ES: S&P futures, which I prefer to the SPX index). Its implied volatility is VIX.
USO: the oil ETF representing WTI future prices. Its IV is OVX.
GDX: the gold miner's ETF, which is usually more volatile than gold. Its IV is VXGDX.
FXI: a china ETF, whose volatility is VXFXI.
And so on. In addition to the premium, the "percentile" column shows where this premium ranks among the previous 252 trading days. 100 = the highest premium, 0 = the lowest premium.
Strat Assistant Hour FlipStrat Assistant Hour Flip
----------------------------
█ OVERVIEW
This script is intended to provide a vertical line indicator for the hourly "flips" to easily indicate when the hour turns. Ideally used in timeframes less than an hour.
Input
----------
Hour Color: the color of the line and the text for the hourly indicator
Four Hour Color: the color of the line and the text for the four hour indicator
Show Label Text?: an on/off (active/inactive) flag to display the text (new 30s/60s). I can't figure out how to get a label vertical, so sometimes it gets in the way.
Output
----------
Vertical Dotted Line Indicator: vertical lines that allow a user to quickly see when the hour flips
Hour Flip Labels: quick visual labels with the same color as the lines that will display new 4h/60s/30s
Best Practices
----------
Trading view may limit the number of lines drawn, so probably not best to be use in larger time frames (like days/month worth of data on the chart) for smaller intervals
Best if used for intervals under 30 minutes
RSI band with Signal alert//th/en
//th
สวัสดีครับท่านสมาชิก
ก่อนอื่นต้องขอเกริ่นก่อนเลยว่า Indicator ตัวนี้ถูกสร้างขึ้นมาบนพื้นฐานของ RSI จริง เพียงแต่ใช้ค่า EMA27 ในการสร้าง เนื่องจากผมยังไม่สามารถเขียน RSI band ที่โยงกับราคาได้ในส่วนนี้เองได้
แต่ทั้งนี้ขอให้ท่านใจเย็น ๆ และฟังผมสักหน่อย เนื่องจากก่อนหน้านี้ผมได้สังเกตเห็นว่า EMA27 นั้นมีค่าเท่ากับ RSI14 ที่ค่า 50 พอดี ดังนั้นผมจึงเลือกที่จะสร้างมันขึ้นมาด้วย EMA27 เพราะง่ายต่อการเขียน
วิธีการใช้งานมีดังต่อไปนี้
Indicator ตัวนี้ใช้งานเหมือน RSI14 วิธีการอ่านคือให้นับเส้น EMA27 เป็นค่า 50 ของ RSI14 ดังนั้นให้เราพิจารณาการซื้อขายดังต่อไปนี้ (โดยหลังจากนี้ผมจะเรียก EMA27 ที่สร้างขึ้นว่า RSI band)
พิจารณาเข้าซื้อ : เมื่อราคาทะลุ RSI band ขึ้นไปและย่อตัวทำ Higher Low เหนือเส้น RSI band
พิจารณาขายออก : เมื่อราคาทะลุ RSI band ลงมาและรีบาวน์ทำ Lower High ใต้เส้น RSI band
# ทั้งนี้ผมได้ทำสีแท่งเทียนไว้เพื่อให้ง่ายต่อการสังเกต โดยการนำไปใช้อาจนำสีของเส้นขอบแท่งเทียนออก แล้วในส่วนของไส้แท่งเทียนให้ใช้สีที่ไม่เจาะจงราคาบวกลบอย่างสี #434651
โดยเราสามารถดู Divergence โดยการเทียบความต่างระหว่างราคาและ RSI band ได้ดังนี้
ในแนวโน้มขาลง : ให้เปรียบเทียบความต่างระหว่างราคากับ RSI band ของ Lower Low ปัจจุบันกับ Low ก่อนหน้า โดยถ้าความต่างของ Low ลดลงเรื่อย ๆ จนราคาเข้าใกล้เส้น RSI band ให้พิจารณาเข้าซื้อ
ในแนวโน้มขาขึ้น : ให้เปรียบเทียบความต่างระหว่างราคากับ RSI band ของ Higher High ปัจจุบันกับ High ก่อนหน้า โดยถ้าความต่างของ High ดลงเรื่อย ๆ จนราคาเข้าใกล้เส้น RSI band ให้พิจารณาขายออก
ทั้งนี้ผมได้สร้าง Signal alert ไว้เพื่อให้ง่ายต่อการสังเกต โดยสร้างมาจากเงื่อนไขดังนี้ (ห้ามทำการซื้อขายตาม Signal alert เด็ดขาด เพราะเค้าแค่บอกจุดตามเงื่อนไขที่ตั้งไว้ บางทีอาจมีสัญญาณซื้อแล้วให้ซื้อต่อโดยไม่มีสัญญาณขายเลยก็ได้)
Buy : เมื่อ RSI14 ตัดขึ้นที่ค่า 50 พร้อมกับ RSI14 ตัดขึ้น Signal ที่ผมตั้งไว้ (ผมใช้ EMA7 ของ RSI14)
Prepare to Sell : เมื่อ RSI14 ตัดลง Signal ในขณะที่ RSI14 นั้น มีค่ามากกว่า 70
Sell/Short Top : เมื่อ RSI14 ตัดลงที่ค่า 70 พร้อมกับ RSI14 ตัดลง Signal (จะมีขึ้นแสดงว่า Peak ในกราฟ)
Buy : เมื่อ RSI14 ตัดลงที่ค่า 50 พร้อมกับ RSI14 ตัดลง Signal
Prepare to Buy : เมื่อ RSI14 ตัดขึ้น Signal ในขณะที่ RSI14 นั้น มีค่าน้อยกว่า 30
TP Short/Buy Bottom : เมื่อ RSI14 ตัดขึ้นที่ค่า 30 พร้อมกับ RSI14 ตัดขึ้น Signal (จะมีขึ้นแสดงว่า Deep ในกราฟ)
# สาเหตุที่ใส่ข้อความใน Signal alert เพียงแค่ตอน Sell/Short Top และ TP Short/Buy Bottom เพื่อลดโอกาสเกิดการแพนิคที่เกิดจากการสังเกตได้ โดยในสัญญาณตัวอื่นจะมีแค่เครื่องหมาย * เพียงอย่างเดียว
ขอให้โชคดีครับ
Firstssk
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//en (Google Translate)
Hello, Trader
First of all, I have to say that this indicator is built on the basis of a real RSI, just using the EMA27 value to create it, since I still can't write an RSI band that is tied to the price in this section.
But please be patient and listen to me a bit. Since I previously noticed that EMA27 is exactly equal to RSI14 at 50, so I chose to build it with EMA27 because it's easier to write.
Here's how to use it:
This indicator works like RSI14. The reading method is to count the EMA27 line as the 50 value of RSI14, so let's consider the following trading. (After this I will call the created EMA27 RSI band)
Consider buying : When the price breaks the RSI band up and makes a Higher low above the RSI band.
Consider selling : When the price breaks the RSI band down and rebounds to make a Lower high below the RSI band.
# However, I have colored the candlesticks to make them easier to spot. By applying it may remove the color of the candlestick border. Then for the wick part, use a color that does not specify the price plus and minus color #434651
We can see the divergence by comparing the difference between the price and the RSI band as follows.
In a downtrend : Compare the difference between the price and the RSI band of the current Lower Low and the previous Low. If the divergence of the Low continues to decrease until the price approaches the RSI band, consider buying.
In an uptrend : Compare the price difference between the RSI band of the current Higher High and the previous high. If the divergence of the High continues to decrease until the price approaches the RSI band, consider selling.
I have created a Signal alert for easy observation. It was created from the following conditions: (Do not trade according to Signal alert strictly because they just tell the point according to the conditions set There may be a buy signal and then buy again without a sell signal.)
Buy : When RSI14 crosses above 50 with RSI14 crosses up the signal I set (I use EMA7 of RSI14).
Prepare to Sell : When RSI14 crosses signal while RSI14 is greater than 70.
Sell/Short Top : When RSI14 crosses down at 70 with RSI14 crosses down Signal (it will show "Peak" on the chart)
Buy : When RSI14 crosses down to 50 with RSI14 crosses down signal.
Prepare to Buy : When RSI14 crosses signal while RSI14 is less than 30.
TP Short/Buy Bottom : When RSI14 crosses above 30 with RSI14 crosses up signal (it will show "Deep" in the chart).
# The reason why I put the message in Signal alert only at Sell/Short Top and TP Short/Buy Bottom to reduce the chance of panic occurring from observation. In other signals, there will only be a * sign.
Good luck.
Firstssk
MACD, RSI, & RVOL Strategy
This strategy combines the use of MACD (12, 26, 9), RSI (14, 30, 70), and RVOL (14) to create Long Buy and Sell signals. This works well with many different time intervals but was developed with 15-minute intervals in mind.
Using MACD as a reference, the strategy identifies when the MACD line crosses over (a factor in a buy signal) and under (a factor in a Sell signal) the Signal line. This shows a shift in positive (cross over) and negative (cross under) of a security.
Using the Relative Strength Index ( RSI ) as an indicator, the strategy notices when the velocity and magnitude of the directional price movements cross over the Oversold signal (30) and crosses under the Overbought signal (70) as a factor in creating a Buy and Sell signal.
Using Relative Volume (RVOL) as an indicator, the strategy calculates when the current volume has crossed over the 2x average volume indicator over a given period and is then used as a factor in creating a Buy signal. RVOL is also used when the change in volume crosses under a set RVOL number (in this strategy, it is set to a RVOL of 5).
RVOL = Current Volume / Average Volume over a certain period
This strategy indicates a Buy signal when 2/3 conditions are met:
- RSI Cross Over the Over Sold signal (default 30)
- MACD Cross Over of Signal ( MACD > Signal)
- RVOL Cross Over of 2 (RVOL > 2)
This strategy indicates a Sell signal when 2/3 conditions are met:
- RSI Cross Under the Over Bought signal (default 70)
- MACD Cross Under of Signal ( MACD < Signal)
- RVOL Cross Under 5 (RVOL < 5)
Enjoy and leave feedback!
Multiple Screeners with AlertsI already published few version of my custom screeners. Unfortunately, because of TradingView's security function call limit you can't use more than 40 stocks in 1 screener.
Fortunately, you can compute multiple values in your function and screen few indicators at once.
In this script I show how you can compute 5 indicators at the same time for 40 instruments. I display then in different labels.
Every label consist of list of instruments satisfying current indicator conditions and a value for it. It can be absolute value as for RSI or -1/1 representing Bullish/Bearish event.
Also you can create 1 alert with result of all screeners inside.
In this example I took 5 indicators with following conditions:
RSI - "RSI < 30" or "RSI > 70"
TSI - "TSI < -30" or "RSI >30"
ADX - "ADX > 40"
MACD - "MACD Bullish Cross" or "MACD Bearish Cross" (1 and -1 in screener)
AO - "AO Crosses 0 UP" or "AO Crosses 0 DOWN" (1 and -1 in screener)
Params
- bars_apart - this parameter define how may bars apart you labels are on your chart. If you see labels overlapping, increase this number.
- Parameters for all used indicators
- 40 symbol inputs for instruments you want to use in this screener
Alerts
You can create an alert from it easily by selecting screener name from the list and then selecting "Any alert() function call".
No additional configuration is required, message and alert on close is generated in the code.
You should better change default name for your alert. Sometimes because of big amount of inputs you might receive an error.
Disclaimer
Please remember that past performance may not be indicative of future results.
Due to various factors, including changing market conditions, the strategy may no longer perform as good as in historical backtesting.
This post and the script don’t provide any financial advice.
RSI Classic Strategy (by Coinrule)One of the questions hobbyist traders more often ask is: what is the perfect trading indicator?
Every indicator is just a tool, so its efficiency is proportional to your ability to read its signals and translate them into an actionable trading strategy. The RSI is likely the most flexible and easy to use among the technical indicators.
This trading strategy tries to catch short-term swings on the coins of your choice with a simple yet profitable setup.
Buy when the RSI is lower than 30 (you can adjust it to 35 in times of steep uptrend).
Sell when the RSI is greater than 65 (the target may range between 60 and 75 depending on the volatility of the coin).
Note that the buy signal comes when the indicator crosses below 30 and not when it crosses above 30 as it happens on the built-in RSI strategy on Tradingview.
The present script overperforms the built-in strategy, even adding trading fees and using a lower amount of capital for each trade (30%). That means that the system can deliver higher net-profits with lower risk levels.
A typical example of market conditions where this strategy works perfectly is as follows.
The first initial breakout indicates that a new leg up in the trend may start. Bitcoin starts to trade within a range which you can identify when it reaches the point 3. That is the perfect time to start the rule because
- trading within a channel anticipates possible swings up and down
- the trend is on the upside, providing low downside risk in buying the dips.
This strategy works well with selected coins of your choice, and it's a great fit on leverage exchanges like Binance Futures.
If you prefer to run it across all available coins on the market, instead, you may choose an optimized version.
Multi Time Frame Buy the Dips (by Coinrule)Buying the dips is a relatively easy automated trading strategy that can return impressive profits, especially during uptrend times. Not all price drops are for buying, though. This trading system is based on a multi time frame buy-the-dip approach to optimize each trade.
The strategy catches sudden price drops on a 1-hr time frame when the price increases significantly in the last 12 hours. During steep uptrends, profit-taking price actions result in flash crashes that provide great opportunity to enter at convenient prices.
Buy Condition
The setup of the script is optimized on a 30 min time frame. You can adjust the parameters to fit different time frames.
The system gets a buy signal when
- the price drops 1% from the two previous candles (1 hour time frame = two 30-min candles)
- the price is up 3% from the last 12 hours (twenty-four 30-min candles equal the desired time frame)
Sell Condition
Each trade comes with a stop loss of 3% and a take profit of 4%.
This setup has been optimized, running over 150 backtests on more than 20 different crypto trading pairs.
The strategy assumes each order to trade 30% of the available capital. A trading fee of 0.1% is taken into account. The fee is aligned to the base fee applied on Binance, which is the largest cryptocurrency exchange.