Imbalance Detector [LuxAlgo]This indicator detects and highlights market imbalances alongside a dashboard returning information about their frequency of occurrence and their fill percentage. Imbalances included in this script are Fair Value Gaps (FVG), Opening Gaps (OG) and Volume Imbalances (VI).
Alerts are available for the occurrences of all market imbalances.
Settings
Imbalances
Each imbalance has the same settings layout:
Imbalance: Enable/disable the detection of the specific imbalance.
Min Width: If enabled, requires the imbalance area width to be greater than the specified value. This minimum width can be expressed in points, percentages or ATR multiples.
Extend: Extend imbalances by a specified number of bars.
Dashboard
Show Dashboard: Enable/disable the dashboard on the chart.
Dashboard Location: Location of the dashboard on the chart.
Dashboard Size: Size of the dashboard.
Usage
Market imbalances are part of the many concepts available to price action traders and highlight areas where there is a disparity between supply and demand.
It is common to see price come back to these areas and traders often use them as supports and resistances but also as targets.
Details
The script can detect three distinct types of imbalances described below.
Fair Value Gaps
Fair Value Gaps (FVG) are three candle formations characterized by a gap between the wicks of the non-adjacent candles in the formation.
A bullish FVG is characterized by a gap between the current price low and the 2 bars anterior price high, and a bearish FVG is characterized by a gap between the current price high and the 2 bars anterior price low.
Opening Gaps
Opening Gaps (OG) are imbalances characterized by non-existent activity within a specific price range.
A bullish OG occurs when the current price low is greater than the previous high, a bearish OG occurs when price high is lower than the previous price low.
Opening Gaps primarily occur in closing markets, as such they are less common in the cryptocurrency market.
Most of the time an Opening Gap will also be accompanied by a Fair Value Gap, in order to avoid clutter the indicator will not detect Fair Value Gaps if Opening Gaps are enabled and if an Opening Gap has been detected
Volume Imbalances
Volume Imbalances (VI) are characterized by a price discontinuity between the opening price and previous close, but unlike Opening Gaps we do not see nonexistent activity within a certain price range.
A bullish VI occur when both the opening and closing prices are superior to the previous closing price, with the current price low overlapping the previous price high. A bearish VI occur when both the opening and closing prices are inferior to the previous closing price, with the current price high overlapping the previous price low.
Because Volume Imbalances can occur excessively on markets with frequent gaps, we make use of an additional condition for filtering out less significant imbalances. Bullish VI's will require the previous price high to be lower than the opening price, while bullish VI's will require the previous price low to be higher than the opening price.
Cerca negli script per "港股央企红利etf"
Welford Bollinger Bands (WBB)The Welford method is an algorithm for calculating the running average and variance of a series of numbers in a single pass, without the need to store all the previous values. It works by maintaining an ongoing running average and variance, updating them with each new value in the series. The running average is updated using a simple formula that adds the new value to the previous average, weighed by the number of values that have been processed so far. The variance is updated using a similar formula that takes into account the deviation of the new value from the running average.
The Welford method has several advantages that make it a good fit for use in calculating Bollinger Bands. First, it is more numerically stable than other methods, as it avoids accumulating round-off errors and can handle large numbers of data points without overflow or underflow. This is important when working with financial data, which can contain large price movements and wide ranges of values.
Second, the Welford method is well-suited for use in real-time or streaming data scenarios where all the data may not be available upfront. This is useful in the context of Bollinger Bands, which are often used to identify trend changes and trading opportunities in real-time, as the bands are updated with each new data point.
Finally, the Welford method is simple and efficient, making it easy to implement and fast to compute. This is important when creating technical indicators and trading strategies, as performance is often a critical factor.
Overall, the Welford method is a reliable and efficient way to calculate the running average and variance of a series of numbers, making it a good fit for use in calculating Bollinger Bands and other technical indicators.
Modified TradingView's Up/Down Volume [vnhilton]
When plotting columns, histograms, etc. You'll notice that the indicator does not stick to the bottom of the pane. To fix this, you need another indicator (we'll call this 'placeholder') in the same pane as this indicator. Pin the placeholder indicator to the left scale, & pin the main indicator to the left scale. Then, pin the placeholder indicator to scale A, & finally the main indictor to the right scale.
Note: On the daily timeframes & higher, the up/down volume isn't accurate. Therefore, I've added a feature where you can toggle on the main indicator to disappear & only show ordinary total volume similar to the TradingView volume indicator.
The original code belongs to TradingView. This is a modified indicator that displays the down volume above the up volume similar to the volume profile. Also includes a moving average using the total volume, & a feature to display ordinary volume to solve the up/down inaccuracies on the daily timeframe & higher.
Noise GateThis Pine Script code defines an indicator called "Noise Gate" which filters out "noise" from a given signal. The indicator takes four input parameters: source, length, ratio, and level. The source parameter specifies the source data for the indicator (e.g., close prices), the length parameter specifies the length of a moving average, the ratio parameter specifies the attenuation ratio, and the level parameter specifies the threshold for attenuating the signal.
The core of the indicator is the noise_gate function, which takes three input parameters: signal, ratio, and level. The signal parameter represents the input signal that needs to be filtered. The ratio parameter specifies the amount by which the signal will be attenuated (reduced in amplitude) if it falls below the level parameter. The level parameter is a threshold that determines whether the signal will be attenuated or not.
The noise_gate function first calculates the absolute value of the signal using the math.abs() function. This is done because the filtering only applies to the magnitude of the signal, not its sign (positive or negative value).
The function then checks if the absolute value of the signal is above the level threshold using an if statement. If it is, the signal is returned as is. If the absolute value of the signal is below the level threshold, the function calculates a value called soft_knee_ratio using the formula 1 - (level - abs_signal) / level. This value represents the amount by which the signal will be attenuated. The signal is then reduced in amplitude by this soft_knee_ratio and the resulting value is returned as the output of the function.
The noise_gate function applies the transformation symmetrically to both positive and negative values of the signal parameter. This is because the transformation only depends on the absolute value of the signal, not its sign. The transformation first calculates the absolute value of the signal using the math.abs() function and then applies the filtering based on the magnitude of the signal. The sign of the signal is not taken into account in this process. As a result, the transformation is applied symmetrically to both positive and negative values of the signal.
The noise_gate function can be a valuable tool for anyone looking to filter out noise or unwanted variations from a signal. It is flexible and easy to use, and can be applied to a wide range of situations where signal noise reduction is needed. For example, it can be used to smooth out financial time series data or to remove background noise from an audio recording.
The noise_gate function in this code has been modified to include an additional input parameter called knee_type, which allows the user to specify whether to use a hard knee or a soft knee. A hard knee means that the compressor triggers simply at the threshold, whereas a soft knee means that the compressor triggers smoothly, gradually increasing the attenuation as the signal falls further below the threshold.
To use a hard knee, the user can set the knee_type parameter to "hard". To use a soft knee, the user can set the knee_type parameter to "soft". The default value for the knee_type parameter is "soft", so if the user does not specify a value for knee_type, the noise_gate function will use a soft knee by default.
The noise_gate function includes a check for the value of the knee_type parameter and applies the appropriate knee type. If the knee_type parameter is set to "hard", the function applies a hard knee by simply triggering at the threshold and dividing the input by the ratio if the signal falls below the threshold. If the knee_type parameter is set to "soft" (or if it is not specified and the default value is used), the function applies a soft knee by gradually increasing the attenuation of the signal as it falls further below the threshold.
The noise_gate function can be a valuable tool for anyone looking to filter out noise or unwanted variations from a signal. It is flexible and easy to use, and can be applied to a wide range of situations where signal noise reduction is needed. For example, it can be used to smooth out financial time series data or to remove background noise from an audio recording.
Ratio_between_two_symbolsThis script plots the ratio of two symbols to show the relative strength between in order to determine which is the stronger security
Volatility Adjusted EMA (VAEMA) The pine script shown in the code is an indicator that calculates the volatility-adjusted exponential moving average (VAEMA) of a given data series. The VAEMA indicator uses a variable alpha value in the EMA calculation, with the alpha value being inversely proportional to the volatility of the data. This allows the VAEMA indicator to provide a more accurate representation of the data's trend. The user can specify the length of the data series, the alpha value, and whether to invert the proportionality of the alpha value in the calculation. The resulting VAEMA line is plotted on the chart.
inverted alpha proportions
long lookback regular
long lookback inverted
Buyer to Seller Volume (BSV) Indicator As promised, here is the buyer to seller volume indicator!
About it/How it works:
The indicator tracks buying and selling volume. It does it simplistically but effectively simply by looking at red vs green candles and averaging out the volume of each respective candle.
It uses the SMA of buying/selling and overall volume to track buyers to sellers and also display the average volume traded over a designated period of time.
Legend:
Green lines = buying volume
Red lines = selling volume
Yellow lines = SMA over designated period of time (user input defined, default is 14 candles).
Buyers are shown in green and sellers are shown in red:
How to Use it:
Default, the indicator goes to 1 Day, 14 candle period.
My preference personally is to use to have it go to "chart" but you can view any time period on the chart that you want and designate the time period of volume you want to view independently.
This can be used for:
1. Identify trends: When buying or selling volume is above selling volume and above the SMA, you know that this persuasively supports a bullish trend. Inverse for the opposite (see below):
2. To identify fakeouts and whether there is volume backing a move:
3. To identify potential changes in trends via a cross:
Its also a great reference when you are unsure of a move. This indicator literally just saved me from wrongfully shorting the FOMC bear flag today:
Probably many other uses you can find, but these are the things I like to use it for!
As always, I have posted a tutorial video for your reference:
As always though, if you have any questions, comments or suggestions for the indicator, please share them below!
Safe trades and best of luck to all!
Triple Exponential Hull Moving Average THMAThis pine script calculates the triple exponential Hull moving average (THMA) of a given data series. The THMA is a type of moving average that is calculated using the exponential moving average (EMA) of the data. In this script, the ema() function is used to calculate the EMA of the data three times, with different lengths for each calculation. The resulting value is the THMA of the data. The script also plots the THMA on a chart, using a green color for upward trends and a red color for downward trends. The length of the moving average and the alpha parameter used in the EMA calculation can be specified by the user as input parameters.
A trader may use this pine script to help identify trends in the stock market. By plotting the triple exponential Hull moving average (THMA) of the data on a chart, the trader can quickly see whether the market is trending up or down, and how strong the trend is. This can help the trader make informed decisions about when to buy and sell stocks. Additionally, the script allows the user to customize the length of the moving average and the alpha parameter used in the EMA calculation, which can be useful for analyzing different time frames and making more accurate predictions.
Vector MagnitudeThe pine indicator is a script for technical analysis of stock market data. It calculates the direction and magnitude of a moving average, and plots the result on a chart. The length of the moving average is specified by the user as an input parameter. The script uses the simple moving average (SMA) function from the TA-Lib library to calculate the average of the data. It then determines the direction of the vector by comparing the current value to the average. If the current value is greater than the average, the direction is set to 1. If it is less than the average, the direction is set to -1. Otherwise, the direction is set to 0. The magnitude of the vector is calculated using the Pythagorean theorem. The output is the magnitude of the vector, with the sign indicating the direction.
A trader may use this pine script to help identify trends in the stock market. By plotting the direction and magnitude of the moving average on a chart, the trader can quickly see whether the market is trending up or down, and how strong the trend is. This can help the trader make informed decisions about when to buy and sell stocks. Additionally, the script allows the user to customize the length of the moving average, which can be useful for analyzing different time frames and making more accurate predictions.
Daily Reset CWEMA/CWTEMAThis Pine Script code defines an indicator called "Daily Reset CWEMA" that plots a custom weighted moving average on a chart. The indicator takes three inputs: a source series (usually the close price of a security), a length parameter that specifies the number of periods over which the moving average is calculated, and a style parameter that specifies the type of moving average to use (either a custom weighted exponential moving average (CWEMA) or a custom weighted triple exponential moving average (CWTEMA)).
The code first checks the current time frame and adjusts the length parameter accordingly. If the time frame is daily, weekly, or monthly, the length parameter is used as-is. Otherwise, the length is set to the number of bars since the last day change, unless this value is less than the length parameter, in which case the length is set to the number of bars since the last day change.
The ema(), tema(), wma(), cwema(), and cwtema() functions are then defined. The ema() function calculates the exponential moving average of the source data using the number of bars since the last day change as the length. The tema() function calculates the triple exponential moving average of the source data using the number of bars since the last day change as the length. The wma() function calculates the weighted moving average of the source data using the given weights and the number of bars since the last day change as the length. The cwema() and cwtema() functions are similar to the wma() function, but use the ema() and tema() functions to calculate the moving average values instead of the source data directly.
Finally, the ma() function is defined, which takes the source data, length, and style as inputs and calls the appropriate moving average function based on the style parameter. The result of this function is then plotted on the chart.
Suggested by: @hjsjshs
Cumulative Weighted Triple Exponential Moving Average (CWTEMA)This Pine Script code defines an indicator called "CWTEMA" that plots a custom weighted triple exponential moving average (TEMA) on a chart. The indicator takes two inputs: a source series (usually the close price of a security) and a length parameter that specifies the number of periods over which the moving average is calculated.
The code first defines a tema() function, which calculates the TEMA for a given series of data and a given length. The function uses the ta.ema() function from the ta library to compute the exponential moving average of the source data, and then applies the triple exponential moving average formula to calculate the TEMA.
The wma() function is then defined, which calculates the weighted moving average of a given series of data using a set of weights. This function computes the weighted sum of the source data using the given weights, then divides this sum by the sum of the weights to calculate the weighted moving average.
Finally, the cweema() function is defined, which calculates the custom weighted TEMA. This function first computes the weights for each value in the moving average using the given length parameter, then calls the wma() and tema() functions to calculate the weighted moving average using the TEMA values. The cweema() function is then plotted on the chart.
Gann Spiral / Square of 9The Gann Spiral, more commonly known as the Square of 9 is one of the most well known tools that Gann used. Today, it is most commonly used to find possible support and resistance levels, and possible reversals in time.
This indicator is a more flexible version of the traditional Gann Spiral / Square. This is achieved by allowing you to change:
Price and Time direction
The timeframe
How often to draw lines based on degrees
Toggles for Price and Time
Price and Time line customization
How to use:
1 - Select your desired starting value of Price and Time.
2 - Choose the direction of Price and Time.
3 - Choose the amount of lines to display.
4 - Choose how often for lines to be drawn (Rotation Degree Value).
==================================================================
Side Note:
This uses a more proper and more accurate formula to "navigate the square". (Sqr x + 2)^2 is not the formula used, but rather (Sqr x + 1)^2.
If you wish to use the formula you're used to, change Full Revolution Value to 180.
The reasoning behind this formula change is because I re-created the square in the form of an actual spiral. The issue with such a conversion is that the formula used to construct it uses one Pi. If you understand circles, you should know that we're off by 180 degrees. A full rotation is 360, not 180.
Correcting for this error requires a slight but important change in the formula, that being +1 instead of +2. This not only corrects it to fit for a proper spiral, but also makes it easier to use fractions. 1/360 results in 1 degree. This slight formula change makes it incompatible when used on the actual Square of 9, however it is technically the more accurate formula.
Session High and Low IndicatorThis script is meant for stocks that have a pre-market session. It is meant to be used on the 1 min time frame. This script will draw a green line at the high of pre-market, and a red line at the low of pre-market and extend these lines across the regular session day
This makes it easy to see if price action during regular market has broken above pre-market high or broken below pre-market low.
The high/low skips any quick spikes in price action (similar to what happens at 8:30 am every day).
BugiCoThis indicator is designed for shorter time frames - specifically 15 minutes to 1 minute.
It is scalping tool that users William Bollinger setup on various time frames.
This indicator will give you an edge and a way of thinking that you NEVER THOUGHT before because it has a story.
This indicator isolates between 0 and 100. Below around 20 is a buy, above 80 is a sell.
In these locations, try to formulate a scalping strategy with stop loss and risk management. If you don't do that, you will go broke quick in any indicator setup anyways. Be smart...
Story Of This Indicator
~ Took me a while to understand Bollinger Bands and i knew a ton about Fibonacci indicators. So decided to combine fibonacci and bollinger together across different time frames, which is the key. Use as small of a time frame as possible and use it all across the board. The game is designed to rob you either way BUT at least you will have a chance to see what your masters are already taking a look at. There are more complicated tools than this but understand this simple thing "Only way to win in this market to is to do the opposite of the crowd and steal as much money as possible". Create tools that can show you this to "WIN"...
I have a ton of other tools that can change everything for your trading/investing. Reach out to me if you have any questions.
Best wishes
~Megalodon
HLC3_ZThis indicator uses a single price point for each session (HLC3 by default) to draw waves.
This helps to filter out small or high frequency fluctuation in the price, and focus on the trend.
There are also options to display cumulative volume for each wave, or to overlay the price source to draw the wave on the chart.
I find using this indicator helps with finding the wave structures or the head or bottom structures such as head-and-shoulder.
ZenBot Signals - Trend StrengthI developed this indicator as a "regime detection" for my algo trading bot. It uses the ADX +/- values with a few twists.
- If ADX DI+ is over 30 and DI- is below 20 and falling (inverse for shorts)
- Price action rising/falling thru various VWAP standard deviations indicates a strong trend break
- Some other custom juju (open source so have fun).
I use this primarily to monitor the SPY index as a backdrop for my long and short trades. If the colored line below price bars is red or green, a strong trend is present and there is a decent trade environment.