S&P Short-Range Oscillator**SHOULD BE USED ON THE S&P 500 ONLY**
The S&P Short-Range Oscillator (SRO), inspired by the principles of Jim Cramer's oscillator, is a technical analysis tool designed to help traders identify potential buy and sell signals in the stock market, specifically for the S&P 500 index. The SRO combines several market indicators to provide a normalized measure of market sentiment, assisting traders in making informed decisions.
The SRO utilizes two simple moving averages (SMAs) of different lengths: a 5-day SMA and a 10-day SMA. It also incorporates the daily price change and market breadth (the net change of closing prices). The 5-day and 10-day SMAs are calculated based on the closing prices. The daily price change is determined by subtracting the opening price from the closing price. Market breadth is calculated as the difference between the current closing price and the previous closing price.
The raw value of the oscillator, referred to as SRO Raw, is the sum of the daily price change, the 5-day SMA, the 10-day SMA, and the market breadth. This raw value is then normalized using its mean and standard deviation over a 20-day period, ensuring that the oscillator is centered and maintains a consistent scale. Finally, the normalized value is scaled to fit within the range of -15 to 15.
When interpreting the SRO, a value below -5 indicates that the market is potentially oversold, suggesting it might be a good time to start buying stocks as the market could be poised for a rebound. Conversely, a value above 5 suggests that the market is potentially overbought. In this situation, it may be prudent to hold on to existing positions or consider selling if you have substantial gains.
The SRO is visually represented as a blue line on a chart, making it easy to track its movements. Red and green horizontal lines mark the overbought (5) and oversold (-5) levels, respectively. Additionally, the background color changes to light red when the oscillator is overbought and light green when it is oversold, providing a clear visual cue.
By incorporating the S&P Short-Range Oscillator into your trading strategy, you can gain valuable insights into market conditions and make more informed decisions about when to buy, sell, or hold your stocks. However, always consider other market factors and perform your own analysis before making any trading decisions.
The S&P Short-Range Oscillator is a powerful tool for traders looking to gain insights into market sentiment. It provides clear buy and sell signals through its combination of multiple indicators and normalization process. However, traders should be aware of its lagging nature and potential complexity, and use it in conjunction with other analysis methods for the best results.
Disclaimer
The S&P Short-Range Oscillator is for informational purposes only and should not be considered financial advice. Trading involves risk, and you should conduct your own research or consult a financial advisor before making investment decisions. The author is not responsible for any losses incurred from using this indicator. Use at your own risk.
Wyszukaj w skryptach "spy"
Risk Radar ProThe "Risk Radar Pro" indicator is a sophisticated tool designed to help investors and traders assess the risk and performance of their investments over a specified period. This presentation will explain each component of the indicator, how to interpret the results, and the advantages compared to traditional metrics.
The "Risk Radar Pro" indicator includes several key metrics:
● Beta
● Maximum Drawdown
● Compound Annual Growth Rate (CAGR)
● Annualized Volatility
● Dynamic Sharpe Ratio
● Dynamic Sortino Ratio
Each of these metrics is dynamically calculated using data from the entire selected period, providing a more adaptive and accurate measure of performance and risk.
1. Start Date
● Description: The date from which the calculations begin.
● Interpretation: This allows the user to set a specific period for analysis, ensuring that all metrics reflect the performance from this point onward.
2. Beta
● Description: Beta measures the volatility or systematic risk of the instrument relative to a reference index (e.g., SPY).
● Interpretation: A beta of 1 indicates that the instrument moves with the market. A beta greater than 1 indicates more volatility than the market, while a beta less than 1 indicates less volatility.
● Advantages: Unlike classic beta, which typically uses fixed historical intervals, this dynamic beta adjusts to market changes over the entire selected period, providing a more responsive measure.
3. Maximum Drawdown
● Description: The maximum observed loss from a peak to a trough before a new peak is achieved.
● Interpretation: This shows the largest single drop in value during the specified period. It is a critical measure of downside risk.
● Advantages: By tracking the maximum drawdown dynamically, the indicator can provide timely alerts when significant losses occur, allowing for better risk management.
4. Annualized Performance
● Description: The mean annual growth rate of the investment over the specified period.
● Interpretation: The Annualized Performance represents the smoothed annual rate at which the investment would have grown if it had grown at a steady rate.
● Advantages: This dynamic calculation reflects the actual long-term growth trend of the investment rather than relying on a fixed time frame.
5. Annualized Volatility
● Description: Measures the degree of variation in the instrument's returns over time, expressed as a percentage.
● Interpretation: Higher volatility indicates greater risk, as the investment's returns fluctuate more.
● Advantages: Annualized volatility calculated over the entire selected period provides a more accurate measure of risk, as it includes all market conditions encountered during that time.
6. Dynamic Sharpe Ratio
● Description: Measures the risk-adjusted return of an investment relative to its volatility.
● Choice of Risk-Free Rate Ticker: Users can select a ticker symbol to represent the risk-free rate in Sharpe ratio calculations. The default option is US03M, representing the 3-month US Treasury bill.
● Interpretation: A higher Sharpe ratio indicates better risk-adjusted returns. This ratio accounts for the risk-free rate to provide a comparison with risk-free investments.
● Advantages: By using returns and volatility over the entire period, the dynamic Sharpe ratio adjusts to changes in market conditions, offering a more accurate measure than traditional static calculations.
7. Dynamic Sortino Ratio
● Description: Similar to the Sharpe ratio, but focuses only on downside risk.
Interpretation: A higher Sortino ratio indicates better risk-adjusted returns, focusing solely on negative returns, which are more relevant to risk-averse investors.
● Choice of Risk-Free Rate Ticker: Similarly, users can choose a ticker symbol for the risk-free rate in Sortino ratio calculations. By default, this is also set to US03M.
● Advantages: This ratio's dynamic calculation considering the downside deviation over the entire period provides a more accurate measure of risk-adjusted returns in volatile markets.
Comparison with Basic Metrics
● Static vs. Dynamic Calculations: Traditional metrics often use fixed historical intervals, which may not reflect current market conditions. The dynamic calculations in "Risk Radar Pro" adjust to market changes, providing more relevant and timely information.
● Comprehensive Risk Assessment: By including metrics like maximum drawdown, Sharpe ratio, and Sortino ratio, the indicator provides a holistic view of both upside potential and downside risk.
● User Customization: Users can customize the start date, reference index, risk-free rate, and table position, tailoring the indicator to their specific needs and preferences.
Conclusion
The "Risk Radar Pro" indicator is a powerful tool for investors and traders looking to assess and manage risk more effectively. By providing dynamic, comprehensive metrics, it offers a significant advantage over traditional static calculations, ensuring that users have the most accurate and relevant information to make informed decisions.
The "Risk Radar Pro" indicator provides analytical tools and metrics for informational purposes only. It is not intended as financial advice. Users should conduct their own research and consider their individual risk tolerance and investment objectives before making any investment decisions based on the indicator's outputs. Trading and investing involve risks, including the risk of loss. Past performance is not indicative of future results.
Scaled Historical ATR [SS]Hello again everyone,
This is the Scaled ATR Range indicator. This was done in response to an article/analysis I posted regarding the expected high and range on SPX. I would encourage you to read it here:
Essentially, I took SPX data, scaled it to correct for inflation, then calculated the ATR for Bullish years to get our average range to expect and our close range to expected.
I accomplished this analysis using Excel; however, I figured Pinescript would handle this type of task more elegantly, and I was correct!
This indicator is the result.
What it does:
This indicator permits the analyst to select a historic period in time. The indicator will then scale the period into returns and convert the range to a corrected range based on the current position of the ticker. How it does this is by converting the returns of the historic period selected, then multiplying the returns by the current period open, to ensure that the range amounts are corrected for inflation and natural growth of a ticker.
I say analyst because this indicator is intended to be used by both professional and recreational analysts, to give them an easy way to:
a) Scale historic data and correct it based on the current rate; and
b) Offer insight into a ticker’s ATR and behaviour during bullish and bearish periods.
Prior to this indicator, the only way to do this would be manually or the use of statistical software.
How to use?
The indicator’s use is quite simple. Once launched, the indicator will ask the user to input a timeframe period that the user is interested in assessing. In the main chart above, I chose SPX between 1995 and 2001.
The user can further filter down the data using the settings menu. In the settings menu, there is an option to filter by “All”, “Bullish Periods” or “Bearish Periods”.
Filtering by “All”
Filtering by “All” will include all candles selected within the timeframe. This includes both bearish and bullish candles. It will give you the averaged out range for the entire period of time, including both bearish and bullish instances.
Filtering by “Bullish”
Filtering by “Bullish” will omit any red candles from the analysis. It will only return the ATR ranges for green, bullish candles.
Filtering by “Bearish”
Inverse to filtering by Bullish, if you filter by Bearish, it will only include the red, bearish candles in the analysis.
My suggestion? If you are trying to determine t he likely outcome of a bullish year, filter by Bullish instances. If you want the likely outcome of a bearish year, filter by Bearish.
Other features of the Indicator:
The indicator will display the current period statistics. In the main chart above, you can see that the current ranges for this year are displayed. This allows you to do a side by side comparison of the current period vs. the historic period you are looking at. This can alert you to further upside, further downside and the anticipated close range. It can also alert you to whether or not we are following a similar trajectory as the historical periods you are looking at.
As well, the indicator will list target prices for the current period based on the historical periods you are looking at. This helps to put things into perspective.
Concluding Remarks
And that is the indicator in a nutshell! I encourage you to read the article I linked above to see how you may use it in an analysis. This would be the best example of a real world application of this indicator!
Otherwise, I hope you enjoy and, as always, safe trades!
RSI Sector analysis
Screening tool that produces a table with the various sectors and their RSI values. The values are shown in 3 rows, each with a user-defined length, and can be averaged out and displayed as a single value. The chart is color coded as well. Each ETF representing a sector can be looked at individually, with the top holdings in each preprogrammed, but users can define their own if they wish. The left most ticker is the "benchmark"; SPY is the benchmark for the various sectors, and the ETF is the benchmark for the tickers within.
Symbols are color coded: light blue text indicates that a symbol has greater RSI values in all three timeframes than the benchmark (the leftmost symbol). Orange text indicates that a symbol has a lower RSI value for all three timeframes. In the first row, light blue text indicates the largest RSI increase from the third row to the first row. Orange text indicates the largest RSI decrease from the third row to the first row.
A blue highlight indicates that the value is the highest among the tickers, excluding the benchmark, and an orange highlight indicates that the value is the lowest among the tickers, also excluding the benchmark. A blue highlight on the ticker indicates that it has the highest average value of the 3 rows, and a orange highlight on the ticker indicates that it has the lowest average value of the 3 rows.
VIX Percentile Rank HistogramVIX Percentile Rank Histogram
The VIX Percentile Rank Histogram provides a visual representation of the CBOE Volatility Index (VIX) percentile rank over a customizable lookback period, helping traders gauge market sentiment and make informed trading decisions.
Overview:
This indicator calculates the percentile rank of the VIX over a specified lookback period and displays it as a histogram. The histogram helps traders understand whether the current VIX level is relatively high or low compared to its recent history. This information is particularly useful for timing entries and exits in the S&P 500 or related ETFs and Mega Caps.
How It Works:
VIX Data Integration: The script fetches daily VIX close prices, regardless of the chart you are viewing, to analyze market volatility.
Percentile Rank Calculation: The indicator calculates the rank percentile of the VIX over the chosen lookback period.
Histogram Visualization: The histogram plots the difference between the flipped VIX percentile rank and 50, showing green bars for ranks below 50 (indicating lower market volatility) and red bars for ranks above 50 (indicating higher market volatility).
Usage:
This indicator is most effective when trading the S&P 500 (SPX, SPY, ES1!) or ETFs and Mega Caps that closely follow the S&P 500. It provides insight into market sentiment, helping traders make more informed decisions.
Timing Entries and Exits: Green histogram readings suggest it's a good time to enter or hold long positions, while red readings suggest considering exits or short positions.
Market Sentiment: A high VIX percentile rank (red bars) indicates market fear and uncertainty, while a low percentile rank (green bars) suggests investor confidence and reduced volatility.
Key Features:
Customizable Lookback Period: The default lookback period is set to 20 days, but can be adjusted based on the trader's average trade duration. For example, if your trades typically last 20 days, a 20-day lookback period helps contextualize the VIX level relative to its recent history.
Histogram Visualization: The histogram provides a clear visual representation of market volatility.
Green Bars: Indicate a lower-than-median VIX percentile rank, suggesting reduced market volatility.
Red Bars: Indicate a higher-than-median VIX percentile rank, suggesting increased market volatility.
Threshold Line: A dashed gray line at the 0 level serves as a visual reference for the median VIX rank.
Important Note:
This indicator always shows readings from the VIX, regardless of the chart you are viewing. For example, if you are looking at Natural Gas futures, this indicator will provide no relevant data. It works best when trading the S&P 500 or related ETFs and Mega Caps.
Composite Risk IndicatorThe Composite Risk Indicator is a financial tool designed to assess market risk by analyzing the spreads between various asset classes. This indicator synthesizes information across six key spreads, normalizing each on a scale from 0 to 100 where higher values represent higher perceived risk. It provides a single, comprehensive measure of market sentiment and risk exposure.
Key Components of the CRI:
1. Stock Market to Bond Market Spread (SPY/BND): Measures the performance of stocks relative to bonds. Higher values indicate stronger stock performance compared to bonds, suggesting increased market optimism and higher risk.
2. Junk Bond to Treasury Bond Spread (HYG/GOVT): Assesses the performance of high-yield (riskier) bonds relative to government (safer) bonds. A higher ratio indicates increased appetite for risk.
3. Junk Bond to Investment Grade Bond Spread (HYG/LQD): Compares high-yield bonds to investment-grade corporate bonds. This ratio sheds light on the risk tolerance within the corporate bond market.
4. Growth to Value Spread (VUG/VTV): Evaluates the performance of growth stocks against value stocks. A higher value suggests a preference for growth stocks, often seen in risk-on environments.
5. Tech to Staples Spread (XLK/XLP): Measures the performance of technology stocks relative to consumer staples. This ratio highlights the market’s risk preference within equity sectors.
6. Small Cap Growth to Small Cap Value Spread (SLYG/SLYV): Compares small-cap growth stocks to small-cap value stocks, providing insight into risk levels in smaller companies.
Utility:
This indicator is particularly useful for investors and traders looking to gauge market sentiment, identify shifts in risk appetite, and make informed decisions based on a broad assessment of market conditions. The CRI can serve as a valuable addition to investment analysis and risk management strategies.
Concretum BandsDefinition
The Concretum Bands indicator recreates the Upper and Lower Bound of the Noise Area described in the paper "Beat the Market: An Effective Intraday Momentum Strategy for S&P500 ETF (SPY)" published by Concretum founder Zarattini, along with Barbon and Aziz, in May 2024.
Below we provide all the information required to understand how the indicator is calculated, the rationale behind it and how people can use it.
Idea Behind
The indicator aims to outline an intraday price region where the stock is expected to move without indicating any demand/supply imbalance. When the price crosses the boundaries of the Noise Area, it suggests a significant imbalance that may trigger an intraday trend.
How the Indicator is Calculated
The bands at time HH:MM are computed by taking the open price of day t and then adding/subtracting the average absolute move over the last n days from market open to minute HH:MM . The bands are also adjusted to account for overnight gaps. A volatility multiplier can be used to increase/decrease the width of the bands, similar to other well-known technical bands. The bands described in the paper were computed using a lookback period (length) of 14 days and a Volatility Multiplier of 1. Users can easily adjust these settings.
How to use the indicator
A trader may use this indicator to identify intraday moves that exceed the average move over the most recent period. A break outside the bands could be used as a signal of significant demand/supply imbalance.
1. [Pufferman] - Comprehensive VolumeThis indicator presents a comprehensive approach to volume analysis, incorporating several key metrics to provide traders with a detailed view of market activity. Here's what's included:
1. Cumulative Relative Volume (Intraday): This metric accumulates volume data throughout the day, comparing it to historical session averages up to the current time. It's particularly useful for intraday analysis to determine if the stock is trading high or low volume before the day is over.
2. Real Relative Volume - This feature calculates the relative volume of a stock in comparison to the SPY, offering insight into whether a stock is trading with higher relative volume than the broader market.
3. Configurable Moving Average for Volume: Users can adjust the moving average period for average volume, allowing for flexible adaptation to different trading strategies and time frames. (green line in photo)
4. Above/Below Average Line: This line indicates whether the current volume bar exceeds or falls short of the session's average volume, providing immediate context for volume analysis. (red line in photo).
5. Volume Display in Abbreviations: Actual volume figures are presented in an abbreviated format, using "K" for thousands and "M" for millions, facilitating quick and easy analysis.
6. Color-Coded Relative and Real Relative Volume: Both the Relative Volume (RVOL) and Real Relative Volume (RRVOL) are color-coded to instantly convey volume concentration levels, enhancing visual analysis across multiple charts.
7. Volume Bars with Bullish and Bearish Highlights: Traditional volume bars are color-highlighted according to corresponding candle patterns, aiding in the identification of market sentiment.
Key Points:
The RVOL is a cumulative metric, considering time-of-day volume comparisons for intraday analysis. This approach offers a nuanced understanding of volume patterns specific to the timeframe being viewed.
The RRVOL provides a comparative analysis against the market, offering insights into stock-specific volume activity relative to market trends.
Note: This indicator is designed for intraday analysis and may not function as intended on timeframes above daily due to the cumulative nature of its volume calculations.
+4-4 ChartThis overlay indicator provides a visual representation of momentum and price direction within each bar (or candlestick). It does this by comparing the current bar's open, high, low, and close to the previous bar's values, highlighting the following conditions:
Strong Up (Green): All four components (open, high, low, close) are higher than the previous bar.
Weak Up (Light Green): Three out of four components are higher than the previous bar.
Strong Down (Red): All four components are lower than the previous bar.
Weak Down (Light Red): Three out of four components are lower than the previous bar.
White: None of the strong or weak conditions are met, suggesting possible consolidation or indecision.
How to Use: The +4-4 Chart Indicator can be helpful in identifying potential trend continuation patterns, reversals, or periods of consolidation. Traders might use the predominance of green or red to gauge overall market sentiment. It is most useful to visualise long term daily, weekly, monthly market trends for SPY and QQQ etc.
MACD All In One Screener [ChartPrime]INTRODUCTION
MACD All In One Screener (ChartPrime) is a multi instrument, multi timeframe indicator designed to provide traders with a comprehensive solution to monitoring the market. This indicator is designed to be easy to use and visually appealing while also being highly flexible and feature rich. Users can pick up to 10 symbols not including the chart's symbol and set up alerts for many different signals that the MACD produces. One standout feature of this indicator is its ability to display not only each symbol individually as a MACD but you can also view its chart from within this indicator. This removes the need to flip between symbols to see the price action for your basket.
On top of that we have designed this indicator to be friendly with "indicator on indicator" by providing outputs for all of the standards of price that users may want. Included is an overview section that shows all of the symbols signals symbolically over time. Additionally we have included a table for easy monitoring. This table includes the symbol, its timeframe, the current alert, and its histogram state. To make things as user friendly as possible we have also included rich error handling that tells you exactly what is wrong with your configuration.
HOW TO USE
To use this indicator, simply add it to your chart and navigate to the settings. From there select the symbols you want to monitor and the timeframes you want to use. Next you want to navigate down to the alerts section to select the what alerts you want to receive, and what symbols you want to get alerts for. Finally, you wan to create your alert using "Any alert() function call". Now your screener is all set up!
OVERVIEW OF INPUTS
View allows you to select what the indicator currently displays. You can pick from any one of the selected symbols, an overview of all of the symbols, or simply nothing. If you want to only use the table, "None" is provided so you can move the indicator into the chart panel.
View Toggle lets you pick from displaying the MACD for the selected symbol or the Price Action as a candle chart. To see your "indicator on indicator" you will have to select a symbol from the view list. There is a bug where if you select "Overview" while you are using "indicator on indicator" your added indicator will see the last symbol you viewed. To fix this, simply change the setting of your overlaid indicator and it will correct its self.
History Length is the number of historical bars to calculate over. This feature is here to prevent the indicator from breaking due to uneven historical data between the symbols.
Show Price Line toggles a dotted line that follows the current symbols closing price when "Price" is selected under the "View Toggle" dropdown.
Show Symbol Label toggles a label that displays the current symbols name and timeframe. This only impacts the single symbol view.
Overview Label Color adjusts the color of the symbol labels for both overview and single symbol view.
MA Type lets you pick what kind of moving average you want to use for the oscillator or signal. You can pick from the standard SMA or EMA.
Fast Length is a standard input for MACD. This lets you pick the period of the fast MA.
Slow Length , just like Fast Lenght, is a standard input for MACD. This lets you pick the period of the slow MA.
Signal Length is another standard input for MACD. This lets you configure the period of the signal MA.
MACD Cross Overlay Icon is a toggle to display MACD crosses when viewing a single symbol's MACD. When the MACD has a bullish cross it will plot a bullish dot, and when it has a bearish cross it will plot a bearish dot. This is purely visual.
Regular Bullish and Bearish toggles the visual display of the divergences on the single symbol view. This does not effect the indicators ability do send alerts.
Divergence Look Right adjusts the number of bars into the future to look for confirmation of a signal. This directly impacts lag but enhances stability.
Divergence Look Left adjusts the number of bars into the past to check for a signal. A longer period will filter out smaller moves
Maximum Lookback adjusts the maximum size of a divergence.
Minimum Lookback adjusts the minimum size of a divergence.
Divergence Drawings picks how you want to visualize the divergence. You can pick from displaying it as a line, a label, or both.
Enable Table toggles the overview table. When enabled it will show you the enabled symbols and their current state. From left to right: symbol name, timeframe, current alert, and histogram state.
Position picks where on the chart you want the table to be.
Text Color adjusts the text color of the table.
BG Color adjusts the background color of the table.
Frame Color adjust the frame color of the table.
Current Symbol Time Frame adjusts the timeframe of the chart's symbol.
Symbol 1 - 10 pick "Symbol's" symbol and timeframe. To use higher timeframes, the symbol's have to be the same type. You can't have a crypto and a stock using HTF at the same time as they don't have the same sessions and will result in an error. You can use unsafe mode (as described below) to potentially get around this.
Enable Symbol when enabled it will give you alerts for the symbol. This also enables the symbol in the overview. If this is disabled it won't send alerts, and it will not show up in overview, or the table.
Wait for Close enables waiting for the bar to close before printing an alert.
Alert Symbol Size picks what size you want the overview symbols to be.
Enable Cross Over 0 Alert: MACD crosses over the 0 line.
Enable Cross Under 0 Alert: MACD crosses under the 0 line.
Enable MACD Cross Bullish Alert: Bullish MACD cross.
Enable MACD Cross Bearish Alert: Bearish MACD cross.
Enable Histogram Bullish Turn Alert: MACD begins to turn bullish but hasn't crossed.
Enable Histogram Bearish Turn Alert: MACD begins to turn bearish but hasn't crossed.
Enable Histogram Bullish Continuation Alert: MACD is in a bullish cross state and it was declining but began rising again.
Enable Histogram Bearish Continuation Alert: MACD is in a bearish cross state and it was rising but began falling again.
Enable Bullish/Bearish Divergence Alert enables divergence alerts. Divergences are lagging, especially on a higher timeframe. These alerts will also tell you the time in the past when the divergence occurred.
Color Section is provided to allow for personalization of the indicator. Everything can be adjusted here.
Disable Error Checking: Only enable this if you want to bypass the built in error checking. This will enable 'Safe Requesting'. Safe Requesting will only request enabled symbols and you will not be able to view symbols that are not enabled in this mode. Only use this if you want to mix symbol types and you know it will work. (An example would be viewing stocks and SPY at the same time.)
CONCLUSION
The MACD All In One Screener (ChartPrime) is a versatile indicator designed to monitor multiple symbols across various timeframes. The flexibility in customization, from MACD settings to visual alerts and table presentations, allows users to tailor the screener to their needs and preferences. We hope you find this as useful and interesting as we do and wish you good luck in the market!
Enjoy
Opening Range Reversal ZonesThis script finds a reversal zone beyond the opening range for the selected period. I borrowed most of the opening range script itself from asenski.
I added a few things:
Trade Entry Times -- this restricts the "alert times."
Shading for the above mentioned times for the two "reversal" zones
A couple of other visuals for lines for the hi, mid, low of the opening range and lines for the fibs
Alerts while in the trading entry time session for fibbonacci crossovers.
I use this on NDX, SPY, and QQQs and have found buying "at the money" 0DTE puts in the "red zone" or 0DTE calls in the "green zone" frequently wins.
I have no statistics, as I am very methodical when I choose to enter, paying attention to the news, recent momentum, etc, and am not blindly entering when alert comes, but when one does, I do research and enter a trade.
In any case, thought I would share.
Market Average TrendThis indicator aims to be complimentary to SPDR Tracker , but I've adjusted the name as I've been able to utilize the "INDEX" data provider to support essentially every US market.
This is a breadth market internal indicator that allows quick review of strength given the 5, 20, 50, 100, 150 and 200 simple moving averages. Each can be toggled to build whatever combinations are desired, I recommend reviewing classic combinations such as 5 & 20 as well as 50 & 200.
It's entirely possible that I've missed some markets that "INDEX" provides data for, if you find any feel free to drop a comment and I'll add support for them in an update.
Markets currently supported:
S&P 100
S&P 500
S&P ENERGIES
S&P INFO TECH
S&P MATERIALS
S&P UTILITIES
S&P FINANCIALS
S&P REAL ESTATE
S&P CON STAPLES
S&P HEALTH CARE
S&P INDUSTRIALS
S&P TELECOM SRVS
S&P CONSUMER DISC
S&P GROWTH
NAS 100
NAS COMP
DOW INDUSTRIAL
DOW COMP
DOW UTILITIES
DOW TRANSPORTATION
RUSSELL 1000
RUSSELL 2000
RUSSELL 3000
You can utilize this to watch stocks for dip buys or potential trend continuation entries, short entries, swing exits or numerous other portfolio management strategies.
If using it with stocks, it's advisable to ensure the stock often follows the index, otherwise obviously it's great to use with major indexes and determine holdings sentiment.
Important!
The "INDEX" data provider only supplies updates to all of the various data feeds at the end of day, I've noticed quite some delays even after market close and not taken time to review their actual update schedule (if even published). Therefore, it's strongly recommended to mostly ignore the last value in the series until it's the day after.
Only works on daily timeframes and above, please don't comment that it's not working if on other timeframes lower than daily :)
Feedback and suggestions are always welcome, enjoy!
Volume Profile Histogram [SS]I usually (and by usually, I mean the past year xD) release a significant indicator as my Christmas gift to the community on Christmas Eve. Last year, it was the Z-Score buy and sell signal; this year, it's something a little more conventional. So here is this year’s gift—hope you like it! 🎁
Seems like everyone has their take on Volume Profiles (aka SVP or VSP). I decided to create one, and in true Steversteves fashion, you can expect to find all the goodies that come with most of my stuff, including a volume profile presented in a bell-curve/histogram style (chart above) and statistical frequency tables showing the cases by ranges:
And it wouldn't be a true Steversteves indicator without some kind of ATR thing:
So, what does it do?
At the end of the day, it is a form of an SVP indicator. However, it is meant to operate on a larger scale, sorting volume in a traditional bell-curve style. In addition to displaying volume, it breaks down buying vs. selling volume. Selling volume is classified as such when the open is greater than close, while buying is when close is greater than open. This breakdown allows you to see the distribution, by price range, of where selling and buying occur.
This permits the indicator to provide 2 Points of Control (POCs). A POC is defined as an area of high volume activity. Because buying and selling volumes are broken down into two, we can identify areas with high selling and areas with high buying. Sometimes they coincide, sometimes they differ.
If we look at SQQQ, for example:
We can see that the bearish point of control is one point below the bullish POC. This is interesting because it essentially shows where people may be "panic selling" or setting their stop-outs. If SQQQ drops below 18.8, then it's likely to trigger panic selling, as indicated by the histogram.
Conversely, we can observe that traders tend to position long between $18 and $24. The POC is noted in the stats table and also displayed on the chart. Bullish POC is shown in purple, bearish in yellow. These, of course, can be toggled off.
The Frequency Table:
The frequency table shows how many observations were obtained in each price range. The histogram illustrates the cumulative volume traded, while the frequency simply counts how many cases occurred over the lookback period.
ATR Range Analytics by Volume:
The indicator also has the ability to display range analytics by volume. When you toggle on the range analytics by volume option, a range chart will appear:
www.tradingview.com
The range chart goes from the minimum recorded volume to the maximum recorded volume in the period, showing the average range and direction associated with this volume. This is crucial to pay attention to because not all stocks behave the same way.
For example, in the chart above (AMD), we can see that low volume produces a general bearish bias, and high volume produces a general bullish bias. However, if we look at the range analytics for SPY:
Low volume has the inverse effect. Low volume is associated with a more bullish bias, and high volume indicates a more bearish bias. In the ATR chart, the threshold volume to transition from bullish bias to bearish bias is approximately > 78,607,268 traded shares.
The Stats Table:
The stats table can be toggled on or off. It simply displays the POCs and the time range for the VSP. The default time range is 1 trading year (252 days), assuming you are on the daily timeframe. However, you can use this on any timeframe.
The percentages displayed in the histogram is the cumulative percent of buying and selling volume independently. So when you see the percentage on the selling histogram, its the percent of cumulative selling only. Same for the buying.
And that's the indicator! I hope you enjoy it. Let me know your thoughts. I hope you all have safe holidays, a Merry Christmas for you North Americans, and a Happy Christmas for you UKers, and whatever else you celebrate/care about and do! Safe trades, everyone, and enjoy your holidays! 🎁🎄🎄🎄⭐⭐⭐ 🕎 🕎 🕎
PercenageDropFromATHINFO:
The PercenageDropFromATH script is fairly simple indicator, which is able to:
detect the last ATH (real ATH of the full chart, not related to the selected timeframe) and plot it
user can select a percentage of drop from this price, and once reached can receive a notification
Note that if the ATH is outside of the visibility of the currently selected timeframe the indicator will not be able to show it. Recommended settings is 1D TF!
DETAILS:
The purpose of the script is to serve to ease passive investments in ETFs and indices, once those are dropping below certain point from the ATH.
Individual stocks are not really recommended in my view, as unlike the indices which are cherry picking the best companies from the sector, individual companies can always start drifting away.
Anyway, the indicator should work on all assets, including crypto, gold, etc.
Example usage could be of setting an alert for 25% drop in SPY, and start accumulating positions on every next 10% additional drop, so DCA can be done with favorable prices.
SETTINGS
The settings are pretty straight forward:
ATH Source - source for computing the ATH, default to "high", but user can select to check only on open/close/low as well
Percentage drop target from ATH - self explaining, default to 20
ATH color - only the last ATH until the current bar is been drawn
Plot ATH drop target price - optionally the target price after the percentage drop can be plotted as well
ATH drop target color - the color of the price after the percentage drop from ATH
Price Cross Time Custom Range Interactive█ OVERVIEW
This indicator was a time-based indicator and intended as educational purpose only based on pine script v5 functions for ta.cross() , ta.crossover() and ta.crossunder() .
I realised that there is some overlap price with the cross functions, hence I integrate them into Custom Range Interactive with value variance and overlap displayed into table.
This was my submission for Pinefest #1 , I decided to share this as public, I may accidentally delete this as long as i keep as private.
█ INSPIRATION
Inspired by design, code and usage of CAGR. Basic usage of custom range / interactive, pretty much explained here . Credits to TradingView.
█ FEATURES
1. Custom Range Interactive
2. Label can be resize and change color.
3. Label show tooltip for price and time.
4. Label can be offset to improve readability.
5. Table can show price variance when any cross is true.
6. Table can show overlap if found crosss is overlap either with crossover and crossunder.
7. Table text color automatically change based on chart background (light / dark mode).
8. Source 2 is drawn as straight line, while Source 1 will draw as label either above line for crossover, below line for crossunder and marked 'X' if crossing with Source 2's line.
9. Cross 'X' label can be offset to improve readability.
10. Both Source 1 and Source 2 can select Open, Close, High and Low, which can be displayed into table.
█ LIMITATIONS
1. Table is limited to intraday timeframe only as time format is not accurate for daily timeframe and above. Example daily timeframe will give result less 1 day from actual date.
2. I did not include other sources such external source or any built in sources such as hl2, hlc3, ohlc4 and hlcc4.
█ CODE EXPLAINATION
I pretty much create custom function with method which returns tuple value.
method crossVariant(float price = na, chart.point ref = na) =>
cross = ta.cross( price, ref.price)
over = ta.crossover( price, ref.price)
under = ta.crossunder(price, ref.price)
Unfortunately, I unable make the labels into array which i plan to return string value by getting the text value from array label, hence i use label.all and add incremental int value as reference.
series label labelCross = na, labelCross.delete()
var int num = 0
if over
num += 1
labelCross := label.new()
if under
num += 1
labelCross := label.new()
if cross
num += 1
labelCross := label.new()
I realised cross value can be overlap with crossover and crossunder, hence I add bool to enable force overlap and add additional bools.
series label labelCross = na, labelCross.delete()
var int num = 0
if forceOverlap
if over
num += 1
labelCross := label.new()
if under
num += 1
labelCross := label.new()
if cross
num += 1
labelCross := label.new()
else
if cross and over
num += 1
labelCross := label.new()
if cross and under
num += 1
labelCross := label.new()
if cross and not over and not under
num += 1
labelCross := label.new()
█ USAGE / EXAMPLES
COSTAR [SS]This idea came to me after I wrote the post about Co-Integration and pair trading. I wondered if you could use pair trading principles as a way to determine overbought and oversold conditions in a more neutral way than RSI or Stochastics.
The results were promising and this indicator resulted :-)!
About:
COSTAR provides another, more neutral way to determine whether an equity is overbought or oversold.
Instead of relying on the traditional oscillator based ways, such as using RSI, Stochastics and MFI, which can be somewhat biased and narrow sided, COSTAR attempts to take a neutral, unbiased approached to determine overbought and oversold conditions. It does this through using a co-integrated partner, or "pair" that is closely linked to the underlying equity and succeeds on both having a high correlation and a high t-statistic on the ADF test. It then references this underlying, co-integrated partner as the "benchmark" for the co-integration relationship.
How this succeeds as being "unbiased" and "neutral" is because it is responsive to underlying drivers. If there is a market catalyst or just general bullish or bearish momentum in the market, the indicator will be referencing the integrated relationship between the two pairs and referencing that as a baseline. If there is a sustained rally on the integrated partner of the underlying ticker that is holding, but the other ticker is lagging, it will indicate that the other ticker is likely to be under-valued and thus "oversold" because it is underperforming its benchmark partner.
This is in contrast to traditional approaches to determining overbought and oversold conditions, which rely completely on a single ticker, with no external reference to other tickers and no control over whether the move could potentially be a fundamental move based on an industry or sector, or whether it is a fluke or a squeeze.
The control for this giving "false" signals comes from its extent of modelling and assessment of the degree of integration of the relationship. The parameters are set by default to assess over a 1 year period, both the correlation and the integration. Anything that passes this degree of integration is likely to have a solid, co-integrated state and not likely to be a "fluke". Thus, the reliability of the assessment is augmented by the degree of statistical significance found within the relationship. The indicator is not going to prompt you to rely on a relationship that is statistically weak, and will warn you of such.
The indicator will show you all the information you require regarding the relationship and whether it is reliable or not, so you do not need to worry!
How to Use
The first step to use COSTAR is identifying which ticker has a strong relationship with the current ticker. In the main chart, you will see that SPY is overlaid with VIX. There is a strong, negative correlation between the VIX and SPY. When VIX is entered as the paired ticker, the indicator returns the data as stationary, indicating a compatible match.
Now you have 3 ways of viewing this relationship, 2 of which are going to be directly applicable to trading.
You can view them as
Price to Price Ratio (Not very useful for trading, but if you are curious)
Z-Score: Helpful for trading
Co-integration: Helpful for trading
Here is an example of all three:
Example of Z-Score Chart:
Example of Price Ratio:
Example of Co-Integration Pair:
Using for Trading
As stated above, the two best ways to use this for trading is to either use the Z-Score Chart or the Co-Integrated Pair chart.
The Z-Score chart is based off of the price ratio data and provides an assessment of both the independent and dependent data.
The co-integration shows the dependent (the ticker you are trading) in yellow and the independent (the ticker you are referencing) in teal. When teal is above yellow, you will see it is green. This means, based on your benchmark pair, there is still more up room and the ticker you are trading is actually lagging behind.
When the yellow crosses up, it will turn red. This means that your ticker is out-performing the benchmark pair and you likely will see pullback and a "regression to the mean" through re-integration.
The indicator is capable of plotting out entries and exits, which are guided by the z-score:
How Effective is it?
I created a basic strategy in Pinescript, and the back-test results vary. Trading ES1! using NQ1! as the co-integrated pair, results were around 78% effective.
With VIX, results were around 50% effective, but with a net profit.
Generally, the efficacy surpassed that of both stochastics and RSI.
I will be releasing the strategy version of this in the coming days, still just cleaning up that code and making it more "public use" friendly.
Other Applications
If you are a pair trader, you can technically use this for pair trading as well. That's essentially all this is doing :-).
Tips
If you are trading a ticker such as MSFT, AMD, KO etc., it's best to try to find an ETF or index that has that particular ticker as a large holding and use that as your benchmark. You will see on the indicator whether there is a high correlation and whether the data is indeed stationary.
If the indicator returns "Non-stationary", you can attempt to extend your regression range from 252 to 500. If this fixes the issue, ensure that the correlation is still >= 0.5 or <= -0.5. If this does not work still, you will need to find another pair, as its likely the result of incompatibility and an insignificant relationship.
To help you identify tickers with strong relationships, consider using a correlation heatmap indicator. I have one available and I think there are a couple of other similar ish ones out there. You want to make sure the relationship is stable over time (a correlation of >= 0.50 or <= -0.5 over the past 252 to 500 days).
IMPORTANT: The long and short exits delete the signal after one is signaled. Therefore, when you look back in the chart you will notice there are no signals to exit long or short. That is because they signal as they happen. This is to keep the chart clean.
'Tis all my friends!
Hope you enjoy and let me know your questions and suggestions below!
Side note:
COSTAR stands for Co-integration Statistical Analysis and Regression. ;)
Bull Flag DetectionThe FuturesGod bull flag indicator aims to identify the occurrence of bull flags.
Bull flags are a popular trading pattern that allows users to gauge long entries into a given market. Flags consist of a pole that is followed by either a downward or sideways consolidation period.
This script can be used on any market but was intended for futures (NQ, ES) trading on the intraday timeframe.
The script does the following:
1. Identifies the occurrence of a flag pole. This is based on a lookback period and percentage threshold decided by the user.
2. Marks the consolidation area after the pole occurrence using swing highs and swing lows.
3. Visually the above is represented by a shaded green area.
4. When a pole is detected, it is marked by a downward off-white triangle. Note that if the percentage threshold is reached several times on the same upward climb, the script will continue to identify points where the threshold for pole detection is met.
5. Also visualized are the 20, 50 and 200 period exponential moving averages. The area between the 20 and 50 EMAs are shaded to provide traders a visual of a possible support area.
ETFHoldingsLibLibrary "ETFHoldingsLib"
spy_get()
: pulls SPY ETF data
Returns: : tickers held (string array), percent ticker holding (float array), sectors (string array), percent secture positioning (float array)
qqq_get()
: pulls QQQ ETF data
Returns: : tickers held (string array), percent ticker holding (float array), sectors (string array), percent secture positioning (float array)
arkk_get()
: pulls ARKK ETF data
Returns: : tickers held (string array), percent ticker holding (float array), sectors (string array), percent secture positioning (float array)
xle_get()
: pulls XLE ETF data
Returns: : tickers held (string array), percent ticker holding (float array), sectors (string array), percent secture positioning (float array)
brk_get()
: pulls BRK ETF data
Returns: : tickers held (string array), percent ticker holding (float array), sectors (string array), percent secture positioning (float array)
ita_get()
: pulls ITA ETF data
Returns: : tickers held (string array), percent ticker holding (float array), sectors (string array), percent secture positioning (float array)
iwm_get()
: pulls IWM ETF data
Returns: : tickers held (string array), percent ticker holding (float array), sectors (string array), percent secture positioning (float array)
xlf_get()
: pulls XLF ETF data
Returns: : tickers held (string array), percent ticker holding (float array), sectors (string array), percent secture positioning (float array)
xlv_get()
: pulls XLV ETF data
Returns: : tickers held (string array), percent ticker holding (float array), sectors (string array), percent secture positioning (float array)
vnq_get()
: pulls VNQ ETF data
Returns: : tickers held (string array), percent ticker holding (float array), sectors (string array), percent secture positioning (float array)
xbi_get()
: pulls XBI ETF data
Returns: : tickers held (string array), percent ticker holding (float array), sectors (string array), percent secture positioning (float array)
blcr_get()
: pulls BLCR ETF data
Returns: : tickers held (string array), percent ticker holding (float array), sectors (string array), percent secture positioning (float array)
vgt_get()
: pulls VGT ETF data
Returns: : tickers held (string array), percent ticker holding (float array), sectors (string array), percent secture positioning (float array)
vwo_get()
: pulls VWO ETF data
Returns: : tickers held (string array), percent ticker holding (float array), sectors (string array), percent secture positioning (float array)
vig_get()
: pulls VIG ETF data
Returns: : tickers held (string array), percent ticker holding (float array), sectors (string array), percent secture positioning (float array)
vug_get()
: pulls VUG ETF data
Returns: : tickers held (string array), percent ticker holding (float array), sectors (string array), percent secture positioning (float array)
vtv_get()
: pulls VTV ETF data
Returns: : tickers held (string array), percent ticker holding (float array), sectors (string array), percent secture positioning (float array)
vea_get()
: pulls VEA ETF data
Returns: : tickers held (string array), percent ticker holding (float array), sectors (string array), percent secture positioning (float array)
Euclidean Distance Predictive Candles [SS]Finally releasing this, its been in the works for the past 2 weeks and has undergone many iterations.
I am not sure if I am 100% happy with it yet, but I guess its best to release and get feedback to make improvements.
So this is the Euclidean distance predictive candle indicator and what it does is exactly what it sounds like, it uses Euclidean distance to identify similar candles and then plot the candles and range that immediately proceeded like candles.
While this is using a general machine learning/data science approach (Euclidean distance), I do not employ the KNN (Nearest Neighbors) algo into this. The reason being is it simply offered no predictive advantage than isolating for the last case. I tried it, I didn't like it, the results were not improve and, at times, acutally hindered so I ditched it. Perhaps it was my approach but using some other KNN indicators, I just don't really find them all that more advantageous to simply relying on the Law of Large Numbers and collecting more data rather than less data (which we will get into later in this explanation).
So using this indicator:
There is a lot of customizability here. And the reason is, not all settings are going to work the same for all tickers. To help you narrow down your parameters, I have included various backtest results that show you how the model is performing. You see in the AMZN chart above, with the current settings, it is performing optimally, with a cumulative range pass of 99% (meaning that, of all the cases, the indicator accurately predicted the next day high OR low range 99% of the time), and the ability to predict the candle slightly over 52%.
The recommended settings, from me, are as follows:
So these are generally my recommended settings.
Euclidian Tolerance: This will determine the parameters to look for similar candles. In general, the lower the tolerance, the greater the precision. I recommend keeping it between 0.5, for tickers with larger prices (like ES1! futures or NQ1!) or 0.05 for tickers with lower TPs, like SPY or QQQ.
If the ED Tolerance is too extreme that the indicator cannot find identical setups, it will alert you:
But in general, the more precise you can get it, the better.
Anchor Type: You will see the option to anchor by "Predicted Open" or by "Previous Close". I suggest sticking with anchoring by predicted open. All this means is, it is going to anchor your range, candle, high and low targets by the predicted open price. Anchoring by previous close will anchor by the close of yesterday. Both work okay, but in general the results from anchoring to predicted open have higher pass rates and more accurately depict the candle.
Euclidean Distance Measurement Type: You can choose to measure by candle body or from high to low wicks. I haven't played around with measuring from high to low wicks all that much, because candle body tends to do the job. But remember, ED is a neutral measurement. Which means, its not going to distinguish between a red or green candle, just the formation of the candle. Thus, I tend to recommend, pragmatically, not to necessarily rely on the candle being red or green, but one the formation of the candle (where are the wicks going, are there more bearish wicks or bullish wicks) etc. Examples will follow.
Range Prediction Type: You can filter the range prediction type by last instance (in which, it will pull the previous identical candle and plot the next candle that followed it, adjusted for the current ranges) or "Average of All Cases". So this is where we need to talk a little bit about the law of large numbers.
In general, in statistics, when you have a huge amount of random data, the law of large numbers stipulates that, within this randomness should be repeated events. This is why sometimes chart patterns work, sometimes they don't. When we filter by the average of all cases, we are relying on the law of large numbers. In general, if you are getting good Backtest readings from Last Instance, then you don't need to use this function. But it provides an alternative insight into potential candle formations next day. Its not a bad idea to compare between the two and look for similarities and differences.
So now that we have covered the boring details, let's get into how to use the indicator and some examples.
So the indicator is plotting the range and candle for the next day. As such, we are not looking at the current candle being plotted, but we are looking at the previous candle (see image below for example):
The green arrow shows the prediction for Friday, along with the corresponding result. The purple arrow shows the prediction for Monday which we have yet to realize.
So remember when you are using this, you need to look at the previous candle, and not the candle that it is currently plotting with realtime data, because it is plotting for the next candle.
If you are plotting by last instance, the indicator will tell you which day it is pulling its data from if you have opted to toggle on the demographic data:
You can see the green arrow pointing to the date where it is pulling from. This data serves as the example candle with the candle proceeding this date being the anchored candle (or the predicted candle).
Price Targets and Probability:
In the chart, you can see the green arrow pointing to the green portion of the table. In this table, it will give you the current TPs. These represent the current time target price, which means, the TPs shown here are for Friday. On Monday, the table will update with the TPs for Monday, etc. If you want to view the TPs in advance, you can view them from the actual candle itself.
Below the TPs, you see a bullish 7:6. It means, in a total of 13 cases, the next candle was bullish 7 times and bearish 6 times. Where do we see the number of cases? In the demographic table as well:
Auxiliary functions
Because you are using the previous candle, if you want to avoid confusion, you can have the indicator plot the price targets over the predicted candle, to anchor your attention so to speak. Simply select "Label" in the "Show Price Targets" section, which will look like this:
You can also ask the indicator to plot the demographic data of Higher High, Low, etc. information. What this does is simply looks at all the cases and plots how many times higher highs, lows, lower lows, highs etc. were made:
This will just count all of the cases identified and plot the number of times higher highs, lows, etc. were made.
Concluding Remarks
This is a kind of complex indicator and I can appreciate it may take some getting used to.
I will try to post a tutorial video at some point next week for it, so stay tuned for that.
But this isn't designed to make your life more complicated, just to help give you insights into potential outcomes for the next day or hour or 5 minute (it can be used on all timeframes).
If you find it helpful, great! If not, that's okay, too :-).
Please be aware, this is not my forte of indicators. I am not a data scientist or programmer. My background is in Epi and we don't use these types of data science approaches, so if you have any suggestions or critiques, feel free to share them below.
Otherwise, I hope you enjoy!
Take care everyone and safe trades!
Enio_SPX_Accumulation/DistributionThis indicator handles the same inputs used for classic Accumulation and Distribution indicators, but performs the calculations in a different way.
This indicator is used to compare the positive volume (up volume) and the number of advancing stocks against the negative volume (down volume) and the number of declining stocks.
This indicator only measures SPX market breadth (Advancing issues, Declining issues) and SPX volume (Up and down volume)so it is for use only with SPX, SPY or MES. It can also be used with ES, but data outside of regular trading hours is not provided, the indicator in those cases will print a block of the same height and same color as the last RTH bar.
When the histogram is positive or green, the bars change to a lighter color if the current bar is less than the average of the last 3 bars. A continued set of bars with a lighter color could mean that the trend is about to change.
When the histogram is negative or red, the bars change to a lighter color if the current bar is greater than the average of the last 3 bars. A continued set of bars with a lighter color could mean that the trend is about to change.
When the histogram height is low, could signal a choppy market (SPX).
The histogram can help indicate a trending market when the opening trend is maintained and the color of the bars does not change, for example, a solid green increasing histogram can indicate a bullish trending market, while a solid red decreasing histogram will indicate a strong bearish trend.
In intraday trading the indicator can signal if the SPX price changes are supported by volume and market breadth and also allows you to see when these changes or trend are weakening.
The change from green (positive) to red (negative) and vice versa should not be taken alone as a buy/sell signal but as a confirmation of signals from other indicators you trust.
Due to the great specific weight that some stocks have within the SPX price calculation, the divergences of this indicator with SPX, can be taken as warning signals, but should not become an element of trading decisions. . You could see a negative histogram while SPX is positive and vice versa.
Quadratic & Linear Time Series Regression [SS]Hey everyone,
Releasing the Quadratic/Linear Time Series regression indicator.
About the indicator:
Most of you will be familiar with the conventional linear regression trend boxes (see below):
This is an awesome feature in Tradingview and there are quite a few indicators that follow this same principle.
However, because of the exponential and cyclical nature of stocks, linear regression tends to not be the best fit for stock time series data. From my experience, stocks tend to fit better with quadratic (or curvlinear) regression, which there really isn't a lot of resources for.
To put it into perspective, let's take SPX on the 1 month timeframe and plot a linear regression trend from 1930 till now:
You can see that its not really a great fit because of the exponential growth that SPX has endured since the 1930s. However, if we take a quadratic approach to the time series data, this is what we get:
This is a quadratic time series version, extended by up to 3 standard deviations. You can see that it is a bit more fitting.
Quadratic regression can also be helpful for looking at cycle patterns. For example, if we wanted to plot out how the S&P has performed from its COVID crash till now, this is how it would look using a linear regression approach:
But this is how it would look using the quadratic approach:
So which is better?
Both linear regression and quadratic regression are pivotal and important tools for traders. Sometimes, linear regression is more appropriate and others quadratic regression is more appropriate.
In general, if you are long dating your analysis and you want to see the trajectory of a ticker further back (over the course of say, 10 or 15 years), quadratic regression is likely going to be better for most stocks.
If you are looking for short term trades and short term trend assessments, linear regression is going to be the most appropriate.
The indicator will do both and it will fit the linear regression model to the data, which is different from other linreg indicators. Most will only find the start of the strongest trend and draw from there, this will fit the model to whatever period of time you wish, it just may not be that significant.
But, to keep it easy, the indicator will actually tell you which model will work better for the data you are selecting. You can see it in the example in the main chart, and here:
Here we see that the indicator indicates a better fit on the quadratic model.
And SPY during its recent uptrend:
For that, let's take a look at the Quadratic Vs the Linear, to see how they compare:
Quadratic:
Linear:
Functions:
You will see that you have 2 optional tables. The statistics table which shows you:
The R Squared to assess for Variance.
The Correlation to assess for the strength of the trend.
The Confidence interval which is set at a default of 1.96 but can be toggled to adjust for the confidence reading in the settings menu. (The confidence interval gives us a range of values that is likely to contain the true value of the coefficient with a certain level of confidence).
The strongest relationship (quadratic or linear).
Then there is the range table, which shows you the anticipated price ranges based on the distance in standard deviations from the mean.
The range table will also display to you how often a ticker has spent in each corresponding range, whether that be within the anticipated range, within 1 SD, 2 SD or 3 SD.
You can select up to 3 additional standard deviations to plot on the chart and you can manually select the 3 standard deviations you want to plot. Whether that be 1, 2, 3, or 1.5, 2.5 or 3.5, or any combination, you just enter the standard deviations in the settings menu and the indicator will adjust the price targets and plotted bands according to your preferences. It will also count the amount of time the ticker spent in that range based on your own selected standard deviation inputs.
Tips on Use:
This works best on the larger timeframes (1 hour and up), with RTH enabled.
The max lookback is 5,000 candles.
If you want to ascertain a longer term trend (over years to months), its best to adjust your chart timeframe to the weekly and/or monthly perspective.
And that's the indicator! Hopefully you all find it helpful.
Let me know your questions and suggestions below!
Safe trades to all!
RSRWDescription:
The given Pine-Script, titled "Real Relative Strength (RSRW)," is designed to evaluate the relative strength of the selected security compared to a benchmark security, defaulting to "SPY". It utilizes TradingView’s programming language and is structured to run on its platform.
Functionality:
Rolling Price Change Calculation:
It calculates the rolling price change for both the selected security and the comparison
security over a user-defined length of periods, defaulting to 12.
Rolling ATR Change Calculation:
It computes the Average True Range (ATR) over the specified length for both securities,
providing insights into market volatility.
Power Index Calculation:
It computes the power index by dividing the rolling move of the comparison security by its
rolling ATR, offering a measure of market strength or weakness relative to volatility.
Real Relative Strength (RRS) Calculation:
It determines the Real Relative Strength of the selected security against the benchmark,
adjusting the relative price move by the power index and dividing by the security's rolling
ATR.
Correlation:
The script also evaluates the correlation between the selected security and the compared
security over the defined length, providing a correlation coefficient that is represented
visually by different colors.
Visual Representation:
The Real Relative Strength is plotted with a blue line.
A red line represents the baseline (0).
Correlation is displayed with a color-coded line, ranging from green (high positive
correlation) to red (high negative correlation).
Utility:
This script is valuable for traders and investors looking to assess the relative performance of securities against a benchmark, factoring in volatility and correlation, enabling more informed investment decisions based on market dynamics.
License:
This script is subject to the terms of the Mozilla Public License 2.0.
[GTH decimals heatmap] (wide screen advised)Preface
I share my personal general view on indicators below; skip ahead to the Description below if you are not interested.
It is my personal conviction that most - if not all - indicators rely mainly on trader's belief that they work, and in a feedback system like free markets they might become a self-fulfilling prophecy as a result, if (!) a big part of the traders believes in it, because some famous trader releases an indicator, or such person's public statement goes viral.
One of those voodoo indicators is the famous "follow-through day". There is zero statistical evidence for its validity, beyond the validity of a statement like "If it's bright at day it's usually the sun shining". The uselessness was proven exactly on its inventor's YT channel, Investors Business Daily. According to the examiner, its inventor William J. O'Neil himself could not explain the values used for this indicator. It might have been an incidental observation at some point without general validity. A.k.a "curve fitting". Still, it's being used by many today.
Another one of those indicators is the three points reversal on the S&P 500 Volatility Index (VIX) which allegedly might potentially maybe indicate a possible shift in trend. Both indicators share an immediately problematic feature: They use absolute values. Nothing is ever absolute in a highly subjective and emotionally driven game like the markets where a lot of money can be made and lost.
Most indicators can not produce additional information since they can only re-pack price/volume action. Many times an interpretion of the distance between price and a moving average and/or the slope of a moving average deliver very similar - if not better - results than MACD, RSI etc., especially with standard settings, the origin of which are usually unknown (always a warning sign). Very few indicators can deliver information which is otherwise hard to quantify, e. g. market noise (Kaufman's Efficiency Ratio or Price Density) or volatility, standard deviation etc.
It is common knowledge that trading the markets is a game of probability. No indicator works all the time (or at all, see above). In order to make decisions based on any indicator, the probability for its validity and the conditions under which validity seemed to have occurred, must be known. Otherwise it is just coffee grounds reading under the illusion of adding to the edge, when in fact it is only adding to the trees, making it even harder to see the forest.
Description
A common belief is that whole or half-dollar prices tend to be attraction points in price action, so a number of traders include those into decision making. But are they really...?
Spoiler Alert:
Generally, it is safe to say that for the big majority of stocks there is very thin evidence for it. It depends vastly on the asset, the timeframe used and the market period (pre/post/main trading times). If at all, there seems to be an above random but still thin evidence for whole prices being significant attraction points. Interesting/surprising patterns are visible on many stocks/timeframes/session periods, though.
The screenshot shows TSLA, 30m timeframe, two heatmaps added. The top one shows pre/post-market data only, the bottom one main market data only. The cyan fields indicate the strongest occurrence, the dark blue fields indicate the weakest occurrence of open/high/low/close prices at the respective decimal. The red field indicates the current/last price decimal.
Clearly, TSLA displays a strong pre-market attraction for .00, followed by .33 and .67 and .50. This pattern of thirds seems to be a unique feature of TSLA. In the main trading session it is being diluted by a more random distribution.
Other interesting equities to examine:
SPY: No significant pattern on any timeframe!
META: Generally weak patterns on all timeframes, but interestingly on the 1D there is evidence for less randomness on O and H, more on L and most on C.
AAPL: 1D, foggy attraction areas around .35 and .12. Whole price is no attraction area at all! Very weak attraction around .73.
AMD: Strong pattern on D, W, M, attraction areas around 1/16th intervals. No patterns on lower timeframes.
AMZN: Significant differences between pre/post and main session. Strong 1/16th pattern below D in pre/post.
TAOP: Strong 1/5th pattern on all timeframes.
Read the tool tips and go explore!