BTC ETF VolumesVolume
This script plots the trading volume of all BTC spot ETFs as well as the aggregate volume. Works on any chart and any timeframe.
Indicators
The volume of every ETF is plotted in a different color, with the total column adding up to the aggregate volume.
If you have price and indicator labels enabled you will also see individual ETF volume on your price scale on the right hand side.
If more BTC ETFs get launched I will add them.
Statistics
Bitcoin ETF Tracker (BET)Get all the information you need about all the different Bitcoin ETFs.
With the Bitcoin ETF Tracker, you can observe all possible Bitcoin ETF data:
The ETF name.
The ticker.
The price.
The volume.
The share of total ETF volume.
The ETF fees.
The exchange and custodian.
At the bottom of the table, you'll find the day's total volume.
In addition, you can see the volume for the different Exchanges, as well as for the different Custodians.
If you don't want to display these lines to save space, you can uncheck "Show Additional Data" in the indicator settings.
The Idea
The goal is to provide the community with a tool for tracking all Bitcoin ETF data in a synthesized way, directly in your TradingView chart.
How to Use
Simply read the information in the table. You can hover above the Fees and Exchanges cells for more details.
The table takes space on the chart, you can remove the extra lines by unchecking "Show Additional Data" in the indicator settings or reduce text size by changing the "Table Text Size" parameter.
Upcoming Features
As soon as we have a little more history, we'll add variation rates as well as plots to observe the breakdown between the various Exchanges and Custodians.
Candle Strength AnalysisView candles differently with this new indicator designed to simply visualise and analyse price movements on your chart!
The more vibrant the colour, the stronger the conviction of its respective candle.
This simple script calculates the closing price as a percentage within the candles high/low range. A colour/strength rating is then assigned to the candle based on where this close price sits within the range.
Strong coloured candles occur when the close is very close to a high or low.
User defined percentage and colour inputs allow for quick personalisation and flexibility.
An additional wick imbalance feature identifies when a candle has a larger wick than its body, which may be used to identify a ranging market or shift in trader sentiment.
For any questions, concerns, or requests, please reach out to me in the comments below.
- The Pine Guru
ARIMA Moving Average and Forecaster [SS]Finally releasing this. This took months, over 3 months to be precise, to figure out, code and troubleshoot! I honestly was going to give up on this project, but I finally got it to actually work fairly reliably. So hopefully you like it!
This is a very basic ARIMA modeler. It can do the following:
1. Provide you with an ARIMA based Moving Average;
2. Provide you with a standard error band;
3. Auto-select a lag length for assessment based on stationarity;
3. Provide you with the option of extending the error range by a user selected amount of standard deviations; and
4. Forecasting and plotting the forecast on the chart.
I will go over each function individually, but before I do, I think its important to talk a bit about what an ARIMA Model is and does:
ARIMA stands for AutoRegressive Integrated Moving Average and is an approach to modeling and time series forecasting. In simple terms, it combines autoregressive (AR) and moving average (MA) components to capture the underlying patterns in a time series data. The "AutoRegressive" part accounts for the relationship between an observation and its previous values, while the "Moving Average" part considers the relationship between an observation and a residual error from past observations. The "Integrated" component involves differencing the time series to make it stationary, which aids in stabilizing the model. ARIMA models help predict future values based on patterns observed in historical data, making them useful for forecasting in various fields such as economics, finance, and weather prediction.
The benefits to ARIMA is it will forecast based on the current trend, but it also provides for both the up and down scenario of the trend (i.e., if we are in a downtrend, what it would look like and what values we could expect if the trend reverses and vice versa). All of this is within the scope of this indicator, believe it or not!
If you would like more information on ARIMA, you can check out my educational post about it here:
Alrighty, now for the indicator functions.
ARIMA Moving Average and Standard Error Band
The ARIMA moving average is very simple, it takes the SMA of the current trend, lags it and plots out the lagged SMA. You can toggle the auto-select lag on, or you can pick your own lag manually. The above image is an auto-selected lag, but if we manually lag it by 5, this is what it looks like:
Its simply a lagged average of the 5 SMA (that is essentially how ARIMA works, by creating a moving average and lagging the moving average).
There are some implications to selecting a lag factor when it comes to forecasting, but I will cover this in the forecasting section. But I do want to make mention, you can use the ARIMA moving average in lieu of other moving averages. The advantage to doing this is it will be able to plot out the error bands. For example, if we wanted to get an ARIMA MA of the 200 SMA, we can toggle on the error bands and this is what we get:
Or the 50 MA:
NOTE: You ABSOLUTELY SHOULD NEVER use more than a lag of 4 or 5 for Forecasting (will be discussed later).
Auto-Select Lag
The indicator pulls the ARIMA modeler framework from my Forecasting library and pulls the stationarity assessment from my SPTS library. When you are doing an ARIMA model for forecasting, we need to ensure the data is stationary. Thus, if you want to forecast out the current trend, its highly recommended you select the "Auto Determine Lag Length" to find the most appropriate lag and forecast accordingly.
You can, however, chose your own lag order (model order), but this should never be above 4 or 5.
You should never select a lag of more than 5 because you are introducing too much "trendiness" into the equation, and you will get astronomical readings. ARIMA models never generally exceed a lag of 3 or 4 at most, as they are supposed be stationary and de-trended.
Extending by Standard Deviation
There is an option to select a standard deviation extension band. This is helpful for active day trading. Here is NIO extended by 2 standard deviations:
General suggestion is to only extend by 2 standard deviations and this is sufficient for most stocks.
Forecasting
The hallmark of an ARIMA model is the ability to use it for forecasting. Thus, the forecasting feature is a large portion of this indicator. You can see it displayed in the main chart above, but let's show some other examples:
NIO on the 1 hour:
TSLA on the 4 hour:
You can also display a forecasting table:
The result row shows the most likely, conservative, price at each time increment.
The Upper Confidence and Lower Confidence show what the trend would look like if it continued up or down at the current rate and the 95% confidence intervals show the values that the true source is likely to fall between at various increments in time with a 95% confidence (i.e. 95% probability that it should fall between these levels at period xyz assuming normal distribution).
The important levels, in my opinion, are the upper and lower confidence levels. These show you the current rate of decline or increase that the stock is expecting and what the trend would look like with a continuation or a reversal. This is ARIMA's biggest strength, as it has the ability to plot both outcomes assuming the current trend rate and time remains constant.
And that is the indicator! ARIMA is a bit of a complex process, but its a very powerful tool when used properly!
Troubleshooting:
One thing of note. Sometimes when autoselecting a length for forecasting, if there has been a heavy trend in one direction, you will not get the upper or lower confidence levels because of the lack of any up or down movement. In this case, manually select a lag of 3 to 5 to correct for this.
Let me know if you have any questions below and safe trades everyone!
GARCH Volatility Estimation - The Quant ScienceThe GARCH (Generalized Autoregressive Conditional Heteroskedasticity) model is a statistical model used to forecast the volatility of a financial asset. This model takes into account the fluctuations in volatility over time, recognizing that volatility can vary in a heteroskedastic (i.e., non-constant variance) manner and can be influenced by past events.
The general formula of the GARCH model is:
σ²(t) = ω + α * ε²(t-1) + β * σ²(t-1)
where:
σ²(t) is the conditional variance at time t (i.e., squared volatility)
ω is the constant term (intercept) representing the baseline level of volatility
α is the coefficient representing the impact of the squared lagged error term on the conditional variance
ε²(t-1) is the squared lagged error term at the previous time period
β is the coefficient representing the impact of the lagged conditional variance on the current conditional variance
In the context of financial forecasting, the GARCH model is used to estimate the future volatility of the asset.
HOW TO USE
This quantitative indicator is capable of estimating the probable future movements of volatility. When the GARCH increases in value, it means that the volatility of the asset will likely increase as well, and vice versa. The indicator displays the relationship of the GARCH (bright red) with the trend of historical volatility (dark red).
USER INTERFACE
Alpha: select the starting value of Alpha (default value is 0.10).
Beta: select the starting value of Beta (default value is 0.80).
Lenght: select the period for calculating values within the model such as EMA (Exponential Moving Average) and Historical Volatility (default set to 20).
Forecasting: select the forecasting period, the number of bars you want to visualize data ahead (default set to 30).
Design: customize the indicator with your preferred color and choose from different types of charts, managing the design settings.
G7&ECB Balance SheetThis script shows aggregated balance sheet of G7 countries and European central banks: Italy, France, Canada, Japan, United Kingdom, United States, Germany, ECB.
Balance sheets of central banks are converted from their local currencies into US Dollars to get the aggregated value.
Script works in two modes (needs to be selected from settings):
1) Shows aggregated value in USD trillions
2) Shows Rate of Change
Length parameter must be selected for Rate of Change, e.g. on a daily timeframe 365, for year over year values.
Forecast: PastFluxDelta PredictionThe theory is that time periods and the conditions during these periods repeat themselves. Especially if it is the same day of the week in the past, there is a high probability that price fluctuations will roughly repeat themselves.
Eternal return (or eternal recurrence) is a philosophical concept which states that time repeats itself in an infinite loop, and that exactly the same events will continue to occur in exactly the same way, over and over again, for eternity.
History does repeat itself.
The stock market is a manifest example.
Chief market strategist at Miller Tabak + Co. Matt Maley pointed out the strong resemblance between the stock market recently and that in the past.
Various scientific studies and articles show that there could be something to this theory
Most of the investors are ignoring the parallels between stocks today and "heady" years 1929, 1999 and 2007…
Post Labor Day sees investors returning to the S&P 500 near all-time highs and some dark economic shadows lurking …
So how should we regard these inescapable results?
Nietzsche said we should embrace them, accept them, and love them. Once they stop, expect them to start again.
But remember that the future is fundamentally uncertain and that past results are by no means a guarantee of future performance.
Based on this, this indicator uses historical trading data from a year, a week or a day ago and compares price fluctuations in the past with current conditions.
"Bars to predict" can be used to indicate how far into the future the indicator is looking.
"Amount of bars to show" determines how many bars are generally displayed. A high value allows you to see how accurate the method was in the past.
Liquidation Level ScreenerThe Liquidation Level Screener is an analytical tool designed for traders who seek a comprehensive view of potential liquidation zones in the market. This script, adaptable to almost any timeframe from 1 minute to 3 days, offers a unique perspective by mapping out key liquidation levels where significant market actions could occur.
Key Features:
Multi-Exchange Data Aggregation: Unlike many other indicators, the Liquidation Levels Indicator compiles data from multiple leading exchanges including Binance, Bitmex, Kraken, and Bitfinex. This approach ensures a more holistic and accurate representation of market sentiment, providing insights into potential liquidation points across various platforms.
Customizable Timeframes and Modes: The script is versatile, working effectively across various timeframes. It operates in two distinct modes:
Actual Levels Display: Visually represents potential liquidation levels.
Settings Mode: Showcases an open interest (OI) oscillator. When OI is exceptionally high, indicating a surge in opened positions at a specific candle, it signals traders to be vigilant about upcoming liquidation levels.
Three-Tier Liquidation System: The indicator categorizes liquidation levels into three distinct tiers based on open interest levels—1, 2, and 3—with Level 3 representing the highest concentration of open positions. This tiered approach allows traders to gauge the significance of each level and adjust their strategies accordingly.
Histogram Visualization: A novel feature of this script is the histogram on the chart's right side, representing the concentration of liquidation levels in specific market zones. This visual aid helps traders identify crucial areas that warrant close attention, enhancing decision-making.
Customizable Options:
Moving Averages: Choose from a wide range of moving average types, including VWMA, SMA, EMA, and more, to tailor the indicator to your analysis style.
Histogram Settings: Adjust the number of histograms, lookback bars, and their proximity to the latest candle, allowing for a personalized density and range of visualization.
Liquidation Level Sensitivity: Set thresholds for different liquidation levels, fine-tuning the indicator to detect varying degrees of market leverage.
Color Coding: Customize the color scheme for different leverage levels, enhancing visual clarity and ease of interpretation.
The Liquidation Level Screener offers a unique edge by highlighting potential zones where significant market movements can occur due to liquidations. By consolidating data from multiple exchanges, it provides a more rounded view of market behavior, which is essential in today’s interconnected trading environment. The tiered liquidation system and histogram feature equip traders with the ability to identify and focus on key market segments where high activity is expected. This tool is particularly valuable for traders who base their strategies on market liquidity and leverage dynamics.
Hulk Grid Algorithm V2 - The Quant ScienceIt's the latest proprietary grid algorithm developed by our team. This software represents a clearer and more comprehensive modernization of the deprecated Hulk Grid Algorithm. In this new release, we have optimized the source code architecture and investment logic, which we will describe in detail below.
Overview
Hulk Grid Algorithm V2 is designed to optimize returns in sideways market conditions. In this scenario, the algorithm divides purchases with long orders at each level of the grid. Unlike a typical grid algorithm, this version applies an anti-martingale model to mitigate volatility and optimize the average entry price. Starting from the lower level, the purchase quantity is increased at each new subsequent level until reaching the upper level. The initial quantity of the first order is fixed at 0.50% of the initial capital. With each new order, the initial quantity is multiplied by a value equal to the current grid level (where 1 is the lower level and 10 is the upper level).
Example: Let's say we have an initial capital of $10,000. The initial capital for the first order would be $50 * 1 = $50, for the second order $50 * 2 = $100, for the third order $50 * 3 = $150, and so on until reaching the upper level.
All previously opened orders are closed using a percentage-based stop-loss and take-profit, calculated based on the extremes of the grid.
Set Up
As mentioned earlier, the user's goal is to analyze this strategy in markets with a lack of trend, also known as sideways markets. After identifying a price range within which the asset tends to move, the user can choose to create the grid by placing the starting price at the center of the range. This way, they can consider trading the asset, if the backtesting generates a return greater than the Buy & Hold return.
Grid Configuration
To create the grid, it's sufficient to choose the starting price during the launch phase. This level will be the center of the grid from which the upper and lower levels will be calculated. The grid levels are computed using an arithmetic method, adding and subtracting a configurable fixed amount from the user interface (Grid Step $).
Example: Let's imagine choosing 1000 as the starting price and 50 as the Grid Step ($). The upper levels will be 1000, 1050, 1100, 1150, 1200. The lower levels will be 950, 900, 850, 800, and 750.
Markets
This software can be used in all markets: stocks, indices, commodities, cryptocurrencies, ETFs, Forex, etc.
Application
With this backtesting software, is possible to analyze the strategy and search for markets where it can generate better performance than Buy & Hold returns. There are no alerts or automatic investment mechanisms, and currently, the strategy can only be executed manually.
Design
Is possible to modify the grid style and customize colors by accessing the Properties section of the user interface.
Hedge Coin M - Statistical Support and ResistanceHedge Coin M - Statistical Support and Resistance
Introduction
"Hedge Coin M - Statistical Support and Resistance" is a sophisticated, statistically-driven indicator designed specifically for traders in the COIN-M market on Binance. It offers a nuanced approach to identifying key market levels, focusing on the dynamics of support and resistance through advanced volatility analysis.
Foundation and Credits:
This script is an advanced adaptation of TradingView's standard code for the Bollinger Bands indicator. It extends the foundational concept of Bollinger Bands by integrating additional volatility metrics.
Calculation Method
This indicator employs Volume Weighted Moving Averages (VWMA) to create two distinct sets of Bollinger Bands, named BB-a and BB-b.
BB-a is derived from the VWMA of high prices, targeting potential resistance levels.
BB-b is based on the VWMA of low prices, aimed at identifying critical support levels.
Users can independently adjust the standard deviation (SD) multipliers for the upper and lower bands of both BB-a and BB-b, accommodating different market conditions.
Enhanced Volatility Analysis
The indicator calculates additional standard deviation lines for the upper band of BB-a and the lower band of BB-b. These lines provide deeper insights into market volatility.
Plotted Graphs
The primary plots include the upper and lower bands of BB-a and BB-b, marked in distinct colors for clarity.
Additional SD lines are plotted to indicate potential extended levels of support and resistance, offering traders a broader view of possible market movements.
Purpose and Usage
"Hedge Coin M - Statistical Support and Resistance" is designed to provide traders with a consistent, statistical method for identifying significant price levels.
It aids in scaling entry into positions, helping traders to navigate the COIN-M market with more informed decision-making.
This tool is especially useful for traders who combine long-term holding with swing trading strategies, offering a balanced approach to market engagement.
Integration and Adaptation
Easily integrate this indicator into your TradingView chart for the COIN-M market.
Use the insights provided to complement your overall trading strategy, particularly in identifying and reacting to significant market movements.
Disclaimer
Important Note: This indicator is provided for informational purposes only. It does not constitute financial advice, investment advice, trading advice, or any other sort of advice. Trading decisions should be made based on your own analysis, prudence, and judgment. Please be aware of the risks involved in trading and consult a financial advisor if necessary.
Market Health MonitorThe Market Health Monitor is a comprehensive tool designed to assess and visualize the economic health of a market, providing traders with vital insights into both current and future market conditions. This script integrates a range of critical economic indicators, including unemployment rates, inflation, Federal Reserve funds rates, consumer confidence, and housing market indices, to form a robust understanding of the overall economic landscape.
Drawing on a variety of data sources, the Market Health Monitor employs moving averages over periods of 3, 12, 36, and 120 months, corresponding to quarterly, annual, three-year, and ten-year economic cycles. This selection of timeframes is specifically chosen to capture the nuances of economic movements across different phases, providing a balanced view that is sensitive to both immediate changes and long-term trends.
Key Features:
Economic Indicators Integration: The script synthesizes crucial economic data such as unemployment rates, inflation levels, and housing market trends, offering a multi-dimensional perspective on market health.
Adaptability to Market Conditions: The inclusion of both short-term and long-term moving averages allows the Market Health Monitor to adapt to varying market conditions, making it a versatile tool for different trading strategies.
Oscillator Thresholds for Recession and Growth: The script sets specific thresholds that, when crossed, indicate either potential economic downturns (recessions) or periods of growth (expansions), allowing traders to anticipate and react to changing market conditions proactively.
Color-Coded Visualization: The Market Health Monitor employs a color-coding system for ease of interpretation:
-- A red background signals unhealthy economic conditions, cautioning traders about potential risks.
-- A bright red background indicates a confirmed recession, as declared by the NBER, signaling a critical time for traders to reassess risk exposure.
-- A green background suggests a healthy market with expected economic expansion, pointing towards growth-oriented opportunities.
Comprehensive Market Analysis: By combining various economic indicators, the script offers a holistic view of the market, enabling traders to make well-informed decisions based on a thorough understanding of the economic environment.
Key Criteria and Parameters:
Economic Indicators:
Labor Market: The unemployment rate is a critical indicator of economic health.
High or rising unemployment indicates reduced consumer spending and economic stress.
Inflation: Key for understanding monetary policy and consumer purchasing power.
Persistent high inflation can lead to economic instability, while deflation can signal weak
demand.
Monetary Policy: Reflected by the Federal Reserve funds rate.
Changes in the rate can influence economic activity, borrowing costs, and investor
sentiment.
Consumer Confidence: A predictor of consumer spending and economic activity.
Reflects the public’s perception of the economy
Housing Market: The housing market often leads the economy into recession and recovery.
Weakness here can signal broader economic problems.
Market Data:
Stock Market Indices: Reflect overall investor sentiment and economic
expectations. No gains in a stock market could potentially indicate that economy is
slowing down.
Credit Conditions: Indicated by the tightness of bank lending, signaling risk
perception.
Commodity Insight:
Crude Oil Prices: A proxy for global economic activity.
Indicator Timeframe:
A default monthly timeframe is chosen to align with the release frequency of many economic indicators, offering a balanced view between timely data and avoiding too much noise from short-term fluctuations. Surely, it can be chosen by trader / analyst.
The Market Health Monitor is more than just a trading tool—it's a comprehensive economic guide. It's designed for traders who value an in-depth understanding of the economic climate. By offering insights into both current conditions and future trends, it encourages traders to navigate the markets with confidence, whether through turbulent times or in periods of growth. This tool doesn't just help you follow the market—it helps you understand it.
lib_fvgLibrary "lib_fvg"
further expansion of my object oriented library toolkit. This lib detects Fair Value Gaps and returns them as objects.
Drawing them is a separate step so the lib can be used with securities. It also allows for usage of current/close price to detect fill/invalidation of a gap and to adjust the fill level dynamically. FVGs can be detected while forming and extended indefinitely while they're unfilled.
method draw(this)
Namespace types: FVG
Parameters:
this (FVG)
method draw(fvgs)
Namespace types: FVG
Parameters:
fvgs (FVG )
is_fvg(mode, precondition, filter_insignificant, filter_insignificant_atr_factor, live)
Parameters:
mode (int) : switch for detection 1 for bullish FVGs, -1 for bearish FVGs
precondition (bool) : allows for other confluences to block/enable detection
filter_insignificant (bool) : allows to ignore small gaps
filter_insignificant_atr_factor (float) : allows to adjust how small (compared to a 50 period ATR)
live (bool) : allows to detect FVGs while the third bar is forming -> will cause repainting
Returns: a tuple of (bar_index of gap bar, gap top, gap bottom)
create_fvg(mode, idx, top, btm, filled_at_pc, config)
Parameters:
mode (int) : switch for detection 1 for bullish FVGs, -1 for bearish FVGs
idx (int) : the bar_index of the FVG gap bar
top (float) : the top level of the FVG
btm (float) : the bottom level of the FVG
filled_at_pc (float) : the ratio (0-1) that the fill source needs to retrace into the gap to consider it filled/invalidated/ready for removal
config (FVGConfig) : the plot configuration/styles for the FVG
Returns: a new FVG object if there was a new FVG, else na
detect_fvg(mode, filled_at_pc, precondition, filter_insignificant, filter_insignificant_atr_factor, live, config)
Parameters:
mode (int) : switch for detection 1 for bullish FVGs, -1 for bearish FVGs
filled_at_pc (float)
precondition (bool) : allows for other confluences to block/enable detection
filter_insignificant (bool) : allows to ignore small gaps
filter_insignificant_atr_factor (float) : allows to adjust how small (compared to a 50 period ATR)
live (bool) : allows to detect FVGs while the third bar is forming -> will cause repainting
config (FVGConfig)
Returns: a new FVG object if there was a new FVG, else na
method update(this, fill_src)
Namespace types: FVG
Parameters:
this (FVG)
fill_src (float) : allows for usage of different fill source series, e.g. high for bearish FVGs, low vor bullish FVGs or close for both
method update(all, fill_src)
Namespace types: FVG
Parameters:
all (FVG )
fill_src (float)
method remove_filled(unfilled_fvgs)
Namespace types: FVG
Parameters:
unfilled_fvgs (FVG )
method delete(this)
Namespace types: FVG
Parameters:
this (FVG)
method delete_filled_fvgs_buffered(filled_fvgs, max_keep)
Namespace types: FVG
Parameters:
filled_fvgs (FVG )
max_keep (int) : the number of filled, latest FVGs to retain on the chart.
FVGConfig
Fields:
box_args (|robbatt/lib_plot_objects/36;BoxArgs|#OBJ)
line_args (|robbatt/lib_plot_objects/36;LineArgs|#OBJ)
box_show (series__bool)
line_show (series__bool)
keep_filled (series__bool)
extend (series__bool)
FVG
Fields:
config (|FVGConfig|#OBJ)
startbar (series__integer)
mode (series__integer)
top (series__float)
btm (series__float)
center (series__float)
size (series__float)
fill_size (series__float)
fill_lvl_target (series__float)
fill_lvl_current (series__float)
fillbar (series__integer)
filled (series__bool)
_fvg_box (|robbatt/lib_plot_objects/36;Box|#OBJ)
_fill_line (|robbatt/lib_plot_objects/36;Line|#OBJ)
Squeeze & Release [AlgoAlpha]Introduction:
💡The Squeeze & Release by AlgoAlpha is an innovative tool designed to capture price volatility dynamics using a combination of EMA-based calculations and ATR principles. This script aims to provide traders with clear visual cues to spot potential market squeezes and release scenarios. Hence it is important to note that this indicator shows information on volatility, not direction.
Core Logic and Components:
🔶EMA Calculations: The script utilizes the Exponential Moving Average (EMA) in multiple ways to smooth out the data and provide indicator direction. There are specific lengths for the EMAs that users can modify as per their preference.
🔶ATR Dynamics: Average True Range (ATR) is a core component of the script. The differential between the smoothed ATR and its EMA is used to plot the main line. This differential, when represented as a percentage of the high-low range, provides insights into volatility.
🔶Squeeze and Release Detection: The script identifies and highlights squeeze and release scenarios based on the crossover and cross-under events between our main line and its smoothed version. Squeezes are potential setups where the market may be consolidating, and releases indicate a potential breakout or breakdown.
🔶Hyper Squeeze Detection: A unique feature that detects instances when the main line is rising consistently over a user-defined period. Hyper squeeze marks areas of extremely low volatility.
Visual Components:
The main line (ATR-based) changes color depending on its position relative to its EMA.
A middle line plotted at zero level which provides a quick visual cue about the main line's position. If the main line is above the zero level, it indicates that the price is squeezing on a longer time horizon, even if the indicator indicates a shorter-term release.
"𝓢" and "𝓡" characters are plotted to represent 'Squeeze' and 'Release' scenarios respectively.
Standard Deviation Bands are plotted to help users gauge the extremity and significance of the signal from the indicator, if the indicator is closer to either the upper or lower deviation bands, this means that statistically, the current value is considered to be more extreme and as it is further away from the mean where the indicator is oscillating at for the majority of the time. Thus indicating that the price has experienced an unusual amount or squeeze or release depending on the value of the indicator.
Usage Guidelines:
☝️Traders can use the script to:
Identify potential consolidation (squeeze) zones.
Gauge potential breakout or breakdown scenarios (release).
Fine-tune their entries and exits based on volatility.
Adjust the various lengths provided in the input for better customization based on individual trading styles and the asset being traded.
FX DispersionThis script calculates the dispersion of a basket of 5 FX pairs and then calculates the z-score the z-score is then made into a composite using the 30 and 60 ema of the z-score to smooth any noise. It must be used on one of the FX pairs in the basket and on the 1-minute timeframe as it has been hardcoded for 1 min use below.
Interpretation - Dispersion is a component of volatility - the dispersion of the underlying basket increases above 0.5 and decreases below 0.5.
Although increased dispersion is beneficial to momentum and trend-following strategies on the monthly and weekly timeframes. Observe this on the 1-minute timeframe and how dispersion crossing above/ below 0.5 it can signal reversion or momentum for the next period.
Volume Speed [By MUQWISHI]▋ INTRODUCTION :
The “Volume Dynamic Scale Bar” is a method for determining the dominance of volume flow over a selected length and timeframe, indicating whether buyers or sellers are in control. In addition, it detects the average speed of volume flow over a specified period. This indicator is almost equivalent to Time & Sales (Tape) .
_______________________
▋ OVERVIEW:
_______________________
▋ ELEMENTS
(1) Volume Dynamic Scale Bar. As we observe, it has similar total up and down volume values to what we're seeing in the table. Note they have similar default inputs.
(2) A notice of a significant volume came.
(3) It estimates the speed of the average volume flow. In the tooltip, it shows the maximum and minimum recorded speeds along with the time since the chart was updated.
(4) Info of entered length and the selected timeframe.
(5) The widget will flash gradually for 3 seconds when there’s a significant volume occurred based on the selected timeframe.
_______________________
▋ INDICATOR SETTINGS:
(1) Timezone.
(2) Widget location and size on chart.
(3) Up & Down volume colors.
(4) Option to enable a visual flash when a single volume is more than {X value} of Average. For instance, 2 → means double the average volume.
(5) Fetch data from the selected lower timeframe.
(6) Number of bars at chosen timeframe.
(7) Volume OR Price Volume.
_____________________
▋ COMMENT:
The Volume Dynamic Scale Bar should not be taken as a major concept to build a trading decision.
Please let me know if you have any questions.
Thank you.
ForecastingThis Forecasting library has a couple of Novel and traditional approaches to forecasting stock prices.
Traditionally, it provides a basic ARIMA forecaster using simple autoregression, as well as a linear regression and quadratic regression channel forecaster.
Novel approaches to forecasting include:
1) A Moving Average based Forecaster (modelled after ARIMA), it is capable of forecasting based on a user selected SMA.
2) Z-Score Forecast: Forecasting based on Z-Score (example displayed in chart).
Library "Forecasting"
ARIMA_Modeller(src)
: Creates a generic autoregressive ARIMA model
Parameters:
src (float)
Returns: : arima_result, arima_ucl, arima_lcl, arima_cor, arima_r2, arima_err, y1, y2, y3, y0
machine_learning_regression(output, x1, x2, x3, x4, x5, show_statistics)
: Creates an automatic regression based forecast model (can be used for other regression operations) from a list of possible independent variables.
Parameters:
output (float)
x1 (float)
x2 (float)
x3 (float)
x4 (float)
x5 (float)
show_statistics (bool)
Returns: : result, upper bound levels, lower bound levels, optional statitics table that displays the model parameters and statistics
time_series_linear_forecast(src, forecast_length, standard_deviation_extension_1, standard_deviation_extension_2)
: Creates a simple linear regression time series channel
Parameters:
src (float)
forecast_length (int)
standard_deviation_extension_1 (float)
standard_deviation_extension_2 (float)
Returns: : Linreg Channel
quadratic_time_series_forecast(src, forecast_length)
: Creates a simple quadratic regression time series channel
Parameters:
src (float)
forecast_length (int)
Returns: : Quadratic Regression Channel
moving_average_forecaster(source, train_time, ma_length, forecast_length, forecast_result, upper_bound_result, lower_bound_result)
: Creates an ARIMA style moving average forecaster
Parameters:
source (float)
train_time (int)
ma_length (int)
forecast_length (int)
forecast_result (float )
upper_bound_result (float )
lower_bound_result (float )
Returns: : forecast_result, upper_bound_result, lower_bound_result, moving_average, ucl, lcl
zscore_forecast(z_length, z_source, show_alerts, forecast_length, show_forecast_table)
: Creates a Z-Score Forecast and is capable of plotting the immediate forecast via a Polyline
Parameters:
z_length (int)
z_source (float)
show_alerts (bool)
forecast_length (int)
show_forecast_table (bool)
Returns: : The export is void, it will export the Polyline forecast and the Z-forecast table if you enable it.
Pairs strategyHello, Tradingview community,
I am been playing with this idea that nowadays trading instruments are interconnected and when one goes too far "out of order" it should return to the mean.
So, here's a relatively simple idea.
This is a LONG-ONLY strategy.
Buy when your traded instrument's last bar closes down, and the comparing instrument closes up.
Sell when close is higher than the previous bar's high.
Best results I found with medium timeframes: 45min, 120min, 180min.
Also, feel free to test non-typical timeframes such as 59min, 119min, 179min, etc.
My reasoning for medium timeframes would be, that they are big enough to avoid "market noise"
of smaller timeframes + commissions & slippage is less negligible, and small enough to avoid exposure of higher timeframes, although, I haven't tested D timeframe and above.
The best results, I found were with instruments that aren't directly correlated. I mostly tested equities and equity futures, so for equity indexes, equity index futures, or large-cap stocks, NASDAQ:SMH , NASDAQ:NVDA , EURUSD, and Crude Oil would be a good candidate for comparing symbols.
When testing either futures or stocks, please adjust the commission for each asset, for stocks I use % equity, so it compounds over time, whereas, for futures, I use 1 contract all the time.
Here's NASDAQ:MSFT on 119min chart
Here's AMEX:SPY on 59min chart using NASDAQ:NVDA as comparison
Here's CME_MINI:ES1! on 179min chart using NYMEX:CL1! as comparison
To change comparison symbol just insert your symbol between the brackets on both fields down here.
SymbolClose = request.security("YOUR SYMBOL HERE", timeframe.period, close)
SymbolOpen = request.security("YOUR SYMBOL HERE", timeframe.period, open)
Since I am still relatively new to testing, hence, I am publishing this idea, so you can point out some crucial things I may have missed.
Thanks,
Enjoy the strategy!
Threshold counterOVERVIEW
The "Threshold Counter" is a tool for quantifying occurrences of closing prices of an asset that align with specified criteria and is a flexible and visual approach to studying price action.
A user-definable target threshold can be set and a comparator (<, =, >, and so on) can be selected. The indicator counts values on the main chart meeting these conditions, over a user-defined `lookback` period.
KEY FEATURES
User definable threshold: target value with optional upper bound can be specified
Versatile Comparisons: Choose from "=", ">=", ">", "<=", "<", "between", and "between (inclusive)" for diverse analysis.
Historical Analysis: Assess occurrences over a customisable period.
Visual Representation: Displays instances graphically on the chart with customisable colours.
Summary: Provides a summary label for a quick understanding of the analysed data.
USE-CASES
Pattern Recognition: Identify patterns or trends based on user-defined price criteria.
Threshold Analysis: Quantify occurrences of prices crossing or staying within a specified range.
Strategy Testing: Evaluate historical performance of strategies relying on specific price conditions.
Behavioural Insights: Gain insights into price behaviour by counting occurrences of interest.
The "Threshold Counter" indicator offers a flexible and visual approach to studying price action, which may aid in making decisions based on historical data.
IMPORTANT CONSIDERATIONS
Period selection: The effectiveness of the analysis may be influenced by the choice of the lookback period. Consider an appropriate duration based on the strategy or pattern being analysed.
Comparator Selection: Comparison operator selection will obviously affect the results. There are two range operators of `between` and `between (inclusive)`. The latter will add closing prices that exactly meet the threshold and upper bound. The former does not.
Visualisation: Interpretation of the visual representation is colour-coded.
Red is threshold condition is not met.
Green is threshold condition is met.
Aqua is outside of the lookback period.
User Discretion: This script relies on historical data and should be used with caution. Past performance is not indicative of future results.
Supplementary Analysis: Trading decisions should not rely solely on this script. Users should exercise judgment and consider market conditions.
Kimchi Premium / Korean Premium ALL TICKERSKimchi Premium
Due to the isolated nature of Korean crypto markets, Koreans pay a hefty premium on most cryptos. (Usually ranging from 3% to 5%). This is colloquially known as the " Kimchi Premium ".
Uses
The extend of this premium can be used to gauge Korean sentiment towards certain tickers. Most of the insane alt coin rallies that are started by Korean degens are missed by foreign traders entirely. This script seeks to fix that.
Notes
This script automatically detects your current ticker and compares the USDT pair to the KRW pair after adjusting for exchange rate.
Works on all USDT, USDC, BUSD, FDUSD, USD, USDT.P, USDC.P or KRW pairs. Will obviously throw an error if your ticker has no KRW pairing.
VIX Statistical Sentiment Index [Nasan]** THIS IS ONLY FOR US STOCK MARKET**
The indicator analyzes market sentiment by computing the Rate of Change (ROC) for the VIX and S&P 500, visualizing the data as histograms with conditional coloring. It measures the correlation between the VIX, the specific stock, and the S&P 500, displaying the results on the chart. The reliability measure combines these correlations, offering an overall assessment of data robustness. One can use this information to gauge the inverse relationship between VIX and S&P 500, the alignment of the specific stock with the market, and the overall reliability of the correlations for informed decision-making based on the inverse relationship of VIX and price movement.
**WHEN THE VIX ROC IS ABOVE ZERO (RED COLOR) AND RASING ONE CAN EXPECT THE PRICE TO MOVE DOWNWARDS, WHEN THE VIX ROC IS BELOW ZERO (GREEN)AND DECREASING ONE CAN EXPECT THE PRICE TO MOVE UPWARDS"
Understanding the VIX Concept:
The VIX, or Volatility Index, is a widely used indicator in finance that measures the market's expectation of volatility over the next 30 days. Here are key points about the VIX:
Fear Gauge:
Often referred to as the "fear gauge," the VIX tends to rise during periods of market uncertainty or fear and fall during calmer market conditions.
Inverse Relationship with Market:
The VIX typically has an inverse relationship with the stock market. When the stock market experiences a sell-off, the VIX tends to rise, indicating increased expected volatility.
Implied Volatility:
The VIX is derived from the prices of options on the S&P 500. It represents the market's expectations for future volatility and is often referred to as "implied volatility."
Contrarian Indicator:
Extremely high VIX levels may indicate oversold conditions, suggesting a potential market rebound. Conversely, very low VIX levels may signal complacency and a potential reversal.
VIX vs. SPX Correlation:
This correlation measures the strength and direction of the relationship between the VIX (Volatility Index) and the S&P 500 (SPX).
A negative correlation indicates an inverse relationship. When the VIX goes up, the SPX tends to go down, and vice versa.
The correlation value closer to -1 suggests a stronger inverse relationship between VIX and SPX.
Stock vs. SPX Correlation:
This correlation measures the strength and direction of the relationship between the closing price of the stock (retrieved using src1) and the S&P 500 (SPX).
This correlation helps assess how closely the stock's price movements align with the broader market represented by the S&P 500.
A positive correlation suggests that the stock tends to move in the same direction as the S&P 500, while a negative correlation indicates an opposite movement.
Reliability Measure:
Combines the squared values of the VIX vs. SPX and Stock vs. SPX correlations and takes the square root to create a reliability measure.
This measure provides an overall assessment of how reliable the correlation information is in guiding decision-making.
Interpretation:
A higher reliability measure implies that the correlations between VIX and SPX, as well as between the stock and SPX, are more robust and consistent.
One can use this reliability measure to gauge the confidence they can place in the correlations when making decisions about the specific stock based on VIX data and its correlation with the broader market.
Mean Reversion Watchlist [Z score]Hi Traders !
What is the Z score:
The Z score measures a values variability factor from the mean, this value is denoted by z and is interpreted as the number of standard deviations from the mean.
The Z score is often applied to the normal distribution to “standardize” the values; this makes comparison of normally distributed random variables with different units possible.
This popular reversal based indicator makes an assumption that the sample distribution (in this case the sample of price values) is normal, this allows for the interpretation that values with an extremely high or low percentile or “Z” value will likely be reversal zones.
This is because in the population data (the true distribution) which is known, anomaly values are very rare, therefore if price were to take a z score factor of 3 this would mean that price lies 3 standard deviations from the mean in the positive direction and is in the ≈99% percentile of all values. We would take this as a sign of a negative reversal as it is very unlikely to observe a consecutive equal to or more extreme than this percentile or Z value.
The z score normalization equation is given by
In Pine Script the Z score can be computed very easily using the below code.
// Z score custom function
Zscore(source, lookback) =>
sma = ta.sma(source, lookback)
stdev = ta.stdev(source, lookback, true)
zscore = (source - sma) / stdev
zscore
The Indicator:
This indicator plots the Z score for up to 20 different assets ( Note the maximum is 40 however the utility of 40 plots in one indicator is not much, there is a diminishing marginal return of the number of plots ).
Z score threshold levels can also be specified, the interpretation is the same as stated above.
The timeframe can also be fixed, by toggling the “Time frame lock” user input under the “TIME FRAME LOCK” user input group ( Note this indicator does not repain t).
Bitcoin Price to Volume per $1 FeeTransaction value to transaction fee:
The Bitcoin network's efficiency, usability and volume scalability has been improving over time and this can be measured by dividing the average transaction volume by the transaction fee.
The indicator give us:
Price to volume per $1 fee = BTC price / (avg tx value / avg tx fee)
A low ratio of "Price to volume per $1 fee" indicates that the Bitcoin network is being used for high volumes in comparison to the Bitcoin price, which means that the network is cost-effective compared to the price. On the other hand, a high "Price to volume per $1 fee" suggests that the average transaction size is smaller than the price of Bitcoin, which means that the network is less cost-effective compared to the Bitcoin price.
Note that the dynamics of transaction fees may change over time as new use cases emerge in the Bitcoin chain. These use cases include L2s such as Stacks, where DeFi applications can run, and Bitcoin Ordinals.
It's worth mentioning that Bitcoin is not only a cost-effective way of transferring value, but also highly energy efficient. Despite receiving criticism for its energy consumption, when we compare its energy usage to other industries (such as banking and gold) and correlate it with the transaction volumes, we can easily conclude that Bitcoin's energy efficiency is remarkable when compared to other methods of transferring value.
Back Week For BacktestIt is Backtest Calculator For Essential and Plus plan holders, the length of available intraday data is calculated as follows: from now to 6 weeks back multiplied by timeframe(in minutes), i.e. you can go 6 weeks back on the 1-minute chart, 12 weeks back on the 2-minute chart, 30 weeks back on the 5-minute chart, 90 weeks back on the 15-minute chart and so on. The higher timeframe is selected, the more intraday data is available.
This show creates a weekday label based on the data in the plans allowed by TradingView. This show creates a weekday label based on the data in the plans allowed by TradingView. How much data is available for Bar Replay? According to the article, we can replay 6 weeks backwards for a 1-minute chart. This indicator is a label that shows how far we can go back, consisting of multiplying each minute by 6 between 1 minute and 60 minutes.
1 minute => 6 week backtest
2 minutes => 12 week backtest
.....
15 minutes => 90 week backtest
...
59 minutes => 354 week backtest