Day/Week/Month Metrics (Zeiierman)█ Overview
The Day/Week/Month Metrics (Zeiierman) indicator is a powerful tool for traders looking to incorporate historical performance into their trading strategy. It computes statistical metrics related to the performance of a trading instrument on different time scales: daily, weekly, and monthly. Breaking down the performance into daily, weekly, and monthly metrics provides a granular view of the instrument's behavior.
The indicator requires the chart to be set on a daily timeframe.
█ Key Statistics
⚪ Day in month
The performance of financial markets can show variability across different days within a month. This phenomenon, often referred to as the "monthly effect" or "turn-of-the-month effect," suggests that certain days of the month, especially the first and last days, tend to exhibit higher than average returns in many stock markets around the world. This effect is attributed to various factors including payroll contributions, investment of monthly dividends, and psychological factors among traders and investors.
⚪ Edge
The Edge calculation identifies days within a month that consistently outperform the average monthly trading performance. It provides a statistical advantage by quantifying how often trading on these specific days yields better returns than the overall monthly average. This insight helps traders understand not just when returns might be higher, but also how reliable these patterns are over time. By focusing on days with a higher "Edge," traders can potentially increase their chances of success by aligning their strategies with historically more profitable days.
⚪ Month
Historically, the stock market has exhibited seasonal trends, with certain months showing distinct patterns of performance. One of the most well-documented patterns is the "Sell in May and go away" phenomenon, suggesting that the period from November to April has historically brought significantly stronger gains in many major stock indices compared to the period from May to October. This pattern highlights the potential impact of seasonal investor sentiment and activities on market performance.
⚪ Day in week
Various studies have identified the "day-of-the-week effect," where certain days of the week, particularly Monday and Friday, show different average returns compared to other weekdays. Historically, Mondays have been associated with lower or negative average returns in many markets, a phenomenon often linked to the settlement of trades from the previous week and negative news accumulation over the weekend. Fridays, on the other hand, might exhibit positive bias as investors adjust positions ahead of the weekend.
⚪ Week in month
The performance of markets can also vary within different weeks of the month, with some studies suggesting a "week of the month effect." Typically, the first and the last week of the month may show stronger performance compared to the middle weeks. This pattern can be influenced by factors such as the timing of economic reports, monthly investment flows, and options and futures expiration dates which tend to cluster around these periods, affecting investor behavior and market liquidity.
█ How It Works
⚪ Day in Month
For each day of the month (1-31), the script calculates the average percentage change between the opening and closing prices of a trading instrument. This metric helps identify which days have historically been more volatile or profitable.
It uses arrays to store the sum of percentage changes for each day and the total occurrences of each day to calculate the average percentage change.
⚪ Month
The script calculates the overall gain for each month (January-December) by comparing the closing price at the start of a month to the closing price at the end, expressed as a percentage. This metric offers insights into which months might offer better trading opportunities based on historical performance.
Monthly gains are tracked using arrays that store the sum of these gains for each month and the count of occurrences to calculate the average monthly gain.
⚪ Day in Week
Similar to the day in the month analysis, the script evaluates the average percentage change between the opening and closing prices for each day of the week (Monday-Sunday). This information can be used to assess which days of the week are typically more favorable for trading.
The script uses arrays to accumulate percentage changes and occurrences for each weekday, allowing for the calculation of average changes per day of the week.
⚪ Week in Month
The script assesses the performance of each week within a month, identifying the gain from the start to the end of each week, expressed as a percentage. This can help traders understand which weeks within a month may have historically presented better trading conditions.
It employs arrays to track the weekly gains and the number of weeks, using a counter to identify which week of the month it is (1-4), allowing for the calculation of average weekly gains.
█ How to Use
Traders can use this indicator to identify patterns or trends in the instrument's performance. For example, if a particular day of the week consistently shows a higher percentage of bullish closes, a trader might consider this in their strategy. Similarly, if certain months show stronger performance historically, this information could influence trading decisions.
Identifying High-Performance Days and Periods
Day in Month & Day in Week Analysis: By examining the average percentage change for each day of the month and week, traders can identify specific days that historically have shown higher volatility or profitability. This allows for targeted trading strategies, focusing on these high-performance days to maximize potential gains.
Month Analysis: Understanding which months have historically provided better returns enables traders to adjust their trading intensity or capital allocation in anticipation of seasonally stronger or weaker periods.
Week in Month Analysis: Identifying which weeks within a month have historically been more profitable can help traders plan their trades around these periods, potentially increasing their chances of success.
█ Settings
Enable or disable the types of statistics you want to display in the table.
Table Size: Users can select the size of the table displayed on the chart, ranging from "Tiny" to "Auto," which adjusts based on screen size.
Table Position: Users can choose the location of the table on the chart
-----------------
Disclaimer
The information contained in my Scripts/Indicators/Ideas/Algos/Systems does not constitute financial advice or a solicitation to buy or sell any securities of any type. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
My Scripts/Indicators/Ideas/Algos/Systems are only for educational purposes!
Cari skrip untuk "change"
ATR TrendTL;DR - An average true range (ATR) based trend
ATR trend uses a (customizable) ATR calculation and highest high & lowest low prices to calculate the actual trend. Basically it determines the trend direction by using highest high & lowest low and calculates (depending on the determined direction) the ATR trend by using a ATR based calculation and comparison method.
The indicator will draw one trendline by default. It is also possible to draw a second trendline which shows a 'negative trend'. This trendline is calculated the same way the primary trendline is calculated but uses a negative (-1 by default) value for the ATR calculation. This trendline can be used to detect early trend changes and/or micro trends.
How to use:
Due to its ATR nature the ATR trend will show trend changes by changing the trendline direction. This means that when the price crosses the trendline it does not automatically mean a trend change. However using the 'negative trend' option ATR trend can show early trend changes and therefore good entry points.
Some notes:
- A (confirmed) trend change is shown by a changing color and/or moving trendline (up/down)
- Unlike other indicators the 'time period' value is not the primary adjustment setting. This value is only used to calculate highest high & lowest low values and has medium impact on trend calculation. The primary adjustment setting is 'ATR weight'
- Every settings has a tooltip with further explanation
- I added additional color coding which uses a different color when the trend attempts to change but the trend change isn't confirmed (yet)
- Default values work fine (at least in my back testing) but the recommendation is to adjust the settings (especially ATR weight) to your trading style
- You can further finetune this indicator by using custom moving average types for the ATR calculation (like linear regression or Hull moving average)
- Both trendlines can be used to determine future support and resistance zones
- ATR trend can be used as a stop loss finder
- Alerts are using buy/sell signals
- You can use fancy color filling ;)
Happy trading!
Daniel
The Ultimate Buy and Sell IndicatorThis indicator should be used in conjunction with a solid risk management strategy that does not over-leverage positions and uses stop-losses. You can not rely 100% on the signals provided by this indicator (or any other for that matter).
With that said, this indicator can provide some excellent signals.
It has been designed with a large number of customization options intended for advanced traders, but you do not HAVE to be an advanced user to simply use the indicator. I have tried to make it easy to understand, and this section will provide you with a better understanding of how to use it.
NOTE:
While NOT REQUIRED, I would recommend also finding my indicator called, "Ultimate RSI", which is designed to work together with this indicator (visually). They both contain the same settings and allow you to visualize changes made in this indicator that can not be displayed on the main chart.
This indicator creates it's own candles(bars), so you have to go into your main settings and turn off the "body, border and wick" color settings. Using a dark background is also recommended.
How does it work?
The indicator mainly relies on the RSI indicator with Bollinger Bands for signals. (Though not entirely)
First, there are something that I call "Watch Signals", which are various Bollinger Band crossing events. This could be the price crossing Bollinger Bands or the RSI crossing Bollinger Bands.
There are separate watch signals for buys and sells. Buy watch signals are colored orange to match the BUY signal candle color and Fuchsia (kind of a bright purple) to match SELL signal candles.
In order for most buy or sell signals to be created, there must first be a watch signal. There is a lookback period (or length) for watch signals to be used, and after that many candles (bars) have passed, they will be ignored. You can set a length to look back as well as a time to wait before creating any.
What this means is that if there has previously been (for instance) a sell signal. You can tell it to wait 10 bars before creating any buy watch signals. You can then also tell it that it should look back 10 bars from the current one in order to find any buy watch signals. This means that if you had it set up that way 10 to wait and 10 to validate, it would start allowing buy watch signals 11 bars after a sell, and then once you hit 20 bars, it will start leaving a gap (invisible to you) as the 10 bar lookback period starts moving forward with each new bar. This is useful in order to keep signals more spaced apart as some bad signals come quickly after another one.
Example: You may get a sell signal where the Bollinger bands are tight, then the price easily drops down into the lower band creating a buy watch signal, then you get a "fake" or short pump up and it says buy, but then drops dramatically afterwards. The wait period can ensure that the sell stays in effect longer before a buy is considered by blocking any buy watch signals for a period of time.
After you get a watch signal, the system then looks for various other things to happen to create buy or sell signals. This could be the RSI crossing the (slow) RSI Basis line (from its Bollinger bands), it could be the price crossing its basis line, it could be MACD crosses, it could even be RSI crossing certain levels. All of these are options. If you like the MACD strategy and want it to give you buy and sell signals from just MACD crosses, simply select that option for signals.
It is also able to use the first of any of the options that takes place.
I included an option to force alternating buy and sell signals, rather than showing groups of, or subsequent buy, buy, buy signals, for instance.
Moving on....
You can change the moving average that is used to calculate the RSI. The standard moving average for RSI is the RMA (aka SWMA). Changes to this can dramatically change your signals. You also have the option to change the moving average type used in the Bollinger bands calculation. You can change the length of these as well. The same goes for the Bollinger bands over the Price chart. I added an ATR option for the RSI Bollinger bands to play with, as well. You are able to adjust the standard deviation (multiplier) of the bands as well, which will of course affect the signals.
The ways you can play with signals are nearly infinite, so have fun figuring it out.
The indicator allows for moving averages to be shown as well, with a variety of types to choose from. The standard numbers are 5, 10, 20, 50, 100 and 200, with the addition of a custom moving average of your choice. You can also change the color of this one. You can choose to show them all or any of them you want to show, in any combination, although the TYPE of moving average (SMA, EMA, WMA, etc.) will apply to all of them.
You may also notice the Bollinger Bands over the Price are colored, and become more or less transparent.
The color is derived from the trend of the RSI or the RSI basis (your choice). It looks back at the value however many bars you want and compares the values and that's how it determines if it is trending up or down. Since RSI is a directional momentum indicator, this can be quite useful. If you see the bands are getting darker, this will explain why.
The indicator has a lookback period for determining the widest the bands (which measure volatility) have been over that period of time. This is the baseline. It then will make the bands disappear (by making them more transparent) if the volatility is low. This indicates that a change in volatility is coming and that price isn't really changing much compared to the past (default 500) bars. If they become bright, this is because price has started trending in a direction and volatility is increasing.
I should also note that the candles are colored based on RSI levels.
If you use the Ultimate Companion indicator, you will be able to see the RSI levels (zones) that the colors are based on. As RSI moves into a new range, the candle color will change.
I have created a yellow zone where the candles turn yellow. This is when RSI is between (default) 45 and 55, indicating there is basically no momentum and price is going sideways. This is a good place to get trapped in bad trades, and there is a Yellow RSI Filter to block signals in this area to keep you from entering bad trades.
Green candles indicate values over 55 (getting brighter as RSI rises) and red candles are RSI values under 45 (getting brighter as RSI values get lower). If you see white, this means RSI is either over 80 or under 20. A sharp reversal is almost always imminent at this stage.
When we talk about Buy and Sell Signals, they draw a green or red triangle and it literally says BUY or SELL. There is an option to color the background for added visibility. These signals do not "repaint", what this means is that they can be late. To account for this, I have included a background color that will flash as a warning that a buy or sell could be imminent, although it may fail to break through and set a buy or sell signal. This is simply an advanced warning. The reason is that sometimes a candle may be very large and you won't be told to buy or sell during the candle until the move is completely over and now you're getting in on the next one. That's not a great feeling, so I made it repaint the background color and not repaint the completed signal. You get the best of both worlds.
This indicator also uses complex logic to handle things.
When there is a buy signal, it enters into a state of having been bought, or a "bought state". The same for sells. If Force alternating signals is off, you could have more than one buy in a bought state, or more than one sell in a sell state. There is an option to color the background green during the full duration of a bought state, or red during the full duration of a sold state.
I have added divergence.
This shows that the lows or highs of RSI and PRICE are different. If RSI is making higher highs but the price is not, then the price is likely to follow this bullish divergence, if the opposite happens, it's bearish. It will draw a line on the chart connecting the highs and lows and call it bearish or bullish. You can adjust this as well.
I have an RSI High/Low filter. If the RSI basis (or average) is very high or low, you can block signal from this area since the price is likely to continue in that direction before actually reversing.
You can change the settings of the MACD if you choose to use it for signals, and if you want to see it, you'll have to run that indicator below the chart and match the settings to see what is going on, just like the RSI.
Going back to Watch Signals. You can also choose to require more than one watch signal if you choose. You can skip watch signals, so it will ignore the first or second one, whatever you want to do. You can color the background to show you where watch signals have been skipped.
Regarding the wait period for creating watch signals after a sell or after a buy, you can also color the background to see where these were blocked by the wait period.
Lastly you can choose which type of watch signals to use, or keep them from being shown on the chart. This allows you to study the history of how the asset you are trading behaves and customize the behavior of signals based on your study of it.
Everything in the settings area has tooltips, which will explain what that thing does to help you along this journey.
I hope this indicator (and perhaps Ultimate RSI alongside this) will help you take your trading to the next level.
Z-Score - AsymmetrikZ-Score-Asymmetrik User Manual
Introduction
The Z-Score Indicator is a powerful tool used in technical analysis to measure how far a data point is from the mean value of a dataset, measured in terms of standard deviations. This indicator helps traders identify potential overbought or oversold conditions in the market.
This user manual provides a comprehensive guide on how to use the Z-Score Indicator in TradingView.
0. Quickstart
- Set the thresholds based on your asset (number of standard deviations that you consider being extreme for this asset / timeframe).
- Red background indicates a possible overbought situation, green background an oversold one.
- The color and direction of the Z-Score Line acts as a confirmation of the trend reversal.
1. Indicator Overview
The Z-Score Indicator, also known as the Z-Score Oscillator, is designed to display the Z-Score of a selected financial instrument on your TradingView chart. The Z-Score measures how many standard deviations an asset's price is from its mean (average) price over a specified period.
The indicator consists of the following components:
- Z-Score Line: This line represents the Z-Score value and is displayed on the indicator panel.
- Background Color: The background color of the indicator panel changes based on user-defined thresholds.
2. Inputs
The indicator provides several customizable inputs to tailor it to your specific trading preferences:
- Number of Periods: This input allows you to define the number of periods over which the Z-Score will be calculated. A longer period will provide a smoother Z-Score line but may be less responsive to recent price changes.
- Z-Score Low Threshold: Sets the lower threshold value for the Z-Score. When the Z-Score crosses below this threshold, the background color of the indicator panel changes accordingly.
- Z-Score High Threshold: Sets the upper threshold value for the Z-Score. When the Z-Score crosses above this threshold, the background color of the indicator panel changes accordingly.
3. How to Use the Indicator
Here are the steps to use the Z-Score Indicator:
- Adjust Parameters: Modify the indicator's inputs as needed. You can change the number of periods for the Z-Score calculation and set your desired low and high thresholds.
- Interpret the Indicator: Observe the Z-Score line on the indicator panel. It fluctuates above and below zero. Pay attention to the background color changes when the Z-Score crosses your specified thresholds.
4. Interpreting the Indicator
- Z-Score Line: The Z-Score line represents the current Z-Score value. When it is above zero, it suggests that the asset's price is above the mean, indicating potential overvaluation. When below zero, it suggests undervaluation.
- Background Color: The background color of the indicator panel changes based on the Z-Score's position relative to the specified thresholds. Green indicates the Z-Score is below the low threshold (potential undervaluation), while red indicates it is above the high threshold (potential overvaluation).
- Z-Score Line Color: The color of the Z-Score line shows that the Z-Score is trending up compared to its moving average. This can be used as a validation of the background color.
5. Customization Options
You can customize the Z-Score Indicator in the following ways:
- Adjust Inputs: Modify the number of periods and the Z-Score thresholds.
- Change Line and Background Colors: You can customize the colors of the Z-Score line and background by editing the indicator's script.
6. Troubleshooting
If you encounter any issues while using the Z-Score Indicator, make sure to check the following:
- Ensure that the indicator is applied correctly to your chart.
- Verify that the indicator's inputs match your intended settings.
- Contact me for more support if needed
7. Conclusion
The Z-Score Indicator is a valuable tool for traders and investors to identify potential overbought and oversold conditions in the market. By understanding how the Z-Score works and customizing it to your preferences, you can integrate it into your trading strategy to make informed decisions.
Remember that trading involves risk, and it's essential to combine technical indicators like the Z-Score with other analysis methods and risk management strategies for successful trading.
Alxuse Supertrend 4EMA Buy and Sell for tutorialAll abilities of Supertrend, moreover :
Drawing 4 EMA band & the ability to change values, change colors, turn on/off show.
Sends Signal Sell and Buy in multi timeframe.
The ability used in the alert section and create customized alerts.
To receive valid alerts the replay section , the timeframe of the chart must be the same as the timeframe of the indicator.
Supertrend with a simple EMA Filter can improve the performance of the signals during a strong trend.
For detecting the continuation of the downward and upward trend we can use 4 EMA colors.
In the upward trend , the EMA lines are in order of green, blue, red, yellow from bottom to top.
In the downward trend, the EMA lines are in order of yellow, red, blue, green from bottom to top.
How it works:
x1 = MA1 < MA2 and MA2 < MA3 and MA3 < MA4 and ta.crossunder(MA3, MA4)
x2 = MA1 < MA2 and MA2 < MA3 and MA3 < MA4 and ta.crossunder(MA2, MA3)
x3 = MA1 < MA2 and MA2 < MA3 and MA3 < MA4 and ta.crossunder(MA1, MA2)
y1 = MA4 < MA3 and MA3 < MA2 and MA2 < MA1 and ta.crossover(MA3, MA4)
y2 = MA4 < MA3 and MA3 < MA2 and MA2 < MA1 and ta.crossover(MA2, MA3)
y3 = MA4 < MA3 and MA3 < MA2 and MA2 < MA1 and ta.crossover(MA1, MA2)
Red triangle = x1 or x2 or x3
Green triangle = y1 or y2 or y3
Long = BUY signal and followed by a Green triangle
Exit Long = SELL signal
Short = SELL signal and followed by a Red triangle
Exit Short = BUY signal
It is also possible to get help from the Stochastic RSI and MACD indicators for confirmation.
For receiving a signal with these two conditions or more conditions, i am making a video tutorial that I will release soon.
Supertrend
Definition
Supertrend is a trend-following indicator based on Average True Range (ATR). The calculation of its single line combines trend detection and volatility. It can be used to detect changes in trend direction and to position stops.
The basics
The Supertrend is a trend-following indicator. It is overlaid on the main chart and their plots indicate the current trend. A Supertrend can be used with varying periods (daily, weekly, intraday etc.) and on varying instruments.
The Supertrend has several inputs that you can adjust to match your trading strategy. Adjusting these settings allows you to make the indicator more or less sensitive to price changes.
For the Supertrend inputs, you can adjust atrLength and multiplier:
the atrLength setting is the lookback length for the ATR calculation;
multiplier is what the ATR is multiplied by to offset the bands from price.
When the price falls below the indicator curve, it turns red and indicates a downtrend. Conversely, when the price rises above the curve, the indicator turns green and indicates an uptrend. After each close above or below Supertrend, a new trend appears.
Summary
The Supertrend helps you make the right trading decisions. However, there are times when it generates false signals. Therefore, it is best to use the right combination of several indicators. Like any other indicator, Supertrend works best when used with other indicators such as MACD, Parabolic SAR, or RSI.
Exponential Moving Average
Definition
The Exponential Moving Average (EMA) is a specific type of moving average that points towards the importance of the most recent data and information from the market. The Exponential Moving Average is just like it’s name says - it’s exponential, weighting the most recent prices more than the less recent prices. The EMA can be compared and contrasted with the simple moving average.
Similar to other moving averages, the EMA is a technical indicator that produces buy and sell signals based on data that shows evidence of divergence and crossovers from general and historical averages. Additionally, the EMA tries to amplify the importance that the most recent data points play in a calculation.
It is common to use more than one EMA length at once, to provide more in-depth and focused data. For example, by choosing 10-day and 200-day moving averages, a trader is able to determine more from the results in a long-term trade, than a trader who is only analyzing one EMA length.
It’s best to use the EMA when for trending markets, as it shows uptrends and downtrends when a market is strong and weak, respectively. An experienced trader will know to look both at the line the EMA projects, as well as the rate of change that comes from each bar as it moves to the next data point. Analyzing these points and data streams correctly will help the trader determine when they should buy, sell, or switch investments from bearish to bullish or vice versa.
Short-term averages, on the other hand, is a different story when analyzing Exponential Moving Average data. It is most common for traders to quote and utilize 12- and 26-day EMAs in the short-term. This is because they are used to create specific indicators. Look into Moving Average Convergence Divergence (MACD) for more information. Similarly, the 50- and 200-day moving averages are most common for analyzing long-term trends.
Moving averages can be very useful for traders using technical analysis for profit. It is important to identify and realize, however, their shortcomings, as all moving averages tend to suffer from recurring lag. It is difficult to modify the moving average to work in your favor at times, often having the preferred time to enter or exit the market pass before the moving average even shows changes in the trend or price movement for that matter.
All of this is true, however, the EMA strives to make this easier for traders. The EMA is unique because it places more emphasis on the most recent data. Therefore, price movement and trend reversals or changes are closely monitored, allowing for the EMA to react quicker than other moving averages.
Limitations
Although using the Exponential Moving Average has a lot of advantages when analyzing market trends, it is also uncertain whether or not the use of most recent data points truly affects technical and market analysis. In addition, the EMA relies on historical data as its basis for operating and because news, events, and other information can change rapidly the indicator can misinterpret this information by weighting the current prices higher than when the event actually occurred.
Summary
The Exponential Moving Average (EMA) is a moving average and technical indicator that reflects and projects the most recent data and information from the market to a trader and relies on a base of historical data. It is one of many different types of moving averages and has an easily calculable formula.
The added features to the indicator are made for training, it is advisable to use it with caution in tradings.
Machine Learning Momentum Index (MLMI) [Zeiierman]█ Overview
The Machine Learning Momentum Index (MLMI) represents the next step in oscillator trading. By blending traditional momentum analysis with machine learning, MLMI delivers a potent and dynamic tool that aligns with the complexities of modern financial landscapes. Offering traders an adaptive way to understand and act on market momentum and trends, this oscillator provides real-time insights into market momentum and prevailing trends.
█ How It Works:
Momentum Analysis: MLMI employs a dual-layer analysis, utilizing quick and slow weighted moving averages (WMA) of the Relative Strength Index (RSI) to gauge the market's momentum and direction.
Machine Learning Integration: Through the k-Nearest Neighbors (k-NN) algorithm, MLMI intelligently examines historical data to make more accurate momentum predictions, adapting to the intricate patterns of the market.
MLMI's precise calculation involves:
Weighted Moving Averages: Calculations of quick (5-period) and slow (20-period) WMAs of the RSI to track short-term and long-term momentum.
k-Nearest Neighbors Algorithm: Distances between current parameters and previous data are measured, and the nearest neighbors are used for predictive modeling.
Trend Analysis: Recognition of prevailing trends through the relationship between quick and slow-moving averages.
█ How to use
The Machine Learning Momentum Index (MLMI) can be utilized in much the same way as traditional trend and momentum oscillators, providing key insights into market direction and strength. What sets MLMI apart is its integration of artificial intelligence, allowing it to adapt dynamically to market changes and offer a more nuanced and responsive analysis.
Identifying Trend Direction and Strength: The MLMI serves as a tool to recognize market trends, signaling whether the momentum is upward or downward. It also provides insights into the intensity of the momentum, helping traders understand both the direction and strength of prevailing market trends.
Identifying Consolidation Areas: When the MLMI Prediction line and the WMA of the MLMI Prediction line become flat/oscillate around the mid-level, it's a strong sign that the market is in a consolidation phase. This insight from the MLMI allows traders to recognize periods of market indecision.
Recognizing Overbought or Oversold Conditions: By identifying levels where the market may be overbought or oversold, MLMI offers insights into potential price corrections or reversals.
█ Settings
Prediction Data (k)
This parameter controls the number of neighbors to consider while making a prediction using the k-Nearest Neighbors (k-NN) algorithm. By modifying the value of k, you can change how sensitive the prediction is to local fluctuations in the data.
A smaller value of k will make the prediction more sensitive to local variations and can lead to a more erratic prediction line.
A larger value of k will consider more neighbors, thus making the prediction more stable but potentially less responsive to sudden changes.
Trend length
This parameter controls the length of the trend used in computing the momentum. This length refers to the number of periods over which the momentum is calculated, affecting how quickly the indicator reacts to changes in the underlying price movements.
A shorter trend length (smaller momentumWindow) will make the indicator more responsive to short-term price changes, potentially generating more signals but at the risk of more false alarms.
A longer trend length (larger momentumWindow) will make the indicator smoother and less responsive to short-term noise, but it may lag in reacting to significant price changes.
Please note that the Machine Learning Momentum Index (MLMI) might not be effective on higher timeframes, such as daily or above. This limitation arises because there may not be enough data at these timeframes to provide accurate momentum and trend analysis. To overcome this challenge and make the most of what MLMI has to offer, it's recommended to use the indicator on lower timeframes.
-----------------
Disclaimer
The information contained in my Scripts/Indicators/Ideas/Algos/Systems does not constitute financial advice or a solicitation to buy or sell any securities of any type. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
My Scripts/Indicators/Ideas/Algos/Systems are only for educational purposes!
RVol LabelThis Code is update version of Code Provided by @ssbukam, Here is Link to his original Code and review the Description
Below is Original Description
1. When chart resolution is Daily or Intraday (D, 4H, 1H, 5min, etc), Relative Volume shows value based on DAILY. RVol is measured on daily basis to compare past N number of days.
2. When resolution is changed to Weekly or Monthly, then Relative Volume shows corresponding value. i.e. Weekly shows weekly relative volume of this week compared to past 'N' weeks. Likewise for Monthly. You would see change in label name. Like, Weekly chart shows W_RVol (Weekly Relative Volume). Likewise, Daily & Intraday shows D_RVol. Monthly shows M_RVol (Monthly Relative Volume).
3. Added a plot (by default hidden) for this specific reason: When you move the cursor to focus specific candle, then Indicator Value displays relative volume of that specific candle. This applies to Intraday as well. So if you're in 1HR chart and move the cursor to a specific candle, Indicator Value shows relative volume for that specific candlestick bar.
4. Updating the script so that text size and location can be customized.
Changes to Updated Label by me
1. Added Today's Volume to the Label
2. Added Total Average Volume to the Label
3. Comparison vs Both in Single Line and showing how much volume has traded vs the average volume for that time of the day
4. Aesthetic Look of the Label
How to Use Relative Volume for Trading
Using Relative Volume (RVol) in trading can be a valuable tool to help you identify potential trading opportunities and gain insight into market behavior. Here are some ways to use RVol in your trading strategy:
Identifying High-Volume Breakouts: RVol can help you spot potential breakouts when the volume surges significantly above its average. High RVol during a breakout suggests strong market interest, increasing the probability of a sustained move in the direction of the breakout.
Confirming Trends and Reversals: RVol can act as a confirmation tool for trends and reversals. A trend accompanied by rising RVol indicates a strong and sustainable move. Conversely, a trend with declining RVol might suggest a weakening trend or potential reversal.
Spotting Volume Divergence: When the price is moving in one direction, but RVol is declining or not confirming the move, it may indicate a divergence. This discrepancy could suggest a potential reversal or trend change.
Support and Resistance Confirmation: High RVol near key support or resistance levels can indicate potential price reactions at those levels. This confirmation can be valuable in determining whether a level is likely to hold or break.
Filtering Trade Signals: Incorporate RVol into your existing trading strategy as a filter. For example, you might consider taking trades only if RVol is above a certain threshold, ensuring that you focus on high-impact trading opportunities.
Avoiding Low-Volume Traps: Low RVol can indicate a lack of interest or participation in the market. In such situations, price movements may be erratic and less reliable, so it's often wise to avoid trading during low RVol periods.
Monitoring News Events: Around significant news events or earnings releases, RVol can help you gauge the market's reaction to the information. High RVol during such events can present trading opportunities but be cautious of increased volatility and potential gaps.
Adjusting Trade Size: During periods of extremely high RVol, it might be prudent to adjust your position size to account for higher risk.
Using Relative Volume in Morning Session
If the Volume traded in first 15 minute to 30 Minutes is already at 50% or 100% depending upon the ticker, it means that it is going to have very high Volume vs average by end of the day.
This gives me conviction for Long or Short Trades
Remember that RVol is not a standalone indicator; it works best when used in conjunction with other technical and fundamental analysis tools. Additionally, RVol's effectiveness may vary across different markets and trading strategies. Therefore, backtesting and validating the use of RVol in your trading approach is essential.
Lastly, risk management is crucial in trading. While RVol can provide valuable insights, it cannot guarantee profitable trades. Always use appropriate risk management strategies, such as setting stop-loss levels, and avoid overexposing yourself to the market based solely on RVol readings.
Focused Average True RangeThe Focused Average True Range (FATR) is a modified version of the classic Average True Range (ATR) indicator. It is designed to provide traders with more accurate data on volatility, minimizing the impact of sharp spikes in volatility.
The main distinction between the Focused ATR and the standard ATR lies in the utilization of percentiles. Instead of calculating the average price change as the regular ATR does, the Focused ATR selects a value in the middle of the range of price changes. This makes it less sensitive to sharp changes in volatility, which can be beneficial in certain trading scenarios.
Settings:
Percentile. This parameter determines which value in the series of price changes will be used. For example, if the percentile is set to 50, the indicator will use the median value of the series of price changes. This is the default value. Imagine a class of students lined up by height, and instead of calculating the average height of all students, we take the height of the students in the middle of the line. Similarly here, we take the ATR from the middle of the series. Increasing the percentile will lead to the use of a value closer to the upper bound of the range, while decreasing the percentile will lead to the use of a value closer to the lower bound.
How to Use:
The Focused ATR is especially useful for determining the sizes of stop-losses and take-profits, thanks to its ability to consider the value in the middle of the series of price changes rather than the average value. This allows traders to more accurately assess volatility and risk, which in turn can assist in optimizing trading strategies
---
Фокусированный Средний Истинный Диапазон (Focused ATR) представляет собой модифицированную версию классического индикатора ATR. Он разработан с целью предоставления трейдерам более точных данных о волатильности, минимизируя влияние резких скачков волатильности.
Основное отличие Фокусированного ATR от стандартного ATR заключается в использовании процентиля. Вместо того, чтобы рассчитывать среднее значение изменений цены, как это делает обычный ATR, Фокусированный ATR выбирает значение в середине диапазона изменений цены. Это делает его менее чувствительным к резким изменениям волатильности, что может быть полезно в некоторых торговых сценариях.
Настройки:
Процентиль. Этот параметр определяет, какое значение в ряду изменений цены будет использоваться. Например, если процентиль равен 50, то индикатор будет использовать медианное значение ряда изменений цены. Это стандартное значение. Представьте себе, что ученики класса выстроились по росту, и мы считаем не средний рост всех учеников, а берем рост учеников из середины колонны. Так и тут. Мы берем ATR из середины ряда. Увеличение процентиля приведет к использованию значения, ближе к верхней границе диапазона, в то время как уменьшение процентиля приведет к использованию значения, ближе к нижней границе.
Как использовать:
Фокусированный ATR особенно полезен для определения размеров стоп-лоссов и тейк-профитов, благодаря своей способности учитывать значение в середине ряда изменений цены, а не среднее значение. Это позволяет трейдерам более точно оценить волатильность и риск, что в свою очередь может помочь в оптимизации торговых стратегий.
.
Market InternalsMarket internals can be a powerful tool for determining future moves, overall trend health and provide a means of directional confidence.
This indicator watches a handful of SPX and US stocks based internals to determine key areas of sentiment changes, the internals monitored are:
US Stocks Ticks
Call and Put SPX Volume
SPX Gamma Dispersion
US Stocks Ask and Big Volume
US Stocks Advancing and Declining Issues
Each time there's a bullish or bearish sentiment change it will be market with green/red flag and a single letter that identifies what market internal has changed.
SPX gamma dispersion events aren't to be considered directional from historical observations made but can be a sign of liquidity adjustments and when paired with any of the other aforementioned internals sentiment changes can be used as a powerful signal.
If it's observed that market internals are changing erratically then it's a clear indication of market chop and best to wait for cleaner trends.
Future updates may include non-SPX based internals analysis, change in display, alerts/alertconditions and more. Feel free to comment with any desired changes and we can discuss!
Lagging Session Regression ChannelHello Traders !
Note :
This is my very first published script on trading view & from brainstorming an idea to developing to the finched product it was imperative to me for the indiactor and every one of its features to be of some meaningfull use. If you like the idea of statsitics being able to predict future prices in the market then this indicator may be usefull in your trading arsenal.
Introduction :
Lagging Session Regression Channel (LSRC) is a statistical trend analysis indicator that "laggs" the market by the user defined session, by defualt a day, by doing so the indicator leverges the ability of simple linear regression to predict future asset price.(This can be used on any asset in any market in any time frame)
Options & inputs :
- Bar regression lookback :
The value of bars back from the lats session change, if the seesion time is equivelnt to the the chart timefrmae then the regression line will not lag price, i.e it will act as a stantdard lineer regression channel chnaging on evrey last confimred bar.
- Standard Deviation lookback :
The value of bars from the last session change to cacluate the unbiased standard deviation, The lookback can be set to > or < the regression lookback to cauture > or < less asset volatility. (note this is the same as the residual standard deviation)
- Predicted price at nth bar :
if you whant to know the predicted close price value at any given point in the regression and to the RHS of the regression.
- Regression Line colors group :
Changes the colors of each plotted line.
- OLS Line color : is only changeable when trend color is set to false / unticked.
- Visable deviations group :
Plots the lines that you want on chart, e.g if "Show DEV1" and "Sow DEV SUB1" are the only inputs ticked then they will be the only lines ploted along with the simple linear regression line.
- Regression Line Dynamics group :
All inputs in this group change the regressions calculations given the bar lookback is constant / the same.
- Trend color : if set too true, when the close of the proceding real time bar is greater than the simple linear regression line from the last confimred session the line will be colored green, if otherwise the close is below the simple linear regression line the line will be colored red.
- Extend regression line :
This is the same chart image as seen on the publication chart image but with Extend regression line set to true, this allows the trader to test the valdity of the regression and how well it predicts future price, as seen on the M15 chart of BTCUSD above the indicator was pritty good at doing this.
- Standard deviation channel source :
Source for standard deviation to be calculated on. note if this is set to a varible other than the close then this will no longer be the resdiaul standard deviation, as of now "LSRC 1.0" the regression uses only the close for y / predicted values.
- Time elasped unitl next regression calculation :
The session time until the next LSRC will be calculated and plotted
Label LSRC stats :
- STAN DEV : the standard deviation used to cacluateed the deviation channels
- MIN : The lowest price across the regression
- MAX : The highest price across the regression
- n bars above dev 1 : The number of bars that closed above the first standard deviation channel across the entire regression calculation
- n bars below sub dev1 : The number of bars that closed below the first standard deviation channel.
- Regression Price : The output of "Predicted price at nth bar" input.
Hope you find this usefull !
I will continue too try improve this script and update it accordingly.
Stock Market Emotion Index (SMEI)Implementation of Charlie Q. Yang's research paper “The stock market emotion index”, subtitle “A New Sentiment Measure Using Enhanced OBV and Money Flow Indicators”, (2007) where he combined “five simple emotion statistics” - Close Emotion Statistic (CES), Money Flow Statistic (MFS), Supply Demand Statistic (SDS), Relative Strength Statistic (RSS), and Psychological Level Statistic (PLS) - into one indicator.
Quotations:
“The index calculation is solely based on observed short term market volatility as reflected by each day’s trading volume, open, high, low, and close prices”
“The basic premise of Dow theory is that the market discounts everything, including the emotions of all traders. The fundamentals of a company do not change suddenly when its daily stock price is fluctuating as driven by human emotions that are often irrational. However, over a longer time period, a company's fundamentals do change. Again, different types of human emotions, triggered by the flow of material events, are moving the stock price trend up or down. This paper summarizes the author’s attempt in understanding primary trend extent and duration by proposing a new sentiment measure using statistical analysis of stock market human emotion.”
Even though “indicator is intended for identifying primary trend cycles that typically last one year or longer“ where Mr. Yang used a fixed averaging length of 260 days and only days as time frame, my implementation has been changed slightly to accommodate for all time frames and to adapt faster using shorter averaging (timeframe dependent).
How to use it:
Positive values indicating a bullish trend and negative values indicating a bearish trend. Background color is set to green or red accordingly.
Positive and negative bar to bar changes are indicated with green and red to show bar to bar (ultra short term) trends.
(No financial advise, use for testing purposed only)
MESA Stochastic Multi LengthJohn Ehler's MESA Stochastic
It is updated and optimized version of script originally published by @veryfid.
Changes:
Converted to v5
Rewrote MESA Function. Same function can now calculate various length signals.
Modified super smoother. Indicator reacts faster to price change.
Optimized code. Functions are only called once per length.
Singular and Cumulative Volume Delta (SVD+CVD)This a Volume Delta indicator with Cumulative Volume Delta.
I have been studying Volume Delta and CVD trading strategies and indicator styles.
This implementation was developed to test a basic trailing window / oscillator approach.
Script has been republished as public and searchable.
Changelog from private era follows.
Jun 9 (2022)
Release Notes:
Added option to use EMA/SMA based cumulation. This will not scale well with singular data, so default view is still SUM.
Jun 9 (2022)
Release Notes:
Outdated comment correction.
Jun 9 (2022)
Release Notes:
Added default option to normalilze visual scale of MA cumulation types. The averaging creates a singular value sized results, instead of a range-sums. This multiples that candle result by the range length to get a range-sum sized result.
Added option to scale the cumulation size relative to the volume size. 1-to-1 scaling creates singular deltas that can be hard to see with all options on. This allows you to beef them up for visual or weighting purposes.
Jun 15 (2022)
Release Notes: * Added break even level for current delta. Tells where current delta must land for cumulative delta to stay flat.
* Added comparison of historical cumulative levels to current level. The historical levels are the initial values going into current accumulation window.
* Changed title of indicator to be more generic, clear, and searchable.
Jun 15 (2022)
Release Notes: * Added option to have the cumulation cutoff line AFTER or OVER the end of the cumulation window. This change is to ensure the indicator clearly documents it's behavior and avoids confusion on this / last cumulation window semantics.
* Bugfix: Initial levels were pulled from cumulation line which was AFTER end of window. This has been changed to the initial values INSIDE the cumulation window.
* Code cleanup.
June 17th (2022)
Release Notes: Marked as beta because TV confirmed they no longer allow private scripts to be changed to public. (Despite lingering documentation that says otherwise.
June 17th (2022)
Re-published as public.
Parabolic SAR of KAMA [Loxx]Parabolic SAR of KAMA attempts to reduce noise and volatility from regular Parabolic SAR in order to derive more accurate trends. In addition, and to further reduce noise and enhance trend identification, PSAR of KAMA includes two calculations of efficiency ratio: 1) price change adjusted for the daily volatility; or, 2) Jurik Fractal Dimension Adaptive (explained below)
What is PSAR?
The parabolic SAR indicator, developed by J. Wells Wilder, is used by traders to determine trend direction and potential reversals in price. The indicator uses a trailing stop and reverse method called "SAR," or stop and reverse, to identify suitable exit and entry points. Traders also refer to the indicator as to the parabolic stop and reverse, parabolic SAR, or PSAR.
What is KAMA?
Developed by Perry Kaufman, Kaufman's Adaptive Moving Average (KAMA) is a moving average designed to account for market noise or volatility. KAMA will closely follow prices when the price swings are relatively small and the noise is low. KAMA will adjust when the price swings widen and follow prices from a greater distance. This trend-following indicator can be used to identify the overall trend, time turning points and filter price movements.
What is the efficiency ratio?
In statistical terms, the Efficiency Ratio tells us the fractal efficiency of price changes. ER fluctuates between 1 and 0, but these extremes are the exception, not the norm. ER would be 1 if prices moved up 10 consecutive periods or down 10 consecutive periods. ER would be zero if price is unchanged over the 10 periods.
What is Jurik Fractal Dimension?
There is a weak and a strong way to measure the random quality of a time series.
The weak way is to use the random walk index (RWI). You can download it from the Omega web site. It makes the assumption that the market is moving randomly with an average distance D per move and proposes an amount the market should have changed over N bars of time. If the market has traveled less, then the action is considered random, otherwise it's considered trending.
The problem with this method is that taking the average distance is valid for a Normal (Gaussian) distribution of price activity. However, price action is rarely Normal, with large price jumps occuring much more frequently than a Normal distribution would expect. Consequently, big jumps throw the RWI way off, producing invalid results.
The strong way is to not make any assumption regarding the distribution of price changes and, instead, measure the fractal dimension of the time series. Fractal Dimension requires a lot of data to be accurate. If you are trading 30 minute bars, use a multi-chart where this indicator is running on 5 minute bars and you are trading on 30 minute bars.
Conclusion from the combined efforts explained above:
-PSAR is a tool that identifies trends
-To reduce noise and identify trends during periods of low volatility, we calculate a PSAR on KAMA
-To enhance noise and reduction and trend identification, we attempt to derive an efficiency ratio that is less reliant on a Normal (Gaussian) distribution of price
Included:
-Customization of all variables
-Select from two different ER calculation styles
-Multiple timeframe enabled
Multi-TimeFrame Extremum Points Support/ResistanceIntroduction
This is my newest Support/Resistance indicator based on the idea of my previous script which had been featured in Editors' Picks .
Everyone seems to have their own idea of how you should measure support and resistance levels. This code finds the exact highest and lowest price points (Extrema) on the chart and then draws the support and resistance levels on them.
In my opinion, the advantage of this method is that the most powerful resistance/support levels which usually cover the supply/demand areas would be formed on these extremum points, as the following facts state.
Facts
1. Support and resistance levels are one of the key concepts used by technical analysts and form the basis of a wide variety of technical analysis tools. Technical analysts use support and resistance levels to identify price points on a chart where the probabilities favor a pause or reversal of a prevailing trend.
2. Supply and demand zones are natural support and resistance levels and a popular analysis technique used in day trading. The zones are the periods of sideways price action that come before explosive price moves. A supply zone forms before a downtrend and a demand zone forms before an uptrend. When the price leaves the supply/demand zone and starts trending, the strong imbalance between buyers and sellers leads to strong and explosive price movements.
3. Based on Dow Theory, trends persist until a clear reversal occurs. A reversal is a change in the price direction of an asset. Reversals typically refer to large price changes, where the trend changes direction.
Challenges
The most challenging part in implementing a S/R indicator which draws all the levels on the chart is the problem of congestion!
But we should notice two other facts:
1. The more times the price tests a support or resistance area, the more significant the level becomes.
2. A previous support level will sometimes become a resistance level when the price attempts to move back up, and conversely, a resistance level will become a support level as the price temporarily falls back.
So, I solved the problem using these two approaches:
Merging nearby levels and showing the role of the levels in colors and numbers
Avoiding many weaker levels by checking higher time frames
Settings and Usage
There are some options in the indicator settings as described below:
Calculations Time Frame: By changing the time frame, user could keep only the stronger S/R levels on the chart.
Level Colors: By default, lowest points (Supports) are green, highest points (Resistances) are red and merged levels are blue. Note that the transparency of the colors would be calculated automatically; The more opaque the color is, the stronger the level is!
Lines Style and Width: The style of the levels could be solid, dashed or dotted and user could also change the lines width in pixels.
Length of the lines: This option is based on the count of bars, but user could simply choose to extend the levels
Merge Nearby Levels: The proximity of the levels would be calculated automatically based on ATR (Average True Range) and the default length of the formula could be changed.
Labels: Each level could have a label consisting the count of merged levels into one, the percentage of merged supports/resistances and the price of the level. Note that if user choose to see the percentage of S/R roles, the color of each label changes automatically based on the main role of corresponding merged level (e.g., a blue level with a red label means that the level more acted as resistance).
I think the users of my previous S/R indicators could check this one
That's it for now! Feel free to send me your thoughts!
Kzx PT mod v1.0 by RX-RAYKzx Position tracker mod v1.0 by RX-RAY
Original script by K-zax
The modification was made for the USDRUB ticker (the number of digits in the values of price, interest, lot volume and profit loss for other tickers may affect the positioning of the inscription, but it is fully operative and it may be used with other tickers )
Typical label view:
74.30 - ENTRY PRICE
+/-0.16% - % of price chang ( range +/-9.99)
20 - position value (range 0-99)
(S) - position type (L) - long (S) - short
+/-0017 - actual profit/loss in cash (range +/- 9999)
(All range value for correct label position,
but script mod can be used out off range)
List of additions and changes:
1. Added display of position value, short / long position type and profit / loss value (including broker commission).
2. Positive interest change now corresponds to profit, negative change in interest to loss in accordance with the type of position ( short/long )
3. The position of the inscription and the digits of the values are fixed and now insignificantly depends on the change in the time interval and the change in the scale of the graph and the change in data values and their signs.
4. Added changing the color of the inscription in the situation positive price change, but profit < commission fee. (critical gain).
MAROC Fast/SlowNot sure if a similar indicator already exist, so I created my own. After creating this indicator, I realize it looks very similar to MACD. However, it strictly uses Hull moving average in its calculation for the lines.
MAROC is simply Moving Average Rate of Change. This is a trend-following indicator that calculates the rate of change on two Hull moving averages. By default it calculates the ROC on 60-period HMA (green and red) and 180-period HMA (blue and orange). The zero line represents the confirmation of change in trend. Above zero is up trend and below zero is down trend. Note the difference between the "trend reversal" and the "confirmation of a trend". I like to define trend reversal by the change in direction
The colored squares on the zero line has 4 colors that represents the overall trend. Here I include the slowdown of MAROC as the start of a trend.
- bright green = when both the slow and fast MA are trending up
- faded green = when slow MA trending up, but fast MA trending down
- faded red = when slow MA trending down, but fast MA trending up
- bright red = when both the slow MA and fast MA are trending down
Trend changes triangles are shown to signal the change in trend direction (trend reversal). Green and blue triangles are trend reversal to the upside. Red and orange triangles are trend reversal to the downside.
This indicator includes the option of displaying buy(long) and sell(short) signals that follows these rules. Use at your own discretion, as it may not apply well with your market or ticker.
- Long = Bright green square and either fast or slow MAROC changes trend direction to the upside
- Short = Bright red square and either fast or slow MAROC changes trend direction to the downside
Enjoy~! Please let me know if you find this useful and which market / ticker and timeframe you are using it on~ :)
Volume Difference Delta Cycle OscillatorVolume Difference Delta Cycle Oscillator indicator:
Using the power of my Volume Difference Indicator and standard deviations based on Bollinger Bands and more, we present this wonderful indicator with the following features:
Price Action Histogram: This is the bread and butter of this graph, if the PAH is above 0, this is considered a BULL cycle, and if below 0, this is considered a BEAR cycle. The histogram will move up and down based on the Histagram settings you set in the properties field. Be careful, we advise using default settings.
Custom Overbought & Oversold Lines:mean
These lines can be used to identify when to buy and sell the security, and help you make sense of the action of the histogram. Change the color, size, and linewidth!
These lines are what are used to perform the trades with the strategy as well, so if you change them, they will make an impact on the strategy itself.
EzSpot Background:
Do you want to turn your brain off and just trade when you you're inside an Overbought or Oversold line? Awesome! Turn on EzSpot backgrounds, and when it's green, go long, when it's red go short! Simple as that!
How it works:
By taking the Delta of the Volume Difference Indicator we're able to find the rate of change of the amount of change of volume, allowing us to see changes in volume before price changes. To add onto these, we supercharge it by taking the output of this line as the input source of bollinger bands which we use to output the %B of the Delta of the Volume Difference Indicator.
Separately, we calculate the %B of the current close to use later.
The final step is taking the second %B (which is an indication of where price lies on the curve of historical price data), and from it subtract the first %B, which allows us to visualize the standard deviation of the closing price, minus the standard deviation of Delta of the Volume Difference , which in essence allows us to see when volume changes but price does not and vice versa.
This final output is then plotted along with an over bought and over sold line, which we use to perform our trades on.
Simplified: This indicator shows the cycles of price action - volume based on the rate of the rate of volume changes based on price and the closing price.
Super Simple: Notice when volume increases but price hasn't, and vice versa with this indicator.
SVA - Simple Volume Analyzer, by BlueJayBird [bjb] ENGLISH & SPANISH
------------------------------------- ENSLIGH
The idea was initially inspired in the concepts shared by @LazyBear on his indicator "Better Volume Indicator" (). But I found it somewhat complicated and dull. So I came up with this.
Concept:
It changes the color of volume bars based on surrounding volume changes.
Volume changes are plotted as volume MAs lines in the volume pane.
Whenever the volume is higher than these MAs, the bar changes color.
For this reason, the bar color change is RELATIVE TO the surroundings, because the color change depends on how far the MA has been extended due to sudden (or not) changes in the volume.
BAR COLORS:
Weak Green and Red: Low volume. The calm before or after the storm.
Normal Green and Red: Mid volume. Still low volume, you may get bored.
Yellow: High volume. Players are playing hard and harder.
White: Ultra-High Volume. The elephants stepped in.
NOTES:
SVA works better at lower timeframes. Though as far as I can tell, it works pretty well as far as 1D timeframe.
------------------------------------- SPANISH
La idea estuvo inicialmente inspirada en los conceptos expuestos por @LazyBear en su indicador "Better Volume Indicator" (). Pero lo encontré un poco complicado y falto de claridad. Así que me inventé este.
Conceptp:
Cambia el color de las barras basándose en los últimos cambios de volumen.
Los cambios de volumen son ploteados como lineas de medias móviles (MAs, es decir "Moving Averages") en la sección del volumen (chart pane).
En cualquier momento que el volumen es mayor que estos MAs, el color de las barras cambia.
Por esta razon, el cambio de color de las barras es RELATIVO a lo que está sucediendo alrededor, ya que el cambio de color depende de qué tan lejos el MA se haya extendido por causa de los últimos cambios (o no) de volumen.
BAR COLORS:
Verde y rojo apagados: Volumen bajo (Low Volume). La calma antes de la tormenta.
Verde y rojo normales: Volumen medio (Mid volume). Volumen todavía bajo. Es posible que te aburras.
Amarillo: Volumen alto (High Volume). Los jugadores están jugando duro.
Blanco: Volumen ultra-alto (Ultra-High Volume). Los elefantes entran a la cancha.
NOTAS:
SVA funciona mejor en temporalidades menores. Pero por lo que he visto, funciona bien hasta la temporalidad de 1D.
Monte Carlo Range Forecast [DW]This is an experimental study designed to forecast the range of price movement from a specified starting point using a Monte Carlo simulation.
Monte Carlo experiments are a broad class of computational algorithms that utilize random sampling to derive real world numerical results.
These types of algorithms have a number of applications in numerous fields of study including physics, engineering, behavioral sciences, climate forecasting, computer graphics, gaming AI, mathematics, and finance.
Although the applications vary, there is a typical process behind the majority of Monte Carlo methods:
-> First, a distribution of possible inputs is defined.
-> Next, values are generated randomly from the distribution.
-> The values are then fed through some form of deterministic algorithm.
-> And lastly, the results are aggregated over some number of iterations.
In this study, the Monte Carlo process used generates a distribution of aggregate pseudorandom linear price returns summed over a user defined period, then plots standard deviations of the outcomes from the mean outcome generate forecast regions.
The pseudorandom process used in this script relies on a modified Wichmann-Hill pseudorandom number generator (PRNG) algorithm.
Wichmann-Hill is a hybrid generator that uses three linear congruential generators (LCGs) with different prime moduli.
Each LCG within the generator produces an independent, uniformly distributed number between 0 and 1.
The three generated values are then summed and modulo 1 is taken to deliver the final uniformly distributed output.
Because of its long cycle length, Wichmann-Hill is a fantastic generator to use on TV since it's extremely unlikely that you'll ever see a cycle repeat.
The resulting pseudorandom output from this generator has a minimum repetition cycle length of 6,953,607,871,644.
Fun fact: Wichmann-Hill is a widely used PRNG in various software applications. For example, Excel 2003 and later uses this algorithm in its RAND function, and it was the default generator in Python up to v2.2.
The generation algorithm in this script takes the Wichmann-Hill algorithm, and uses a multi-stage transformation process to generate the results.
First, a parent seed is selected. This can either be a fixed value, or a dynamic value.
The dynamic parent value is produced by taking advantage of Pine's timenow variable behavior. It produces a variable parent seed by using a frozen ratio of timenow/time.
Because timenow always reflects the current real time when frozen and the time variable reflects the chart's beginning time when frozen, the ratio of these values produces a new number every time the cache updates.
After a parent seed is selected, its value is then fed through a uniformly distributed seed array generator, which generates multiple arrays of pseudorandom "children" seeds.
The seeds produced in this step are then fed through the main generators to produce arrays of pseudorandom simulated outcomes, and a pseudorandom series to compare with the real series.
The main generators within this script are designed to (at least somewhat) model the stochastic nature of financial time series data.
The first step in this process is to transform the uniform outputs of the Wichmann-Hill into outputs that are normally distributed.
In this script, the transformation is done using an estimate of the normal distribution quantile function.
Quantile functions, otherwise known as percent-point or inverse cumulative distribution functions, specify the value of a random variable such that the probability of the variable being within the value's boundary equals the input probability.
The quantile equation for a normal probability distribution is μ + σ(√2)erf^-1(2(p - 0.5)) where μ is the mean of the distribution, σ is the standard deviation, erf^-1 is the inverse Gauss error function, and p is the probability.
Because erf^-1() does not have a simple, closed form interpretation, it must be approximated.
To keep things lightweight in this approximation, I used a truncated Maclaurin Series expansion for this function with precomputed coefficients and rolled out operations to avoid nested looping.
This method provides a decent approximation of the error function without completely breaking floating point limits or sucking up runtime memory.
Note that there are plenty of more robust techniques to approximate this function, but their memory needs very. I chose this method specifically because of runtime favorability.
To generate a pseudorandom approximately normally distributed variable, the uniformly distributed variable from the Wichmann-Hill algorithm is used as the input probability for the quantile estimator.
Now from here, we get a pretty decent output that could be used itself in the simulation process. Many Monte Carlo simulations and random price generators utilize a normal variable.
However, if you compare the outputs of this normal variable with the actual returns of the real time series, you'll find that the variability in shocks (random changes) doesn't quite behave like it does in real data.
This is because most real financial time series data is more complex. Its distribution may be approximately normal at times, but the variability of its distribution changes over time due to various underlying factors.
In light of this, I believe that returns behave more like a convoluted product distribution rather than just a raw normal.
So the next step to get our procedurally generated returns to more closely emulate the behavior of real returns is to introduce more complexity into our model.
Through experimentation, I've found that a return series more closely emulating real returns can be generated in a three step process:
-> First, generate multiple independent, normally distributed variables simultaneously.
-> Next, apply pseudorandom weighting to each variable ranging from -1 to 1, or some limits within those bounds. This modulates each series to provide more variability in the shocks by producing product distributions.
-> Lastly, add the results together to generate the final pseudorandom output with a convoluted distribution. This adds variable amounts of constructive and destructive interference to produce a more "natural" looking output.
In this script, I use three independent normally distributed variables multiplied by uniform product distributed variables.
The first variable is generated by multiplying a normal variable by one uniformly distributed variable. This produces a bit more tailedness (kurtosis) than a normal distribution, but nothing too extreme.
The second variable is generated by multiplying a normal variable by two uniformly distributed variables. This produces moderately greater tails in the distribution.
The third variable is generated by multiplying a normal variable by three uniformly distributed variables. This produces a distribution with heavier tails.
For additional control of the output distributions, the uniform product distributions are given optional limits.
These limits control the boundaries for the absolute value of the uniform product variables, which affects the tails. In other words, they limit the weighting applied to the normally distributed variables in this transformation.
All three sets are then multiplied by user defined amplitude factors to adjust presence, then added together to produce our final pseudorandom return series with a convoluted product distribution.
Once we have the final, more "natural" looking pseudorandom series, the values are recursively summed over the forecast period to generate a simulated result.
This process of generation, weighting, addition, and summation is repeated over the user defined number of simulations with different seeds generated from the parent to produce our array of initial simulated outcomes.
After the initial simulation array is generated, the max, min, mean and standard deviation of this array are calculated, and the values are stored in holding arrays on each iteration to be called upon later.
Reference difference series and price values are also stored in holding arrays to be used in our comparison plots.
In this script, I use a linear model with simple returns rather than compounding log returns to generate the output.
The reason for this is that in generating outputs this way, we're able to run our simulations recursively from the beginning of the chart, then apply scaling and anchoring post-process.
This allows a greater conservation of runtime memory than the alternative, making it more suitable for doing longer forecasts with heavier amounts of simulations in TV's runtime environment.
From our starting time, the previous bar's price, volatility, and optional drift (expected return) are factored into our holding arrays to generate the final forecast parameters.
After these parameters are computed, the range forecast is produced.
The basis value for the ranges is the mean outcome of the simulations that were run.
Then, quarter standard deviations of the simulated outcomes are added to and subtracted from the basis up to 3σ to generate the forecast ranges.
All of these values are plotted and colorized based on their theoretical probability density. The most likely areas are the warmest colors, and least likely areas are the coolest colors.
An information panel is also displayed at the starting time which shows the starting time and price, forecast type, parent seed value, simulations run, forecast bars, total drift, mean, standard deviation, max outcome, min outcome, and bars remaining.
The interesting thing about simulated outcomes is that although the probability distribution of each simulation is not normal, the distribution of different outcomes converges to a normal one with enough steps.
In light of this, the probability density of outcomes is highest near the initial value + total drift, and decreases the further away from this point you go.
This makes logical sense since the central path is the easiest one to travel.
Given the ever changing state of markets, I find this tool to be best suited for shorter term forecasts.
However, if the movements of price are expected to remain relatively stable, longer term forecasts may be equally as valid.
There are many possible ways for users to apply this tool to their analysis setups. For example, the forecast ranges may be used as a guide to help users set risk targets.
Or, the generated levels could be used in conjunction with other indicators for meaningful confluence signals.
More advanced users could even extrapolate the functions used within this script for various purposes, such as generating pseudorandom data to test systems on, perform integration and approximations, etc.
These are just a few examples of potential uses of this script. How you choose to use it to benefit your trading, analysis, and coding is entirely up to you.
If nothing else, I think this is a pretty neat script simply for the novelty of it.
----------
How To Use:
When you first add the script to your chart, you will be prompted to confirm the starting date and time, number of bars to forecast, number of simulations to run, and whether to include drift assumption.
You will also be prompted to confirm the forecast type. There are two types to choose from:
-> End Result - This uses the values from the end of the simulation throughout the forecast interval.
-> Developing - This uses the values that develop from bar to bar, providing a real-time outlook.
You can always update these settings after confirmation as well.
Once these inputs are confirmed, the script will boot up and automatically generate the forecast in a separate pane.
Note that if there is no bar of data at the time you wish to start the forecast, the script will automatically detect use the next available bar after the specified start time.
From here, you can now control the rest of the settings.
The "Seeding Settings" section controls the initial seed value used to generate the children that produce the simulations.
In this section, you can control whether the seed is a fixed value, or a dynamic one.
Since selecting the dynamic parent option will change the seed value every time you change the settings or refresh your chart, there is a "Regenerate" input built into the script.
This input is a dummy input that isn't connected to any of the calculations. The purpose of this input is to force an update of the dynamic parent without affecting the generator or forecast settings.
Note that because we're running a limited number of simulations, different parent seeds will typically yield slightly different forecast ranges.
When using a small number of simulations, you will likely see a higher amount of variance between differently seeded results because smaller numbers of sampled simulations yield a heavier bias.
The more simulations you run, the smaller this variance will become since the outcomes become more convergent toward the same distribution, so the differences between differently seeded forecasts will become more marginal.
When using a dynamic parent, pay attention to the dispersion of ranges.
When you find a set of ranges that is dispersed how you like with your configuration, set your fixed parent value to the parent seed that shows in the info panel.
This will allow you to replicate that dispersion behavior again in the future.
An important thing to note when settings alerts on the plotted levels, or using them as components for signals in other scripts, is to decide on a fixed value for your parent seed to avoid minor repainting due to seed changes.
When the parent seed is fixed, no repainting occurs.
The "Amplitude Settings" section controls the amplitude coefficients for the three differently tailed generators.
These amplitude factors will change the difference series output for each simulation by controlling how aggressively each series moves.
When "Adjust Amplitude Coefficients" is disabled, all three coefficients are set to 1.
Note that if you expect volatility to significantly diverge from its historical values over the forecast interval, try experimenting with these factors to match your anticipation.
The "Weighting Settings" section controls the weighting boundaries for the three generators.
These weighting limits affect how tailed the distributions in each generator are, which in turn affects the final series outputs.
The maximum absolute value range for the weights is . When "Limit Generator Weights" is disabled, this is the range that is automatically used.
The last set of inputs is the "Display Settings", where you can control the visual outputs.
From here, you can select to display either "Forecast" or "Difference Comparison" via the "Output Display Type" dropdown tab.
"Forecast" is the type displayed by default. This plots the end result or developing forecast ranges.
There is an option with this display type to show the developing extremes of the simulations. This option is enabled by default.
There's also an option with this display type to show one of the simulated price series from the set alongside actual prices.
This allows you to visually compare simulated prices alongside the real prices.
"Difference Comparison" allows you to visually compare a synthetic difference series from the set alongside the actual difference series.
This display method is primarily useful for visually tuning the amplitude and weighting settings of the generators.
There are also info panel settings on the bottom, which allow you to control size, colors, and date format for the panel.
It's all pretty simple to use once you get the hang of it. So play around with the settings and see what kinds of forecasts you can generate!
----------
ADDITIONAL NOTES & DISCLAIMERS
Although I've done a number of things within this script to keep runtime demands as low as possible, the fact remains that this script is fairly computationally heavy.
Because of this, you may get random timeouts when using this script.
This could be due to either random drops in available runtime on the server, using too many simulations, or running the simulations over too many bars.
If it's just a random drop in runtime on the server, hide and unhide the script, re-add it to the chart, or simply refresh the page.
If the timeout persists after trying this, then you'll need to adjust your settings to a less demanding configuration.
Please note that no specific claims are being made in regards to this script's predictive accuracy.
It must be understood that this model is based on randomized price generation with assumed constant drift and dispersion from historical data before the starting point.
Models like these not consider the real world factors that may influence price movement (economic changes, seasonality, macro-trends, instrument hype, etc.), nor the changes in sample distribution that may occur.
In light of this, it's perfectly possible for price data to exceed even the most extreme simulated outcomes.
The future is uncertain, and becomes increasingly uncertain with each passing point in time.
Predictive models of any type can vary significantly in performance at any point in time, and nobody can guarantee any specific type of future performance.
When using forecasts in making decisions, DO NOT treat them as any form of guarantee that values will fall within the predicted range.
When basing your trading decisions on any trading methodology or utility, predictive or not, you do so at your own risk.
No guarantee is being issued regarding the accuracy of this forecast model.
Forecasting is very far from an exact science, and the results from any forecast are designed to be interpreted as potential outcomes rather than anything concrete.
With that being said, when applied prudently and treated as "general case scenarios", forecast models like these may very well be potentially beneficial tools to have in the arsenal.
Other altcoins BTC capitalization histogram [peregringlk]Introduction
==========
This study is intented to be used in combination with my other study "Other alts compensated cap". Read its description, in particular, it's rationale, to understand why I have removed the big capitalized altcoins from these studies.
The middle indicator in the image is that other study, while the indicator in the buttom of the image is that one.
It shows, in form of histogram, the BTC capitalization change rate (per candle, using closes) of the "OTHERS" altcoins together with the inverse of the BTCUSD price change rate per candle.
NOTE: I call the change rate to the multiplier factor of price from bar to bar. For example, a change rate of 1.20 means +20% respect to "yesterday", and a change rate of 0.80 means -20%.
The idea is to know what are altcoin markets (against BTC) doing after each BTC price change.
Definitions
=========
I will use ALT from now one as the name of an index or fictional coin that represents the average price of all other altcoins combined. I'll use then ALTUSD to represent the price against USD of such fictional coin (= the OTHERS capitalization, as if the USD capitalization of altcoins were the USD price of ALT), and ALTBTC to represent the same price but against BTC (calculated by taking ALTUSD/BITSTAMP:BTCUSD; the choosing of BITSTAMP is because it's the market with a longer history in tradingview).
Since I use the "OTHERS" security, I cannot know the real altcoin index so I can only estimate by using the capitalization. CIX100 could be a solution, but it is too recent in time as to inspect past price actions.
Description
=========
For example, let's assume BTCUSD decreases by 20% today. It would cause a fall in ALTUSD of 20% (just maths). So, what should it happen in ALTBTC to preserve the original ALTUSD price? People should buy alts in BTC markets by a factor of 1/0.8 = 1.25. Or in other words, unless there are a +25% grow in ALTBTC, ALTUSD would see a decrease in value.
This is what the histogram shows. The red columns shows the ALTBTC change rate per candle, while each green column shows what is the required change rate in ALTBTC required to preserve its ALTUSD value (capitalization). In other words, the green columns are the "targets" to preserve USD capitalization in ALTBTC, while the red histogram shows the actual changes.
Also, it shows two curves. There are just the change rate accumulation during some customizable interval (the same for both lines, and 7 by default; or the "week" for daily candles).
The green line is the accumulated "target" change rate within that period of time (the accumulated product of the last `interval` change rates), and the red line is the actual change rate for the same `interval` candles.
Interpretation
============
If red column values are bigger than the green ones (green column is negative, and red column is positive; or both are positives but the red one "put outs", or both are negative but the red column doesn't "put out"), OTHERS USD capitalization has increased.
If red column values are lower than the green ones (green column is positive and red column is negative; or both are positives but the red one doesn't "put out"; or both are negative but the red column "put outs"), OTHERS USD capitalization has decreased.
The same for the continuous lines: if the red line is above the green one, OTHERS USD capitalization has increased during "the past week". Otherwise, it has decreased.
The added value of this indicator is that it allows you to know "why". For example, if a green column is positive, and its corresponding red column is positive as well, but below the green one, the capitalization has decreased but BECAUSE the btc price has fallen, not because there was a sellof in alts. Actually, there was some buys (the ALTBTC price increased); it just it was not enough to counteract the btc fall.
That can be clearly seen in the remarked candle in the plot, the "coronavirus" sellof. The BTCUSD fall was huge (the hugest in BTC history), and the green column is telling you that to preserve the capitalization a lot of buys were required. However, that didn't happen. Actually, the OTHER alts were pretty quiet (the red column is tiny), causing a massive indirect loss of capitalization.
Also, with the curves, you can know if there was a total gainning or loss of capitalization during the past few days or candles. Also you can try to spot the beginning of alts seasons by crosses between red and green lines: if the red lines crosses above the green one (because there was a continuous sequence of red columns above green ones), it means that, potentially, were are at the beginning of an alt season because people are accumulating.
Table of cases
===========
- if the green column is positive (BTCUSD is down)
- if the red column is positive (ALTBTC is up)
- bigger than the green column: ALTBTC buys are stronger than required by arbitrage and have counteracted and overcome the BTC fall.
- shorter than the green column: there have been some buys but not enough, so the BTCUSD fall has not been fully counteracted.
- if the red column is negative (ALTBTC is down): the loss is double: BTCUSD have lost value + ALTBTC is bleeding.
- If the green column is negative (BTCUSD is up)
- if the red column is negative (ALTBTC is down)
- bigger than the green column: ALTBTC sells are so strong that have counteracted the BTC increase in value, causing a loss of USD value.
- shorter than the green column: there have been sells but overall the ALTUSD price has increased.
- if the red column is positive (ALTBTC is up): the gain is double: BTCUSD has gain value + ALTBTC is also growing.
Liquid RSI - Marrying The Relative Strength Index And The VolumeIntroduction
I recently derived the calculation of the relative strength index, an indicator that aim to spot overbought and oversold assets, but what is an overbought/sold asset ? Can such things be estimated with price alone ?
This why i propose a modification of the relative strength using my recently proposed efficient calculation including volume information in order to spot overbought/sold asset.
Scaling A Liquid Market
The relative strength index detect an overbought/sold asset when higher/lower than a certain level, often 80/20. An overbought asset, or better say over evaluated, is more attractive to sell because prices are no longer attractive to buy, it has reached its value of interest for traders looking to go long, we can then expect the price to correct and start a trend of opposite direction, while an oversold asset is more attractive to buy based on the same logic.
The idea of talking about over bought and over sold without taking into account the volume can be a bit strange, since volume is directly related to the quantity of contracts traded, an higher volume can show sign of a more active market, which can describe the terms : overbought/sold a bit better. Many indicators used the rsi framework with volume, the money flow index for example, but it can be interesting to provide other alternatives.
The Indicator
The indicator is based on the average positive changes in price multiplied by positive changes in volume divided by the average absolute change in price multiplied by the absolute changes in volume. The average is based on the wilder moving average which is a simple exponential filter with smoothing constant 1/length .
The indicator will react according to the volume magnitude, higher volumes will make the indicator go over/under the overbought/sold threshold more easily, in the image above, the indicator is currently saying that the market is under evaluated, which is not the case for the RSI. Such situation allow us to take a position that we could't take if we base our judgement only on price change magnitude.
The indicator has a tendency to be over/under the thresholds a longer period of time if the volume is relatively high.
An interesting effect the indicator has it to ignore movements with moderate volume, the indicator is less prone to cross under a threshold and to go back to it, this is shown in the image above. Another observation we can make is that the proposed indicator is smoother than the rsi, this is certainly due to the fact that the volume underweight small price changes.
Conclusions
I proposed a modification of the relative strength index that also take into account volume information. The proposed indicator is also smoother. Regarding its ability to detect overbought and oversold market, it has indeed the capacity to do it, however the problem remain the same, what is the extent of the correction following an overbought/oversold market ? We can see that the correction can be minor, and thus be followed by a large movements correlated with the main trend.
With those oscillators we are interested into knowing the end of the "whole trend", and they fail to do this because they use past information. I still hope the indicator find some creative usages amongst the community.
Thanks for reading ! And remember to ask before using the script code, it pains me to see minor changes on scripts i can pass 3 hours on.
Open Interest Bubbles [BackQuant]Open Interest Bubbles
A visual OI positioning overlay that aggregates futures open interest across major venues, normalizes it into a consistent “signal strength” scale, then plots extreme events as bubbles, labels, and optional horizontal levels directly on price.
What this is for
Open interest is one of the cleanest ways to track when positioning is building, unwinding, or aggressively shifting. The problem is raw OI is noisy, exchange-specific, and hard to compare across time. This script solves that by:
- Aggregating OI across multiple exchanges.
- Letting you choose what “OI signal” you care about (raw, delta, percent versions).
- Normalizing the signal so “big events” are easy to spot.
- Plotting those events as bubbles and levels at the exact price they occurred.
You end up with a clean, fast visual map of where large positioning changes occurred, and where those events may later matter as reaction points.
────────────────────────────────────────────────────────────
Plotting types (what you can display)
Bubbles
This mode plots OI events as size-bucketed circles on the chart. Bigger bubbles represent stronger normalized events. You can tune:
- Bubble sizing by bucket (Tiny → Huge).
- Heatmap vs solid color styling.
- Signed vs unsigned coloring (positive/negative separation or magnitude-only).
Best use:
- Spotting “where something changed” at a glance.
- Identifying clusters of positioning events around key price zones.
- Seeing whether the market is repeatedly building/closing positions at similar levels.
Levels
Levels mode draws a horizontal line at the anchor price when an extreme OI event triggers. These act like “positioning memory” levels:
- They do not claim to be support/resistance by themselves.
- They highlight prices where the derivatives market clearly did something meaningful.
Best use:
- Marking potential reaction zones.
- Combining with your price action tools (structure, OBs, FVGs) to confirm whether an OI level aligns with a technical level.
- Building a “map” of where leverage likely entered or exited.
Modes available in the script:
- Off
- Bubbles
- Bubbles + Labels
- Labels Only
- Levels + Labels
────────────────────────────────────────────────────────────
Aggregated Open Interest source (multi-exchange)
This indicator builds a single aggregated OI series by requesting OI data from multiple exchanges and summing it. You can toggle exchanges on/off:
- Binance, Bybit, OKX, Bitget, Kraken, HTX, Deribit
You can also choose OI units:
- COIN , OI in base units (native sizing)
- USD , converted for a dollar-value representation
Important note:
Not every symbol has OI data on every venue. If the script cannot build an aggregated series for the symbol, it will throw an error rather than quietly plotting garbage.
────────────────────────────────────────────────────────────
OI Source, what the bubbles are measuring
You control what “signal” is normalized and plotted:
- Delta , change in aggregated OI from the prior bar.
Use when you want to highlight bursts of new positioning or sudden unwind events.
- Raw OI , the aggregated open interest level itself.
Use when you want to highlight absolute positioning build-up periods.
- Delta % , percent change in OI.
Use when you want moves normalized to the current OI regime, useful across different market eras.
- Raw OI % , percent change form of the raw series.
Use when you want relative changes rather than absolute size.
Practical guidance:
- Delta modes are best for “event detection”.
- Raw modes are better for “regime context” and whether positioning is structurally rising or fading.
────────────────────────────────────────────────────────────
Normalization (the key to making it readable)
Because OI varies massively across assets and time, the script includes multiple normalization modes to convert your chosen OI source into a comparable “strength” value.
Options:
- ZScore , deviation from a rolling mean in standard deviation units.
- StdNorm , scaled by rolling standard deviation.
- AbsZScore , absolute value version for magnitude-only mapping.
- AbsStdNorm , absolute value version for magnitude-only mapping.
- None , plots raw values (advanced users only, often too noisy visually).
Why this matters:
Normalization makes a “1.5” or “3.0” threshold mean something across different assets and timeframes, instead of being stuck to raw OI units.
────────────────────────────────────────────────────────────
Threshold system (when bubbles/levels trigger)
The plot is driven by two user thresholds:
- Base Threshold
Controls where “meaningful” events start. Raising this reduces noise and focuses on larger deviations.
- Extreme Threshold
Controls what qualifies as a top-tier event. Extreme events are what you typically want to convert into labels and levels.
You also control side filtering:
- Both , show positive and negative events.
- Positive Only , show only increases (or positive signal side depending on source).
- Negative Only , show only decreases (or negative signal side).
In practice:
- Use Base Threshold to tune chart cleanliness.
- Use Extreme Threshold to mark only the “big stuff” that tends to matter later.
────────────────────────────────────────────────────────────
Anchor Source (where the bubble/level is placed)
The indicator places bubbles, labels, and levels at a price anchor you choose:
- HL2, Close, Open, High, Low, VWAP
This is important because “where you pin the event” changes how it reads:
- Close is clean and consistent for backtesting and candle-close logic.
- High/Low can better represent where the fight occurred intrabar.
- VWAP can be useful for “fair price” anchoring in active markets.
────────────────────────────────────────────────────────────
Style system (theme, palette, signed logic)
This script is built to look good and stay readable on busy charts.
Themes
- BackQuant, Classic, Ice, Fire, Mono, Custom
Palette Mode
- Solid , one consistent color
- Heatmap , intensity increases with magnitude
- Single Color Adaptive , adapts to chart background for clarity
Side Coloring
- Signed , positive and negative events can use different ramps
- Unsigned , magnitude-only coloring
Negative theme handling:
- Auto (mirrors your chosen theme),
- Invert (flips the ramp),
- Custom (fully user-defined negative palette).
What this gives you:
- You can run a clean “mono” look for professional charts.
- Or a high-contrast heatmap for fast scanning.
- Or fully custom branding colors for BackQuant-style presentation.
────────────────────────────────────────────────────────────
Labels (what’s inside the label)
When labels are enabled, the script can display:
- OI , the aggregated OI value
- OI + Norm , OI plus normalized strength
- Norm Only , just the normalized strength
- Src + Norm , the selected source value (Delta, Raw, %) plus normalized strength
You can also control:
- Left/Center/Right label alignment
- Number formatting style (Raw, Compact, Volume format)
Best practice:
- Use “Src + Norm” when you want both the raw event size and its rarity.
- Use “Norm Only” when you want a clean, minimal chart.
────────────────────────────────────────────────────────────
Levels and object limits (performance and cleanliness)
Because this script draws objects, it includes a hard cleanup system:
- You set Max Levels / Labels to control chart clutter.
- The script deletes older lines/labels when the limit is exceeded.
This is critical if you trade lower timeframes, where OI events can trigger frequently.
────────────────────────────────────────────────────────────
How to interpret the signals
What a large bubble usually means:
- A statistically large positioning change relative to recent history.
- This can represent fresh leverage entering, forced liquidations, or aggressive de-risking, depending on direction and context.
How to use levels:
- Treat them as “attention levels”, not automatic entries.
- Combine them with structure and liquidity tools:
- If price revisits an OI level and shows rejection, it often confirms that level mattered.
- If price slices through with no reaction, it often indicates the OI event was transitional, not defended.
Common setups:
- Clustered extreme bubbles near a breakout zone, then retest later.
- Extreme negative event at capitulation low, followed by structure flip.
- Extreme positive build into resistance, then unwind and mean reversion.
Also, please check out @NoveltyTrade for the OI Aggregation logic & pulling the data source!
Here is the original script:






















