S&P Bear Warning IndicatorTHIS SCRIPT HAS BEEN BUILT TO BE USED AS A S&P500 SPY CRASH INDICATOR ON A DAILY TIME FRAME (should not be used as a strategy).
THIS SCRIPT HAS BEEN BUILT AS A STRATEGY FOR VISUALIZATION PURPOSES ONLY AND HAS NOT BEEN OPTIMIZED FOR PROFIT.
The script has been built to show as a lower indicator and also gives visual SELL signal on top when conditions are met. BARE IN MIND NO STOP LOSS, NOR ADVANCED EXIT STRATEGY HAS BEEN BUILT.
As well as the chart SELL signal an alert option has also been built into this script.
The script utilizes a VIX indicator (maroon line) and 50 period Momentum (blue line) and Danger/No trade zone(pink shading).
When the Momentum line crosses down across the VIX this is a sell off but in order to only signal major sell offs the SELL signal only triggers if the momentum continues down through the danger zone.
A SELL signal could be given earlier by removing the need to wait for momentum to continue down through the Danger Zone however this is designed only to catch major market weakness not small sell offs.
As you can see from the picture between the big October 2018 and March 2020 market declines only 2 additional SELLS were triggered.
To use this indicator to identify ideal buying then you should only buy when Momentum line is crossed above the VIX and the Momentum line is above the Danger Zone (ideally 3 - 5 days above danger zone)
Cerca negli script per "spy"
NYSE_ADVANCE_DECLINE_VOL vs SPYThis script plot a NYSE ADVANCING DECLINING VOLUME LINE on a WMA histogram of SPY. Very new at coding pine script, so use at your own risk
@WACC Volatility Weighted PUT/CALL Positions [SPX]This indicator is based on Volatility and Market Sentiment. When volatility is high, and market sentiment is positive, the indicator is in a low or 'buy state'. When volatility is low and market sentiment is poor, the indicator is high.
The indicator uses the VIX as it's volatility input.
The indicator uses the spread between the Call Volume on SPX/SPY and the Put Volume.
This is pulled from CVSPX and PVSPX.
When volatility and put/call reaches a critical level, such as the levels present in a crisis or a sell off, the line will be green. See Sept 2015, 2008, and Feb 2018.
This level can be edited in the source code.
As the indicator is based on Put/Call, the indicator works best on larger time frames as the put/call ratio becomes a more discernible measure of sentiment over time.
Session barsthis script marks off the extended hours trading for NY session. Shades the off hours and overnight data. Highlights the regular trading session for NY session. It can be adjusted for any particular market.
I use it specifically to show the missing data on the SPY as compared with the continuous data on the SPX500.
Put/call ratio cross - buy and sell SPYWhen 50DMA and 200DMA cross on PC, algo trades SPY accordingly
Deviation Back Tester (Great for Credit Spreads)!Error with math fixed in this one. Please use this one.
This is great for credit spreads! Lets say you wanted to know if you had sold a 15% OTM Bull Put vertical 2 months out, how often would you win? This Turns green if you would have been correct with your credit spread had it expired on that date, or red if you would've been wrong. Great for Back testing!
This could also be used for ATM debit spreads credit spreads etc. Example, how often does SPY deviate outside a 10% range relative to two months, 5% (if your doing straddles perhaps) etc.
This Can be used with any stock.
PLEASE KEEP IN MIND THAT IT TESTS DEVIATION IN BOTH DIRECTIONS. THEREFORE IT WILL HIGHLIGHT RED ON BOTH THE UPSIDE AND DOWNSIDE. WHEN BACKTESTING BE SURE TO CHECK WHETHER IT IS RED BECAUSE OF DOWNSIDE OR UPSIDE.
SPY 0DTE Scalper - Auto AlertsTimeframes:
Main chart: 1-minute (for precision entries)
Confirmations: 3-minute or 5-minute (to avoid fakeouts)
Indicators I Use:
VWAP – Orange line → Institutional fair value
EMA 9 – Green line → Short-term momentum
EMA 21 – Red line → Trend filter
Custom Pullback Signal Script – Marks buy/sell/pullback signals with labels (triangles)
Above VWAP = Bullish Bias
Below VWAP = Bearish Bias
Institutions treat this as the "fair price" — so I do too.
EMA 9 (Green):
If price hugs or bounces off EMA 9 = 🔥 strong continuation move.
I use this as my guide for momentum.
EMA 21 (Red):
Great for trend confirmation.
Above EMA 21 = Trend building to the upside.
Below EMA 21 = Weakness or possible reversal.
💸 Step 3: How I Read the Signals
✅ BUY Signal:
Price breaks above VWAP with volume 1.5x+ average
Candle must close strong (not a wickfest)
EMA 9 becomes my trailing stop for the move
🚨 SELL Signal:
Price breaks below VWAP with strong volume
Clean body close below → momentum shift to the downside
EMA 9 again = trailing resistance guide
🔵 Pullback Long (Blue Triangle Under Candle):
Bullish continuation entry
Price pulls back to EMA 9 or 21, but stays above VWAP
Low-risk re-entry after a breakout
🟣 Pullback Short (Purple Triangle Above Candle):
Bearish continuation entry
Price retraces into EMA 9, but stays below VWAP & EMA 21
Ideal for catching second legs after breakdowns
SPY 4 Hour Swing TraderThe purpose of this script is to spot 4 hour pivots that indicate ~30 trading day swings. As VIX starts to drop options trading will get more boring and as we get back on the bull and can benefit from swing trading strategy. Swing trading doesn't make a whole lot of sense when VIX is above 28. Seems to get best results on 4 hour chart for this one. This indicator spots a go long opportunity when the 5 ema crosses the 13 ema on the 4 hour along with the RSI > 50 and the ADX > 20 and Stoichastic values (smoothed line < 80 or line < 90) and close > last candle close and the True Range < 6. It also spots uses a couple different means to determine when to exit the trade. Sell condition is primarily when the 13 ema crosses the 5 ema and the MACD line crosses below the signal line and the smoothed Stoichastic appears oversold (greater than 60) and slop of RSI < -.2. Stop Losses and Take Profits are configurable in Inputs along with ability to include short trades plus other MACD and Stoichastic settings. If a stop loss is encountered the trade will close. Also once twice the expected move is encountered partial profits will taken and stop losses and take profits will be re-established based on most recent close. Also a VIX above 28 will trigger any open positions to close. If trying to use this for something other than SPXL it is best to update stop losses and take profit percentages and check backtest results to ensure proper levels have been selected and the script gives satisfactory results.
SPY 1 Hour Swing TraderThe purpose of this script is to spot 1 hour pivots that indicate ~5 to 6 trading day swings. Results indicate that swings are held approximately 5 to 6 trading days on average, over the last 6 years. This indicator spots a go long opportunity when the 5 ema crosses the 13 ema on the 1 hour along with the RSI > 50. It also spots uses a couple different means to determine when to exit the trade. Sell condition is primarily when the 13 ema crosses the 5 ema and the MACD line crosses below the signal line and the smoothed Stoichastic appears oversold (greater than 60). Stop Losses and Take Profits are configurable in Inputs along with ability to include short trades plus other MACD and Stoichastic settings. If a stop loss is encountered the trade will close. Also once twice the expected move is encountered partial profits will taken and stop losses and take profits will be re-established based on most recent close. Once long trades are exited, short trades will be initiated if recent conditions appeared oversold and input option for short trading is enabled. If trying to use this for something other than SPXL it is best to update stop losses and take profit percentages and check backtest results to ensure proper levels have been selected and the script gives satisfactory results.
Relative Momentum Index ElixiumJust a mod to change the precision to zero (remove the useless digits e.g. indicator value 80.000000)
Also it appears that this indicator hasn't been published on the library yet.
Physics CandlesPhysics Candles embed volume and motion physics directly onto price candles or market internals according to the cyclic pattern of financial securities. The indicator works on both real-time “ticks” and historical data using statistical modeling to highlight when these values, like volume or momentum, is unusual or relatively high for some periodic window in time. Each candle is made out of one or more sub-candles that each contain their own information of motion, which converts to the color and transparency, or brightness, of that particular candle segment. The segments extend throughout the entire candle, both body and wicks, and Thick Wicks can be implemented to see the color coding better. This candle segmentation allows you to see if all the volume or energy is evenly distributed throughout the candle or highly contained in one small portion of it, and how intense these values are compared to similar time periods without going to lower time frames. Candle segmentation can also change a trader’s perspective on how valuable the information is. A “low” volume candle, for instance, could signify high value short-term stopping volume if the volume is all concentrated in one segment.
The Candles are flexible. The physics information embedded on the candles need not be from the same price security or market internal as the chart when using the Physics Source option, and multiple Candles can be overlayed together. You could embed stock price Candles with market volume, market price Candles with stock momentum, market structure with internal acceleration, stock price with stock force, etc. My particular use case is scalping the SPX futures market (ES), whose price action is also dictated by the volume action in the associated cash market, or SPY, as well as a host of other securities. Physics allows you to embed the ES volume on the SPY price action, or the SPY volume on the ES price action, or you can combine them both by overlaying two Candle streams and increasing the Number of Overlays option to two. That option decreases the transparency levels of your coloring scheme so that overlaying multiple Candles converges toward the same visual color intensity as if you had one. The Candle and Physics Sources allows for both Symbols and Spreads to visualize Candle physics from a single ticker or some mathematical transformation of tickers.
Due to certain TradingView programming restrictions, each Candle can only be made out of a maximum of 8 candle segments, or an “8-bit” resolution. Since limits are just an opportunity to go beyond, the user has the option to stack multiple Candle indicators together to further increase the candle resolution. If you don’t want to see the Candles for some particular period of the day, you can hide them, or use the hiding feature to have multiple Candles calibrated to show multiple parts of the trading day. Securities tend to have low volume after hours with sharp spikes at the open or close. Multiple Candles can be used for multiple parts of the trading day to accommodate these different cycles in volume.
The Candles do not need be associated with the nominal security listed on the TV chart. The Candle Source allows the user to look at AAPL Candles, for instance, while on a TSLA or SPY chart, each with their respective volume actions integrated into the candles, for instance, to allow the user to see multiple security price and volume correlation on a single chart.
The physics information currently embeddable on Candles are volume or time, velocity, momentum, acceleration, force, and kinetic energy. In order to apply equations of motion containing a mass variable to financial securities, some analogous value for mass must be assumed. Traders often regard volume or time as inextricable variables to a securities price that can indicate the direction and strength of a move. Since mass is the inextricable variable to calculating the momentum, force, or kinetic energy of motion, the user has the option to assume either time or volume is analogous to mass. Volume may be a better option for mass as it is not strictly dependent on the speed of a security, whereas time is.
Data transformations and outlier statistics are used to color code the intensity of the physics for each candle segment relative to past periodic behavior. A million shares during pre-market or a million shares during noontime may be more intense signals than a typical million shares traded at the open, and should have more intense color signals. To account for a specific cyclic behavior in the market, the user can specify the Window and Cycle Time Frames. The Window Time Frame splits up a Cycle into windows, samples and aggregates the statistics for each window, then compares the current physics values against past values in the same window. Intraday traders may benefit from using a Daily Cycle with a 30-minute Window Time Frame and 1-minute Sample Time Frame. These settings sample and compare the physics of 1-minute candles within the current 30-minute window to the same 30-minute window statistics for all past trading days, up until the data limit imposed by TradingView, or until the Data Collection Start Date specified in the settings. Longer-term traders may benefit from using a Monthly Cycle with a Weekly Time Frame, or a Yearly Cycle with a Quarterly Time Frame.
Multiple statistics and data transformation methods are available to convey relative intensity in different ways for different trading signals. Physics Candles allows for both Normal and Log-Normal assumptions in the physics distribution. The data can then be transformed by Linear, Logarithmic, Z-Score, or Power-Law scoring, where scoring simply assigns an intensity to the relative physics value of each candle segment based on some mathematical transformation. Z-scoring often renders adequate detection by scoring the segment value, such as volume or momentum, according to the mean and standard deviation of the data set in each window of the cycle. Logarithmic or power-law transformation with a gamma below 1 decreases the disparity between intensities so more less-important signals will show up, whereas the power-law transformation with gamma values above 1 increases the disparity between intensities, so less more-important signals will show up. These scores are then converted to color and transparency between the Min Score and the Max Score Cutoffs. The Auto-Normalization feature can automatically pick these cutoffs specific to each window based on the mean and standard deviation of the data set, or the user can manually set them. Physics was developed with novices in mind so that most users could calibrate their own settings by plotting the candle segment distributions directly on the chart and fiddling with the settings to see how different cutoffs capture different portions of the distribution and affect the relative color intensities differently. Security distributions are often skewed with fat-tails, known as kurtosis, where high-volume segments for example, have a higher-probabilities than expected for a normal distribution. These distribution are really log-normal, so that taking the logarithm leads to a standard bell-shaped distribution. Taking the Z-score of the Log-Normal distribution could make the most statistical sense, but color sensitivity is a discretionary preference.
Background Philosophy
This indicator was developed to study and trade the physics of motion in financial securities from a visually intuitive perspective. Newton’s laws of motion are loosely applied to financial motion:
“A body remains at rest, or in motion at a constant speed in a straight line, unless acted upon by a force”.
Financial securities remain at rest, or in motion at constant speed up or down, unless acted upon by the force of traders exchanging securities.
“When a body is acted upon by a force, the time rate of change of its momentum equals the force”.
Momentum is the product of mass and velocity, and force is the product of mass and acceleration. Traders render force on the security through the mass of their trading activity and the acceleration of price movement.
“If two bodies exert forces on each other, these forces have the same magnitude but opposite directions.”
Force arises from the interaction of traders, buyers and sellers. One body of motion, traders’ capitalization, exerts an equal and opposite force on another body of motion, the financial security. A securities movement arises at the expense of a buyer or seller’s capitalization.
Volume
The premise of this indicator assumes that volume, v, is an analogous means of measuring physical mass, m. This premise allows the application of the equations of motion to the movement of financial securities. We know from E=mc^2 that mass has energy. Energy can be used to create motion as kinetic energy. Taking a simple hypothetical example, the interaction of one short seller looking to cover lower and one buyer looking to sell higher exchange shares in a security at an agreed upon price to create volume or mass, and therefore, potential energy. Eventually the short seller will actively cover and buy the security from the previous buyer, moving the security higher, or the buyer will actively sell to the short seller, moving the security lower. The potential energy inherent in the initial consolidation or trading activity between buy and seller is now converted to kinetic energy on the subsequent trading activity that moves the securities price. The more potential energy that is created in the consolidation, the more kinetic energy there is to move price. This is why point and figure traders are said to give price targets based on the level of volatility or size of a consolidation range, or why Gann traders square price and time, as time is roughly proportional to mass and trading activity. The build-up of potential energy between short sellers and buyers in GME or TSLA led to their explosive moves beyond their standard fundamental valuations.
Position
Position, p, is simply the price or value of a financial security or market internal.
Time
Time, t, is another means of measuring mass to discover price behavior beyond the time snapshots that simple candle charts provide. We know from E=mc^2 that time is related to rest mass and energy given the speed of light, c, where time ≈ distance * sqrt(mass/E). This relation can also be derived from F=ma. The more mass there is, the longer it takes to compute the physics of a system. The more energy there is, the shorter it takes to compute the physics of a system. Similarly, more time is required to build a “resting” low-volatility trading consolidation with more mass. More energy added to that trading consolidation by competing buyers and sellers decreases the time it takes to build that same mass. Time is also related to price through velocity.
Velocity = (p(t1) – p(t0)) / p(t0)
Velocity, v, is the relative percent change of a securities price, p, over a period of time, t0 to t1. The period of time is between subsequent candles, and since time is constant between candles within the same timeframe, it is not used to calculate velocity or acceleration. Price moves faster with higher velocity, and slower with slower velocity, over the same fixed period of time. The product of velocity and mass gives momentum.
Momentum = mv
This indicator uses physics definition of momentum, not finance’s. In finance, momentum is defined as the amount of change in a securities price, either relative or absolute. This is definition is unfortunate, pun intended, since a one dollar move in a security from a thousand shares traded between a few traders has the exact same “momentum” as a one dollar move from millions of shares traded between hundreds of traders with everything else equal. If momentum is related to the energy of the move, momentum should consider both the level of activity in a price move, and the amount of that price move. If we equate mass to volume to account for the level of trading activity and use physics definition of momentum as the product of mass and velocity, this revised definition now gives a thousand-times more momentum to a one-dollar price move that has a thousand-times more volume behind it. If you want to use finance’s volume-less definition of momentum, use velocity in this indicator.
Acceleration = v(t1) – v(t0)
Acceleration, a, is the difference between velocities over some period of time, t0 to t1. Positive acceleration is necessary to increase a securities speed in the positive direction, while negative acceleration is necessary to decrease it. Acceleration is related to force by mass.
Force = ma
Force is required to change the speed of a securities valuation. Price movements with considerable force have considerably more impact on future direction. A change in direction requires force.
Kinetic Energy = 0.5mv^2
Kinetic energy is the energy that a financial security gains from the change in its velocity by force. The built-up of potential energy in trading consolidations can be converted to kinetic energy on a breakout from the consolidation.
Cycle Theory and Relativity
Just as the physics of motion is relative to a point of reference, so too should the physics of financial securities be relative to a point of reference. An object moving at a 100 mph towards another object moving in the same direction at 100 mph will not appear to be moving relative to each other, nor will they collide, but from an outsider observer, the objects are going 100 mph and will collide with significant impact if they run into a stationary object relative to the observer. Similarly, trading with a hundred thousand shares at the open when the average volume is a couple million may have a much smaller impact on the price compared to trading a hundred thousand shares pre-market when the average volume is ten thousand shares. The point of reference used in this indicator is the average statistics collected for a given Window Time Frame for every Cycle Time Frame. The physics values are normalized relative to these statistics.
Examples
The main chart of this publication shows the Force Candles for the SPY. An intense force candle is observed pre-market that implicates the directional overtone of the day. The assumption that direction should follow force arises from physical observation. If a large object is accelerating intensely in a particular direction, it may be fair to assume that the object continues its direction for the time being unless acted upon by another force.
The second example shows a similar Force Candle for the SPY that counters the assumption made in the first example and emphasizes the importance of both motion and context. While it’s fair to assume that a heavy highly accelerating object should continue its course, if that object runs into an obstacle, say a brick wall, it’s course may deviate. This example shows SPY running into the 50% retracement wall from the low of Mar 2020, a significant support level noted in literature. The example also conveys Gann’s idea of “lost motion”, where the SPY penetrated the 50% price but did not break through it. A brick wall is not one atom thick and price support is not one tick thick. An object can penetrate only one layer of a wall and not go through it.
The third example shows how Volume Candles can be used to identify scalping opportunities on the SPY and conveys why price behavior is as important as motion and context. It doesn’t take a brick wall to impede direction if you know that the person driving the car tends to forget to feed the cats before they leave. In the chart below, the SPY breaks down to a confluence of the 5-day SMA, 20-day SMA, and an important daily trendline (not shown) after the bullish bounce from the 50% retracement days earlier. High volume candles on the SMA signify stopping volume that reverse price direction. The character of the day changes. Bulls become more aggressive than bears with higher volume on upswings and resistance, whiles bears take on a defensive position with lower volume on downswings and support. High volume stopping candles are seen after rallies, and can tell you when to take profit, get out of a position, or go short. The character change can indicate that its relatively safe to re-enter bullish positions on many major supports, especially given the overarching bullish theme from the large reaction off the 50% retracement level.
The last example emphasizes the importance of relativity. The Volume Candles in the chart below are brightest pre-market even though the open has much higher volume since the pre-market activity is much higher compared to past pre-markets than the open is compared to past opens. Pre-market behavior is a good indicator for the character of the day. These bullish Volume Candles are some of the brightest seen since the bounce off the 50% retracement and indicates that bulls are making a relatively greater attempt to bring the SPY higher at the start of the day.
Infrequently Asked Questions
Where do I start?
The default settings are what I use to scalp the SPY throughout most of the extended trading day, on a one-minute chart using SPY volume. I also overlay another Candle set containing ES future volume on the SPY price structure by setting the Physics Source to ES1! and the Number of Overlays setting to 2 for each Candle stream in order to account for pre- and post-market trading activity better. Since the closing volume is exponential-like up until the end of the regular trading day, adding additional Candle streams with a tighter Window Time Frame (e.g., 2-5 minute) in the last 15 minutes of trading can be beneficial. The Hide feature can allow you to set certain intraday timeframes to hide one Candle set in order to show another Candle set during that time.
How crazy can you get with this indicator?
I hope you can answer this question better. One interesting use case is embedding the velocity of market volume onto an internal market structure. The PCTABOVEVWAP.US is a market statistic that indicates the percent of securities above their VWAP among US stocks and is helpful for determining short term trends in the US market. When securities are rising above their VWAP, the average long is up on the day and a rising PCTABOVEVWAP.US can be viewed as more bullish. When securities are falling below their VWAP, the average short is up on the day and a falling PCTABOVEVWAP.US can be viewed as more bearish. (UPVOL.US - DNVOL.US) / TVOL.US is a “spread” symbol, in TV parlance, that indicates the decimal percent difference between advancing volume and declining volume in the US market, showing the relative flow of volume between stocks that are up on the day, and stocks that are down on the day. Setting PCTABOVEVWAP.US in the Candle Source, (UPVOL.US - DNVOL.US) / TVOL.US in the Physics Source, and selecting the Physics to Velocity will embed the relative velocity of the spread symbol onto the PCTABOVEVWAP.US candles. This can be helpful in seeing short term trends in the US market that have an increasing amount of volume behind them compared to other trends. The chart below shows Volume Candles (top) and these Spread Candles (bottom). The first top at 9:30 and second top at 10:30, the high of the day, break down when the spread candles light up, showing a high velocity volume transfer from up stocks to down stocks.
How do I plot the indicator distribution and why should I even care?
The distribution is visually helpful in seeing how different normalization settings effect the distribution of candle segments. It is also helpful in seeing what physics intensities you want to ignore or show by segmenting part of the distribution within the Min and Max Cutoff values. The intensity of color is proportional to the physics value between the Min and Max Cutoff values, which correspond to the Min and Max Colors in your color scheme. Any physics value outside these Min and Max Cutoffs will be the same as the Min and Max Colors.
Select the Print Windows feature to show the window numbers according to the Cycle Time Frame and Window Time Frame settings. The window numbers are labeled at the start of each window and are candle width in size, so you may need to zoom into to see them. Selecting the Plot Window feature and input the window number of interest to shows the distribution of physics values for that particular window along with some statistics.
A log-normal volume distribution of segmented z-scores is shown below for 30-minute opening of the SPY. The Min and Max Cutoff at the top of the graph contain the part of the distribution whose intensities will be linearly color-coded between the Min and Max Colors of the color scheme. The part of the distribution below the Min Cutoff will be treated as lowest quality signals and set to the Min Color, while the few segments above the Max Cutoff will be treated as the highest quality signals and set to the Max Color.
What do I do if I don’t see anything?
Troubleshooting issues with this indicator can involve checking for error messages shown near the indicator name on the chart or using the Data Validation section to evaluate the statistics and normalization cutoffs. For example, if the Plot Window number is set to a window number that doesn’t exist, an error message will tell you and you won’t see any candles. You can use the Print Windows option to show windows that do exist for you current settings. The auto-normalization cutoff values may be inappropriate for your particular use case and literally cut the candles out of the chart. Try changing the chart time frame to see if they are appropriate for your cycle, sample and window time frames. If you get a “Timeframe passed to the request.security_lower_tf() function must be lower than the timeframe of the main chart” error, this means that the chart timeframe should be increased above the sample time frame. If you get a “Symbol resolve error”, ensure that you have correct symbol or spread in the Candle or Physics Source.
How do I see a relative physics values without cycles?
Set the Window Time Frame to be equal to the Cycle Time Frame. This will aggregate all the statistics into one bucket and show the physics values, such as volume, relative to all the past volumes that TV will allow.
How do I see candles without segmentation?
Segmentation can be very helpful in one context or annoying in another. Segmentation can be removed by setting the candle resolution value to 1.
Notes
I have yet to find a trading platform that consistently provides accurate real-time volume and pricing information, lacking adequate end-user data validation or quality control. I can provide plenty of examples of real-time volume counts or prices provided by TradingView and other platforms that were significantly off from what they should have been when comparing against the exchanges own data, and later retroactively corrected or not corrected at all. Since no indicator can work accurately with inaccurate data, please use at your own discretion.
The first version is a beta version. Debugging and validating code in Pine script is difficult without proper unit testing. Please report any bugs with enough information to reproduce them and indicate why they are important. I also encourage you to export the data from TradingView and verify the calculations for your particular use case.
The indicator works on real-time updates that occur at a higher frequency than the candle time frame, which TV incorrectly refers to as ticks. They use this terminology inaccurately as updates are really aggregated tick data that can take place at different prices and may not accurately reflect the real tick price action. Consequently, this inaccuracy also impacts the real-time segmentation accuracy to some degree. TV does not provide a means of retaining “tick” information, so the higher granularity of information seen real-time will be lost on a disconnect.
TV does not provide time and sales information. The volume and price information collected using the Sample Time Frame is intraday, which provides only part of the picture. Intraday volume is generally 50 to 80% of the end of day volume. Consequently, the daily+ OHLC prices are intraday, and may differ significantly from exchanged settled OHLC prices.
The Cycle and Window Time Frames refer to calendar days and time, not trading days or time. For example, the first window week of a monthly cycle is the first seven days of the month, not the first Monday through Friday of trading for the month.
Chart Time Frames that are higher than the Window Time Frames average the normalized physics for price action that occurred within a given Candle segment. It does not average price action that did not occur.
One of the main performance bottleneck in TradingView’s Pine Script is client-side drawing and plotting. The performance of this indicator can be increased by lowering the resolution (the number of sub-candles this indicator plots), getting a faster computer, or increasing the performance of your computer like plugging your laptop in and eliminating unnecessary processes.
The statistical integrity of this indicator relies on the number of samples collected per sample window in a given cycle. Higher sample counts can be obtained by increasing the chart time frame or upgrading the TradingView plan for a higher bar count. While increasing the chart time frame doesn’t increase the visual number of bars plotted on the chart, it does increase the number of bars that can be pulled at a lower time frame, up to 100,000.
Due to a limitation in Pine Scripts request_lower_tf() function, using a spread symbol will only work for regular trading hours, not extended trading hours.
Ideally, velocity or momentum should be calculated between candle closes. To eliminate the need to deal with price gaps that would lead to an incorrect statistical distributions, momentum is calculated between candle open and closes as a percent change of the price or value, which should not be an issue for most liquid securities.
Ticker Correlation Reference IndicatorHello,
I am super excited to be releasing this Ticker Correlation assessment indicator. This is a big one so let us get right into it!
Inspiration:
The inspiration for this indicator came from a similar indicator by Balipour called the Correlation with P-Value and Confidence Interval. It’s a great indicator, you should check it out!
I used it quite a lot when looking for correlations; however, there were some limitations to this indicator’s functionality that I wanted. So I decided to make my own indicator that had the functionality I wanted. I have been using this for some time but decided to actual spruce it up a bit and make it user friendly so that I could share it publically. So let me get into what this indicator does and, most importantly, the expanded functionality of this indicator.
What it does:
This indicator determines the correlation between 2 separate tickers. The user selects the two tickers they wish to compare and it performs a correlation assessment over a defaulted 14 period length and displays the results. However, the indicator takes this much further. The complete functionality of this indicator includes the following:
1. Assesses the correlation of all 4 ticker variables (Open, High, Low and Close) over a user defined period of time (defaulted to 14);
2. Converts both tickers to a Z-Score in order to standardize the data and provide a side by side comparison;
3. Displays areas of high and low correlation between all 4 variables;
4. Looks back over the consistency of the relationship (is correlation consistent among the two tickers or infrequent?);
5. Displays the variance in the correlation (there may be a statistically significant relationship, but if there is a high variance, it means the relationship is unstable);
6. Permits manual conversion between prices; and
7. Determines the degree of statistical significance (be it stable, unstable or non-existent).
I will discuss each of these functions below.
Function 1: Assesses the correlation of all 4 variables.
The only other indicator that does this only determines the correlation of the close price. However, correlation between all 4 variables varies. The correlation between open prices, high prices, low prices and close prices varies in statistically significant ways. As such, this indicator plots the correlation of all 4 ticker variables and displays each correlation.
Assessing this matters because sometimes a stock may not have the same magnitude in highs and lows as another stock (one stock may be more bullish, i.e. attain higher highs in comparison to another stock). Close price is helpful but does not pain the full picture. As such, the indicator displays the correlation relationship between all 4 variables (image below):
Function 2: Converts both tickers to Z-Score
Z-Score is a way of standardizing data. It simply measures how far a stock is trading in relation to its mean. As such, it is a way to express both tickers on a level playing field. Z-Score was also chosen because the Z-Score Values (0 – 4) also provide an appropriate scale to plot correlation lines (which range from 0 to 1).
The primary ticker (Ticker 1) is plotted in blue, the secondary comparison ticker (Ticker 2) is plotted in a colour changing format (which will be discussed below). See the image below:
Function 3: Displays areas of high and low correlation
While Ticker 1 is plotted in a static blue, Ticker 2 (the comparison ticker) is plotted in a dynamic, colour changing format. It will display areas of high correlation (i.e. areas with a P value greater than or equal to 0.9 or less than and equal to -0.9) in green, areas of moderate correlation in white. Areas of low correlation (between 0.4 and 0 or -0.4 and 0) are in red. (see image below):
Function 4: Checks consistency of relationship
While at the time of assessing a stock there very well maybe a high correlation, whether that correlation is consistent or not is the question. The indicator employs the use of the SMA function to plot the average correlation over a defined period of time. If the correlation is consistently high, the SMA should be within an area of statistical significance (over 0.5 or under -0.5). If the relationship is inconsistent, the SMA will read a lower value than the actual correlation.
You can see an example of this when you compare ETH to Tezos in the image below:
You can see that the correlation between ETH and Tezo’s on the high level seems to be inconsistent. While the current correlation is significant, the SMA is showing that the average correlation between the highs is actually less than 0.5.
The indicator also tells the user narratively the degree of consistency in the statistical relationship. This will be discussed later.
Function 5: Displays the variance
When it comes to correlation, variance is important. Variance simply means the distance between the highest and lowest value. The indicator assess the variance. A high degree of variance (i.e. a number surpassing 0.5 or greater) generally means the consistency and stability of the relationship is in issue. If there is a high variance, it means that the two tickers, while seemingly significantly correlated, tend to deviate from each other quite extensively.
The indicator will tell the user the variance in the narrative bar at the bottom of the chart (see image below):
Function 6: Permits manual conversion of price
One thing that I frequently want and like to do is convert prices between tickers. If I am looking at SPX and I want to calculate a price on SPY, I want to be able to do that quickly. This indicator permits you to do that by employing a regression based formula to convert Ticker 1 to Ticker 2.
The user can actually input which variable they would like to convert, whether they want to convert Ticker 1 Close to Ticker 2 Close, or Ticker 1 High to Ticker 2 High, or low or open.
To do this, open the settings and click “Permit Manual Conversion”. This will then take the current Ticker 1 Close price and convert it to Ticker 2 based on the regression calculations.
If you want to know what a specific price on Ticker 1 is on Ticker 2, simply click the “Allow Manual Price Input” variable and type in the price of Ticker 1 you want to know on Ticker 2. It will perform the calculation for you and will also list the standard error of the calculation.
Below is an example of calculating a SPY price using SPX data:
Above, the indicator was asked to convert an SPX price of 4,100 to a SPY price. The result was 408.83 with a standard error of 4.31, meaning we can expect 4,100 to fall within 408.83 +/- 4.31 on SPY.
Function 7: Determines the degree of statistical significance
The indicator will provide the user with a narrative output of the degree of statistical significance. The indicator looks beyond simply what the correlation is at the time of the assessment. It uses the SMA and the highest and lowest function to make an assessment of the stability of the statistical relationship and then indicates this to the user. Below is an example of IWM compared to SPY:
You will see, the indicator indicates that, while there is a statistically significant positive relationship, the relationship is somewhat unstable and inconsistent. Not only does it tell you this, but it indicates the degree of inconsistencies by listing the variance and the range of the inconsistencies.
And below is SPY to DIA:
SPY to BTCUSD:
And finally SPY to USDCAD Currency:
Other functions:
The indicator will also plot the raw or smoothed correlation result for the Open, High, Low or Close price. The default is to close price and smoothed. Smoothed just means it is displaying the SMA over the raw correlation score. Unsmoothing it will show you the raw correlation score.
The user also has the ability to toggle on and off the correlation table and the narrative table so that they can just review the chart (the side by side comparison of the 2 tickers).
Customizability
All of the functions are customizable for the most part. The user can determine the length of lookback, etc. The default parameters for all are 14. The only thing not customizable is the assessment used for determining the stability of a statistical relationship (set at 100 candle lookback) and the regression analysis used to convert price (10 candle lookback).
User Notes and important application tips:
#1: If using the manual calculation function to convert price, it is recommended to use this on the hourly or daily chart.
#2: Leaving pre-market data on can cause some errors. It is recommended to use the indicator with regular market hours enabled and extended market hours disabled.
#3: No ticker is off limits. You can compare anything against anything! Have fun with it and experiment!
Non-Indicator Specific Discussions:
Why does correlation between stocks mater?
This can matter for a number of reasons. For investors, it is good to diversify your portfolio and have a good array of stocks that operate somewhat independently of each other. This will allow you to see how your investments compare to each other and the degree of the relationship.
Another function may be getting exposure to more expensive tickers. I am guilty of trading IWM to gain exposure to SPY at a reduced cost basis :-).
What is a statistically significant correlation?
The rule of thumb is anything 0.5 or greater is considered statistically significant. The ideal setup is 0.9 or more as the effect is almost identical. That said, a lot of factors play into statistical significance. For example, the consistency and variance are 2 important factors most do not consider when ascertaining significance. Perhaps IWM and SPY are significantly correlated today, but is that a reliable relationship and can that be counted on as a rule?
These are things that should be considered when trading one ticker against another and these are things that I have attempted to address with this indicator!
Final notes:
I know I usually do tutorial videos. I have not done one here, but I will. Check back later for this.
I hope you enjoy the indicator and please feel free to share your thoughts and suggestions!
Safe trades all!
Leveraged Share Conversion IndicatorHello everyone,
Releasing my leveraged share conversion indicator.
I noticed that the option traders have all the fun and resources but the share traders don't really have many resources in terms of adjusting or profits on leveraged and inverse shares. So, I decided to change that this this indicator!
What it does:
In a nut shell, the calculator converts one share to the price of another through the use of a regression based analysis.
There are multiple pre-stored libraries available in the indicator, including IWM, SPY, BTC and QQQ.
However, if the ticker you want to convert is not in one of the pre-defined libraries, you can select "Use Alternative Ticker" and indicate the stock you wish to convert.
Using Libraries:
If the conversion you want is available in one of the libraries, simply select the conversion you would like. For example, if you want to convert SPY to SPXU, select that conversion. The indicator will then launch up the conversion results which it will display in a dashboard to the right and will also display the plotted conversion on a chart (see imagine below:
In the dashboard, the indicator will show you:
a) The conversion result: This is the most likely price based on the analysis
b) The standard error: This is the degree of error within the conversion. This is the basis of the upper and lower bands. In statistics, we can add and subtract the standard error from the likely result to get the "Upper" and "Lower" Confidence levels of assessment. This is just a fancy way of saying the range in which our predicted result will fall. So, for example, in the image above it shows you the price of SPXU is assessed to be around 16$ based on SPY's price. The standard error range is 15-17. This means that, the majority of the time, based on this SPY close price, SPXU should fall between 15-17$ with the most likely result being the 16$ range.
Why is there error?
Because leveraged shares have an inherent decay in them. The degree of decay can be captured utilizing the standard error. So at any given time, the small changes in price fluctuations caused by the fact that the share is leveraged can be assessed and displayed using standard error measurements.
c) The current correlation: This is important! Because if the stocks are not strongly correlated, it tells you there is a problem. In general, a perfect correlation is 1 or -1 (perfectly negative correlation or inverse correlation) and a bad correlation is anything under 0.5 or -0.5. So, for an INVERSE leveraged share, you would expect the correlation to read a negative value. Ideally -1. Because the inverse share is doing the opposite of the underlying (if the underlying goes up, the inverse goes down and vice versa). For a non-inverse leveraged share, the correlation should read a positive value. As the underlying goes up, so too does the leveraged.
Manual Conversion using Library:
If you are using a pre-defined library but want to convert a manual close price, simply select "Enable manual conversion" at the bottom of the settings and then type in the manual close price. If you are converting SPY to SPXU, type in the manual close price of SPY to get the result in SPXU and vice versa.
Using an Alternative Ticker:
If the ticker you want is not available in a pre-defined library (i.e. UDOW, BOIL, APPU, TSLL, etc.), simply select "Use Alternative Ticker" in the settings menu. When you select this, make sure your chart is set to the dominant chart. The "Dominant chart" is the chart of the underlying. So, if you want TSLA to TSLL, be sure you have the TSLA chart open and then set your Alternative Ticker to TSLL or TSLQ.
The process of using an Alternative Ticker remains the same. If you wish to enter a manual close price, simply select "Enable Manual Conversion".
Special Considerations:
The indicator uses 1 hour candles. Thus, please leave your dominant chart set on the 1 hour time frame to avoid confusing the indicator.
The lookback period of the manual conversion is 10, 1 hour candles. As such, the results should not be used to make longer term predictions (i.e. anything over 6 months is pushing the capabilities of a manual conversion but fair game for the pre-defined library conversions which use more longer-term data).
You can technically use the indicator to make assessments between 2 separate equities. For example, the relationship between QQQ and ARKK, SPY and DIA, IWM and SPY, etc. If there is a good enough correlation, you can use it to make predictions of the opposing ticker. For example, if DIA goes to 340, what would SPY likely do? And vice versa.
As always, I have prepared a tutorial and getting started video for your reference:
As always, let me know your questions and requests/recommendations for the indicator below. This indicator is my final reference indicator in my 3 part reference indicator release. I will be going back over the feedback to make improvements based on the suggestions I have received. So please feel free to leave any suggestions here and I will take them into consideration for improvement!
Thank you for checking this out and as always, safe trades!
Price Correction to fix data manipulation and mispricingPrice Correction corrects for index and security mispricing to the extent possible in TradingView on both daily and intraday charts. Price correction addresses mispricing issues for specific securities with known issues, or the user can build daily candles from intraday data instead of relying on exchange reported daily OHLC prices, which can include both legitimate special auction and off-exchange trades or illegitimate mispricing. The user can also detect daily OHLC prices that don’t reflect the intraday price action within a specified percent deviation. Price Correction functions as normal candles or bars for any time frame when correction is not needed.
On the 4th of October 2022, the AMEX exchange, owned by the New York Stock Exchange, decided to misprice the daily OHLC data for the SPY, the world’s largest ETF fund. The exchange eliminated the overnight gap that should have occurred in the daily chart that represents regular trading hours by showing a wick connecting near the close of the previous day. Neither the SPX, the SP500 cash index that the SPY ETF tracks, nor other SPX ETFs such as VOO or IVV show such a wick because significant price action at that level never occurred. The intraday SPY chart never shows the price drop below 372.31 that day, but there is a wick that extends to 366.57. On the 6th of October, they continued this practice of using a wick that connects with the close of the previous day to eliminate gaps in daily price action. The objective of this indicator is to fix such inconsistent mispricing practices in the SPY, NYA, and other indices or securities.
Price Correction corrects for the daily mispricing in the SPY to agree with the price action that actually occurred in the SPX index it tracks, as well as the other SPX ETFs, by using intraday data. The chart below compares the Price Correction of the SPY (top) to the SPX (middle) and the original mispriced SPY (bottom) with incorrect wicks. Price correction (top) removes those incorrect wicks (bottom) to match the SPX (middle).
The daily mispricing of the SPY follows after the successful deployment of the NYSE Composite Index mispricing, NYA, an index that represents all common stocks within the New York Stock Exchange, the largest exchange in the world. The importance of the NYA should not be understated. It is the price counterpart to NYSE’s market internals or statistics. Beginning in 2021, the New York Stock Exchange eliminated gaps in daily OHLC data for the NYA by using the close of the previous day as the open for the following day, in violation of their own NYSE Index Series Methodology. The Methodology states for the opening price that “The first index level is calculated and published around 09:30 ET, when the U.S. equity markets open for their regular trading session. The calculation of that level utilizes the most updated prices available at that moment.” You can verify for yourself that this is simply not the case. The first update of the NYA price for each day matches the close of the previous day, not the “most updated prices available at that moment”, causing data providers to often represent the first intraday bar with a huge sudden price change when an overnight price change occurred instead. For example, on 13 Jun 2022, TradingView shows a one-minute bar drop 2.3%. With a market capitalization of roughly 23 trillion dollars, the NYSE composite capitalization did not suddenly drop a half-trillion dollars in just one minute as the intraday chart data would have you believe. All major US indices, index ETFs, and even foreign indices like the Toronto TAX, the Australian ASXAL, the Bombay SENSEX, and German DAX had down gaps that day, except for the mispriced NYSE index. Price Correction corrects for this mispricing in daily OHLC data, as shown in the main chart at the top of this page comparing the original NYA (top) to the Price Corrected NYA (bottom).
Price Correction also corrects for the intraday mispricing in the NYA. The chart below shows how the Price Correction (top) replaces the incorrect first one-minute candles with gaps (bottom) from 22 Sep 2022 to 29 Sep 2022. TradingView is inconsistent in how intraday data is reported for overnight gaps by sometimes connecting the first intraday bar of the day to the close of the previous day, and other times not. This inconsistency may be due to manually changing the intraday data based on user support tickets. For example, after reporting the lack of a major gap in the NYA daily OHLC prices that existed intraday for 13 Jun 2022, TradingView opted to remove the true gap in intraday prices by creating a 2.3% half-a-trillion-dollar one-minute bar that connected the close of the previous day to show a sudden drop in price that didn’t occur, instead of adding the gap in the daily OHLC data that actually took place from overnight price action.
Price Correction allows users to detect daily OHLC data that does not reflect the intraday price action within a certain percent difference by changing the color of those candles or bars that deviate. The chart below clearly shows the start of the NYSE disinformation campaign for NYA that started in 2021 by painting blue those candles with daily OHLC values that deviated from the intraday values by 0.1%. Before 2021, the number of deviating candles is relatively sparse, but beginning in 2021, the chart is littered with deviating candles.
If there are other index or security mispricing or data issues you are aware of that can be incorporated into Price Correction, please let me know. Accurate financial data is indispensable in making accurate financial decisions. Assert your right to accurate financial data by reporting incorrect data and mispricing issues.
How to use the Price Correction
Simply add this “indicator” to your chart and remove the mispriced default candles or bars by right clicking on the chart, selecting Settings, and de-selecting Body, Wick, and Border under the Symbol tab. The Presets settings automatically takes care of mispricing in the NYA and SPY to the extent possible in TradingView. The user can also build their own daily candles based off of intraday data to address other securities that may have mispricing issues.
Relative Strength Screener V2 - Top 100 volume leadersNew and improved strength heatmap for the top 100 volume leaders in the S&P. Coded in a workaround to the 40 request.security limitation that currently exists in Pine. Added the ability to input the number of columns (time frames) you wish to display.
For 3 time frame analysis, add the indicator to your chart 3 times. Change the number of columns to 3 for each of these indicators. Specify the column and time frame for each one (example, 5 minute for column 1, 1 hour for column 2 and Daily chart for column 3). It will automatically resize the columns/tables to properly display the output. This provides a sort of "Strength Heatmap" for the top 100 stocks in the S&P. To achieve this, make a copy of the indicator and substitute lines 68-105 with the following premade watchlists :
Make a copy 1 - FIrst 38 volume leaders in the S&P
s01 = input.symbol('AAPL', group = 'Symbols', inline = 's01')
s02 = input.symbol('ABBV', group = 'Symbols', inline = 's02')
s03 = input.symbol('ABT', group = 'Symbols', inline = 's03')
s04 = input.symbol('ACN', group = 'Symbols', inline = 's04')
s05 = input.symbol('AEP', group = 'Symbols', inline = 's05')
s06 = input.symbol('AIG', group = 'Symbols', inline = 's06')
s07 = input.symbol('AMAT', group = 'Symbols', inline = 's07')
s08 = input.symbol('AMD', group = 'Symbols', inline = 's08')
s09 = input.symbol('APA', group = 'Symbols', inline = 's09')
s10 = input.symbol('ATVI', group = 'Symbols', inline = 's10')
s11 = input.symbol('AXP', group = 'Symbols', inline = 's11')
s12 = input.symbol('BA', group = 'Symbols', inline = 's12')
s13 = input.symbol('BBWI', group = 'Symbols', inline = 's13')
s14 = input.symbol('BBY', group = 'Symbols', inline = 's14')
s15 = input.symbol('BK', group = 'Symbols', inline = 's15')
s16 = input.symbol('BMY', group = 'Symbols', inline = 's16')
s17 = input.symbol('BRK.B', group = 'Symbols', inline = 's17')
s18 = input.symbol('C', group = 'Symbols', inline = 's18')
s19 = input.symbol('CAT', group = 'Symbols', inline = 's19')
s20 = input.symbol('CCL', group = 'Symbols', inline = 's20')
s21 = input.symbol('CFG', group = 'Symbols', inline = 's21')
s22 = input.symbol('CL', group = 'Symbols', inline = 's22')
s23 = input.symbol('CNC', group = 'Symbols', inline = 's23')
s24 = input.symbol('COF', group = 'Symbols', inline = 's24')
s25 = input.symbol('COP', group = 'Symbols', inline = 's25')
s26 = input.symbol('COST', group = 'Symbols', inline = 's26')
s27 = input.symbol('CRM', group = 'Symbols', inline = 's27')
s28 = input.symbol('CVS', group = 'Symbols', inline = 's28')
s29 = input.symbol('CVX', group = 'Symbols', inline = 's29')
s30 = input.symbol('DAL', group = 'Symbols', inline = 's30')
s31 = input.symbol('DIS', group = 'Symbols', inline = 's31')
s32 = input.symbol('DISCA', group = 'Symbols', inline = 's32')
s33 = input.symbol('DISCK', group = 'Symbols', inline = 's33')
s34 = input.symbol('DISH', group = 'Symbols', inline = 's34')
s35 = input.symbol('DLTR', group = 'Symbols', inline = 's35')
s36 = input.symbol('DOW', group = 'Symbols', inline = 's36')
s37 = input.symbol('DVN', group = 'Symbols', inline = 's37')
s38 = input.symbol('EBAY', group = 'Symbols', inline = 's38')
Make a copy 2 - Tickers 39 to 76
s01 = input.symbol('EOG', group = 'Symbols', inline = 's01')
s02 = input.symbol('F', group = 'Symbols', inline = 's02')
s03 = input.symbol('FB', group = 'Symbols', inline = 's03')
s04 = input.symbol('FCX', group = 'Symbols', inline = 's04')
s05 = input.symbol('FIS', group = 'Symbols', inline = 's05')
s06 = input.symbol('GE', group = 'Symbols', inline = 's06')
s07 = input.symbol('GIS', group = 'Symbols', inline = 's07')
s08 = input.symbol('GM', group = 'Symbols', inline = 's08')
s09 = input.symbol('GS', group = 'Symbols', inline = 's09')
s10 = input.symbol('HD', group = 'Symbols', inline = 's10')
s11 = input.symbol('IBM', group = 'Symbols', inline = 's11')
s12 = input.symbol('INTC', group = 'Symbols', inline = 's12')
s13 = input.symbol('JNJ', group = 'Symbols', inline = 's13')
s14 = input.symbol('JPM', group = 'Symbols', inline = 's14')
s15 = input.symbol('KR', group = 'Symbols', inline = 's15')
s16 = input.symbol('LUV', group = 'Symbols', inline = 's16')
s17 = input.symbol('LVS', group = 'Symbols', inline = 's17')
s18 = input.symbol('MA', group = 'Symbols', inline = 's18')
s19 = input.symbol('MCD', group = 'Symbols', inline = 's19')
s20 = input.symbol('MCHP', group = 'Symbols', inline = 's20')
s21 = input.symbol('MDT', group = 'Symbols', inline = 's21')
s22 = input.symbol('MET', group = 'Symbols', inline = 's22')
s23 = input.symbol('MGM', group = 'Symbols', inline = 's23')
s24 = input.symbol('MOS', group = 'Symbols', inline = 's24')
s25 = input.symbol('MPC', group = 'Symbols', inline = 's25')
s26 = input.symbol('MRK', group = 'Symbols', inline = 's26')
s27 = input.symbol('MRNA', group = 'Symbols', inline = 's27')
s28 = input.symbol('MS', group = 'Symbols', inline = 's28')
s29 = input.symbol('MSFT', group = 'Symbols', inline = 's29')
s30 = input.symbol('MU', group = 'Symbols', inline = 's30')
s31 = input.symbol('NCLH', group = 'Symbols', inline = 's31')
s32 = input.symbol('NEE', group = 'Symbols', inline = 's32')
s33 = input.symbol('NEM', group = 'Symbols', inline = 's33')
s34 = input.symbol('NFLX', group = 'Symbols', inline = 's34')
s35 = input.symbol('NKE', group = 'Symbols', inline = 's35')
s36 = input.symbol('NVDA', group = 'Symbols', inline = 's36')
s37 = input.symbol('ORCL', group = 'Symbols', inline = 's37')
s38 = input.symbol('OXY', group = 'Symbols', inline = 's38')
Make a copy 3 - tickers 77 to 114
s01 = input.symbol('PENN', group = 'Symbols', inline = 's01')
s02 = input.symbol('PEP', group = 'Symbols', inline = 's02')
s03 = input.symbol('PFE', group = 'Symbols', inline = 's03')
s04 = input.symbol('PG', group = 'Symbols', inline = 's04')
s05 = input.symbol('PM', group = 'Symbols', inline = 's05')
s06 = input.symbol('PYPL', group = 'Symbols', inline = 's06')
s07 = input.symbol('QCOM', group = 'Symbols', inline = 's07')
s08 = input.symbol('RTX', group = 'Symbols', inline = 's08')
s09 = input.symbol('SBUX', group = 'Symbols', inline = 's09')
s10 = input.symbol('SCHW', group = 'Symbols', inline = 's10')
s11 = input.symbol('SLB', group = 'Symbols', inline = 's11')
s12 = input.symbol('SYF', group = 'Symbols', inline = 's12')
s13 = input.symbol('T', group = 'Symbols', inline = 's13')
s14 = input.symbol('TFC', group = 'Symbols', inline = 's14')
s15 = input.symbol('TGT', group = 'Symbols', inline = 's15')
s16 = input.symbol('TJX', group = 'Symbols', inline = 's16')
s17 = input.symbol('TMUS', group = 'Symbols', inline = 's17')
s18 = input.symbol('TSLA', group = 'Symbols', inline = 's18')
s19 = input.symbol('TWTR', group = 'Symbols', inline = 's19')
s20 = input.symbol('TXN', group = 'Symbols', inline = 's20')
s21 = input.symbol('UAL', group = 'Symbols', inline = 's21')
s22 = input.symbol('UNH', group = 'Symbols', inline = 's22')
s23 = input.symbol('V', group = 'Symbols', inline = 's23')
s24 = input.symbol('VIAC', group = 'Symbols', inline = 's24')
s25 = input.symbol('WBA', group = 'Symbols', inline = 's25')
s26 = input.symbol('WFC', group = 'Symbols', inline = 's26')
s27 = input.symbol('WMT', group = 'Symbols', inline = 's27')
s28 = input.symbol('WYNN', group = 'Symbols', inline = 's28')
s29 = input.symbol('XOM', group = 'Symbols', inline = 's29')
s30 = input.symbol('SPY', group = 'Symbols', inline = 's30')
s31 = input.symbol('SPY', group = 'Symbols', inline = 's31')
s32 = input.symbol('SPY', group = 'Symbols', inline = 's32')
s33 = input.symbol('SPY', group = 'Symbols', inline = 's33')
s34 = input.symbol('SPY', group = 'Symbols', inline = 's34')
s35 = input.symbol('SPY', group = 'Symbols', inline = 's35')
s36 = input.symbol('SPY', group = 'Symbols', inline = 's36')
s37 = input.symbol('SPY', group = 'Symbols', inline = 's37')
s38 = input.symbol('SPY', group = 'Symbols', inline = 's38')
Z-Score Probability IndicatorThis is the Z-Score Probability indicator. As many people like my original Z-Score indicator and have expressed more interest in the powers of the Z, I decided to make this indicator which shows additional powers of the Z-Score.
Z-Score is not only useful for measuring a ticker or any other variable’s distance from the mean, it is also useful to calculate general probability in a normal distribution set. Not only can it calculate probability in a dataset, but it can also calculate the variables within said dataset by using the Standard Deviation and the Mean of the dataset.
Using these 2 aspects of the Z-Score, you can, In principle, have an indicator that operates similar to Fibonacci retracement levels with the added bonus of being able to actually ascertain the realistic probability of said retracement.
Let’s take a look at an example:
This is a chart showing SPY on the daily timeframe. If we look at the current Z-Score level, we can see that SPY is pushing into the 2 to 3 Z-Score range. We can see two things from this:
1. We can see that a retracement to a Z-Score of 2 would correspond to a price of 425.26 based on the current dataset. And
2. We can see that the probability that SPY retraces to a Z-Score of 2 is around 0.9800 or 98%.
To take it one step further, we can look at the various other variables in the distribution. If we were to bet on SPY retracing back to -1 SDs, that would correspond to a price of around 397.15, with a probability of around 0.1600 or 16% (see image below):
Let’s say, we thought SPY would go to $440. Well, we can see that the probability SPY goes to 434.64 currently is pretty low. How do we know? Because the Z-Score table shows us the probability of values falling BELOW that Z-score level in the current distribution. So if we look at this example below:
We can see that 0.9998 or roughly 99% of values in the current SPY distribution will fall below 434.64. Thus, it may be unrealistic, at this point in time, to target said value.
So what is a Z-Score Table?
Well, I need to disclose/clarify that the Z-Score Table being displayed in this indicator does Z-Score probability a HUGE injustice. However, with the constraints what is realistic to fit into an indicator, I had to make it far more succinct. Let’s take a look at an actual Z-Score Table below:
Above is a look an the actual Z-Score table. How it works is you first identify you’re Z-Score and then find the corresponding value that relates to your score. The number displayed in the dataset represents the number of variables in the dataset/density distribution that fall BELOW that particular Z-score.
So, for example, if we have a Z-Score of -2.31, we can consult that table, go to the -2.3 then scroll across to the 0.01 to represent -2.31. We would see that this Z-Score corresponds to a 0.0104 probability zone (or essentially 1%) indicating that the majority of the variables in the distribution fall below that mean Z-score. In terms of tickers and stocks, that would mean it would theoretically be “overbought”.
So what does the indicator Z-Table tell us?
I have averaged out the data for the purposes of this indicator. However, you can also reference a manual Z-Table to get the exact probability for the current precise Z-Score. However, the reality is it doesn’t necessarily matter to be exact when it comes to tickers. The reason being, ticker’s are in constant flux, and by the time you identify that probability, the ticker will already be at a different level. So generalizations are okay in these circumstances, you just need to get the “gist” of where the distribution lies.
So how do I use the indicator?
Using the indicator is pretty straightforward. Once launched, you will see the current Z-Score of the ticker, the current levels based on the distribution and the summarized Z-Table.
The Z-Table will turn gray to indicate the zone the ticker is currently in. In this case, we can see that SPY currently is in the 2 SD Zone, meaning that 0.98 or 98% of the current dataset being shown falls below the price we are at:
When we launch the settings, we can see a few inputs.
Lookback Length: This determines the number of candles back we want to calculate the distribution for. It is defaulted to 75, but you can adjust it to whichever length you want.
SMA Length: The SMA is optional but defaults to on. If you want to see the smoothed trend of the Z-Score, this will do the trick. It does not need to be set to the same
length as the Z-Score lookback. Thus, if you want a more or less responsive SMA with, say, a larger dataset, then you can reduce the SMA length yourself.
Distribution Probability Fills: This simply colour codes the distribution zones / probability zones on the indicator.
Show Z-Table: This will display the summarized Z-Table.
Show SMA: As I indicated, the SMA is optional, you can toggle it on or off to see the overall Z-Score trend.
Concluding Remarks:
And that my friends is the Z-Score Probability Indicator.
I hope you all enjoy it and find it helpful. As always leave your comments, questions and suggestions below.
Safe trades to all and take care!
TASC 2022.08 Trading The Fear Index█ OVERVIEW
TASC's August 2022 edition of Traders' Tips includes an article by Markos Katsanos titled "Trading The Fear Index". This script implements a trading strategy called the “daily long/short trading system for volatility ETFs” presented in this article.
█ CONCEPTS
This long-term strategy aims to capitalize on stock market volatility by using exchange-traded funds (ETFs or ETNs) linked to the VIX index.
The strategy rules (see below) are based on a combination of the movement of the Cboe VIX index, the readings of the stochastic oscillator applied to the SPY ETF relative to the VIX, and a custom indicator presented in the article and called the correlation trend . Thus, they are not based on the price movement of the traded ETF itself, but rather on the movement of the VIX and of the S&P 500 index. This allows the strategy to capture most of the spikes in volatility while profiting from the long-term time decay of the traded ETFs.
█ STRATEGY RULES
Long rules
Rising volatility: The VIX should rise by more than 50% in the last 6 days.
Trend: The correlation trend of the VIX should be 0.8 or higher and also higher than yesterday's value.
VIX-SPY relative position: The 25-day and 10-day VIX stochastics should be above the 25-day and 10-day SPY stochastics respectively. In addition, the 10-day stochastic of the VIX should be above its yesterday's value.
Long positions are closed if the 10-day stochastic of the SPY rises above the 10-day stochastic of the VIX or falls below the yesterday's value.
Short rules
Declining volatility: The VIX should drop over 20% in the last 6 days and should be down during the last 3 days.
VIX threshold: The VIX should spend less than 35% of time below 15.
VIX-SPY relative position: The 10-day VIX stochastic should be below the 10-day SPY stochastic. In addition, the 10-day SPY stochastic should be higher than the yesterday's value.
Long positions are closed if the first two Long rules are triggered (Rising volatility and Trend).
The script allows you to display the readings of the indicators used in the strategy rules in the form of oscillator time series (as in the preview chart) and/or in the form of a table.
Cross Correlation [Kioseff Trading]Hello!
This script "Cross Correlation" calculates up to ~10,000 lag-symbol pair cross correlation values simultaneously!
Cross correlation calculation for 20 symbols simultaneously
+/- Lag Range is theoretically infinite (configurable min/max)
Practically, calculate up to 10000 lag-symbol pairs
Results can be sorted by greatest absolute difference or greatest sum
Ability to "isolate" the symbol on your chart and check for cross correlation against a list of symbols
Script defaults to stock pairs when on a stock, Forex pairs when on a Forex pair, crypto when on a crypto coin, futures when on a futures contract.
A custom symbol list can be used for cross correlation checking
Can check any number of available historical data points for cross correlation
Practical Assessment
Ideally, we can calculate cross correlation to determine if, in a list of assets, any of the assets frequently lead or lag one another.
Example
Say we are comparing the log returns for the previous 10 days for SPY and XLU.
*A single time-interval corresponds to the timeframe of your chart i.e. 1-minute chart = 1-minute time interval. We're using days for this example.
(Example Results)
A lag value (k) +/-3 is used.
The cross correlation (normalized) for k = +3 is -0.787
The cross correlation (normalized) for k = -3 is 0.216
A positive "k" value indicates the correlation when Asset A (SPY) leads Asset B (XLU)
A negative "k" value indicates the correlation when Asset B (XLU) leads Asset A (SPY)
A normalized cross correlation of -0.787 for k = +3 indicates an "adequately strong" negative relationship when SPY leads XLU by 3 days.
When SPY increases or decreases - XLU frequently moves in the opposite direction 3 days later.
A cross correlation value of 0.216 at k = −3 indicates a "weak" positive correlation when XLU leads SPY by 3 days.
There's a slight tendency for SPY to move in the same direction as XLU 3 days later.
After the cross-correlation score is normalized it will fall between -1 and 1.
A cross-correlation score of 1 indicates a perfect directional relationship between asset A and asset B at the corresponding lag (k).
A cross correlation of -1 indicates a perfect inverse relationship between asset A and asset B at the corresponding lag (k).
A cross correlation of 0 indicates no correlation at the corresponding lag (k).
The image above shows the primary usage for the script!
The image above further explains the data points located in the table!
The image above shows the script "isolating" the symbol on my chart and checking the cross correlation between the symbol and a list of symbols!
Wrapping Up
With this information, hopefully you can find some meaningful lead-lag relationships amongst assets!
Thank you for checking this out (:
relative performanceThis indicator is built to mesure the performance of a stock vs the index of choice. it is best use for the intraday session because it doesn't take gap into account when doing the calculation. This is how i made my math (using AAPL compared to SPY for simplicity)
(change AAPL / ATR AAPL) - (change SPY / ATR SPY) * beta factor * volume factor
change is calculated open to close for each candle instead of close to close. this is why gap does not affect the calculation
blue columns is an instant snap shot of the RP
red and green columns is the moving average of the blue columns
limit is the max value for the blue line when ploting them on the chart but doesn't affect the calculation
option:
indice: default with SPY but could use any stock
moving average choice: let you choose between EMA or SMA green and red columns
rolling average length : number of bar for the moving average
I made an auto adjust for the 5 min chart and the 2 min chart so you can swithc between both chart and have the same average (default value set to 6x 5min and 15x 2 min, giving you the average of the last 30min)
volume weighing let you choose if you want a volume factor or not. volume factor is only going to multiplie the result of the price move. it cannot move it from positive to negative.
this is the calculation
(volume AAPL / volume SMA AAPL) / (volume SPY / volume sma SPY)
meaning that a higher volume on the thicker compared to it's sma while having a lower volume on SPY will give you a big relative performance.
you can choose the number of bar in the average for the volume.
BETA factor work the same way that the volume factor does. you got to manualy enter your beta. default is set to 1.5
table
top line : blue square is you RP value (same has the blue columns bar) and your reference thicker
middle line : pourcentage move from the open (9:30 open) for your stock on the left and the reference on the right
bottom line : beta on the left and volume factor on the right
feel free to ask question or give modification idea!
Copy/Paste LevelsCopy/Paste Levels allows levels to be pasted onto your chart from a properly formatted source.
This tool streamlines the process of adding lines to your chart, and sharing lines from your chart.
More than one ticker at a time!
This indicator will only draw lines on charts it has values for!
This means you can input levels for every ticker you need all at once, one time, and only be displayed the levels for the current chart you are looking at. When you switch tickers, the levels for that ticker will display. (Assuming you have levels entered for that ticker)
The formatting is as follows:
Ticker,Color,Style,Width,Lvl1,Lvl2,Lvl3;
Ticker - Any ticker on Tradingview can be used in the field
Color - Available colors are: Red,Orange,Yellow,Green,Blue,Purple,White,Black,Gray
Style - Available styles are: Solid,Dashed,Dotted
Width - This can be any negative integer, ex.(-1,-2,-3,-4,-5)
Lvls - These can be any positive number (decimals allowed)
Semi-Colons separate sections, each section contains enough information to create at least 1 line.
Each additional level added within the same section will have the same styling parameters as the other levels in the section.
Example:
2 solid lines colored red with a thickness of 2 on QQQ, 1 at $300 and 1 at $400.
QQQ,RED,SOLID,-2,300,400;
IMPORTANT MUST READ!!!
Remember to not include any spaces between commas and the entries in each field!
ex. ; QQQ, red, dotted, -1, 325; <- Wrong
ex. ;QQQ,red,dotted,-1,325;)<- Right
However,
All fields must be filled out, to use default values in the fields, insert a space between the commas.
ex. ;QQQ,red,dotted,,325; <- Wrong
ex. ;QQQ,red,dotted, ,325; <- Right
While spaces can not be included line breaks can!
I recommend for easier typing and viewing to include a line break for each new line (if changing styling or ticker)
Example:
2 solid lines, one red at $300, one green at $400, both default width. Written in a single line AND using multiple lines, both give the same output.
QQQ,red,solid, ,300;QQQ,green,solid, ,400;
or
QQQ,red,solid, ,300;
QQQ,green,solid, ,400;
In this following screenshot you can see more examples of different formatting variations.
The textbox contains exactly what is pasted into the settings input box.
As you can see, capitalization does not matter.
Default Values:
Color = optimal contrast color, If this field is filled in with a space it will display the optimal contrast color of the users background.
Style = solid
Width = -1
More Examples:
Multi-Ticker: drawing 3 lines at $300, all default values, on 3 different tickers
SPY, , , ,300;QQQ, , , ,300;AAPL, , , ,300
or
SPY, , , ,300;
QQQ, , , ,300;
AAPL, , , ,300
Multiple levels: There is no limit* to the number of levels that can be included within 1 section.
* only TV default line limit per indicator (500)
This will be 4 lines all with the same styling at different values on 2 separate tickers.
SPY,BLUE,SOLID,-2,100,200,300,400;QQQ,BLUE,SOLID,-2,100,200,300,400
or
SPY,BLUE,SOLID,-2,100,200,300,400;
QQQ,BLUE,SOLID,-2,100,200,300,400
Semi-colons must separate sections, but are not required at the beginning or end, it makes no difference if they are or are not added.
SPY,BLUE,SOLID,-2,100,200,300,400;
QQQ,BLUE,SOLID,-2,100,200,300,400
==
SPY,BLUE,SOLID,-2,100,200,300,400;
QQQ,BLUE,SOLID,-2,100,200,300,400;
==
;SPY,BLUE,SOLID,-2,100,200,300,400;
QQQ,BLUE,SOLID,-2,100,200,300,400;
All the above output the same results.
Hope this is helpful for people,
Enjoy!
Triad Macro Gauge__________________________________________________________________________________
Introduction
__________________________________________________________________________________
The Triad Macro Gauge (TMG) is designed to provide traders with a comprehensive view of the macroeconomic environment impacting financial markets. By synthesizing three critical market signals— VIX (volatility) , Credit Spreads (credit risk) , and the Stocks/Bonds Ratio (SPY/TLT) —this indicator offers a probabilistic assessment of market sentiment, helping traders identify bullish or bearish macro conditions.
Holistic Macro Analysis: Combines three distinct macroeconomic indicators for multi-dimensional insights.
Customization & Flexibility: Adjust weights, thresholds, lookback periods, and visualization styles.
Visual Clarity: Dynamic table, color-coded plots, and anomaly markers for quick interpretation.
Fully Consistent Scores: Identical values across all timeframes (4H, daily, weekly).
Actionable Signals: Clear bull/bear thresholds and volatility spike detection.
Optimized for timeframes ranging from 4 hour to 1 week , the TMG equips swing traders and long-term investors with a robust tool to navigate macroeconomic trends.
__________________________________________________________________________________
Key Indicators
__________________________________________________________________________________
VIX (CBOE:VIX): Measures market volatility (negatively weighted for bearish signals).
Credit Spreads (FRED:BAMLH0A0HYM2EY): Tracks high-yield bond spreads (negatively weighted).
Stocks/Bonds Ratio (SPY/TLT): Evaluates equity sentiment relative to treasuries (positively weighted).
__________________________________________________________________________________
Originality and Purpose
__________________________________________________________________________________
The TMG stands out by combining VIX, Credit Spreads, and SPY/TLT into a single, cohesive indicator. Its unique strength lies in its fully consistent scores across all timeframes, a critical feature for multi-timeframe analysis.
Purpose: To empower traders with a clear, actionable tool to:
Assess macro conditions
Spot market extremes
Anticipate reversals
__________________________________________________________________________________
How It Works
__________________________________________________________________________________
VIX Z-Score: Measures volatility deviations (inverted for bearish signals).
Credit Z-Score: Tracks credit spread deviations (inverted for bearish signals).
Ratio Z-Score: Assesses SPY/TLT strength (positively weighted for bullish signals).
TMG Score: Weighted composite of z-scores (bullish > +0.30, bearish < -0.30).
Anomaly Detection: Identifies extreme volatility spikes (z-score > 3.0).
All calculations are performed using daily data, ensuring that scores remain consistent across all chart timeframes.
__________________________________________________________________________________
Visualization & Interpretation
__________________________________________________________________________________
The script visualizes data through:
A dynamic table displaying TMG Score , VIX Z, Credit Z, Ratio Z, and Anomaly status, with color gradients (green for positive, red for negative, gray for neutral/N/A).
A plotted TMG Score in Area, Histogram, or Line mode , with adaptive opacity for clarity.
Bull/Bear thresholds as horizontal lines (+0.30/-0.30) to signal market conditions.
Anomaly markers (orange circles) for volatility spikes.
Crossover signals (triangles) for bull/bear threshold crossings.
The table provides an immediate snapshot of macro conditions, while the plot offers a visual trend analysis. All values are consistent across timeframes, simplifying multi-timeframe analysis.
__________________________________________________________________________________
Script Parameters
__________________________________________________________________________________
Extensive customization options:
Symbol Selection: Customize VIX, Credit Spreads, SPY, TLT symbols
Core Parameters: Adjust lookback periods, weights, smoothing
Anomaly Detection: Enable/disable with custom thresholds
Visual Style: Choose display modes and colors
__________________________________________________________________________________
Conclusion
__________________________________________________________________________________
The Triad Macro Gauge by Ox_kali is a cutting-edge tool for analyzing macroeconomic trends. By integrating VIX, Credit Spreads, and SPY/TLT, TMG provides traders with a clear, consistent, and actionable gauge of market sentiment.
Recommended for: Swing traders and long-term investors seeking to navigate macro-driven markets.
__________________________________________________________________________________
Credit & Inspiration
__________________________________________________________________________________
Special thanks to Caleb Franzen for his pioneering work on macroeconomic indicator blends – his research directly inspired the core framework of this tool.
__________________________________________________________________________________
Notes & Disclaimer
__________________________________________________________________________________
This is the initial public release (v2.5.9). Future updates may include additional features based on user feedback.
Please note that the Triad Macro Gauge is not a guarantee of future market performance and should be used with proper risk management. Past performance is not indicative of future results.
Sector/Industry Relative StrengthOverview
The Sector/Industry Relative Strength (RS) Indicator is a powerful tool designed to help traders and investors analyze the performance of sectors and industries relative to the broader market (SPY). It provides real-time insights into sector and industry strength, helping you identify leading and lagging areas of the market.
Key Features
Sector and Industry Analysis:
Automatically detects the sector and industry of the current symbol.
Displays the corresponding sector and industry ETF.
Relative Strength (STS) Calculation:
Calculates the Sector/Industry Trend Strength (STS) by comparing the sector or industry ETF to SPY over the past 20 days.
STS is expressed as a percentile (0-100), indicating how strong the sector/industry ETF has been relative to SPY over the past 20 days.
Example: An STS of 70 means that during the past 20 days, the ETF’s relative strength against SPY was stronger than 70% of those days.
Sector Rank:
Ranks the current sector ETF against a predefined list of major sector ETFs.
Highlights whether the sector is outperforming or underperforming SPY (green if outperforming, red if underperforming).
Customizable Display:
Choose which elements to display (e.g., sector, industry, ETFs, STS, sector rank).
Customize table position, size, text alignment, and colors.
Real-Time Performance:
Tracks daily price changes for sector and industry ETFs.
Displays percentage change from open to close.
How to Use
Add the Indicator:
Apply the indicator to any stock or ETF chart.
The script will automatically detect the sector and industry of the selected symbol.
Interpret the Data:
Sector/Industry: Displays the current sector and industry.
ETF: Shows the corresponding sector and industry ETF.
STS (Sector/Industry Trend Strength): A percentile score (0-100) indicating the relative strength of the sector/industry ETF compared to SPY over the past 20 days.
Sector Rank: Ranks the sector ETF against other major sectors (e.g., "3/12" means the sector is ranked 3rd out of 12).
Customize the Display:
Use the input settings to:
Show/hide specific elements (e.g., sector, industry, ETFs, STS, sector rank).
Adjust the table position, size, and text alignment.
Change colors for positive/negative changes.
Make Informed Decisions:
Use the STS score and sector rank to identify potential trading opportunities.
Focus on sectors and industries with high STS scores and strong rankings (green).
Input Parameters
Table Settings:
Table Position: Choose where to display the table (Top Left, Top Right, Bottom Left, Bottom Right).
Table Size: Adjust the size of the table (Tiny, Small, Normal, Large).
Text Color: Customize the text color.
Background Color: Set the table background color.
Display Options:
Show ETFs: Toggle the display of sector and industry ETFs.
Show STS: Toggle the display of the Sector/Industry Trend Strength (STS) score.
Show Sector/Industry: Toggle the display of sector and industry information.
Show Sector Rank: Toggle the display of the sector rank.
Parameters:
Sector Rank Time Length: Set the number of days used for calculating the sector rank (default: 20).
Example Use Cases
Sector Rotation:
Identify sectors with high STS scores and strong rankings (green) to allocate capital.
Avoid sectors with low STS scores and weak rankings (red).
Industry Analysis:
Compare the STS scores of different industries within the same sector.
Use the STS score to gauge relative strength and identify potential opportunities.
Market Timing:
Use the STS score and sector rank to time entries and exits in sector-specific ETFs.
Combine with other technical indicators for confirmation.