Autoregressive CloudHello,
I am releasing this indicator called the Autoregressive Cloud Indicator.
What it does:
The indicator performs an autoregression analysis on 3 price variables of a ticker, those being the High, the Low and the Close. It uses a 1-lag system and looks back at the previous close, high and low’s effect on the proceeding high, low and close. It then plots out the anticipated range for the ticker based on the autoregression analysis, as well as displays the lag-correlation (autocorrelation) in a table.
What is Autoregression analysis?
Autoregression is a modelling technique used to describe a time series based on its own past values. It assumes that the current value of a variable is a linear combination of its previous values and a random error term.
And what is autocorrelation?
Autocorrelation measures the correlation between a time series and its lagged values. It quantifies the degree to which the current value of a series is related to its past values at different lags, indicating any patterns or dependencies in the data over time. Autoregression and autocorrelation are closely related concepts used to analyze and model time series data.
So how does it work?
The indicator calculates autoregressive values for the close, high, and low prices of a security based on the specified lookback length (which is defaulted to 50). It then plots three sets of clouds representing the smoothed autoregressive values for each price component (done using the SMA function). The transparency of the clouds can be adjusted using the "Transparency" input. Additionally, the code includes a correlation table that displays the correlation coefficients between the lagged values of the close, high, and low prices. The table's position can be customized using the "Position" input.
The indicator defaults to the chart timeframe; however, you can manually adjust the indicator to display the range for whatever timeframe you would like. You can view the 30 minute, 15 or even hourly range on the 1 minute or 5 minute chart if you want.
The indicator will show the anticipated “true trading range” of the stock based on the autoregression and autocorrelation of all 3 variables:
Above is SPY on the 5 minute timeframe with 15 minute levels overlayed. Here, you can see the anticipated trading range for that 15 minute time period.
Using the Correlation Table:
The correlation table displays the Pearson Coefficient for all 3 autoregressions.
A positive correlation: A positive autocorrelation indicates a positive relationship between past and current values of a time series variable. It suggests that when the variable has a high value at a certain time, it is more likely to have a high value in the future, and when it has a low value, it is more likely to have a low value in the future. This positive autocorrelation can imply persistence or trend in the data, indicating that past values can provide useful information for predicting future values. The rule of thumb is anything over 0.5 is considered significant.
A positive correlation among all 3 variables also indicates an uptrend. If you see a strong positive (i.e. the values are all greater than 0.8), it indicates an incredibly decisive and strong uptrend.
A negative correlation: A negative autocorrelation indicates an inverse relationship between past and current values of a time series variable. It suggests that when the variable has a high value at a certain time, it is more likely to have a low value in the future, and vice versa. This negative autocorrelation can imply mean reversion or oscillatory behavior in the data, where extreme values tend to be followed by values closer to the average. It indicates that past values can provide useful information for predicting future values by anticipating a reversal in the direction of the variable. The rule of thumb is anything below or equal to -0.5 is considered significant.
A negative correlation among all 3 variables also indicates a downtrend. If you see a strong negative (i.e. the values are all less than or equal to -0.8), it indicates an incredibly decisive and strong downtrend.
Uses of the Indicator:
The indicator can be used for the following functions:
1. Day trading and scalping within an expected range;
2. Determining the strength or weakness of an uptrend or downtrend on various timeframes;
3. Determining the relationship between previous values and past performance and its effect on future performance;
4. Can alert to changes in trend direction in advance (you may see high, low or close turn negative before others, signifying that weakness is beginning to materialize in an uptrend, or inverse in a downtrend (value changes positive)).
Customizability:
SMA: The autoregression data is smoothed by a 3 period lookback. You can change this if you want, but in order for the indicator to present the true trading range, it is recommended to leave it at <= 3.
Lookback Length: This is the length of the lookback period for the autoregression and autocorrelation functions.
Transparency settings: You can adjust the transparency of the clouds manually.
Timeframe: You can adjust the timeframe, as explained above, to display the timeframe of interest. When you adjust the timeframe, the data will all reflect that timeframe and not necessarily the current TF you have open (i.e. you select 30 minutes while viewing it on the 5 minute, it will show the data for the 30 minute TF period).
Video Tutorial:
I have prepared a video outlining the indicator and also explaining the theory of autoregression/correlation. You can find it below:
Let me know any comments, questions or suggestions below.
Thank you for taking the time to read/watch and check out this indicator.
Safe trades everyone!
Cerca negli script per "收集一只股票30个交易日的成交量、开盘价、最高价和最低价和收盘价"
FibonRSI / ErkOziHello,
This software is a technical analysis script written in the TradingView Pine language. The script creates a trading indicator based on Fibonacci retracement levels and the RSI indicator, providing information about price movements and asset volatility by using Bollinger Bands.
There are many different scripts in the market that draw RSI and Fibonacci retracement levels. However, this script was originally designed by me and shared publicly on TradingView.
***The indicator uses RSI (Relative Strength Index) and Bollinger Bands (BB) as the basis for the FibonRSI strategy. RSI measures the strength of a price movement, and BB measures the volatility of an asset. The FibonRSI strategy is based on the idea that the Fibonacci ratios and RSI can be used to predict a asset's price retracement levels.
***The script allows for various parameters to be adjusted. Users can specify the price source type and adjust the periods for RSI and Bollinger Bands. The standard deviation number for Bollinger Bands can also be customized.
***The script calculates the current RSI indicator position and the basic, upper, and lower levels of Bollinger Bands. It then calculates and draws the Fibonacci retracement levels. The color of the RSI line is determined by the upper and lower distribution levels of Bollinger Bands. Additionally, the color of the Fibonacci retracement levels can also be customized by the user.
***This script can be used to determine potential buy and sell signals using Fibonacci retracement levels and RSI. For example, when the RSI is oversold and the price is close to a Fibonacci retracement level, it can be interpreted as a buying opportunity. Similarly, when the RSI is overbought and the price is close to a Fibonacci retracement level, it can be interpreted as a selling opportunity.
***The script takes input parameters such as the price source used for calculation, the period for the RSI indicator, the period for the Moving Average in Bollinger Bands, and the number of standard deviations used in Bollinger Bands.
***The script's conditions include elements such as calculating the current position of the RSI indicator, calculating the upper and lower Bollinger Bands, calculating the dispersion factor, and calculating Fibonacci levels.
***The parameters in the code can be adjusted for calculation, including the price type used, the RSI period, the Moving Average period for BB, and the standard deviation count for BB. After this, the current position of the RSI, Moving Average, and standard deviation for BB are calculated. After calculating the upper and lower BB, the levels above and below the average are calculated using a specific dispersion constant.
CONDITIONS FOR THE SCRIPT
current_rsi = ta.rsi(src, for_rsi) // Current position of the RSI indicator
basis = ta.ema(current_rsi, for_ma)
dev = for_mult * ta.stdev(current_rsi, for_ma)
upper = basis + dev
lower = basis - dev
dispersion = 1
disp_up = basis + (upper - lower) * dispersion
disp_down = basis - (upper - lower) * dispersion
// Fibonacci Levels
f100 = basis + (upper - lower) * 1.0
f78 = basis + (upper - lower) * 0.78
f65 = basis + (upper - lower) * 0.65
f50 = basis
f35 = basis - (upper - lower) * 0.65
f23 = basis - (upper - lower) * 0.78
f0 = basis - (upper - lower) * 1.0
***When calculating Fibonacci levels, the distance between the average of BB and the upper and lower BB is used. These levels are 0%, 23.6%, 35%, 50%, 65%, 78.6%, and 100%. Finally, the RSI line that changes color according to a specific RSI position, Fibonacci levels, and BB are visualized. Additionally, the levels of 70, 30, and 50 are also shown.
The script then sets the color of the RSI position according to the EMA and draws Bollinger Bands, RSI, Fibonacci levels, and the 70, 30, and 50 levels.
In conclusion, this script enables traders to analyze market trends and make informed decisions. It can also be customized to suit individual trading strategies.
This script analyzes the RSI indicator using Bollinger Bands and Fibonacci levels. The default settings are 14 periods for RSI, 233 periods and 2 standard deviations for BB. The MA period inside BB is selected as the BB period and is used when calculating Fibonacci levels.
***The reason for selecting these settings is to provide enough time for BB period to confirm a possible trend. Additionally, the MA period inside BB is matched with the BB period and used when calculating Fibonacci levels.
***Fibonacci levels are calculated from the distance between the upper and lower bands of BB and show how RSI movement is related to these levels. Better results can be achieved when RSI periods are set to Fibonacci numbers such as 21, 55, and 89. Therefore, the use of Fibonacci numbers is recommended when adjusting RSI periods. Fibonacci numbers are among the technical analysis tools that can capture the reflection of naturally occurring movements in the market. Therefore, the use of Fibonacci numbers often helps to better track fluctuations in the market.
Finally, the indicator also displays the 70 and 30 levels and the middle level (50) with Fibonacci levels drawn in circles. Changing these settings can help optimize the Fibonacci levels and further improve the indicator.
Thank you in advance for your suggestions and opinions......
ICT Opening Lines [MK]Plots horizontal lines for the following opening times:
00:00 open
08:30 open
09:30 open
13:30 open
Opening lines can be used to monitor for power of 3/judas swings as per ICT teachings. The script allows the user to set a maximum timeframe for displaying the lines to keep HTF charts clean. Also an option is available to hide the lines after the market closes. If the hide option is used, the lines will be removed at 23:00.
Removing the lines after market closes ensures that the charts are clean when the market opens.
Labels can be displayed, colors and line styles can be customised.
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.
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!