Coppock Curve
The Coppock Curve is a long-term momentum indicator, also known as the "Coppock Guide," used to identify potential long-term market turning points, particularly major downturns and upturns, by smoothing the sum of 14-month and 11-month rates of change with a 10-month weighted moving average.
Here's a more detailed breakdown:
What it is:
The Coppock Curve is a technical indicator designed to identify long-term buy and sell signals in major stock market indices and related ETFs.
How it's calculated:
Rate of Change (ROC): The indicator starts by calculating the rate of change (ROC) for 14 and 11 periods (usually months).
Sum of ROCs: The ROC for the 14-period and 11-period are summed.
Weighted Moving Average (WMA): A 10-period weighted moving average (WMA) is then applied to the sum of the ROCs.
Interpreting the Curve:
Buy Signals: A buy signal is often generated when the Coppock Curve crosses above the zero line, suggesting a potential transition from a bearish to a bullish phase.
Sell Signals: While primarily designed to identify market bottoms, some traders may interpret a cross below the zero line as a sell signal or a bearish warning.
Origin and Purpose:
The Coppock Curve was introduced by economist Edwin Coppock in 1962.
It was originally designed to help investors identify opportune moments to enter the market.
Coppock's inspiration came from the Episcopal Church's concept of the average mourning period, which he believed mirrored the stock market's recovery period.
Limitations:
The Coppock Curve is primarily used for long-term analysis and may not be as effective for short-term or intraday trading.
It may lag in rapidly changing markets, and its signals may not always be reliable.
Komut dosyalarını "roc" için ara
Simple Trend Strength & MomentumThis indicator will show a combination of Trend Strength, Volatility using an Adaptive Moving Average (AMA), and Market Momentum.
You can use this indicator to identify trends, volatility, and momentum shifts in real-time, making it an excellent tool for both trend-following and breakout strategies.
The three main features of this indicator are:
Adaptive Moving Average (AMA): Tracks the trend direction with a dynamic smoothing factor that adjusts based on market volatility. The AMA line changes color based on trend strength (green for bullish, red for bearish). I manually compute the Adaptive Moving Average (AMA) using a smoothing factor derived from the market's efficiency ratio. I have used fastLength and slowLength to control the responsiveness of the AMA.
Volatility Bands: Plots upper and lower bands around the AMA line, indicating price volatility. These bands dynamically adjust based on ATR, with a color gradient that changes intensity based on market volatility.
Momentum Circles: Positive momentum (ROC above the threshold) is shown as a green circle below the bar, while negative momentum is marked by a red circle above the bar. This makes it easy to spot momentum shifts.
The green dots in the indicator represent positive momentum. Specifically, they are displayed when the Rate of Change (ROC) of the price exceeds a predefined threshold (set as threshold in the input). This indicates that the market is experiencing upward price movement at a rate faster than the defined threshold.
How it works:
Rate of Change (ROC) measures the percentage change in price over a specified period (in this case, 14 periods).
When the ROC is greater than the set threshold (1.5 by default), a green circle (dot) is plotted below the price bar to signal that there is significant positive momentum.
This can be seen as an indicator of bullish momentum, where price is increasing at a relatively fast pace compared to previous periods.
The green dots help you spot when the price is moving upward rapidly, potentially signaling a good time to enter a long position or watch for further price action.
NOTE: It is vice versa for red dots.
Volume/Price Divergence v2The "Volume/Price Divergence v2" indicator is designed to analyze the relationship between volume and price movements in a financial market. It helps traders identify potential divergences that may indicate a change in market trends. Here’s a breakdown of how it works:
### Key Components
1. **Volume Calculation**:
- **Buying Volume**: This is calculated based on the relationship between the closing price and the high/low range. If the closing price is closer to the low, more volume is attributed to buying.
- **Selling Volume**: Conversely, if the closing price is closer to the high, more volume is considered selling.
The formulas used are:
```pinescript
buyVolume = high == low ? 0 : volume * (close - low) / (high - low)
sellVolume = high == low ? 0 : volume * (high - close) / (high - low)
```
2. **Plotting Volume**:
- The total volume is plotted in red and buying volume is plotted in teal. This helps visualize the volume distribution during different price movements.
3. **Rate of Change (ROC)**:
- The indicator calculates the rate of change for both volume and price over a specified period. This allows traders to see how volume and price are changing relative to each other.
```pinescript
roc = source / source
roc2 = source2 / source2
```
4. **Volume/Price Divergence (VPD)**:
- The VPD is derived from the ratio of the ROC of volume to the ROC of price. This ratio helps identify divergences:
- A VPD significantly above 10 may indicate strong divergence, suggesting that price movements are not supported by volume.
- A VPD around 1 indicates that volume and price are moving in harmony.
5. **Horizontal Lines**:
- The indicator includes horizontal lines at levels 10 (high divergence) and 1 (low divergence), serving as visual cues for traders to assess the market's state.
### Interpretation
- **Divergence**: If price makes a new high but volume does not follow (or vice versa), it may signal a potential reversal or weakness in the trend.
- **Volume Trends**: Analyzing the buying vs. selling volume can provide insights into market sentiment, helping traders make informed decisions.
- **Potential for a Strong Move**: A high VPD during a breakout indicates that while volume is increasing, the price isn’t moving significantly, suggesting that a big price move could be imminent.
- **Caution Before Entry**: Traders should be aware that the lack of price movement relative to high volume may signal an impending volatility spike, which could lead to a rapid price change in either direction.
Overall, this indicator is useful for traders looking to gauge the strength of price movements and identify potential reversals or breakouts based on volume trends.
LBR-S310ROC @shrilssOriginally made by Linda Raschke, The S310ROC Indicator combines the Rate of Change (ROC) indicator with the 3-10 Oscillator (Modified MACD) and plots to capture rapid price movements and gauge market momentum.
- Rate of Change (ROC): This component of the indicator measures the percentage change in price over a specified short interval, which can be set by the user (default is 2 days). It is calculated by subtracting the closing price from 'X' days ago from the current close.
- 3-10 Oscillator (MACD; 3,10,16): This is a specialized version of the Moving Average Convergence Divergence (MACD) but uses simple moving averages instead of exponential. Using a fast moving average of 3 days and a slow moving average of 10 days with a smoothing period of 16.
- ROC Dots: A great feature based on the oscillator's readings. Dots are displayed directly on the oscillator or the price chart to provide visual momentum cues:
- Aqua Dots: Appear when all lines (ROC, MACD, Slowline) are sloping downwards, indicating bearish momentum and potentially signaling a sell opportunity.
- White Dots: Appear when all lines are sloping upwards, suggesting bullish momentum and possibly a buy signal.
CBO (Candle Bias Oscillator)The Candle Bias Oscillator (CBO) with volume and ATR scaling is a unique technical analysis tool designed to capture market sentiment through the analysis of candlestick patterns, volume momentum, and market volatility. This indicator is built on the foundation of assessing the bias within a candlestick's body and wicks, adjusted for market volatility using the Average True Range (ATR), and further refined by comparing the Rate of Change (ROC) in volume and the adjusted bias. The culmination of these calculations results in the CBO, a smoothed oscillator that highlights potential market turning points through divergence analysis.
Key Features:
Bias Calculations: Utilizes the relationship between the candle's body and wicks to determine the market's immediate bias, offering a nuanced view beyond simple price action. Have you ever wanted to quantify exactly how bullish or bearish a particular candle or candlestick pattern is? Whether it's dojis, hammers, engulfing, gravestones, evening morning star, three soldiers etc. you don't have to memorize 50 candlestick patterns anymore.
Volatility Adjustment: Employs the ATR to adjust the bias calculation, ensuring the oscillator remains relevant across varying market conditions by accounting for volatility.
Momentum and Divergence: Measures the momentum in volume and bias through ROC calculations, identifying divergence that may signal reversals or significant price movements.
Signal Line: A smoothed version of the CBO, derived from its own values, serving as a benchmark for identifying potential crossovers and divergences.
Utility and Application:
The CBO with Divergence Scaling is developed for traders who seek a deeper understanding of market dynamics beyond price movements alone. It is particularly useful for identifying potential reversals or continuation patterns early, by highlighting divergence between market sentiment (as expressed through candlestick bias) and actual volume movements. In this way, it aligns us retail traders with institutional traders and smart money. This indicator is versatile and can be applied across various time frames and market instruments, offering value to both short-term traders and long-term investors.
How to Use:
Trend Identification: The direction and value of the CBO provide insights into the prevailing market trend. A positive oscillator value may indicate bullish sentiment, while a negative value suggests bearish sentiment.
Signal Line Crossovers: Crossovers between the CBO and its signal line can be used as potential buy or sell signals. A crossover above the signal line might indicate a buying opportunity, whereas a crossover below could suggest a selling point.
Divergence: Discrepancies between the CBO and price action (especially when confirmed by volume ROC) can highlight potential reversals.
Customization and Parameters: This script allows users to adjust several parameters, including oscillator periods, signal line periods, ATR periods, and ROC periods for divergence, to best fit their trading strategy and the characteristics of the market they are analyzing.
Conclusion:
The Custom Bias Oscillator with Divergence Scaling is a comprehensive tool designed to offer traders a multi-faceted view of market conditions, combining elements of price action, volatility, and momentum. By integrating these aspects into a single indicator, it aims to provide a more rounded and actionable insight into market trends and potential turning points.
To comply with best practices and ensure clarity regarding the informational nature of the Custom Bias Oscillator (CBO) tool, it's crucial to include a disclaimer about the non-advisory nature of the script. Here's a suitable disclaimer that you can add to the end of your script description or publication:
Disclaimer:
The Custom Bias Oscillator (CBO) with Divergence Scaling and its accompanying analysis are provided as tools for educational and informational purposes only and should not be construed as financial advice. The creator of this indicator does not guarantee any specific outcomes or profit, and all users should be aware of the risks involved in trading and investing. Users should conduct their own research and consult with a professional financial advisor before making any investment decisions. The use of this indicator is at the user's own risk, and the creator bears no responsibility for any direct or consequential loss arising from any use of this tool or the information provided herein.
Crypto USD LiquidityThe "Crypto USD Liquidity " indicator is designed to offer a comprehensive analysis of liquidity dynamics within the cryptocurrency market, specifically focusing on various stablecoins. This versatile tool allows users to tailor their analysis by adjusting key parameters such as the Rate of Change (ROC) length and the smoothing rate.
The indicator incorporates a user-friendly interface with options to selectively display the supply data for major stablecoins, including USDT, BUSD, USDC, DAI, and TUSD . Users can toggle these options to observe and compare the liquidity trends of different stablecoin assets.
The total liquidity is computed as the summation of the selected stablecoin supplies, providing a holistic view of the overall crypto market liquidity. The Rate of Change (ROC) and its smoothing are then applied to the aggregated liquidity data. This process helps users identify trends and potential turning points in the liquidity landscape.
The visual representation on the chart includes a color-coded display: positive changing ROC values are shaded in green, indicating potential increases in liquidity, while negative values are shaded in red, suggesting potential decreases. This color scheme enhances the user's ability to quickly interpret the changing dynamics of stablecoin liquidity.
Moreover, the script includes a Zero Line for reference and overlays the raw ROC values for additional insight. The resulting chart not only serves as a powerful analytical tool for traders and investors but also contributes to a deeper understanding of the nuanced movements within the broader cryptocurrency market.
In summary, the "Crypto USD Liquidity" Pine Script indicator empowers users with a customizable and visually informative tool for analyzing and interpreting the complex dynamics of stablecoin liquidity, facilitating more informed decision-making in the realm of cryptocurrency trading and investment.
Trend Flow Profile [AlgoAlpha]Description:
The "Trend Flow Profile" indicator is a powerful tool designed to analyze and interpret the underlying trends and reversals in a financial market. It combines the concepts of Order Flow and Rate of Change (ROC) to provide valuable insights into market dynamics, momentum, and potential trade opportunities. By integrating these two components, the indicator offers a comprehensive view of market sentiment and price movements, facilitating informed trading decisions.
Rationale:
The combination of Order Flow and ROC in the "Trend Flow Profile" indicator stems from the recognition that both factors play critical roles in understanding market behavior. Order Flow represents the net buying or selling pressure in the market, while ROC measures the rate at which prices change. By merging these elements, the indicator captures the interplay between market participants' actions and the momentum of price movements, enabling traders to identify trends, spot reversals, and gauge the strength of price acceleration or deceleration.
Calculation:
The Order Flow component is computed by summing the volume when prices move up and subtracting the volume when prices move down. This cumulative measure reflects the overall order imbalance in the market, providing insights into the dominant buying or selling pressure.
The ROC component calculates the percentage change in price over a given period. It compares the current price to a previous price and expresses the change as a percentage. This measurement indicates the velocity and direction of price movement, allowing traders to assess the market's momentum.
How to Use It?
The "Trend Flow Profile" indicator offers valuable information to traders for making informed trading decisions. It enables the identification of underlying trends and potential reversals, providing a comprehensive view of market sentiment and momentum. Here are some key ways to utilize the indicator:
Spotting Trends: The indicator helps identify the prevailing market trend, whether bullish or bearish. A consistent positive (green) histogram indicates a strong uptrend, while a consistent negative (red) histogram suggests a robust downtrend.
Reversal Signals: Reversal patterns can be identified when the histogram changes color, transitioning from positive to negative (or vice versa). These reversals can signify potential turning points in the market, highlighting opportunities for counter-trend trades.
Momentum Assessment: By observing the width and intensity of the histogram, traders can assess the acceleration or deceleration of price momentum. A wider histogram suggests strong momentum, while a narrower histogram indicates a potential slowdown.
Utility:
The "Trend Flow Profile" indicator serves as a valuable tool for traders, providing several benefits. Traders can easily identify the prevailing market trend, enabling them to align their trading strategies with the dominant direction of the market. The indicator also helps spot potential reversals, allowing traders to anticipate market turning points and capture counter-trend opportunities. Additionally, the green and red histogram colors provide visual cues to determine the optimal duration of a long or short position. Following the green histogram signals when in a long position and the red histogram signals when in a short position can assist traders in managing their trades effectively. Moreover, the width and intensity of the histogram offer insights into the acceleration or deceleration of momentum. Traders can gauge the strength of price movements and adjust their trading strategies accordingly. By leveraging the "Trend Flow Profile" indicator, traders gain a comprehensive understanding of market dynamics, which enhances their decision-making and improves their overall trading outcomes.
RSI & Backed-Weighted MA StrategyRSI & MA Strategy :
INTRODUCTION :
This strategy is based on two well-known indicators that work best together: the Relative Strength Index (RSI) and the Moving Average (MA). We're going to use the RSI as a trend-follower indicator, rather than a reversal indicator as most are used to. To the signals sent by the RSI, we'll add a condition on the chart's MA, filtering out irrelevant signals and considerably increasing our winning rate. This is a medium/long-term strategy. There's also a money management method enabling us to reinvest part of the profits or reduce the size of orders in the event of substantial losses.
RSI :
The RSI is one of the best-known and most widely used indicators in trading. Its purpose is to warn traders when an asset is overbought or oversold. It was designed to send reversal signals, but we're going to use it as a trend indicator by increasing its length to 20. The RSI formula is as follows :
RSI (n) = 100 - (100 / (1 + (H (n)/L (n))))
With n the length of the RSI, H(n) the average of days closing above the open and L(n) the average of days closing below the open.
MA :
The Moving Average is also widely used in technical analysis, to smooth out variations in an asset. The SMA formula is as follows :
SMA (n) = (P1 + P2 + ... + Pn) / n
where n is the length of the MA.
However, an SMA does not weight any of its terms, which means that the price 10 days ago has the same importance as the price 2 days ago or today's price... That's why in this strategy we use a RWMA, i.e. a back-weighted moving average. It weights old prices more heavily than new ones. This will enable us to limit the impact of short-term variations and focus on the trend that was dominating. The RWMA used weights :
The 4 most recent terms by : 100 / (4+(n-4)*1.30)
The other oldest terms by : weight_4_first_term*1.30
So the older terms are weighted 1.30 more than the more recent ones. The moving average thus traces a trend that accentuates past values and limits the noise of short-term variations.
PARAMETERS :
RSI Length : Lenght of RSI. Default is 20.
MA Type : Choice between a SMA or a RWMA which permits to minimize the impact of short term reversal. Default is RWMA.
MA Length : Length of the selected MA. Default is 19.
RSI Long Signal : Minimum value of RSI to send a LONG signal. Default is 60.
RSI Short signal : Maximum value of RSI to send a SHORT signal. Default is 40.
ROC MA Long Signal : Maximum value of Rate of Change MA to send a LONG signal. Default is 0.
ROC MA Short signal : Minimum value of Rate of Change MA to send a SHORT signal. Default is 0.
TP activation in multiple of ATR : Threshold value to trigger trailing stop Take Profit. This threshold is calculated as multiple of the ATR (Average True Range). Default value is 5 meaning that to trigger the trailing TP the price need to move 5*ATR in the right direction.
Trailing TP in percentage : Percentage value of trailing Take Profit. This Trailing TP follows the profit if it increases, remaining selected percentage below it, but stops if the profit decreases. Default is 3%.
Fixed Ratio : This is the amount of gain or loss at which the order quantity is changed. Default is 400, which means that for each $400 gain or loss, the order size is increased or decreased by a user-selected amount.
Increasing Order Amount : This is the amount to be added to or subtracted from orders when the fixed ratio is reached. The default is $200, which means that for every $400 gain, $200 is reinvested in the strategy. On the other hand, for every $400 loss, the order size is reduced by $200.
Initial capital : $1000
Fees : Interactive Broker fees apply to this strategy. They are set at 0.18% of the trade value.
Slippage : 3 ticks or $0.03 per trade. Corresponds to the latency time between the moment the signal is received and the moment the order is executed by the broker.
Important : A bot has been used to test the different parameters and determine which ones maximize return while limiting drawdown. This strategy is the most optimal on BITSTAMP:ETHUSD with a timeframe set to 6h. Parameters are set as follows :
MA type: RWMA
MA Length: 19
RSI Long Signal: >60
RSI Short Signal : <40
ROC MA Long Signal : <0
ROC MA Short Signal : >0
TP Activation in multiple ATR : 5
Trailing TP in percentage : 3
ENTER RULES :
The principle is very simple:
If the asset is overbought after a bear market, we are LONG.
If the asset is oversold after a bull market, we are SHORT.
We have defined a bear market as follows : Rate of Change (20) RWMA < 0
We have defined a bull market as follows : Rate of Change (20) RWMA > 0
The Rate of Change is calculated using this formula : (RWMA/RWMA(20) - 1)*100
Overbought is defined as follows : RSI > 60
Oversold is defined as follows : RSI < 40
LONG CONDITION :
RSI > 60 and (RWMA/RWMA(20) - 1)*100 < -1
SHORT CONDITION :
RSI < 40 and (RWMA/RWMA(20) - 1)*100 > 1
EXIT RULES FOR WINNING TRADE :
We have a trailing TP allowing us to exit once the price has reached the "TP Activation in multiple ATR" parameter, i.e. 5*ATR by default in the profit direction. TP trailing is triggered at this point, not limiting our gains, and securing our profits at 3% below this trigger threshold.
Remember that the True Range is : maximum(H-L, H-C(1), C-L(1))
with C : Close, H : High, L : Low
The Average True Range is therefore the average of these TRs over a length defined by default in the strategy, i.e. 20.
RISK MANAGEMENT :
This strategy may incur losses. The method for limiting losses is to set a Stop Loss equal to 3*ATR. This means that if the price moves against our position and reaches three times the ATR, we exit with a loss.
Sometimes the ATR can result in a SL set below 10% of the trade value, which is not acceptable. In this case, we set the SL at 10%, limiting losses to a maximum of 10%.
MONEY MANAGEMENT :
The fixed ratio method was used to manage our gains and losses. For each gain of an amount equal to the value of the fixed ratio, we increase the order size by a value defined by the user in the "Increasing order amount" parameter. Similarly, each time we lose an amount equal to the value of the fixed ratio, we decrease the order size by the same user-defined value. This strategy increases both performance and drawdown.
Enjoy the strategy and don't forget to take the trade :)
Joel Greenblatt Magic FormulaJoel Greenblatt Magic Formula. I always wanted to make this.
The Indicator shows 3 values.
ROC,EY,SUM.
ROC= Return On Capital.
EY=Earnings Yield
SUM= Addition of Two.
Formula:
ROC=EBIT / (Net Working Capital + Net Fixed Assets).
EY = EBIT / Enterprise value
Enterprise Value=(Market value of equity + Net Interest-bearing debt)
To implement the strategy, investors start by identifying a universe of stocks, typically large-cap or mid-cap companies that trade on a major stock exchange. Next, they rank the stocks based on their ROC and EY. The companies with the best combination of these two metrics are considered the best investments (based on this ranking).
For example, a stock that ranks 10th on EY and 99th on ROIC gets a value of 109. The two ranks are simply added together and all stocks are ranked on the sum of the two ranks. The stocks with the lowest values are best.
All credits to "The Little Book That Beats The Market" by Joel Greenblatt
The Magic Formula strategy is a stock selection method popularized by Joel Greenblatt’s book The Little Book That Beats the Market.
It involves ranking companies based on Two factors:
A high return on capital and A high Earnings Yield.
The companies with the best combination of these two metrics are considered the best investments. The strategy aims to find undervalued companies with strong financials that have the potential for high returns over the long term.
Macro Directional IndexCore to this indicator is the rate at which DI+ and DI- are moving away or towards each other. This is called The Rate of Change (ROC). The ROC length dictates how many bars back you want to compare to the current bar to see how much it has changed. It is calculated like this:
(source - source /source ) * 100
This indicator has 4 values in the status line:
DI+
DI-
Distance between DI+ and DI-
DI Rate of Change
DI Rate of Change
The rate of change is smoothed using an EMA. A shorter EMA length will cause the ROC to flip back and forth between positive and negative while a larger EMA length will cause the ROC to change less often. "Since the rate of change is used to indicate periods of 'consolidation', you want to find a setting that doesn't flip back and forth too often.
Directional Index Middle Channel
Between the DI+ and DI- is a black centerline. Offset from this centerline is a channel that is used to filter out false crosses of the DI+ and DI-. Sometimes, the DI+ and DI- lines will come together in this channel and cross momentarily before resuming the direction prior to the cross. When this happens, you don't want to flip your bias too soon. The wider the channel, the later the indicator will signal a DI reversal. A narrower channel will call it sooner but risks being more choppy and indicating a false cross."
Directional Index Macro IndicatorWhat is This For?
The default settings for this indicator are for BINANCE:BTCUSDT and intended to be used on the 3D timeframe to identify market trends. This indicator does a great job identifying whether the market is bullish, bearish, or consolidating. This can also work well on lower time frames to help identify when a trend is strong or when it's reversing.
Directional Index Rate of Change
Core to this indicator is the rate at which DI+ and DI- are moving away or towards each other. This is called The Rate of Change (ROC). "The ROC length dictates how many bars back you want to compare to the current bar to see how much it has changed. It is calculated like this:
(source - source /source ) * 100"
The rate of change is smoothed using an EMA. A shorter EMA length will cause the ROC to flip back and forth between positive and negative while a larger EMA length will cause the ROC to change less often. Since the rate of change is used to indicate periods of 'consolidation', you want to find a setting that doesn't flip back and forth too often. Between the DI+ and DI- is a blue centerline. Offset from this centerline is a channel that is used to filter out false crosses of the DI+ and DI-. Sometimes, the DI+ and DI- lines will come together in this channel and cross momentarily before resuming the direction prior to the cross. When this happens, you don't want to flip your bias too soon. The wider the channel, the later the indicator will signal a DI reversal. A narrower channel will call it sooner but risks being more choppy and indicating a false cross.
Indicator Status Line
This indicator has 4 values in the status line (in order):
DI+
DI-
Distance between DI+ and DI-
DI Rate of Change ( how quickly are DI+ and DI- moving away or towards center )
Indicator Plots
This indicator plots DI+ (green), DI- (red), and a center channel between DI- and DI+. Across the top of the indicator, red and green triangles indicate the market trend while the background changes to show whether the price is in an impulse wave or consolidating. This makes up 4 possible scenarios:
Bullish impulse wave ( green triangle up + green background )
Bullish consolidation ( green triangle up + yellow background )
Bearish impulse wave ( red triangle down + red background )
Bearish consolidation ( red triangle down + yellow background )
Summary
Combined with support and resistance levels, volume, and your other favorite indicators, this can be a useful tool for validating that your entries are not going against the trend.
Disclaimer
This is not financial advice. Do not take trades only based on the DI+ and DI- crossing. Always use multiple indicators to validate your entries and never take a trade when you aren’t emotionally grounded. Have a plan. Stick to the plan.
The screenshot for this strategy is of a manual historical review of BTC on the 3 day chart. The indicator was built to try and mimic the chart above. You’ll see that it nails it sometimes, is a little late sometimes, and chops around between consolidation and impulse waves when it should stay in consolidation. Share your settings if you are able to improve the choppiness without sacrificing catching the reversals early.
Webhook Starter Kit [HullBuster]
Introduction
This is an open source strategy which provides a framework for webhook enabled projects. It is designed to work out-of-the-box on any instrument triggering on an intraday bar interval. This is a full featured script with an emphasis on actual trading at a brokerage through the TradingView alert mechanism and without requiring browser plugins.
The source code is written in a self documenting style with clearly defined sections. The sections “communicate” with each other through state variables making it easy for the strategy to evolve and improve. This is an excellent place for Pine Language beginners to start their strategy building journey. The script exhibits many Pine Language features which will certainly ad power to your script building abilities.
This script employs a basic trend follow strategy utilizing a forward pyramiding technique. Trend detection is implemented through the use of two higher time frame series. The market entry setup is a Simple Moving Average crossover. Positions exit by passing through conditional take profit logic. The script creates ten indicators including a Zscore oscillator to measure support and resistance levels. The indicator parameters are exposed through 47 strategy inputs segregated into seven sections. All of the inputs are equipped with detailed tool tips to help you get started.
To improve the transition from simulation to execution, strategy.entry and strategy.exit calls show enhanced message text with embedded keywords that are combined with the TradingView placeholders at alert time. Thereby, enabling a single JSON message to generate multiple execution events. This is genius stuff from the Pine Language development team. Really excellent work!
This document provides a sample alert message that can be applied to this script with relatively little modification. Without altering the code, the strategy inputs can alter the behavior to generate thousands of orders or simply a few dozen. It can be applied to crypto, stocks or forex instruments. A good way to look at this script is as a webhook lab that can aid in the development of your own endpoint processor, impress your co-workers and have hours of fun.
By no means is a webhook required or even necessary to benefit from this script. The setups, exits, trend detection, pyramids and DCA algorithms can be easily replaced with more sophisticated versions. The modular design of the script logic allows you to incrementally learn and advance this script into a functional trading system that you can be proud of.
Design
This is a trend following strategy that enters long above the trend line and short below. There are five trend lines that are visible by default but can be turned off in Section 7. Identified, in frequency order, as follows:
1. - EMA in the chart time frame. Intended to track price pressure. Configured in Section 3.
2. - ALMA in the higher time frame specified in Section 2 Signal Line Period.
3. - Linear Regression in the higher time frame specified in Section 2 Signal Line Period.
4. - Linear Regression in the higher time frame specified in Section 2 Signal Line Period.
5. - DEMA in the higher time frame specified in Section 2 Trend Line Period.
The Blue, Green and Orange lines are signal lines are on the same time frame. The time frame selected should be at least five times greater than the chart time frame. The Purple line represents the trend line for which prices above the line suggest a rising market and prices below a falling market. The time frame selected for the trend should be at least five times greater than the signal lines.
Three oscillators are created as follows:
1. Stochastic - In the chart time frame. Used to enter forward pyramids.
2. Stochastic - In the Trend period. Used to detect exit conditions.
3. Zscore - In the Signal period. Used to detect exit conditions.
The Stochastics are configured identically other than the time frame. The period is set in Section 2.
Two Simple Moving Averages provide the trade entry conditions in the form of a crossover. Crossing up is a long entry and down is a short. This is in fact the same setup you get when you select a basic strategy from the Pine editor. The crossovers are configured in Section 3. You can see where the crosses are occurring by enabling Show Entry Regions in Section 7.
The script has the capacity for pyramids and DCA. Forward pyramids are enabled by setting the Pyramid properties tab with a non zero value. In this case add on trades will enter the market on dips above the position open price. This process will continue until the trade exits. Downward pyramids are available in Crypto and Range mode only. In this case add on trades are placed below the entry price in the drawdown space until the stop is hit. To enable downward pyramids set the Pyramid Minimum Span In Section 1 to a non zero value.
This implementation of Dollar Cost Averaging (DCA) triggers off consecutive losses. Each loss in a run increments a sequence number. The position size is increased as a multiple of this sequence. When the position eventually closes at a profit the sequence is reset. DCA is enabled by setting the Maximum DCA Increments In Section 1 to a non zero value.
It should be noted that the pyramid and DCA features are implemented using a rudimentary design and as such do not perform with the precision of my invite only scripts. They are intended as a feature to stress test your webhook endpoint. As is, you will need to buttress the logic for it to be part of an automated trading system. It is for this reason that I did not apply a Martingale algorithm to this pyramid implementation. But, hey, it’s an open source script so there is plenty of room for learning and your own experimentation.
How does it work
The overall behavior of the script is governed by the Trading Mode selection in Section 1. It is the very first input so you should think about what behavior you intend for this strategy at the onset of the configuration. As previously discussed, this script is designed to be a trend follower. The trend being defined as where the purple line is predominately heading. In BiDir mode, SMA crossovers above the purple line will open long positions and crosses below the line will open short. If pyramiding is enabled add on trades will accumulate on dips above the entry price. The value applied to the Minimum Profit input in Section 1 establishes the threshold for a profitable exit. This is not a hard number exit. The conditional exit logic must be satisfied in order to permit the trade to close. This is where the effort put into the indicator calibration is realized. There are four ways the trade can exit at a profit:
1. Natural exit. When the blue line crosses the green line the trade will close. For a long position the blue line must cross under the green line (downward). For a short the blue must cross over the green (upward).
2. Alma / Linear Regression event. The distance the blue line is from the green and the relative speed the cross is experiencing determines this event. The activation thresholds are set in Section 6 and relies on the period and length set in Section 2. A long position will exit on an upward thrust which exceeds the activation threshold. A short will exit on a downward thrust.
3. Exponential event. The distance the yellow line is from the blue and the relative speed the cross is experiencing determines this event. The activation thresholds are set in Section 3 and relies on the period and length set in the same section.
4. Stochastic event. The purple line stochastic is used to measure overbought and over sold levels with regard to position exits. Signal line positions combined with a reading over 80 signals a long profit exit. Similarly, readings below 20 signal a short profit exit.
Another, optional, way to exit a position is by Bale Out. You can enable this feature in Section 1. This is a handy way to reduce the risk when carrying a large pyramid stack. Instead of waiting for the entire position to recover we exit early (bale out) as soon as the profit value has doubled.
There are lots of ways to implement a bale out but the method I used here provides a succinct example. Feel free to improve on it if you like. To see where the Bale Outs occur, enable Show Bale Outs in Section 7. Red labels are rendered below each exit point on the chart.
There are seven selectable Trading Modes available from the drop down in Section 1:
1. Long - Uses the strategy.risk.allow_entry_in to execute long only trades. You will still see shorts on the chart.
2. Short - Uses the strategy.risk.allow_entry_in to execute short only trades. You will still see long trades on the chart.
3. BiDir - This mode is for margin trading with a stop. If a long position was initiated above the trend line and the price has now fallen below the trend, the position will be reversed after the stop is hit. Forward pyramiding is available in this mode if you set the Pyramiding value in the Properties tab. DCA can also be activated.
4. Flip Flop - This is a bidirectional trading mode that automatically reverses on a trend line crossover. This is distinctively different from BiDir since you will get a reversal even without a stop which is advantageous in non-margin trading.
5. Crypto - This mode is for crypto trading where you are buying the coins outright. In this case you likely want to accumulate coins on a crash. Especially, when all the news outlets are talking about the end of Bitcoin and you see nice deep valleys on the chart. Certainly, under these conditions, the market will be well below the purple line. No margin so you can’t go short. Downward pyramids are enabled for Crypto mode when two conditions are met. First the Pyramiding value in the Properties tab must be non zero. Second the Pyramid Minimum Span in Section 1 must be non zero.
6. Range - This is a counter trend trading mode. Longs are entered below the purple trend line and shorts above. Useful when you want to test your webhook in a market where the trend line is bisecting the signal line series. Remember that this strategy is a trend follower. It’s going to get chopped out in a range bound market. By turning on the Range mode you will at least see profitable trades while stuck in the range. However, when the market eventually picks a direction, this mode will sustain losses. This range trading mode is a rudimentary implementation that will need a lot of improvement if you want to create a reliable switch hitter (trend/range combo).
7. No Trade. Useful when setting up the trend lines and the entry and exit is not important.
Once in the trade, long or short, the script tests the exit condition on every bar. If not a profitable exit then it checks if a pyramid is required. As mentioned earlier, the entry setups are quite primitive. Although they can easily be replaced by more sophisticated algorithms, what I really wanted to show is the diminished role of the position entry in the overall life of the trade. Professional traders spend much more time on the management of the trade beyond the market entry. While your trade entry is important, you can get in almost anywhere and still land a profitable exit.
If DCA is enabled, the size of the position will increase in response to consecutive losses. The number of times the position can increase is limited by the number set in Maximum DCA Increments of Section 1. Once the position breaks the losing streak the trade size will return the default quantity set in the Properties tab. It should be noted that the Initial Capital amount set in the Properties tab does not affect the simulation in the same way as a real account. In reality, running out of money will certainly halt trading. In fact, your account would be frozen long before the last penny was committed to a trade. On the other hand, TradingView will keep running the simulation until the current bar even if your funds have been technically depleted.
Entry and exit use the strategy.entry and strategy.exit calls respectfully. The alert_message parameter has special keywords that the endpoint expects to properly calculate position size and message sequence. The alert message will embed these keywords in the JSON object through the {{strategy.order.alert_message}} placeholder. You should use whatever keywords are expected from the endpoint you intend to webhook in to.
Webhook Integration
The TradingView alerts dialog provides a way to connect your script to an external system which could actually execute your trade. This is a fantastic feature that enables you to separate the data feed and technical analysis from the execution and reporting systems. Using this feature it is possible to create a fully automated trading system entirely on the cloud. Of course, there is some work to get it all going in a reliable fashion. Being a strategy type script place holders such as {{strategy.position_size}} can be embedded in the alert message text. There are more than 10 variables which can write internal script values into the message for delivery to the specified endpoint.
Entry and exit use the strategy.entry and strategy.exit calls respectfully. The alert_message parameter has special keywords that my endpoint expects to properly calculate position size and message sequence. The alert message will embed these keywords in the JSON object through the {{strategy.order.alert_message}} placeholder. You should use whatever keywords are expected from the endpoint you intend to webhook in to.
Here is an excerpt of the fields I use in my webhook signal:
"broker_id": "kraken",
"account_id": "XXX XXXX XXXX XXXX",
"symbol_id": "XMRUSD",
"action": "{{strategy.order.action}}",
"strategy": "{{strategy.order.id}}",
"lots": "{{strategy.order.contracts}}",
"price": "{{strategy.order.price}}",
"comment": "{{strategy.order.alert_message}}",
"timestamp": "{{time}}"
Though TradingView does a great job in dispatching your alert this feature does come with a few idiosyncrasies. Namely, a single transaction call in your script may cause multiple transmissions to the endpoint. If you are using placeholders each message describes part of the transaction sequence. A good example is closing a pyramid stack. Although the script makes a single strategy.close() call, the endpoint actually receives a close message for each pyramid trade. The broker, on the other hand, only requires a single close. The incongruity of this situation is exacerbated by the possibility of messages being received out of sequence. Depending on the type of order designated in the message, a close or a reversal. This could have a disastrous effect on your live account. This broker simulator has no idea what is actually going on at your real account. Its just doing the job of running the simulation and sending out the computed results. If your TradingView simulation falls out of alignment with the actual trading account lots of really bad things could happen. Like your script thinks your are currently long but the account is actually short. Reversals from this point forward will always be wrong with no one the wiser. Human intervention will be required to restore congruence. But how does anyone find out this is occurring? In closed systems engineering this is known as entropy. In practice your webhook logic should be robust enough to detect these conditions. Be generous with the placeholder usage and give the webhook code plenty of information to compare states. Both issuer and receiver. Don’t blindly commit incoming signals without verifying system integrity.
Setup
The following steps provide a very brief set of instructions that will get you started on your first configuration. After you’ve gone through the process a couple of times, you won’t need these anymore. It’s really a simple script after all. I have several example configurations that I used to create the performance charts shown. I can share them with you if you like. Of course, if you’ve modified the code then these steps are probably obsolete.
There are 47 inputs divided into seven sections. For the most part, the configuration process is designed to flow from top to bottom. Handy, tool tips are available on every field to help get you through the initial setup.
Step 1. Input the Base Currency and Order Size in the Properties tab. Set the Pyramiding value to zero.
Step 2. Select the Trading Mode you intend to test with from the drop down in Section 1. I usually select No Trade until I’ve setup all of the trend lines, profit and stop levels.
Step 3. Put in your Minimum Profit and Stop Loss in the first section. This is in pips or currency basis points (chart right side scale). Remember that the profit is taken as a conditional exit not a fixed limit. The actual profit taken will almost always be greater than the amount specified. The stop loss, on the other hand, is indeed a hard number which is executed by the TradingView broker simulator when the threshold is breached.
Step 4. Apply the appropriate value to the Tick Scalar field in Section 1. This value is used to remove the pipette from the price. You can enable the Summary Report in Section 7 to see the TradingView minimum tick size of the current chart.
Step 5. Apply the appropriate Price Normalizer value in Section 1. This value is used to normalize the instrument price for differential calculations. Basically, we want to increase the magnitude to significant digits to make the numbers more meaningful in comparisons. Though I have used many normalization techniques, I have always found this method to provide a simple and lightweight solution for less demanding applications. Most of the time the default value will be sufficient. The Tick Scalar and Price Normalizer value work together within a single calculation so changing either will affect all delta result values.
Step 6. Turn on the trend line plots in Section 7. Then configure Section 2. Try to get the plots to show you what’s really happening not what you want to happen. The most important is the purple trend line. Select an interval and length that seem to identify where prices tend to go during non-consolidation periods. Remember that a natural exit is when the blue crosses the green line.
Step 7. Enable Show Event Regions in Section 7. Then adjust Section 6. Blue background fills are spikes and red fills are plunging prices. These measurements should be hard to come by so you should see relatively few fills on the chart if you’ve set this up as intended. Section 6 includes the Zscore oscillator the state of which combines with the signal lines to detect statistically significant price movement. The Zscore is a zero based calculation with positive and negative magnitude readings. You want to input a reasonably large number slightly below the maximum amplitude seen on the chart. Both rise and fall inputs are entered as a positive real number. You can easily use my code to create a separate indicator if you want to see it in action. The default value is sufficient for most configurations.
Step 8. Turn off Show Event Regions and enable Show Entry Regions in Section 7. Then adjust Section 3. This section contains two parts. The entry setup crossovers and EMA events. Adjust the crossovers first. That is the Fast Cross Length and Slow Cross Length. The frequency of your trades will be shown as blue and red fills. There should be a lot. Then turn off Show Event Regions and enable Display EMA Peaks. Adjust all the fields that have the word EMA. This is actually the yellow line on the chart. The blue and red fills should show much less than the crossovers but more than event fills shown in Step 7.
Step 9. Change the Trading Mode to BiDir if you selected No Trades previously. Look on the chart and see where the trades are occurring. Make adjustments to the Minimum Profit and Stop Offset in Section 1 if necessary. Wider profits and stops reduce the trade frequency.
Step 10. Go to Section 4 and 5 and make fine tuning adjustments to the long and short side.
Example Settings
To reproduce the performance shown on the chart please use the following configuration: (Bitcoin on the Kraken exchange)
1. Select XBTUSD Kraken as the chart symbol.
2. On the properties tab set the Order Size to: 0.01 Bitcoin
3. On the properties tab set the Pyramiding to: 12
4. In Section 1: Select “Crypto” for the Trading Model
5. In Section 1: Input 2000 for the Minimum Profit
6. In Section 1: Input 0 for the Stop Offset (No Stop)
7. In Section 1: Input 10 for the Tick Scalar
8. In Section 1: Input 1000 for the Price Normalizer
9. In Section 1: Input 2000 for the Pyramid Minimum Span
10. In Section 1: Check mark the Position Bale Out
11. In Section 2: Input 60 for the Signal Line Period
12. In Section 2: Input 1440 for the Trend Line Period
13. In Section 2: Input 5 for the Fast Alma Length
14. In Section 2: Input 22 for the Fast LinReg Length
15. In Section 2: Input 100 for the Slow LinReg Length
16. In Section 2: Input 90 for the Trend Line Length
17. In Section 2: Input 14 Stochastic Length
18. In Section 3: Input 9 Fast Cross Length
19. In Section 3: Input 24 Slow Cross Length
20. In Section 3: Input 8 Fast EMA Length
21. In Section 3: Input 10 Fast EMA Rise NetChg
22. In Section 3: Input 1 Fast EMA Rise ROC
23. In Section 3: Input 10 Fast EMA Fall NetChg
24. In Section 3: Input 1 Fast EMA Fall ROC
25. In Section 4: Check mark the Long Natural Exit
26. In Section 4: Check mark the Long Signal Exit
27. In Section 4: Check mark the Long Price Event Exit
28. In Section 4: Check mark the Long Stochastic Exit
29. In Section 5: Check mark the Short Natural Exit
30. In Section 5: Check mark the Short Signal Exit
31. In Section 5: Check mark the Short Price Event Exit
32. In Section 5: Check mark the Short Stochastic Exit
33. In Section 6: Input 120 Rise Event NetChg
34. In Section 6: Input 1 Rise Event ROC
35. In Section 6: Input 5 Min Above Zero ZScore
36. In Section 6: Input 120 Fall Event NetChg
37. In Section 6: Input 1 Fall Event ROC
38. In Section 6: Input 5 Min Below Zero ZScore
In this configuration we are trading in long only mode and have enabled downward pyramiding. The purple trend line is based on the day (1440) period. The length is set at 90 days so it’s going to take a while for the trend line to alter course should this symbol decide to node dive for a prolonged amount of time. Your trades will still go long under those circumstances. Since downward accumulation is enabled, your position size will grow on the way down.
The performance example is Bitcoin so we assume the trader is buying coins outright. That being the case we don’t need a stop since we will never receive a margin call. New buy signals will be generated when the price exceeds the magnitude and speed defined by the Event Net Change and Rate of Change.
Feel free to PM me with any questions related to this script. Thank you and happy trading!
CFTC RULE 4.41
These results are based on simulated or hypothetical performance results that have certain inherent limitations. Unlike the results shown in an actual performance record, these results do not represent actual trading. Also, because these trades have not actually been executed, these results may have under-or over-compensated for the impact, if any, of certain market factors, such as lack of liquidity. Simulated or hypothetical trading programs in general are also subject to the fact that they are designed with the benefit of hindsight. No representation is being made that any account will or is likely to achieve profits or losses similar to these being shown.
+ Rate of Change (and OBV)The Rate of Change, or RoC, is a momentum indicator that measures the percentage change in price between the current period and the price n periods ago. It oscillates above and below a zeroline, basically showing positive or negative momentum. I applied the OBV's calculation to it, but without the inclusion of volume (also added a lookback period) to see what would happen.
Actually what happened was I was looking at hot-rodding the OBV indicator, but then wondered if I could apply the cumulative calculation to another indicator to see what would happen. Not sure why I chose the Rate of Change, but it seemed a neat idea. And it worked! And so I called it the "Cumulative Rate of Change." I only recently realized that this is actually just the OBV without volume, HOWEVER the OBV does not have a lookback period, and its source is the close of each period. Basically, when you look at the calculation for the OBV you'll notice that it's a cumulative measure of the "change" of the closing price against the previous close times the volume. The Rate of Change is basically that measurement over more than one period, excluding the volume, and is not cumulative. Thus the "Cumulative Rate of Change" is basically an OBV without the volume but with the capability to adjust the lookback period.
Anyway, after days and weeks of playing with the indicator pretty infrequently I did decide that I actually really liked it, especially with the addition of moving averages and bollinger bands. So I decided to play with it a bit more.
I added a drop-down menu to include the standard Rate of Change indicator, and then thought I may as well add the OBV too, in case someone might like to compare that to the C-RoC, or just wants an OBV with myriad moving averages and bollinger bands.
By default I have the indicator set to the "C-RoC" and the lookback is set to 1, but play with longer settings (this is pretty much necessary if using the traditional RoC, which is by default set to 10 in TradingView, and is nigh on useless at 1).
I also recommend playing with the source. 'Close' is nice, but 'ohlc4' provides some very nice signals as well, as it follows the price flow for each period completely, filtering the noisiness of 'close' as source.
Hope you guys like this. With the bollinger bands and your preferred moving average settings this can be a powerful tool for re-entering trades in trend, taking profits, determining momentum swings.
[blackcat] L1 Vitali Apirine Rate Of Change With BandsLevel: 1
Background
Vitali Apirine introuced this RoC indicator of “Rate Of Change With Bands” on March 2021.
Function
In Vitali Apirine's article “Rate Of Change With Bands” , the author introduces a concept of identifying overbought and oversold levels based on calculating standard deviation bands of the rate of change (ROC) momentum oscillator. The rate of change bands widen and narrow as the ROC deviation increases and decreases. The author proposes using this indicator in conjunction with other technical analysis methods to determine if the instrument is overbought or oversold.
Key Signal
UpperBand --> overbought threshold
oMARoc --> Output RoC Moving Average
LowerBand --> oversold threshold
Labels
L --> Long
S --> Short
XL --> Close Long
XS --> Close Short
Pros and Cons
100% Vitali Apirine definition translation, even variable names are the same. This help readers who would like to use pine to read his article.
Remarks
The 1st script for Blackcat1402 Vitali Apirine series publication.
Readme
In real life, I am a prolific inventor. I have successfully applied for more than 60 international and regional patents in the past 12 years. But in the past two years or so, I have tried to transfer my creativity to the development of trading strategies. Tradingview is the ideal platform for me. I am selecting and contributing some of the hundreds of scripts to publish in Tradingview community. Welcome everyone to interact with me to discuss these interesting pine scripts.
The scripts posted are categorized into 5 levels according to my efforts or manhours put into these works.
Level 1 : interesting script snippets or distinctive improvement from classic indicators or strategy. Level 1 scripts can usually appear in more complex indicators as a function module or element.
Level 2 : composite indicator/strategy. By selecting or combining several independent or dependent functions or sub indicators in proper way, the composite script exhibits a resonance phenomenon which can filter out noise or fake trading signal to enhance trading confidence level.
Level 3 : comprehensive indicator/strategy. They are simple trading systems based on my strategies. They are commonly containing several or all of entry signal, close signal, stop loss, take profit, re-entry, risk management, and position sizing techniques. Even some interesting fundamental and mass psychological aspects are incorporated.
Level 4 : script snippets or functions that do not disclose source code. Interesting element that can reveal market laws and work as raw material for indicators and strategies. If you find Level 1~2 scripts are helpful, Level 4 is a private version that took me far more efforts to develop.
Level 5 : indicator/strategy that do not disclose source code. private version of Level 3 script with my accumulated script processing skills or a large number of custom functions. I had a private function library built in past two years. Level 5 scripts use many of them to achieve private trading strategy.
Easy TrendThis signal is completely based on analysis and transformation of a single simple moving average. As with all signals and indicators, it should be combined with others.
This is how the signal is built:
1. First it takes the SMA of the closing price.
2. It then takes the ROC of that SMA using a length of 1.
3. It takes an 8-period SMA and also a 64-period SMA of that ROC.
4. These are plotted as follows:
- the ROC is plotted in green when above 0 (trending up) and red when below 0 (trending down).
- the 8-period SMA is plotted as a thin white line within the ROC signal
- the 64-period SMA is plotted as a thick white line within the ROC signal
When the trendline is green, this is a bullish zone. When the trendline is red, this is a bearish zone.
Moving averages (all types of moving averages) are inherently lagging signals. To compensate for that, I am offsetting each SMA series by half of its period. This may be confusing to some, but the end result is a mathematically accurate SMA signal, centered on the signal that it is providing the moving average of. It doesn't stop the lag, but it directly and obviously shows how lagged each signal is, which I personally find better to trade against.
Symbols on the top and bottom of indicator:
Yellow triangle at bottom of indicator shows where a downward trend is starting to bottom out and a buy/long opening may be available soon.
Green triangle at bottom of indicator shows that a downward trend has switched to an upward trend. This indicates a good time to buy.
Yellow triangle at top of indicator shows where an upward trend is starting to plateau and a sell/short opening may be available soon.
Red triangle at top of indicator shows that an upward trend has switched to a downward trend. This indicates a good time to sell.
Note: You may see multiple yellow triangles before seeing a green or red triangle. This can happen when multiple trend accelerations or decelerations occur within an overall green or red zone.
In addition there is a dotted line connecting the end of the 64-period SMA to the end of the 8-period SMA. This indicates the direction the trend is moving towards. When the dotted line crosses the zero line, this portrays a rough estimate of where the trend may switch from a downtrend to an uptrend or vice versa. This is the "best" time to buy or sell, depending on your strategy.
I recommend placing a SMA on your candles set to the same window size as this indicator, and also to offset that SMA to the left by half its window size. For example, a 90-period SMA should be offset by -45 periods. That will cause it to be correctly aligned with this trend signal.
Moving Average Rate of changeThis indicator measures rate of change of moving average.
Steps to derive are as follows:
Calculate moving average of Source based on Moving Average Type and Moving Average Length
Find the difference between moving average value of present bar and LoopbackPeriod bars back.
Calculate ROC of moving average with respect to either Moving average itself or with respect to close price. PercentOfSource when unchecked calculates percent based on Moving Average. If not based on close price.
Calculate moving average of ROC based on ROC Moving Average Type and ROC Moving Average Length .
Uptrick: Universal Z-Score ValuationOverview
The Uptrick: Universal Z-Score Valuation is a tool designed to help traders spot when the market might be overreacting—whether that’s on the upside or the downside. It does this by combining the Z-scores of multiple key indicators into a single average, letting you see how far the current market conditions have stretched away from “normal.” This average is shown as a smooth line, supported by color-coded visuals, signal markers, optional background highlights, and a live breakdown table that shows the contribution of each indicator in real time. The focus here is on spotting potential reversals, not following trends. The indicator works well across all timeframes and asset classes, from fast intraday charts like the 1-minute and 5-minute, to higher timeframes such as the 4-hour, daily, or even weekly. Its universal design makes it suitable for any market — whether you're trading crypto, stocks, forex, or commodities.
Introduction
To understand what this indicator does, let’s start with the idea of a Z-score. In simple terms, a Z-score tells you how far a number is from the average of its recent history, measured in standard deviations. If the price of an asset is two standard deviations above its mean, that means it’s statistically “rare” or extended. That doesn’t guarantee a reversal—but it suggests the move is unusual enough to pay attention.
This concept isn’t new, but what this indicator does differently is apply the Z-score to a wide set of market signals—not just price. It looks at momentum, volatility, volume, risk-adjusted performance, and even institutional price baselines. Each of those indicators is normalized using Z-scores, and then they’re combined into one average. This gives you a single, easy-to-read line that summarizes whether the entire market is behaving abnormally. Instead of reacting to one indicator, you’re reacting to a statistically balanced blend.
Purpose
The goal of this script is to catch turning points—places where the market may be topping out or bottoming after becoming overstretched. It’s built for traders who want to fade sharp moves rather than follow trends. Think of moments when price explodes upward and starts pulling away from every moving average, volume spikes, volatility rises, and RSI shoots up. This tool is meant to spot those situations—not just when price is stretched, but when multiple different indicators agree that something is overdone.
Originality and Uniqueness
Most indicators that use Z-scores only apply them to one thing—price, RSI, or maybe Bollinger Bands. This one is different because it treats each indicator as a contributor to the full picture. You decide which ones to include, and the script averages them out. This makes the tool flexible but also deeply informative.
It doesn’t rely on complex or hidden math. It uses basic Z-score formulas, applies them to well-known indicators, and shows you the result. What makes it unique is the way it brings those signals together—statistically, visually, and interactively—so you can see what’s happening in the moment with full transparency. It’s not trying to be flashy or predictive. It’s just showing you when things have gone too far, too fast.
Inputs and Parameters
This indicator includes a wide range of configurable inputs, allowing users to customize which components are included in the Z-score average, how each indicator is calculated, and how results are displayed visually. Below is a detailed explanation of each input:
General Settings
Z-Score Lookback (default: 100): Number of bars used to calculate the mean and standard deviation for Z-score normalization. Larger values smooth the Z-scores; smaller values make them more reactive.
Bar Color Mode (default: None): Determines how bars are visually colored. Options include: None: No candle coloring applied. - Heat: Smooth gradient based on the Z-score value. - Latest Signal: Applies a solid color based on the most recent buy or sell signal
Boolean - General
Plot Universal Valuation Line (default: true): If enabled, plots the average Z-score (zAvg) line in the separate pane.
Show Signals (default: true): Displays labels ("𝓤𝓹" for buy, "𝓓𝓸𝔀𝓷" for sell) when zAvg crosses above or below user-defined thresholds.
Show Z-Score Table (default: true): Displays a live table listing each enabled indicator's Z-score and the current average.
Select Indicators
These toggles enable or disable each indicator from contributing to the Z-score average:
Use VWAP Z-Score (default: true)
Use Sortino Z-Score (default: true)
Use ROC Z-Score (default: true)
Use Price Z-Score (default: true)
Use MACD Histogram Z-Score (default: false)
Use Bollinger %B Z-Score (default: false)
Use Stochastic K Z-Score (default: false)
Use Volume Z-Score (default: false)
Use ATR Z-Score (default: false)
Use RSI Z-Score (default: false)
Use Omega Z-Score (default: true)
Use Sharpe Z-Score (default: true)
Only enabled indicators are included in the average. This modular design allows traders to tailor the signal mix to their preferences.
Indicator Lengths
These inputs control how each individual indicator is calculated:
MACD Fast Length (default: 12)
MACD Slow Length (default: 26)
MACD Signal Length (default: 9)
Bollinger Basis Length (default: 20): Used to compute the Bollinger %B.
Bollinger Deviation Multiplier (default: 2.0): Standard deviation multiplier for the Bollinger Band calculation.
Stochastic Length (default: 14)
ATR Length (default: 14)
RSI Length (default: 14)
ROC Length (default: 10)
Zones
These thresholds define key signal levels for the Z-score average:
Neutral Line Level (default: 0): Baseline for the average Z-score.
Bullish Zone Level (default: -1): Optional intermediate zone suggesting early bullish conditions.
Bearish Zone Level (default: 1): Optional intermediate zone suggesting early bearish conditions.
Z = +2 Line Level (default: 2): Primary threshold for bearish signals.
Z = +3 Line Level (default: 3): Extreme bearish warning level.
Z = -2 Line Level (default: -2): Primary threshold for bullish signals.
Z = -3 Line Level (default: -3): Extreme bullish warning level.
These zone levels are used to generate signals, fill background shading, and draw horizontal lines for visual reference.
Why These Indicators Were Merged
Each indicator in this script was chosen for a specific reason. They all measure something different but complementary.
The VWAP Z-score helps you see when price has moved far from the volume-weighted average, often used by institutions.
Sortino Ratio Z-score focuses only on downside risk, which is often more relevant to traders than overall volatility.
ROC Z-score shows how fast price is changing—strong momentum may burn out quickly.
Price Z-score is the raw measure of how far current price has moved from its mean.
RSI Z-score shows whether momentum itself is stretched.
MACD Histogram Z-score captures shifts in trend strength and acceleration.
%B (Bollinger) Z-score indicates how close price is to the upper or lower volatility envelope.
Stochastic K Z-score gives a sense of how high or low price is relative to its recent range.
Volume Z-score shows when trading activity is unusually high or low.
ATR Z-score gives a read on volatility, showing if price movement is expanding or contracting.
Sharpe Z-score measures reward-to-risk performance, useful for evaluating trend quality.
Omega Z-score looks at the ratio of good returns to bad ones, offering a more nuanced view of efficiency.
By normalizing each of these using Z-scores and averaging only the ones you turn on, the script creates a flexible, balanced view of the market’s statistical stretch.
Calculations
The core formula is the standard Z-score:
Z = (current value - average) / standard deviation
Every indicator uses this formula after it’s calculated using your chosen settings. For example, RSI is first calculated as usual, then its Z-score is calculated over your selected lookback period. The script does this for every indicator you enable. Then it averages those Z-scores together to create a single value: zAvg. That value is plotted and used to generate visual cues, signals, table values, background color changes, and candle coloring.
Sequence
Each selected indicator is calculated using your custom input lengths.
The Z-score of each indicator is computed using the shared lookback period.
All active Z-scores are added up and averaged.
The resulting zAvg value is plotted as a line.
Signal conditions check if zAvg crosses user-defined thresholds (default: ±2).
If enabled, the script plots buy/sell signal labels at those crossover points.
The candle color is updated using your selected mode (heatmap or signal-based).
If extreme Z-scores are reached, background highlighting is applied.
A live table updates with each individual Z-score so you know what’s driving the signal.
Features
This script isn’t just about stats—it’s about making them usable in real time. Every feature has a clear reason to exist, and they’re all there to give you a better read on market conditions.
1. Universal Z-Score Line
This is your primary reference. It reflects the average Z-score across all selected indicators. The line updates live and is color-coded to show how far it is from neutral. The further it gets from 0, the brighter the color becomes—cyan for deeply oversold conditions, magenta for overbought. This gives you instant feedback on how statistically “hot” or “cold” the market is, without needing to read any numbers.
2. Signal Labels (“𝓤𝓹” and “𝓓𝓸𝔀𝓷”)
When the average Z-score drops below your lower bound, you’ll see a "𝓤𝓹" label below the bar, suggesting potential bullish reversal conditions. When it rises above the upper bound, a "𝓓𝓸𝔀𝓷" label is shown above the bar—indicating possible bearish exhaustion. These labels are visually clear and minimal so they don’t clutter your chart. They're based on clear crossover logic and do not repaint.
3. Real-Time Z-Score Table
The table shows each indicator's individual Z-score and the final average. It updates every bar, giving you a transparent breakdown of what’s happening under the hood. If the market is showing an extreme average score, this table helps you pinpoint which indicators are contributing the most—so you’re not just guessing where the pressure is coming from.
4. Bar Coloring Modes
You can choose from three modes:
None: Keeps your candles clean and untouched.
Heat: Applies a smooth gradient color based on Z-score intensity. As conditions become more extreme, candle color transitions from neutral to either cyan (bullish pressure) or magenta (bearish pressure).
Latest Signal: Applies hard coloring based on the most recent signal—greenish for a buy, purple for a sell. This mode is great for tracking market state at a glance without relying on a gradient.
Every part of the candle is colored—body, wick, and border—for full visibility.
5. Background Highlighting
When zAvg enters an extreme zone (typically above +2 or below -2), the background shifts color to reflect the market’s intensity. These changes aren’t overwhelming—they’re light fills that act as ambient warnings, helping you stay aware of when price might be reaching a tipping point.
6. Customizable Zone Lines and Fills
You can define what counts as neutral, overbought, and oversold using manual inputs. Horizontal lines show your thresholds, and shaded regions highlight the most extreme zones (+2 to +3 and -2 to -3). These lines give you visual structure to understand where price currently stands in relation to your personal reversal model.
7. Modular Indicator Control
You don’t have to use all the indicators. You can enable or disable any of the 12 with a simple checkbox. This means you can build your own “blend” of market context—maybe you only care about RSI, price, and volume. Or maybe you want everything on. The script adapts accordingly, only averaging what you select.
8. Fully Customizable Sensitivity and Lengths
You can adjust the Z-score lookback length globally (default 100), and tweak individual indicator lengths separately. This lets you tune the indicator’s responsiveness to suit your trading style—slower for longer swings, faster for scalping.
9. Clean Integration with Any Chart Layout
All visual elements are designed to be informative without taking over your chart. The coloring is soft but clear, the labels are readable without being huge, and you can turn off any feature you don’t need. The indicator can work as a full dashboard or as a simple line with a couple of alerts—it’s up to you.
10. Precise, Real-Time Signal Logic
The crossover logic for signals is exact and only fires when the Z-score moves across your defined boundary. No estimation, no delay. Everything is calculated based on current and previous bar data, and nothing repaints or back-adjusts.
Conclusion
The Universal Z-Score Valuation indicator is a tool for traders who want a clear, unbiased way to detect overextension. Instead of relying on a single signal, you get a composite of several market perspectives—momentum, volatility, volume, and more—all standardized into a single view. The script gives you the freedom to control the logic, the visuals, and the components. Whether you use it as a confirmation tool or a primary signal source, it’s designed to give you clarity when markets become chaotic.
Disclaimer
This indicator is for research and educational use only. It does not constitute financial advice or guarantees of performance. All trading involves risk, and users should test any strategy thoroughly before applying it to live markets. Use this tool at your own discretion.
Momentum Trend Bands (MTB)📌 What Is the Momentum Trend Bands (MTB) Indicator?
The Momentum Trend Bands (MTB) is a custom-built trend detection indicator that blends momentum and volatility into a dynamic, visual system. Its core goal is to help traders identify the beginning and strength of a trend earlier than traditional tools like moving averages, while filtering out market noise.
🧠 What Is It Built On?
The indicator is built on two foundational concepts:
1. Rate of Change (ROC): This measures the speed at which the price is moving. We use a fast and a slow version of ROC and then calculate their difference. This difference gives us a momentum signal — it shows whether the price is gaining upward or downward strength.
2. Standard Deviation (Volatility): This shows how much the price fluctuates. By calculating it over a certain period, we can measure market noise and filter out weak, insignificant moves that might otherwise cause false signals.
Together, momentum shows direction, and volatility shows confidence.
🛠️ How Does It Work?
• The core of the indicator is a smoothed momentum signal, representing the net difference between fast and slow momentum.
• Around this signal, we build upper and lower bands — these are dynamic boundaries that expand or contract based on volatility.
• When the momentum breaks above or below these bands, it signals a strong directional move — suggesting the start or continuation of a trend.
The bands also serve a visual filter:
• If momentum stays within the bands, it implies the market is consolidating or ranging.
• When it exits the bands decisively, it implies strength in that direction.
📈 How to Use It?
1. Trend Entry:
o When the momentum signal rises above the upper band, it suggests a strong bullish trend may be starting.
o When the signal drops below the lower band, it indicates a bearish trend.
2. Stay Out of Chop:
o If the signal moves sideways within the bands, it’s best to avoid trading — the market is likely consolidating or ranging.
3. Visual Confirmation:
o The background color changes with the trend: green for bullish, red for bearish, gray for neutral. This makes it quick to read visually.
4. Signal Arrows:
o Small up or down arrows appear when trends begin, serving as early entry points.
⚙️ What Kind of Market Does It Work Best In?
• Trending Markets: MTB shines in markets with strong directional movement — whether up or down. It's designed to pick up momentum early and hold through trend continuation.
• Volatile Instruments: The built-in volatility filter helps in markets like crypto or commodities where price action is fast and erratic.
• Avoid Flat or Low-Volume Conditions: In sideways markets, MTB may stay gray or flip often — these are not ideal times to trade using this indicator alone.
💎 Why Is It Unique?
Unlike many indicators that react slowly (like moving averages) or trigger too often (like raw momentum), MTB balances early detection with reliability. Its unique combination of:
• ROC difference for directional intent,
• Smoothing for signal clarity,
• Bands scaled by volatility for robustness,
…makes it stand apart from commonly available indicators on platforms like TradingView.
DECODE Global Liquidity IndexDECODE Global Liquidity Index 🌊
The DECODE Global Liquidity Index is a powerful tool designed to track and aggregate global liquidity by combining data from the world's 13 largest economies. It offers a comprehensive view of financial liquidity, providing crucial insights into the underlying currents that can influence asset prices and market trends.
The economies covered are: United States, China, European Union, Japan, India, United Kingdom, Brazil, Canada, Russia, South Korea, Australia, Mexico, and Indonesia. The European Union accounts for major individual economies within the EU like Germany, France, Italy, Spain, Netherlands, Poland, etc.
Key Features:
1. Customizable Liquidity Sources
Include Global M2: You can opt to include the M2 money supply from the 13 listed economies. M2 is a broad measure of money supply that includes cash, checking deposits, savings deposits, money market securities, mutual funds, and other time deposits. (Note: Australia uses M3 as its primary measure, which is included when M2 is selected for Australia).
Include Central Bank Balance Sheets (CBBS): Alternatively, or in addition, you can include the total assets held by the central banks of these economies. Central bank balance sheets expand or contract based on monetary policy operations like quantitative easing (QE) or tightening (QT).
Combined View: If you select both M2 and CBBS, and data is available for both, the indicator will display an average of the two aggregated values. If only one source type is selected, or if data for one type is unavailable despite both being selected, the indicator will display the single available and selected component. This provides flexibility in how you define and analyze global liquidity.
2. Lead/Lag Analysis (Forward Projection):
Lead Offset (Days): This feature allows you to project the liquidity index forward by a specified number of days.
Why it's useful: Global liquidity changes can often be a leading indicator for various asset classes, particularly those sensitive to risk appetite, like Bitcoin or growth stocks. These assets might lag shifts in liquidity. By applying a lead (e.g., 90 days), you can shift the liquidity data forward on your chart to more easily visualize potential correlations and identify if current asset price movements might be responding to past changes in liquidity.
3. Rate of Change (RoC) Oscillator:
Year-over-Year % View: Instead of viewing aggregate liquidity, you can switch to a Year-over-Year (YoY%) Rate of Change (ROC) oscillator.
Why it's useful:
Momentum Identification: The ROC highlights the speed and direction of liquidity changes. Positive values indicate liquidity is increasing compared to a year ago, while negative values show it's decreasing.
Turning Points: Oscillators make it easier to spot potential accelerations, decelerations, or reversals in liquidity trends. A cross above the zero line can signal strengthening liquidity momentum, while a cross below can signal weakening momentum.
Cycle Analysis: It helps in assessing the cyclical nature of liquidity provision and its potential impact on market cycles.
This indicator aims to provide a clear, customizable, and insightful measure of global liquidity to aid traders and investors in their market analysis.
Dr Avinash Talele momentum indicaterTrend and Volatility Metrics
EMA10, EMA20, EMA50:
Show the percentage distance of the current price from the 10, 20, and 50-period Exponential Moving Averages.
Positive values indicate the price is above the moving average (bullish momentum).
Negative values indicate the price is below the moving average (bearish or corrective phase).
Use: Helps traders spot if a stock is extended or pulling back to support.
RVol (Relative Volume):
Compares current volume to the 20-day average.
Positive values mean higher-than-average trading activity (potential institutional interest).
Negative values mean lower activity (less conviction).
Use: High RVol often precedes strong moves.
ADR (Average Daily Range):
Shows the average daily price movement as a percentage.
Use: Higher ADR = more volatility = more trading opportunities.
50D Avg. Vol & 50D Avg. Vol ₹:
The 50-day average volume (in millions) and value traded (in crores).
Use: Confirms liquidity and suitability for larger trades.
ROC (Rate of Change) Section
1W, 1M, 3M, 6M, 12M:
Show the percentage price change over the last 1 week, 1 month, 3 months, 6 months, and 12 months.
Positive values (green) = uptrend, Negative values (red) = downtrend.
Use: Quickly see if the stock is gaining or losing momentum over different timeframes.
Momentum Section
1M, 3M, 6M:
Show the percentage gain from the lowest price in the last 1, 3, and 6 months.
Use: Measures how much the stock has bounced from recent lows, helping find strong rebounds or new leaders.
52-Week High/Low Section
From 52WH / From 52WL:
Show how far the current price is from its 52-week high and low, as a percentage.
Closer to 52WH = strong uptrend; Closer to 52WL = possible value or turnaround setup.
Use: Helps traders identify stocks breaking out to new highs or rebounding off lows.
U/D Ratio
U/D Ratio:
The ratio of up-volume to down-volume over the last 50 days.
Above 1 = more buying volume (bullish), Below 1 = more selling volume (bearish).
Use: Confirms accumulation or distribution.
How This Table Helps Analysts and Traders
Instant Trend Assessment:
With EMA distances and ROC, analysts can instantly see if the stock is trending, consolidating, or reversing.
Momentum Confirmation:
ROC and Momentum sections highlight stocks with strong recent moves, ideal for momentum and breakout traders.
Liquidity and Volatility Check:
Volume and ADR ensure the stock is tradable and has enough price movement to justify a trade.
Relative Positioning:
52-week high/low stats show whether the stock is near breakout levels or potential reversal zones.
Volume Confirmation:
RVol and U/D ratio help confirm if moves are backed by real buying/selling interest.
Actionable Insights:
By combining these metrics, traders can filter for stocks with strong trends, robust momentum, and institutional backing—ideal for swing, position, or even intraday trading.
ATR - Asymmetric Turbulence Ribbon🧭 Asymmetric Turbulence Ribbon (ATR)
The Asymmetric Turbulence Ribbon (ATR) is an enhanced and reimagined version of the standard Average True Range (ATR) indicator. It visualizes not just raw volatility, but the structure, momentum, and efficiency of volatility through a multi-layered visual approach.
It contains two distinct visual systems:
1. A zero-centered histogram that expresses how current volatility compares to its historical average, with intensity and color showing speed and conviction
2. A braided ribbon made of dual ATR-based moving averages that highlight transitions in volatility behavior—whether volatility is expanding or contracting
The name reflects its purpose: to capture asymmetric, evolving turbulence in market behavior, through structure-aware volatility tracking.
_______________________________________________________________
🔧 Inputs (Fibonacci defaults)
ATR Length
Lookback period for ATR calculation (default: 13)
ATR Base Avg. Length
Moving average period used as the zero baseline for histogram (default: 55)
ATR ROC Lookback
Number of bars to measure rate of change for histogram color mapping (default: 8)
Timeframe Override
Optionally calculate ATR values from a higher or fixed timeframe (e.g., 1D) for macro-volatility overlay
Show Ribbon Fill
Toggles colored fill between ATR EMA and HMA lines
Show ATR MAs
Toggles visibility of ATR EMA and HMA lines
Show Crossover Markers
Shows directional triangle markers where ATR EMA and HMA cross
Show Histogram
Toggles the entire histogram display
_______________________________________________________________
📊 Histogram Component: Volatility Energy Profile
The histogram shows how far the current ATR is from its moving average baseline, centered around zero. This lets you interpret volatility pressure—whether it's expanding, contracting, or preparing to reverse.
To complement this, the indicator also plots the raw ATR line in aqua. This is the actual average true range value—used internally in both the histogram and ribbon calculations. By default, it appears as a slightly thicker line, providing a clear reference point for comparing historical volatility trends and absolute levels.
Use the baseline ATR to:
- Compare real-time volatility to previous peaks or troughs
- Monitor how ATR behaves near histogram flips or ribbon crossovers
- Evaluate volatility phases in absolute terms alongside relative momentum
The ATR line is particularly helpful for users who want to keep tabs on raw volatility values while still benefiting from the enhanced visual storytelling of the histogram and ribbon systems.
Each histogram bar is colored based on the rate of change (ROC) in ATR: The faster ATR rises or falls, the more intense the color. Meanwhile, the opacity of each bar is adjusted by the effort/result ratio of the price candle (body vs. range), showing how much price movement was achieved with conviction.
Color Interpretation:
🔴 Red
Strong volatility expansion
Market entering or deepening into a volatility burst
Seen during breakouts, panic moves, or macro shock events
Often accompanied by large real candle bodies
🟠 Orange
Moderate volatility expansion
Heating up phase, often precedes breakouts
Common in strong trending environments
Signals tightening before acceleration
🟡 Yellow
Mild volatility increase
Transitional state—energy building, not yet exploding
Appears in early trend development or pullbacks
🟢 Green
Mild volatility contraction
ATR cooling off
Seen during consolidation, reversion, or range balance
Good time to assess upcoming directional setups
🔵 Aqua
Moderate compression
Volatility is clearly declining
Signals consolidation within larger structure
Pre-breakout zones often form here
🔵 Deep Blue
Strong volatility compression
Market is coiling or dormant
Can signal upcoming squeeze or fade environment
Often followed by sharp expansion
Opacity scaling:
Brighter bars = efficient, directional price action (strong bodies)
Faded bars = indecision, chop, absorption, or wick-heavy structure
Together, color and opacity give a 2D view of market volatility: Hue = the type and direction of volatility
Opacity = the quality and structure behind it
Use this to gauge whether volatility is rising with conviction, fading into neutrality, or compressing toward breakout potential.
_______________________________________________________________
🪡 Ribbon Component: Volatility Rhythm Structure
The ribbon overlays two moving averages of ATR:
EMA (yellow) – faster, more reactive
HMA (orange) – smoother, more rhythmic
Their relationship creates the ribbon logic:
Yellow fill (EMA > HMA)
Short-term volatility is increasing faster than the longer-term rhythm
Signals active expansion and engagement
Orange fill (HMA > EMA)
Volatility is decaying or leveling off
Suggests possible exhaustion, pullback, or range
Crossover triangle markers (optional, off by default to avoid clutter) identify the moment of shift in volatility phase.
The ribbon reflects the shape of volatility over time—ideal for mapping cyclical energy shifts, transitional states, and alignment between current and average volatility.
_______________________________________________________________
📐 Strategy Application
Use the Asymmetric Turbulence Ribbon to:
- Detect volatility expansions before breakouts or directional runs
- Spot compression zones that precede structural ruptures
- Visually separate efficient moves from noisy market activity
- Confirm or fade trade setups based on underlying energy state
- Track the volatility environment across multiple timeframes using the override
_______________________________________________________________
🎯 Ideal Timeframes
Designed to function across all timeframes, but particularly powerful on intraday to daily ranges (1H to 1D)
Use the timeframe override to anchor your chart in higher-timeframe volatility context, like daily ATR behavior influencing a 1H setup.
_______________________________________________________________
🧬 Customization Tips
- Increase ATR ROC Lookback for smoother color transitions
- Extend ATR Base Avg Length for more macro-driven histogram centering
- Disable the histogram for ribbon-only rhythm view
- Use opacity and color shifts in the histogram to detect stealth energy builds
- Align ATR phases with structure or order flow tools for high-quality setups
Global Liquidity Index with Editable DEMA + 107 Day OffsetGlobal Liquidity DEMA (107-Day Lead)
This indicator visualizes a smoothed version of global central bank liquidity with a forward time shift of 107 days. The concept is based on the macroeconomic observation that markets tend to lag changes in global liquidity — particularly from central banks like the Federal Reserve, ECB, BOJ, and PBOC.
The script uses a Double Exponential Moving Average (DEMA) to smooth the combined balance sheets and money supply inputs. It then offsets the result into the future by 107 days, allowing you to visually align liquidity trends with delayed market reactions. A second plot (ROC SMA) is included to help identify liquidity momentum shifts.
🔍 How to Use:
Add this indicator to any chart (S&P 500, BTC, Gold, etc.)
Compare price action to the forward-shifted liquidity trend
Look for divergence, confirmation, or crossovers with price
Use as a macro timing tool for long-term entries/exits
📌 Included Features:
Editable DEMA smoothing length
ROC + SMA overlay for momentum signals
Fixed 107-day forward projection
Includes main DEMA and ROC SMA both real-time and shifted
Master Global Liquidity Shifted 75 DaysThe Global Liquidity Index is a Pine Script (version 5) technical indicator designed to measure and visualize global financial liquidity by aggregating data from various central bank balance sheets and money supply metrics. The indicator is plotted as an overlay on the price chart using the left scale, with the entire line shifted left by 75 days.
Key features:
Data Sources: Incorporates balance sheet data from major central banks including the Federal Reserve (FED), European Central Bank (ECB), People's Bank of China (PBC), Bank of Japan (BOJ), and other central banks, along with optional M2 money supply data from various countries.
Components: Includes options to toggle specific liquidity factors such as FED balance sheet, Treasury General Account (TGA), Reverse Repurchase Agreements (RRP), and regional M2 money supplies, all converted to USD.
75-Day Shift: The indicator's output is shifted left by 75 days on the chart, aligning historical liquidity data with earlier price action, with this shift period adjustable via the "Shift Days Left" input.
Calculations:
Computes a total liquidity value by summing enabled central bank and M2 data (adjusted for RRP and TGA as drains)
Scales the total by dividing by 1 trillion (10^12)
Applies a Simple Moving Average (SMA) and Rate of Change (ROC) with user-defined periods
Final output is either the SMA of ROC or SMA alone, depending on ROC length
Visualization: Plots the shifted result as a yellow line with a linewidth of 2.