Stockbee Momentum BurstThis is a script to color code bars based on the bullish- and bearish combination.
Bullish Combination
Percent: Price >= 4% from yesterday and Volume today > Yesterday
Dollar: Price >= 0.9 dollar from open
Base Requirements
- Price > Yesterday's close
- Price > Open
- Price is within 30% of high
- Todays price range >= Yesterdays price range
- Yesterday's move <= 2%
- Volume >= 100 000
Bearish Combination
Percent: Price <= 4% from yesterday and Volume today > Yesterday
Dollar: Price <= 0.9 dollar from open
Base Requirements
- Price < Yesterday's close
- Price < Open
- Price is within 30% of low
- Todays price range >= Yesterdays price range
- Yesterday's move >= -2%
- Minimum volume for each of last 3 days >= 100 000
Momentum Filter
These are based on the 10 and 20 EMA crossover, where the former above would indicate upward momentum and below downward momentum. This can help to narrow down the color code to continuation phases. The linked option will override all other momentum filters, bullish candles will be displayed when EMA 10 > 20 and bearish candles when EMA 10 < 20.
Cari dalam skrip untuk "港股央企红利etf"
RedK K-MACD : a MACD with some more musclesMoving Averages are probably the most commonly used analysis tools, and MACD is possibly the first charting indicator a trader gets to learn about.
MACD Basic concept
----------------------------
Without repeating all the tons of documentation about what MACD does, let's quickly re-visit the MACD concept from a 10-mile altitude (note we're keen on simplifying here rather than being technically accurate - so please forgive the use of any "common lingos")
- MACD goal is to represent the distance between 2 Moving Averages (MAs) - one fast and one slow, relatively - as an unrestricted zero-based oscillator.
- The value of the main MACD line is the distance, or the displacement between the 2 MA's
- usually a signal line is used (which is another MA of that distance value) to enable better visualization of the change (and rate of change, since this is all depicted on a time axis) of that displacement - this represents price momentum (price movement in the recent period versus movements for a relatively longer period).
- the difference between the main MACD line and its signal is then represented as a histogram above and below the zero line. in this case, that histogram is really redundant, since it shows a value that is already represented visually by the main line and its signal line.
How K-MACD is different
---------------------------------
K-MACD takes that simple concept of the classic MACD and expands around it - the idea is to use the same simple approach to representing price momentum while bringing in more insight to price moves in the short, medium and long terms, ability to represent more than 2 MA's and to enable better identification of tradeable patterns (like Volatility Contraction and others) - while still keeping things simple and visually clean.
K-MACD is an indicator that allows us to view how price moves against 3 moving averages: a fast / slow pair, and a "market" Filter or Baseline (very long) that will be used as a flag for Bear/Bull market mode. Many traders and trading literature use the 200 day (40 week) SMA as that key filter
so in total, there are 4 MA lines in K-MACD (excluding the "orange" signal line):
* Price Proxy: Which is a very fast moving average that will represent the price itself - let's use a WMA(3) or something close to that here - there will be a signal line to enable better visualization of this similar to a classic MACD - that's the orange line
* Fast & Slow MA's : Use whatever represents the "medium term" momentum for your trading - Some traders use 20 and 50, others use 10 and 20 .. if on your price chart, you keep using a pair of MA's for this, use the same settings in K-MACD - these will be represented by the 3-color Momentum Bars that fluctuate above and below the baseline
* Filter/Baseline MA: Should be your long (Bullish/Bearish Mode) MA. so 100 or 200 or any other value you consider your market to be bearish below and bullish above. on K-MACD this is actually the blue zero line - everything else is "relative" to it
Review the sample chart which explains various elements and the "price chart" setup that K-MACD represents. With K-MACD you can clean up your chart from those various Moving Averages - or use a different set than the ones you already have K-MACD represent - or other indicators (like ATR channels..etc)
Other "muscles" in the K-MACD
---------------------------------------------
- Relative vs Classic Calculation Mode
A key issue with the classic MACD is that the displacement between the 2 moving averages is represented as "absolute or direct" values - as the price of the underlying increases with time, you can't really use these values to make useful comparison between the past and now (see below example) - also you can't use them to compare 2 different instruments.
- The "Relative" calculation option in K-MACD addresses that issue by relating all "distances" to the Baseline MA as percentage (above or below) - you can see this clear when you look at the above chart the far left versus the far right and compare K-MACD with the classic MACD - the Classic option is still available
- More MA "type" options for all MA lines: choose between SMA, EMA, WMA, and RSS_WMA (which i use a lot in my trading and is my default for the Price Proxy)
- More Alerts: a total or 9 alerts (in 3 groups) are available with K-MACD (Momentum above or below baseline, Price Proxy crossing signal line, and Price Proxy crossing baseline)
- New 52 week High / Low markers: These will show as Green/red circles on the zero line in K-MACD. this will only work for 1D timeframe and above, i'm just using a simple approach and would like to keep it that way.
- i know i added some more features not covered above :) -- if you have questions about any of the settings, feel free to ask below
Closing thoughts
-------------------------
K-MACD is a combination of couple of indicators i published in the past (xMACD and Mo_Bars) - so you can go back and read about them if needed - I then added improvements to accommodate ideas from swing trading literature and common practices that i plan to focus on in future. So K-MACD is really part of my own trading setup.
I assume here that most traders are familiar with what a MACD is - so kept this post short - if you thing we should expand more about the concepts covered here let me know in the comments - i can make some separate posts with examples and more details.
I hope many fellow traders find this work useful - and feel free let me know in comments below if you do.
Trend and Momentum DashboardI created this indicator to tell me when it's time to trade (going long) and when it's time to wait (or going short).
You can enter up to 13 ticker (default is S&P500 and key market segments).
For each ticker, fibonacci levels are calculated and represented either in 5 color or 3 color mode as single lines.
(Thanks to eykpunter for the fibonacci level implementation. I'm using his code and modified it slightly).
Color coding (5 color mode) explanation:
blue = in uptrend area
light blue = in prudent buyers area
gray = in center area
light red = in prudent sellers area
red = in downtrend area
The topline is a combination of all ticker and shows if the market is either bullish or bearish (threshold adjustable in settings)
The bullish/bearish trend can also be used as background color. Alternatively the last bar in the selected time period is been highlighted.
How to use it:
The indicator works on all timeframes. Use the color coding explanation above to see the status of each asset.
a) You can evaluate "long" term trend using day or week timeframe. e.g. I'm usually trading only long and stay out of the market when it is not bullish (top line & background = blue). I'm also using it to know which segments/assets are currently "hot".
b) You can evaluate short term momentum (using 1h or lower timeframe) and see in which direction the market/assets are moving. e.g. I use this when the exchanges open to see how the day is going to move.
I've attached 3 examples in the screenshot - first is the default, in the second one I'm using different asset classes and the third one is for crypto.
Limitations:
There are security request limits as well as string limitations for the security calls in pine script, so I went to the maximum what is currently possible.
(No financial advise, for testing purposes only)
Volume Crop ━ Hidden Volume Divergence [whvntr] Volume Divergence
• Formula originated from: "Hidden Price Divergence" (circles) by TheLark. I did two things to harness its
effectiveness:
• Firstly, I developed a unique way to filter out the divergence signals that were appearing on both sides of the
midline. This filter will be known as the "Midline Tool" . It filters out a lot of the false signals commonly
associated with oscillators.
• Then, I modified the default format from Price to Volume.
• The midline formula "Midline Tool" was developed by me . It adjusts in the thousands since it's volume.
Let me know in the comments if you would rater have a smaller step value than 10,000. How does it work?
Crossover then Crossunder, the arrows only appear during the first sign of hidden volume divergence once
crossing the midline. Normally, these signs appear on both side of the midline both bearish and bullish no
matter if it's on an oversold or overbought side of the spectrum... Also, let
me know in the comments if you would like for me to release an oscillator version of this
indicator for co-witnessing.
Features:
• Volume divergence
• Midline Tool©
• Disclaimer: This indicator does not constitute investment advice. Trade at your own risk with the investments
you can afford to lose because all financial investments have risks and this is not a
guarantee that the volume divergence will be 100% all the time.
Financial Data Spreadsheet [By MUQWISHI]The Financial Data Spreadsheet indicator displays tables in the form of a spreadsheet containing a set of selected financial performances of a company within the most recent reported period. Analyzing Financial data is one of the classic methods to evaluate whether the company’s stock price is overvalued or undervalued based on its income statement, balance sheet, and cash flow statement. This indicator might be practical to investors to collect needed data of a company to analyze and compare it with other companies on a TradingView chart or print it in spreadsheet form.
█ OVERVIEW
█ BEST PRACTICES
Due to strict limitations on calling request.financial() function, I tried to develop the table with the best ways to be more dynamic to move and the ability to join multiple tables into a spreadsheet. Users can add up to 20 instruments and 2 financial metrics per table. However, it’s possible to add many tables with other financial metrics, then connect them to the main table.
Credits: The idea of joining multiple tables inspired by @QuantNomad Screener for 40+ instruments
█ INDICATOR SETTINGS
1- Moving Table toward right-left up-down from its origin.
2- Hiding Column Title checkmark. Useful for adding a joined table underneath with additional instruments.
3- Hiding Instruments Title checkmark. Useful for adding a joined table on the right with other financial metrics.
4- Shade Alternate Rows checkmark. I believe it’ll make the table easier to read.
5- Selecting Financial Period. (Year, Quarter).
6- Entering a currency.
7- Choosing a financial ID for each column. There’re over 200 financial IDs. Source: What financial data is available in Pine? — TradingView
8- Optional to highlight values in between.
9- Entering the ticker’s symbol with the ability to activate/deactivate.
█ TIP
For best technical performance, use the indicator in a 1D timeframe.
Please let me know if you have any questions.
Thank you.
Volume Weighted Hull Moving Average Bollinger Bands (VWHBB)Title: "Volume Weighted Hull Moving Average Bollinger Bands Indicator for TradingView"
Abstract: This script presents a TradingView indicator that displays Bollinger Bands based on the volume weighted Hull Moving Average (VEHMA) of a financial asset. The VEHMA is a technical analysis tool that combines the reduced lag of the Hull Moving Average (HMA) with volume weighting to provide a more sensitive indicator of market trends and dynamics. The Bollinger Bands are a volatility indicator that plot upper and lower bands around a moving average, which can help traders identify potential trend changes and overbought or oversold conditions. The script allows the user to customize the VEHMA length and Bollinger Band deviation parameters.
Introduction: Bollinger Bands are a popular technical analysis tool used to identify potential trend changes and overbought or oversold conditions in the market. They are constructed by plotting upper and lower bands around a moving average, with the width of the bands determined by the volatility of the asset. The VEHMA is a variant of the Hull Moving Average (HMA) that combines the reduced lag of the HMA with volume weighting to provide a more sensitive indicator of market trends and dynamics.
Methodology: The VEHMA is calculated using a weighted average of two exponential moving averages (EMAs), with the weighting based on the volume of the asset and the length of the moving average. The Bollinger Bands are calculated by plotting the VEHMA plus and minus a standard deviation of the asset's price over a specified period. The standard deviation is a measure of the volatility of the asset and helps to adjust the width of the bands based on market conditions.
Implementation: The script is implemented in TradingView's PineScript language and can be easily added to any chart on the platform. The user can customize the VEHMA length and Bollinger Band deviation parameters to suit their trading strategy. The VEHMA, Bollinger Bands, and fill colors are plotted on the chart to provide a visual representation of the indicator.
Conclusion: The VEHMA Bollinger Bands indicator is a useful tool for traders looking to identify potential trend changes and overbought or oversold conditions in the market. This script provides a convenient and customizable implementation of the indicator for use in TradingView.
TechnicalRating█ OVERVIEW
This library is a Pine Script™ programmer’s tool for incorporating TradingView's well-known technical ratings within their scripts. The ratings produced by this library are the same as those from the speedometers in the technical analysis summary and the "Rating" indicator in the Screener , which use the aggregate biases of 26 technical indicators to calculate their results.
█ CONCEPTS
Ensemble analysis
Ensemble analysis uses multiple weaker models to produce a potentially stronger one. A common form of ensemble analysis in technical analysis is the usage of aggregate indicators together in hopes of gaining further market insight and reinforcing trading decisions.
Technical ratings
Technical ratings provide a simplified way to analyze financial markets by combining signals from an ensemble of indicators into a singular value, allowing traders to assess market sentiment more quickly and conveniently than analyzing each constituent separately. By consolidating the signals from multiple indicators into a single rating, traders can more intuitively and easily interpret the "technical health" of the market.
Calculating the rating value
Using a variety of built-in TA functions and functions from our ta library, this script calculates technical ratings for moving averages, oscillators, and their overall result within the `calcRatingAll()` function.
The function uses the script's `calcRatingMA()` function to calculate the moving average technical rating from an ensemble of 15 moving averages and filters:
• Six Simple Moving Averages and six Exponential Moving Averages with periods of 10, 20, 30, 50, 100, and 200
• A Hull Moving Average with a period of 9
• A Volume-Weighted Moving Average with a period of 20
• An Ichimoku Cloud with a conversion line length of 9, base length of 26, and leading span B length of 52
The function uses the script's `calcRating()` function to calculate the oscillator technical rating from an ensemble of 11 oscillators:
• RSI with a period of 14
• Stochastic with a %K period of 14, a smoothing period of 3, and a %D period of 3
• CCI with a period of 20
• ADX with a DI length of 14 and an ADX smoothing period of 14
• Awesome Oscillator
• Momentum with a period of 10
• MACD with fast, slow, and signal periods of 12, 26, and 9
• Stochastic RSI with an RSI period of 14, a %K period of 14, a smoothing period of 3, and a %D period of 3
• Williams %R with a period of 14
• Bull Bear Power with a period of 50
• Ultimate Oscillator with fast, middle, and slow lengths of 7, 14, and 28
Each indicator is assigned a value of +1, 0, or -1, representing a bullish, neutral, or bearish rating. The moving average rating is the mean of all ratings that use the `calcRatingMA()` function, and the oscillator rating is the mean of all ratings that use the `calcRating()` function. The overall rating is the mean of the moving average and oscillator ratings, which ranges between +1 and -1. This overall rating, along with the separate MA and oscillator ratings, can be used to gain insight into the technical strength of the market. For a more detailed breakdown of the signals and conditions used to calculate the indicators' ratings, consult our Help Center explanation.
Determining rating status
The `ratingStatus()` function produces a string representing the status of a series of ratings. The `strongBound` and `weakBound` parameters, with respective default values of 0.5 and 0.1, define the bounds for "strong" and "weak" ratings.
The rating status is determined as follows:
Rating Value Rating Status
< -strongBound Strong Sell
< -weakBound Sell
-weakBound to weakBound Neutral
> weakBound Buy
> strongBound Strong Buy
By customizing the `strongBound` and `weakBound` values, traders can tailor the `ratingStatus()` function to fit their trading style or strategy, leading to a more personalized approach to evaluating ratings.
Look first. Then leap.
█ FUNCTIONS
This library contains the following functions:
calcRatingAll()
Calculates 3 ratings (ratings total, MA ratings, indicator ratings) using the aggregate biases of 26 different technical indicators.
Returns: A 3-element tuple: ( [(float) ratingTotal, (float) ratingOther, (float) ratingMA ].
countRising(plot)
Calculates the number of times the values in the given series increase in value up to a maximum count of 5.
Parameters:
plot : (series float) The series of values to check for rising values.
Returns: (int) The number of times the values in the series increased in value.
ratingStatus(ratingValue, strongBound, weakBound)
Determines the rating status of a given series based on its values and defined bounds.
Parameters:
ratingValue : (series float) The series of values to determine the rating status for.
strongBound : (series float) The upper bound for a "strong" rating.
weakBound : (series float) The upper bound for a "weak" rating.
Returns: (string) The rating status of the given series ("Strong Buy", "Buy", "Neutral", "Sell", or "Strong Sell").
OHLC ToolOHLC Tool allows you to display Current or Historical OHLC Values as horizontal lines that extend to the right on your chart.
Features
Variable Lookback to display a specific historical bar's values. Default = 1 (Previous Candle)
Customizable Timeframe to view HTF Candle values.
Custom Line Colors, Styles, and Thicknesses.
Price Scale Value Display Capability.
For displaying the line values and labels on the price scale you will need to enable:
"Indicator and financials name labels"
and
"Indicator and financials value labels"
These options are found in the Price Scale Menu under Labels. Price Scale Menu > Labels
When you do this you will notice your other indicator values will also be on the price scale,
if you wish to disable these, go to the indicator settings under the "Style" Tab, Uncheck the "Labels on price scale" box.
Indicator Settings > Style > "Labels on price scale"
Enjoy!
Big Poppa Code Strat & Momentum Strategy IndicatorThis indicator is a combination of a few things in order to work with a unique trading style gleaned from Callme100k, jrgreatness, TrustMyLevels , FaithInTheStrat, Rob Smith and Saty Mahajan.
This Indicator is created to help you day trade using, ATR Fibonacci Levels, Price Action and Momentum.
It displays Fibonacci Levels Based on ATR to indicate when a security is 0.236, 0.382 +- the Days Open, +- the Days Open, 0.618 +- the Days Open and 1.0 +- Days Open.
To understand this script you need to understand
Average True Range (ATR)
1 Bar Inside Bar
2 Bar Outside Bar (Break either the top or bottom)
3 Bar Engulfing Bar
Strat Setups - 212, 322, 312
Fibonacci - 0.236, 0.382, 0.618, 1.0
Moving Averages
A Trend is considered bullish when (green)
Current Price is greater than the Fast EMA Value (8)
Fast EMA is greater than PIVOT EMA Value (21)
Pivot EMA is greater than SLOW EMA Value (34)
OR Hull is trending up and the Price is above the Volume Weighted Moving Average and price is above VWAP
A trend is considered Bearish when (red)
Current Price is less than the Fast EMA Value (8)
Fast EMA is less than PIVOT EMA Value (21)
Pivot EMA is less than SLOW EMA Value (34)
OR Hull is trending down and the Price is below the Volume Weighted Moving Average and price is below VWAP
If these conditions are not met then the Momentum is in Conflict (orange)
The Momentum band will match the color of the current trend
The table that is present can be turned off at any time lets you see
1) If Moving Averages are showing bullish, bearish or in conflict
2) If There us Time Frame Continuity, (if 5 min up, are all the other timeframes up also)
3) How much of the ATR have we moved on the day
4) Are we in Call or Put range for the day based on ATR Fib Levels
The Ideal situation for entering a call
1) Momentum is Green
2) FTFC on Green
3) A Strat Actionable Signal is present
4) You are in the call range, 0.236 - 0.618 ATR + the Price
5) The ATR still has room, I.e only 50% of the ATR has been run already
Ideal situation from entering a put
1) Momentum is red
2) FTFC on Red
3) A Strat Actionable Signal is present
4) You are in the put range, 0.236 - 0.618 ATR - the Price
5) The ATR still has room, I.e only 50% of the ATR has been run already
Exit the trade for these reasons you entered (for profit or loss)
1) ATR has no more room
2) FTFC is now in conflict
3) Momentum has shifted
Take Profit when
1) You reach a new ATR Level 0.618, 1.0 , -0.618, -1, etc
Passive Stop Loss
1) Open Price if you are aggressive
2) Next ATR Level Down or Up
Feel free to take profit and leave runners
This script does not give signals, you should do your own research, I am not a financial advisors, I am simply applying principles of seasoned veterans to code. You make all decisions about how you buy, sell and trade. The creator of this script makes no promises and takes no responsibility for your personal trading.
To research the methods described above look up
Rob Smith : The Strat
Saty Mahajan : ATR Levels
Fibonacci
Using the HULL Moving Average
Exponential Moving Averages
VWAP
VWMA
Remaining ATR [vnhilton]ATR levels can be used on a trading day to look for overextensions beyond the average, where you can look to take profits. Remaining ATR is calculated as the current day range subtracted by the previous day ATR. RATR is then plotted away from the high & low lines. All lines (except for the day open) are dynamic, so RATR lines will move according to how much RATR remains.
Note: This indicator only works on intraday timeframes
(FEATURES)
- Works on either RTH or ETH sessions
- Select Day ATR period, & 3 multipliers that will be applied to RATR values away from respective intraday high & low
- Extend current lines to the right
- Show recent lines only
- Change line style, colours within & out the intraday range, & thickness
- Change label offset, size, & colours within & out the intraday range
- Hide RATR lines & labels when within intraday range
- Plot fill between lines (note: RATR plot fills are from their lines to the intraday high & low, so there'll be overlapping)
To show more lines in the past, go to higher intraday timeframes.
Same chart & timeframe as above but on RTH session only.
Simple Momentum and Trend, Fixed PnL Strategy for SPY 1D [SR]This strategy uses an ATR rule to assess momentum and a TSI rule to assess bullish or bearishness
It has a fixed stop at 50 points, and fixed take profit at 300 pips
It provides a very satisfyingly smooth equity line with a max drawdown below 5% and realized profit over 200%
This is the initial version as I work out optimizations and add plots to the chart based on the strategy's actions.
I would love to get the community's feedback and help as I'm new. Not sure how to limit the date range of the backtest to make it more realistic. I'm also not certain how to plot it best.
Z-Score Buy and Sell SignalsHello everyone!
Happy Holidays, Merry/Happy Christmas!
Here is my Christmas gift to you to show my appreciation of your support and engagement over the past year!
This is the Z-Score Buy and Sell Signal indicator!
How it works:
It works by looking at the Z-Score of an equities close price and looking for previous areas over reversals over the defined period of time.
It also looks at areas that are overbought or oversold (manifested by Z-Scores greater than or less than 2 Standard Deviations away) and displays them as bar colour changes.
Historic reversals are signaled with buy and/or sell signals.
Oversold is signaled with a green bar colour change (colour can be customaized).
Overbought is signaled with an orange bar colour change.
How to use it:
You can use it with support resistance or other indicators. You can use this on both the larger and small timeframes, depending on the style of trader you are.
You can modify the input length to look back on shorter or longer periods.
As a general rule from my experience using it, if you are using the shorter timeframes (i.e. 1 minute tfs), its best to look back between 50 and 75 candles for most equities.
If you are looking at the larger timeframes (i.e. Daily, 1 to 2 hour, etc.) its best to set the input value to between 500 to 800.
But, as always, you should check to ensure the indicator is providing correct signals by reviewing the previous signals to ensure that they adequate identified reversals.
It is also best not to use this alone as your sole indicator. It is meant to be supplementary to other indicators/support resistance/chart patterns you are using to guide your trades. This will not replace good TA and a good understand of the stock and its likely trajectory.
As always, please feel free to share your comments/feedback/questions and recommendations below.
As always, I do customary tutorial videos for my indicators, so please see below for an in-depth video tutorial should you want to see it in action:
Otherwise, happy holidays everyone! And all of the best over this Christmas weekend to you and your loved ones!
Moving Average Support and ResistanceThis indicator takes a moving average, creates an envelope, and analyzes how frequently the moving average and its deviations act as areas of support or resistance. Using this information, you can determine how strong the moving average is as a support or resistance. For example, if the 200 SMA with a 5% range and 1% buffer has an S/R ratio of 1:1.5, then the 200 SMA is acting as resistance more frequently than support. This indicator uses the "buffer" as an envelope extension. The best way to think of this buffer is to envision areas where false breakouts and stop runs may occur. Use this indicator to experiment with different moving averages, ranges, and buffers to find the best combination for your trading style.
Slope Normalized (SN)Introduction:
The Normalized Slope script is a technical indicator that aims to measure the strength and direction of a trend in a financial market. It does this by calculating the slope of the source data series, which can be any type of data (such as price, volume, or an oscillator) over a specified length of time. The slope is then normalized, meaning it is transformed to a scale between -1 and 1, with 0 representing a flat trend.
Methodology:
The Normalized Slope script uses an exponential smoothing function to smooth the source data series. The smoothing factor, or alpha, can be adjusted by the user through the input parameter "Pre Smoothing".
Next, the script calculates the slope of the smoothed data series by finding the average difference between the current value and the values of the previous "Length" periods. This slope is then normalized using a function that scales the data to a range of -1 to 1, with 0 representing a flat trend. The normalization function takes the minimum and maximum values of the slope, calculates the difference between them, and then scales the data to the range of -1 to 1.
The normalized slope is then smoothed again using another exponential smoothing function with a user-adjustable smoothing factor (the "Post Smoothing" input parameter). A center line representing a flat trend can also be plotted on the chart by enabling the "Center Line" input parameter. Additionally, the user can choose to display bounds at the -1 and 1 levels by enabling the "Bounds" input parameter.
Conclusion:
The Normalized Slope script provides traders with a visual representation of the strength and direction of a trend in a financial market. It can be used as a standalone indicator or in combination with other technical analysis tools to help traders make informed trading decisions.
Root Mean Square (RMS)The Root Mean Square (RMS) is a statistical measure of the magnitude of a set of numbers. It is a type of mean, or average, that is calculated by taking the square root of the sum of the squares of a set of numbers, divided by the number of items in the set. The RMS is often used to measure the magnitude of a time-varying signal, such as a waveform or a time series data.
The indicator takes in two input parameters: the source data and the length of the RMS window. The source data can be any time series data, such as the closing price of a security, and the length parameter determines the number of data points used in the RMS calculation.
The script begins by declaring the RMS indicator function and specifying that it should be plotted as an overlay on the chart. The function takes in two parameters: source and length. The source parameter is the time series data that will be used in the RMS calculation, and the length parameter determines the number of data points to include in the calculation.
Next, the script defines the RMS function using a single line of code. The function calculates the RMS by taking the square root of the sum of the squares of the source data, divided by the length. This is done using the built-in math.sqrt, math.sum, and math.pow functions, which respectively calculate the square root, sum, and power of a set of numbers.
Finally, the script defines the source and length input parameters using the input.source and input.int functions. The source parameter is defined as the closing price of the security, and the length parameter is defined as an integer with a default value of 20.
The RMS indicator implemented in this script can be used to measure the magnitude of a time-varying signal. By adjusting the length parameter, users can control the number of data points included in the RMS calculation and fine-tune the indicator to their specific needs.
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.
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.