Footprint-Style Order Flow by Kalibea📊 Indicator: "Footprint-Style Order Flow by Kalibea"
Simplified Order Flow Analysis for TradingView
This indicator was created by Kalibea to bring you the power of Order Flow analysis in a clear, practical way—without technical complexity and fully compatible with TradingView.
While TradingView doesn’t support traditional footprint charts, this tool simulates institutional market reading using a smart calculation of estimated volume delta, helping you make more informed trading decisions.
🔍 What does this indicator do?
Estimated Delta: Calculates the difference between buying and selling pressure per candle, based on price movement and volume.
Smart Visual Signals:
🔼 Green Triangle: Potential buy entry (buyer dominance).
🔽 Red Triangle: Potential sell entry (seller dominance).
Delta Histogram: Displays whether each candle was driven more by buyers or sellers.
Live Labels: Shows real-time delta values above each candle for quick interpretation.
🧠 How does it help your trading?
Detects real-time market imbalances (who's in control: buyers or sellers).
Improves entry and exit timing, especially on lower timeframes.
Helps you confirm other strategies such as supply/demand zones, support/resistance, or candlestick patterns.
Provides an institutional-style reading simplified for use within TradingView.
⚙️ Fully Customizable to Your Style
Adjust the delta sensitivity to suit any market: Forex, Crypto, Indices, and more.
Turn on/off visual signals and histogram as needed.
🔑 Recommended by Kalibea for:
✅ Intraday traders and scalpers
✅ Traders looking to take the next step into institutional-style analysis
✅ Those seeking precise entries without overcomplicating their charts
💬 “Order Flow is the market’s internal voice. This indicator helps you hear it—no expensive footprint software required.”
— Kalibea
In den Scripts nach "histogram" suchen
Stochastic Z-Score [AlgoAlpha]🟠 OVERVIEW
This indicator is a custom-built oscillator called the Stochastic Z-Score , which blends a volatility-normalized Z-Score with stochastic principles and smooths it using a Hull Moving Average (HMA). It transforms raw price deviations into a normalized momentum structure, then processes that through a stochastic function to better identify extreme moves. A secondary long-term momentum component is also included using an ALMA smoother. The result is a responsive oscillator that reacts to sharp imbalances while remaining stable in sideways conditions. Colored histograms, dynamic oscillator bands, and reversal labels help users visually assess shifts in momentum and identify potential turning points.
🟠 CONCEPTS
The Z-Score is calculated by comparing price to its mean and dividing by its standard deviation—this normalizes movement and highlights how far current price has stretched from typical values. This Z-Score is then passed through a stochastic function, which further refines the signal into a bounded range for easier interpretation. To reduce noise, a Hull Moving Average is applied. A separate long-term trend filter based on the ALMA of the Z-Score helps determine broader context, filtering out short-term traps. Zones are mapped with thresholds at ±2 and ±2.5 to distinguish regular momentum from extreme exhaustion. The tool is built to adapt across timeframes and assets.
🟠 FEATURES
Z-Score histogram with gradient color to visualize deviation intensity (optional toggle).
Primary oscillator line (smoothed stochastic Z-Score) with adaptive coloring based on momentum direction.
Dynamic bands at ±2 and ±2.5 to represent regular vs extreme momentum zones.
Long-term momentum line (ALMA) with contextual coloring to separate trend phases.
Automatic reversal markers when short-term crosses occur at extremes with supporting long-term momentum.
Built-in alerts for oscillator direction changes, zero-line crosses, overbought/oversold entries, and trend confirmation.
🟠 USAGE
Use this script to track momentum shifts and identify potential reversal areas. When the oscillator is rising and crosses above the previous value—especially from deeply negative zones (below -2)—and the ALMA is also above zero, this suggests bullish reversal conditions. The opposite holds for bearish setups. Reversal labels ("▲" and "▼") appear only when both short- and long-term conditions align. The ±2 and ±2.5 thresholds act as momentum warning zones; values inside are typical trends, while those beyond suggest exhaustion or extremes. Adjust the length input to match the asset’s volatility. Enable the histogram to explore underlying raw Z-Score movements. Alerts can be configured to notify key changes in momentum or zone entries.
Volume-Time Imbalance (VTI)Volume-Time Imbalance (VTI) – Indicator Description
This indicator measures the imbalance between traded volume and the time elapsed between bars to identify unusual spikes in volume per second (volume per unit of time). Its purpose is to highlight volume movements that may indicate moments of strong interest, acceleration, or reversal in the market.
How it works:
It calculates the traded volume divided by the time (in seconds) elapsed since the previous bar — thus obtaining the volume per second.
An EMA (exponential moving average) of this volume per second is calculated to smooth the data.
The VTI value is the ratio between the current volume per second and this moving average, showing if the current volume is above what is expected for that pace.
The higher the VTI, the greater the imbalance between volume and time, indicating possible bursts of activity.
Settings:
VTI Moving Average Length: The period of the moving average used to smooth the volume per second (default is 20).
Alert Thresholds: Alert levels to identify moderate and high imbalances (defaults are 1.5 and 2.0).
Show VTI Histogram: Displays the VTI histogram in the indicator window.
Color Background: Colors the indicator background based on the strength of the imbalance (orange for moderate, red for high).
Show Alert Arrows: Shows arrows below the chart when a strong volume spike occurs (high alert).
Interpretation:
VTI values above the moderate level (1.5) indicate an unusual increase in volume relative to time.
Values above the high level (2.0) signal strong spikes that may anticipate significant moves or trend changes.
Use the colors and arrows as visual confirmations to quickly identify these moments.
Enhanced Stock Ticker with 50MA vs 200MADescription
The Enhanced Stock Ticker with 50MA vs 200MA is a versatile Pine Script indicator designed to visualize the relative position of a stock's price within its short-term and long-term price ranges, providing actionable bullish and bearish signals. By calculating normalized indices based on user-defined lookback periods (defaulting to 50 and 200 bars), this indicator helps traders identify potential reversals or trend continuations. It offers the flexibility to plot signals either on the main price chart or in a separate lower pane, leveraging Pine Script v6's force_overlay functionality for seamless integration. The indicator also includes a customizable ticker table, visual fills, and alert conditions for automated trading setups.
Key Features
Dual Lookback Indices: Computes short-term (default: 50 bars) and long-term (default: 200 bars) indices, normalizing the closing price relative to the high/low range over the specified periods.
Flexible Signal Plotting: Users can toggle between plotting crossover signals (triangles) on the main price chart (location.abovebar/belowbar) or in the lower pane (location.top/bottom) using the Plot Signals on Main Chart option.
Crossover Signals: Generates bullish (Golden Cross) and bearish (Death Cross) signals when the short or long index crosses above 5 or below 95, respectively.
Visual Enhancements:
Plots short-term (blue) and long-term (white) indices in a separate pane with customizable lookback periods.
Includes horizontal reference lines at 0, 20, 50, 80, and 100, with green and red fills to highlight overbought/oversold zones.
Dynamic fill between indices (green when short > long, red when long > short) for quick trend visualization.
Displays a ticker and legend table in the top-right corner, showing the symbol and lookback periods.
Alert Conditions: Supports alerts for bullish and bearish crossovers on both short and long indices, enabling integration with TradingView's alert system.
Technical Innovation: Utilizes Pine Script v6's force_overlay parameter to plot signals on the main chart from a non-overlay indicator, combining the benefits of a separate pane and chart-based signals in a single script.
Technical Details
Calculation Logic:
Uses confirmed bars (barstate.isconfirmed) to calculate indices, ensuring reliability by avoiding real-time bar fluctuations.
Short-term index: (close - lowest(low, lookback_short)) / (highest(high, lookback_short) - lowest(low, lookback_short)) * 100
Long-term index: (close - lowest(low, lookback_long)) / (highest(high, lookback_long) - lowest(low, lookback_long)) * 100
Signals are triggered using ta.crossover() and ta.crossunder() for indices crossing 5 (bullish) and 95 (bearish).
Signal Plotting:
Main chart signals use force_overlay=true with location.abovebar/belowbar for precise alignment with price bars.
Lower pane signals use location.top/bottom for visibility within the indicator pane.
Plotting is controlled by boolean conditions (e.g., bullishLong and plot_on_chart) to ensure compliance with Pine Script's global scope requirements.
Performance Considerations: Optimized for efficiency by calculating indices only on confirmed bars and using lightweight plotting functions.
How to Use
Add to Chart:
Copy the script into TradingView's Pine Editor and add it to your chart.
Configure Settings:
Short Lookback Period: Adjust the short-term lookback (default: 50 bars) to match your trading style (e.g., 20 for shorter-term analysis).
Long Lookback Period: Adjust the long-term lookback (default: 200 bars) for broader market context.
Plot Signals on Main Chart: Check this box to display signals on the price chart; uncheck to show signals in the lower pane.
Interpret Signals:
Golden Cross (Bullish): Green (long) or blue (short) triangles indicate the index crossing above 5, suggesting a potential buying opportunity.
Death Cross (Bearish): Red (long) or white (short) triangles indicate the index crossing below 95, signaling a potential selling opportunity.
Set Alerts:
Use TradingView's alert system to create notifications for the four alert conditions: Long Index Valley, Long Index Peak, Short Index Valley, and Short Index Peak.
Customize Visuals:
The ticker table displays the symbol and lookback periods in the top-right corner.
Adjust colors and styles via TradingView's settings if desired.
Example Use Cases
Swing Trading: Use the short-term index (e.g., 50 bars) to identify short-term reversals within a broader trend defined by the long-term index.
Trend Confirmation: Monitor the fill between indices to confirm whether the short-term trend aligns with the long-term trend.
Automated Trading: Leverage alert conditions to integrate with bots or manual trading strategies.
Notes
Testing: Always backtest the indicator on your chosen market and timeframe to validate its effectiveness.
Optional Histogram: The script includes a commented-out histogram for the index difference (index_short - index_long). Uncomment the plot(index_diff, ...) line to enable it.
Compatibility: Built for Pine Script v6 and tested on TradingView as of May 27, 2025.
Acknowledgments
This indicator was inspired by the need for a flexible tool that combines lower-pane analysis with main chart signals, made possible by Pine Script's force_overlay feature. Share your feedback or suggestions in the comments below, and happy trading!
Scalper's Fractal Cloud with RSI + VWAP + MACD (Fixed)Scalper’s Fractal Confluence Dashboard
1. Purpose of the Indicator
This TradingView indicator script provides a high-confluence setup for scalping and day trading. It blends momentum indicators (RSI, MACD), trend bias tools (EMA Cloud, VWAP), and structure (fractal swings, gap zones) to help confirm precise entries and exits.
2. Components of the Indicator
- EMA Cloud (50 & 200 EMA): Trend bias – green means bullish, red means bearish. Avoid longs under red cloud.
- VWAP: Institutional volume anchor. Ideal entries are pullbacks to VWAP in direction of trend.
- Gap Zones: Shows open-air zones (white space) where price can move fast. Used to anticipate momentum moves.
- ZigZag Swings: Marks structural pivots (highs/lows) – useful for stop placement and range anticipation.
- MACD Histogram: Shows bullish or bearish momentum via background color.
- RSI: Overbought (>70) or oversold (<30) warnings. Good for exits or countertrend reversion plays.
- EMA Spread Label: Quick view of momentum strength. Wide spread = strong trend.
3. Scalping Entry Checklist
Before entering a trade, confirm these conditions:
• • Bias: EMA cloud color supports trade direction
• • Price is above/below VWAP (confirming institutional flow)
• • MACD histogram matches direction (green for long, red for short)
• • RSI not at extreme (unless you’re fading trend)
• • If entering gap zone, expect fast move
• • Recent swing high/low nearby for target or stop
4. Risk & Sizing Guidelines
Risk 1–2% of account per trade. Place stop below recent swing low (for longs) or high (for shorts). Use fractional sizing near VWAP or white space zones for scalping reversals.
5. Daily Trade Journal Template
- Date:
- Ticker:
- Setup Type (VWAP pullback, Gap Break, EMA reversion):
- Entry Time:
- Bias (Green/Red Cloud):
- RSI Level / MACD Reading:
- Stop Loss:
- Target:
- Result (P/L):
- What I Did Well:
- What Needs Work:
Advanced Candlestick Pattern DetectorWhat Does This Indicator Do?
This indicator looks at the way price moves in the market using candlesticks (those red and green bars you see on charts). It tries to find special patterns like Bullish Engulfing, Hammer, Doji, and others. When one of these patterns shows up, the indicator checks a bunch of filters to decide if the pattern is strong enough to be a signal to buy or sell.
The Main Parts of the Indicator
1. Candlestick Pattern Detection
Bullish Engulfing:
Imagine you see a small down candle (red) and then a big up candle (green) that completely “covers” the red one. That’s a bullish engulfing pattern. It can signal that buyers are taking over.
Bearish Engulfing:
The opposite of bullish engulfing. A small up candle (green) is followed by a big down candle (red) that covers the previous candle. This suggests sellers might be in control.
Hammer & Shooting Star:
Hammer: A candle with a very short body and a long shadow at the bottom. It shows that buyers stepped in after a drop.
Shooting Star:
Similar to the hammer but with a long shadow on top. It can indicate that sellers are starting to push the price down.
Doji:
A candle with almost no body. This means the opening and closing prices are very close. It shows indecision in the market.
Harami Patterns (Bullish & Bearish):
These are two-candle patterns where the second candle is completely inside the body of the first candle. They signal that the previous trend might be about to change.
Morning Star & Evening Star:
These are three-candle patterns.
Morning Star:
Often seen at the bottom of a downtrend, it can signal a reversal to an uptrend.
Evening Star:
Seen at the top of an uptrend, it can signal that the price may soon go down.
2. Filters: Making the Signals Smarter
The indicator doesn’t just rely on patterns. It uses several “filters” to decide if a pattern is strong enough to trade on. Here’s what each filter does:
a. Adaptive Thresholds (ATR-Based)
What It Is:
The indicator uses something called ATR (Average True Range) to see how much the price is moving (volatility).
How It Works:
Instead of using fixed numbers to decide if a candle is a Hammer or a Doji, it adjusts these numbers based on current market activity.
User Settings:
Use Adaptive Thresholds: Turn this on to let the indicator adjust automatically.
Body Factor, Shadow Factor, Doji Factor: These numbers are multipliers that decide how small or big the body and shadows of the candle should be. You can change them if you want the indicator to be more or less sensitive.
b. Volume Filter
What It Is:
Volume shows how many trades are happening.
How It Works:
The filter checks if the current volume is higher than the average volume (multiplied by a set factor). This helps ensure that the signal isn’t coming from a very quiet market.
User Settings:
Use Volume Filter: Turn this on if you want to ignore signals when there’s not much trading.
Volume MA Period & Volume Multiplier: These settings determine what “normal” volume is and how much higher the current volume must be to count.
c. Multi-Timeframe Trend Filter
What It Is:
This filter looks at a bigger picture by using a moving average (MA) from a higher timeframe (for example, daily charts).
How It Works:
For a bullish (buy) signal, the indicator checks if the price is above this MA.
For a bearish (sell) signal, the price must be below the MA.
User Settings:
Use Multi-Timeframe Trend Filter: Enable or disable this filter.
Higher Timeframe for Trend: Choose which timeframe (like Daily) to use.
Trend MA Type (SMA or EMA) & Trend MA Period: Choose the type of moving average and how many candles to average.
d. Additional Trend Filters (ADX & RSI)
ADX Filter:
What It Is:
ADX stands for Average Directional Index. It measures how strong a trend is.
How It Works:
If the ADX is above a certain threshold, it means the trend is strong.
User Setting:
ADX Threshold: Set the minimum strength the trend should have.
RSI Filter:
What It Is:
RSI (Relative Strength Index) tells you if the price is overbought (too high) or oversold (too low).
How It Works:
For a buy signal, RSI should be low (under a set threshold).
For a sell signal, RSI should be high (above a set threshold).
User Settings:
RSI Buy Threshold & RSI Sell Threshold: These set the levels for buying or selling.
3. How the Final Signal Is Determined
For a signal (buy or sell) to be generated, the indicator first checks if one of the candlestick patterns is present. Then it goes through all these filters (trend, volume, ADX, RSI). Only if everything is in line will it show:
A BUY signal when all bullish conditions are met.
A SELL signal when all bearish conditions are met.
4. Visual Elements on the Chart
Trend MA Line:
A blue line is drawn on your chart showing the moving average from the higher timeframe (if you enable the trend filter). This helps you see the overall direction of the market.
Labels on the Chart:
When a signal is detected, you’ll see:
A BUY label below the candle (green).
A SELL label above the candle (red).
Background Colors:
The chart background might change slightly (green for bullish and red for bearish) to give you a quick visual cue.
Histogram:
At the bottom, there is a histogram that shows +1 for bullish signals, -1 for bearish signals, and 0 when there’s no clear signal.
5. Alerts
Alerts are built into the indicator so you can get a notification when a signal appears. The alert messages are fixed strings, meaning they always say something like “BUY signal on at price .” You can set up these alerts in TradingView to be notified via sound, email, or pop-up.
How to Use and Adjust the Filters
Deciding on Patterns:
You can choose which candlestick patterns you want to detect by toggling the options (e.g., Bullish Engulfing, Hammer, etc.).
Adjusting Adaptive Thresholds:
If you feel that the indicator is too sensitive (or not sensitive enough) during volatile times, adjust the Body Factor, Shadow Factor, and Doji Factor. These change how the indicator recognizes different candle shapes based on market movement.
Volume Filter Settings:
Use Volume Filter:
Turn this on if you want to ignore signals when there’s not enough trading activity.
Adjust the Volume MA Period and Volume Multiplier to change what “normal” volume is for your chart.
Multi-Timeframe Trend Filter Settings:
Choose a higher timeframe (like Daily) to see the bigger picture trend. Select the type of moving average (SMA or EMA) and its period. This filter ensures you only trade in the direction of the overall trend.
ADX & RSI Filters:
ADX:
Adjust the ADX Threshold if you want to change the minimum strength of the trend needed for a signal.
RSI:
Set the RSI Buy Threshold (for oversold conditions) and RSI Sell Threshold (for overbought conditions) to refine when a signal is valid.
Summary
This indicator is like having a smart assistant that not only looks for specific price patterns (candlesticks) but also checks if the overall market conditions are right using several filters. By combining:
Pattern Detection
Adaptive thresholds (based on ATR)
Volume Checks
Multi-Timeframe Trend Analysis
Additional Trend Strength and Overbought/Oversold Indicators (ADX & RSI)
...it helps you decide if it might be a good time to buy or sell. You can customize each part to fit your trading style, and with the built-in alerts, you can be notified when everything lines up.
Feel free to adjust the settings to see how each filter changes the signals on your chart. Experimenting with these will help you learn how the market behaves and how you can best use the indicator for your own strategy!
Accurate Bollinger Bands mcbw_ [True Volatility Distribution]The Bollinger Bands have become a very important technical tool for discretionary and algorithmic traders alike over the last decades. It was designed to give traders an edge on the markets by setting probabilistic values to different levels of volatility. However, some of the assumptions that go into its calculations make it unusable for traders who want to get a correct understanding of the volatility that the bands are trying to be used for. Let's go through what the Bollinger Bands are said to show, how their calculations work, the problems in the calculations, and how the current indicator I am presenting today fixes these.
--> If you just want to know how the settings work then skip straight to the end or click on the little (i) symbol next to the values in the indicator settings window when its on your chart <--
--------------------------- What Are Bollinger Bands ---------------------------
The Bollinger Bands were formed in the 1980's, a time when many retail traders interacted with their symbols via physically printed charts and computer memory for personal computer memory was measured in Kb (about a factor of 1 million smaller than today). Bollinger Bands are designed to help a trader or algorithm see the likelihood of price expanding outside of its typical range, the further the lines are from the current price implies the less often they will get hit. With a hands on understanding many strategies use these levels for designated levels of breakout trades or to assist in defining price ranges.
--------------------------- How Bollinger Bands Work ---------------------------
The calculations that go into Bollinger Bands are rather simple. There is a moving average that centers the indicator and an equidistant top band and bottom band are drawn at a fixed width away. The moving average is just a typical moving average (or common variant) that tracks the price action, while the distance to the top and bottom bands is a direct function of recent price volatility. The way that the distance to the bands is calculated is inspired by formulas from statistics. The standard deviation is taken from the candles that go into the moving average and then this is multiplied by a user defined value to set the bands position, I will call this value 'the multiple'. When discussing Bollinger Bands, that trading community at large normally discusses 'the multiple' as a multiplier of the standard deviation as it applies to a normal distribution (gaußian probability). On a normal distribution the number of standard deviations away (which trades directly use as 'the multiple') you are directly corresponds to how likely/unlikely something is to happen:
1 standard deviation equals 68.3%, meaning that the price should stay inside the 1 standard deviation 68.3% of the time and be outside of it 31.7% of the time;
2 standard deviation equals 95.5%, meaning that the price should stay inside the 2 standard deviation 95.5% of the time and be outside of it 4.5% of the time;
3 standard deviation equals 99.7%, meaning that the price should stay inside the 3 standard deviation 99.7% of the time and be outside of it 0.3% of the time.
Therefore when traders set 'the multiple' to 2, they interpret this as meaning that price will not reach there 95.5% of the time.
---------------- The Problem With The Math of Bollinger Bands ----------------
In and of themselves the Bollinger Bands are a great tool, but they have become misconstrued with some incorrect sense of statistical meaning, when they should really just be taken at face value without any further interpretation or implication.
In order to explain this it is going to get a bit technical so I will give a little math background and try to simplify things. First let's review some statistics topics (distributions, percentiles, standard deviations) and then with that understanding explore the incorrect logic of how Bollinger Bands have been interpreted/employed.
---------------- Quick Stats Review ----------------
.
(If you are comfortable with statistics feel free to skip ahead to the next section)
.
-------- I: Probability distributions --------
When you have a lot of data it is helpful to see how many times different results appear in your dataset. To visualize this people use "histograms", which just shows how many times each element appears in the dataset by stacking each of the same elements on top of each other to form a graph. You may be familiar with the bell curve (also called the "normal distribution", which we will be calling it by). The normal distribution histogram looks like a big hump around zero and then drops off super quickly the further you get from it. This shape (the bell curve) is very nice because it has a lot of very nifty mathematical properties and seems to show up in nature all the time. Since it pops up in so many places, society has developed many different shortcuts related to it that speed up all kinds of calculations, including the shortcut that 1 standard deviation = 68.3%, 2 standard deviations = 95.5%, and 3 standard deviations = 99.7% (these only apply to the normal distribution). Despite how handy the normal distribution is and all the shortcuts we have for it are, and how much it shows up in the natural world, there is nothing that forces your specific dataset to look like it. In fact, your data can actually have any possible shape. As we will explore later, economic and financial datasets *rarely* follow the normal distribution.
-------- II: Percentiles --------
After you have made the histogram of your dataset you have built the "probability distribution" of your own dataset that is specific to all the data you have collected. There is a whole complicated framework for how to accurately calculate percentiles but we will dramatically simplify it for our use. The 'percentile' in our case is just the number of data points we are away from the "middle" of the data set (normally just 0). Lets say I took the difference of the daily close of a symbol for the last two weeks, green candles would be positive and red would be negative. In this example my dataset of day by day closing price difference is:
week 1:
week 2:
sorting all of these value into a single dataset I have:
I can separate the positive and negative returns and explore their distributions separately:
negative return distribution =
positive return distribution =
Taking the 25th% percentile of these would just be taking the value that is 25% towards the end of the end of these returns. Or akin the 100%th percentile would just be taking the vale that is 100% at the end of those:
negative return distribution (50%) = -5
positive return distribution (50%) = +4
negative return distribution (100%) = -10
positive return distribution (100%) = +20
Or instead of separating the positive and negative returns we can also look at all of the differences in the daily close as just pure price movement and not account for the direction, in this case we would pool all of the data together by ignoring the negative signs of the negative reruns
combined return distribution =
In this case the 50%th and 100%th percentile of the combined return distribution would be:
combined return distribution (50%) = 4
combined return distribution (100%) = 10
Sometimes taking the positive and negative distributions separately is better than pooling them into a combined distribution for some purposes. Other times the combined distribution is better.
Most financial data has very different distributions for negative returns and positive returns. This is encapsulated in sayings like "Price takes the stairs up and the elevator down".
-------- III: Standard Deviation --------
The formula for the standard deviation (refereed to here by its shorthand 'STDEV') can be intimidating, but going through each of its elements will illuminate what it does. The formula for STDEV is equal to:
square root ( (sum ) / N )
Going back the the dataset that you might have, the variables in the formula above are:
'mean' is the average of your entire dataset
'x' is just representative of a single point in your dataset (one point at a time)
'N' is the total number of things in your dataset.
Going back to the STDEV formula above we can see how each part of it works. Starting with the '(x - mean)' part. What this does is it takes every single point of the dataset and measure how far away it is from the mean of the entire dataset. Taking this value to the power of two: '(x - mean) ^ 2', means that points that are very far away from the dataset mean get 'penalized' twice as much. Points that are very close to the dataset mean are not impacted as much. In practice, this would mean that if your dataset had a bunch of values that were in a wide range but always stayed in that range, this value ('(x - mean) ^ 2') would end up being small. On the other hand, if your dataset was full of the exact same number, but had a couple outliers very far away, this would have a much larger value since the square par of '(x - mean) ^ 2' make them grow massive. Now including the sum part of 'sum ', this just adds up all the of the squared distanced from the dataset mean. Then this is divided by the number of values in the dataset ('N'), and then the square root of that value is taken.
There is nothing inherently special or definitive about the STDEV formula, it is just a tool with extremely widespread use and adoption. As we saw here, all the STDEV formula is really doing is measuring the intensity of the outliers.
--------------------------- Flaws of Bollinger Bands ---------------------------
The largest problem with Bollinger Bands is the assumption that price has a normal distribution. This is assumption is massively incorrect for many reasons that I will try to encapsulate into two points:
Price return do not follow a normal distribution, every single symbol on every single timeframe has is own unique distribution that is specific to only itself. Therefore all the tools, shortcuts, and ideas that we use for normal distributions do not apply to price returns, and since they do not apply here they should not be used. A more general approach is needed that allows each specific symbol on every specific timeframe to be treated uniquely.
The distributions of price returns on the positive and negative side are almost never the same. A more general approach is needed that allows positive and negative returns to be calculated separately.
In addition to the issues of the normal distribution assumption, the standard deviation formula (as shown above in the quick stats review) is essentially just a tame measurement of outliers (a more aggressive form of outlier measurement might be taking the differences to the power of 3 rather than 2). Despite this being a bit of a philosophical question, does the measurement of outlier intensity as defined by the STDEV formula really measure what we want to know as traders when we're experiencing volatility? Or would adjustments to that formula better reflect what we *experience* as volatility when we are actively trading? This is an open ended question that I will leave here, but I wanted to pose this question because it is a key part of what how the Bollinger Bands work that we all assume as a given.
Circling back on the normal distribution assumption, the standard deviation formula used in the calculation of the bands only encompasses the deviation of the candles that go into the moving average and have no knowledge of the historical price action. Therefore the level of the bands may not really reflect how the price action behaves over a longer period of time.
------------ Delivering Factually Accurate Data That Traders Need------------
In light of the problems identified above, this indicator fixes all of these issue and delivers statistically correct information that discretionary and algorithmic traders can use, with truly accurate probabilities. It takes the price action of the last 2,000 candles and builds a huge dataset of distributions that you can directly select your percentiles from. It also allows you to have the positive and negative distributions calculated separately, or if you would like, you can pool all of them together in a combined distribution. In addition to this, there is a wide selection of moving averages directly available in the indicator to choose from.
Hedge funds, quant shops, algo prop firms, and advanced mechanical groups all employ the true return distributions in their work. Now you have access to the same type of data with this indicator, wherein it's doing all the lifting for you.
------------------------------ Indicator Settings ------------------------------
.
---- Moving average ----
Select the type of moving average you would like and its length
---- Bands ----
The percentiles that you enter here will be pulled directly from the return distribution of the last 2,000 candles. With the typical Bollinger Bands, traders would select 2 standard deviations and incorrectly think that the levels it highlights are the 95.5% levels. Now, if you want the true 95.5% level, you can just enter 95.5 into the percentile value here. Each of the three available bands takes the true percentile you enter here.
---- Separate Positive & Negative Distributions----
If this box is checked the positive and negative distributions are treated indecently, completely separate from each other. You will see that the width of the top and bottom bands will be different for each of the percentiles you enter.
If this box is unchecked then all the negative and positive distributions are pooled together. You will notice that the width of the top and bottom bands will be the exact same.
---- Distribution Size ----
This is the number of candles that the price return is calculated over. EG: to collect the price return over the last 33 candles, the difference of price from now to 33 candles ago is calculated for the last 2,000 candles, to build a return distribution of 2000 points of price differences over 33 candles.
NEGATIVE NUMBERS(<0) == exact number of candles to include;
EG: setting this value to -20 will always collect volatility distributions of 20 candles
POSITIVE NUMBERS(>0) == number of candles to include as a multiple of the Moving Average Length value set above;
EG: if the Moving Average Length value is set to 22, setting this value to 2 will use the last 22*2 = 44 candles for the collection of volatility distributions
MORE candles being include will generally make the bands WIDER and their size will change SLOWER over time.
I wish you focus, dedication, and earnest success on your journey.
Happy trading :)
[blackcat] L2 Kiosotto IndicatorOVERVIEW
The Kiosotto Indicator is a versatile technical analysis tool designed for forex trading but applicable to other financial markets. It excels in detecting market reversals and trends without repainting, ensuring consistent and reliable signals. The indicator has evolved over time, with different versions focusing on specific aspects of market analysis.
KEY FEATURES
Reversal Detection: Identifies potential market reversals, crucial for traders looking to capitalize on turning points.
Trend Detection: Earlier versions focused on detecting trends, useful for traders who prefer to follow the market direction.
Non-Repainting: Signals remain consistent on the chart, providing reliable and consistent signals.
Normalization: Later versions, such as Normalized Kiosotto and Kiosotto_2025, incorporate normalization to assess oversold and overbought conditions, enhancing interpretability.
VERSIONS AND EVOLUTION
Early Versions: Focused on trend detection, useful for following market direction.
2 in 1 Kiosotto: Emphasizes reversal detection and is considered an improvement by users.
Normalized Versions (e.g., Kiosotto_2025, Kiosotto_3_2025): Introduce normalization to assess oversold and overbought conditions, enhancing interpretability.
HOW TO USE THE KIOSOTTO INDICATOR
Understanding Signals:
Reversals: Look for the indicator's signals that suggest a potential reversal, indicated by color changes, line crossings, or other visual cues.
Trends: Earlier versions might show stronger trending signals, indicated by the direction or slope of the indicator's lines.
Normalization Interpretation (for normalized versions):
Oversold: When the indicator hits the lower boundary, it might indicate an oversold condition, suggesting a potential buy signal.
Overbought: Hitting the upper boundary could signal an overbought condition, suggesting a potential sell signal.
PINE SCRIPT IMPLEMENTATION
The provided Pine Script code is a version of the Kiosotto indicator. Here's a detailed explanation of the code:
//@version=5
indicator(" L2 Kiosotto Indicator", overlay=false)
//Pine version of Kiosotto 2015 v4 Alert ms-nrp
// Input parameters
dev_period = input.int(150, "Dev Period")
alerts_level = input.float(15, "Alerts Level")
tsbul = 0.0
tsber = 0.0
hpres = 0.0
lpres = 9999999.0
for i = 0 to dev_period - 1
rsi = ta.rsi(close , dev_period)
if high > hpres
hpres := high
tsbul := tsbul + rsi * close
if low < lpres
lpres := low
tsber := tsber + rsi * close
buffer1 = tsber != 0 ? tsbul / tsber : 0
buffer2 = tsbul != 0 ? tsber / tsbul : 0
// Plotting
plot(buffer1, color=color.aqua, linewidth=3, style=plot.style_histogram)
plot(buffer2, color=color.fuchsia, linewidth=3, style=plot.style_histogram)
hline(alerts_level, color=color.silver)
EXPLANATION OF THE CODE
Indicator Definition:
indicator(" L2 Kiosotto Indicator", overlay=false): Defines the indicator with the name " L2 Kiosotto Indicator" and specifies that it should not be overlaid on the price chart.
Input Parameters:
dev_period = input.int(150, "Dev Period"): Allows users to set the period for the deviation calculation.
alerts_level = input.float(15, "Alerts Level"): Allows users to set the level for alerts.
Initialization:
tsbul = 0.0: Initializes the tsbul variable to 0.0.
tsber = 0.0: Initializes the tsber variable to 0.0.
hpres = 0.0: Initializes the hpres variable to 0.0.
lpres = 9999999.0: Initializes the lpres variable to a very high value.
Loop for Calculation:
The for loop iterates over the last dev_period bars.
rsi = ta.rsi(close , dev_period): Calculates the RSI for the current bar.
if high > hpres: If the high price of the current bar is greater than hpres, update hpres and add the product of RSI and close price to tsbul.
if low < lpres: If the low price of the current bar is less than lpres, update lpres and add the product of RSI and close price to tsber.
Buffer Calculation:
buffer1 = tsber != 0 ? tsbul / tsber : 0: Calculates the first buffer as the ratio of tsbul to tsber if tsber is not zero.
buffer2 = tsbul != 0 ? tsber / tsbul : 0: Calculates the second buffer as the ratio of tsber to tsbul if tsbul is not zero.
Plotting:
plot(buffer1, color=color.aqua, linewidth=3, style=plot.style_histogram): Plots the first buffer as a histogram with an aqua color.
plot(buffer2, color=color.fuchsia, linewidth=3, style=plot.style_histogram): Plots the second buffer as a histogram with a fuchsia color.
hline(alerts_level, color=color.silver): Draws a horizontal line at the alerts_level with a silver color.
FUNCTIONALITY
The Kiosotto indicator calculates two buffers based on the RSI and price levels over a specified period. The buffers are plotted as histograms, and a horizontal line is drawn at the alerts level. The indicator helps traders identify potential reversals and trends by analyzing the relationship between the RSI and price levels.
ALGORITHMS
RSI Calculation:
The Relative Strength Index (RSI) measures the speed and change of price movements. It is calculated using the formula:
RSI=100− (1+RS) / 100
where RS is the ratio of the average gain to the average loss over the specified period.
Buffer Calculation:
The buffers are calculated as the ratio of the sum of RSI multiplied by the close price for high and low price conditions. This helps in identifying the balance between buying and selling pressure.
Signal Generation:
The indicator generates signals based on the values of the buffers and the alerts level. Traders can use these signals to make informed trading decisions, such as entering or exiting trades based on potential reversals or trends.
APPLICATION SCENARIOS
Reversal Trading: Traders can use the Kiosotto indicator to identify potential reversals by looking for significant changes in the buffer values or crossings of the alerts level.
Trend Following: The indicator can also be used to follow trends by analyzing the direction and slope of the buffer lines.
Oversold/Overbought Conditions: For normalized versions, traders can use the indicator to identify oversold and overbought conditions, which can provide buy or sell signals.
THANKS
Special thanks to the TradingView community and the original developers for their contributions and support in creating and refining the Kiosotto Indicator.
LRSI-TTM Squeeze - AynetThis Pine Script code creates an indicator called LRSI-TTM Squeeze , which combines two key concepts to analyze momentum, squeeze conditions, and price movements in the market:
Laguerre RSI (LaRSI): A modified version of RSI used to identify trend reversals in price movements.
TTM Squeeze: Identifies market compressions (low volatility) and potential breakouts from these squeezes.
Functionality and Workflow of the Code
1. Laguerre RSI (LaRSI)
Purpose:
Provides a smoother and less noisy version of RSI to track price movements.
Calculation:
The script uses a filtering coefficient (alpha) to process price data through four levels (L0, L1, L2, L3).
Movement differences between these levels calculate buying pressure (cu) and selling pressure (cd).
The ratio of these pressures forms the Laguerre RSI:
bash
Kodu kopyala
LaRSI = cu / (cu + cd)
The LaRSI value indicates:
Below 20: Oversold condition (potential buy signal).
Above 80: Overbought condition (potential sell signal).
2. TTM Squeeze
Purpose:
Analyzes the relationship between Bollinger Bands (BB) and Keltner Channels (KC) to determine whether the market is compressed (low volatility) or expanded (high volatility).
Calculation:
Bollinger Bands:
Calculated based on the moving average (SMA) of the price, with an upper and lower band.
Keltner Channels:
Created using the Average True Range (ATR) to calculate an upper and lower band.
Squeeze States:
Squeeze On: BB is within KC.
Squeeze Off: BB is outside KC.
Other States (No Squeeze): Neither of the above applies.
3. Momentum Calculation
Momentum is computed using the linear regression of the difference between the price and its SMA. This helps anticipate the direction and strength of price movements when the squeeze ends.
Visuals on the Chart
Laguerre RSI Line:
An RSI indicator scaled to 0-100 is plotted.
The line's color changes based on its movement:
Green line: RSI is rising.
Red line: RSI is falling.
Key levels:
20 level: Oversold condition (buy signal can be triggered).
80 level: Overbought condition (sell signal can be triggered).
Momentum Histogram:
Displays momentum as histogram bars with colors based on its direction and strength:
Lime (light green): Positive momentum increasing.
Green: Positive momentum decreasing.
Red: Negative momentum decreasing.
Maroon (dark red): Negative momentum increasing.
Squeeze Status Indicator:
A marker is plotted on the zero line to indicate the squeeze state:
Yellow: Squeeze On (compression active).
Blue: Squeeze Off (compression ended, movement expected).
Gray: No Squeeze.
Information Table
A table is displayed in the top-right corner of the chart, showing closing prices for different timeframes (e.g., 1 minute, 5 minutes, 1 hour, etc.). Each timeframe is color-coded.
Alerts
LaRSI Alerts:
Crosses above 20: Exiting oversold condition (buy signal).
Crosses below 80: Exiting overbought condition (sell signal).
Squeeze Alerts:
When the squeeze ends: Indicates a potential price move.
When the squeeze starts: Indicates volatility is decreasing.
Summary
This indicator is a powerful tool for determining market trends, momentum, and squeeze conditions. It helps users identify periods when the market is likely to move or remain stagnant, providing alerts based on these analyses to support trading strategies.
Ultimate Machine Learning MACD (Deep Learning Edition)This script is a "Deep Learning MACD" indicator that combines traditional MACD calculations with advanced machine learning techniques, including recursive feedback, adaptive learning rates, Monte Carlo simulations, and volatility-based adjustments. Here’s a breakdown of its key components:
Inputs
Lookback: The length of historical data (1000 by default) used for learning and volatility measurement.
Momentum and Volatility Weighting: Adjusts how much momentum and volatility contribute to the learning process (momentum weight: 1.2, volatility weight: 1.5).
MACD Lengths: Defines the range for MACD fast and slow lengths, starting at minimum of 1 and max of 1000.
Learning Rate: Defines how much the model learns from its predictions (very small learning rate by default).
Adaptive Learning: Enables dynamic learning rates based on market volatility.
Memory Factor: A feedback factor that determines how much weight past performance has in the current model.
Simulations: The number of Monte Carlo simulations used for probabilistic modeling.
Price Change: Calculated as the difference between the current and previous close.
Momentum: Measured using a lookback period (1000 bars by default).
Volatility: Standard deviation of closing prices.
ATR: Average true range over 14 periods for measuring market volatility.
Custom EMA Calculation
Implements an exponential moving average (EMA) formula from scratch using a recursive calculation with a smoothing factor.
Dynamic Learning Rate
Adjusts the learning rate based on market volatility. When volatility is high, the learning rate increases, and when volatility is low, it decreases. This makes the model more responsive during volatile markets and more stable during calm periods.
Error Calculation and Adjustment
Error Calculation: Measures the difference between the predicted value (via Monte Carlo simulations) and the true MACD value.
Adjust MACD Length: Uses the error to adjust the fast and slow MACD lengths dynamically, so the system can learn from market conditions.
Probabilistic Monte Carlo Simulation
Runs multiple simulations (200 by default) to generate probabilistic predictions. It uses random values weighted by momentum and volatility to simulate various market scenarios, enhancing
prediction accuracy.
MACD Calculation (Learning-Enhanced)
A custom MACD function that calculates:
Fast EMA and Slow EMA for MACD line.
Signal Line: An EMA of the MACD line.
Histogram: The difference between the MACD and signal lines.
Adaptive MACD Calculation
Adjusts the fast and slow MACD lengths based on the error from the Monte Carlo prediction.
Calculates the adaptive MACD, signal, and histogram using dynamically adjusted lengths.
Recursive Memory Feedback
Stores previous MACD values in an array (macdMemory) and averages them to create a feedback loop. This adds a "memory" to the system, allowing it to learn from past behaviors and refine future predictions.
Volatility-Based Reinforcement
Introduces a volatility reinforcement factor that influences the signal based on market conditions. It adds volatility awareness to the feedback system, making the system more reactive during high volatility periods.
Smoothed MACD
After all the adjustments, the MACD line is further smoothed based on the current market volatility, resulting in a final smoothed MACD.
Key Features
Monte Carlo Simulation: Runs multiple simulations to enhance predictions based on randomness and market behavior.
Adaptive Learning: Dynamic adjustments of learning rates and MACD lengths based on market conditions.
Recursive Feedback: Uses past data as feedback to refine the system’s predictions over time.
Volatility Awareness: Integrates market volatility into the system, making the MACD more responsive to market fluctuations.
This combination of traditional MACD with machine learning creates an adaptive indicator capable of learning from past behaviors and adjusting its sensitivity based on changing market conditions.
MB - Currency Strength ROCCurrency Strength ROC Enhanced is a technical indicator designed to measure and visualize the relative strength of different currencies in the foreign exchange market. Using a Rate of Change (ROC) approach and moving averages, this indicator provides valuable insights into the dynamics of currency strengths.
Key Features:
Relative Strength Measurement:
Calculates the strength of each currency relative to others, allowing you to identify which currencies are appreciating or depreciating.
Strength Histogram:
Presents normalized strength in a histogram format, making it easy to quickly see areas of positive (green) and negative (red) strength
Moving Averages:
Includes moving averages of normalized strength and trend, providing a clear view of the overall direction of strength over time.
Overbought and Oversold Zones:
Highlights critical levels of strength through horizontal lines, allowing traders to identify potential trend reversals.
Adaptive LSMA Regression OscillatorOverview:
The Adaptive LSMA Regression Oscillator is an open-source technical analysis tool designed to reflect market price deviations from an adaptive least squares moving average (LSMA). The adaptive length of the LSMA changes dynamically based on the volatility of the market, making the indicator responsive to different market conditions.
Key Features:
Adaptive Length Adjustment : The base length of the LSMA is adjusted based on market volatility, measured by the Average True Range (ATR). The more volatile the market, the longer the adaptive length, and vice versa.
Oscillator : The indicator calculates the difference between the closing price and the adaptive LSMA. This difference is plotted as a histogram, showing whether prices are above or below the LSMA.
Color-Coded Histogram:
Positive values (where price is above the LSMA) are colored green.
Negative values (where price is below the LSMA) are colored red.
Debugging Information: The adaptive length is plotted for transparency, allowing users to see how the length changes based on the multiplier and ATR.
How It Works:
Inputs:
Base Length : This defines the starting length of the LSMA. It is adjusted based on market conditions.
Multiplier : A customizable multiplier is used to control how much the adaptive length responds to changes in volatility.
ATR Period : This determines the lookback period for the Average True Range calculation, a measure of market volatility.
Dynamic Adjustment:
The length of the LSMA is dynamically adjusted by multiplying the base length by a factor derived from ATR and the average close price.
This helps the indicator adapt to different market conditions, staying shorter during low volatility and longer during high volatility.
Example Use Cases:
Trend Analysis: By observing the oscillator, traders can see when prices deviate from a dynamically adjusted LSMA. This can be used to evaluate potential trend direction or changes in market behavior.
Volatility-Responsive Indicator: The adaptive length ensures that the indicator responds appropriately in both high and low volatility environments.
Market Structure Oscillator [LuxAlgo]The Market Structure Oscillator indicator analyzes and synthesizes short-term, intermediate-term, and long-term market structure shifts and breaks, visualizing the output as oscillators and graphical representations of real-time market structures on the main price chart.
The oscillator presentation of the detected market structures helps traders visualize trend momentum and strength, identifying potential trend reversals, and providing different perspectives to enhance the analysis of classic market structures.
🔶 USAGE
A market structure shift signals a potential change in market sentiment or direction, while a break of structure indicates a continuation of the current trend. Detecting these events in real-time helps traders recognize both trend changes and continuations. The market structure oscillator translates these concepts visually, offering deeper insights into market momentum and strength. It aids traders in identifying overbought or oversold conditions, potential trend reversals, and confirming trend direction.
Oscillators often generate signals based on crossing certain thresholds or diverging from price movements, providing cues for traders to enter or exit positions.
The weights determine the influence of each period (short-term, intermediate-term, long-term) on the final oscillator value. By changing the weights, traders can emphasize or de-emphasize the importance of each period. Higher weights increase their respective market structure's influence on the oscillator value. For example, if the weight for the short-term period is set to 0, the final value of the oscillator will be calculated using only the intermediate-term and long-term market structures.
The indicator features a Cycle Oscillator component, which uses the market structure oscillator values to generate a histogram and provide further insights into market cycles and potential signals. The Cycle Oscillator aids in timing by allowing traders to more easily see the median length of an oscillation around the average point, helping them identify both favorable prices and favorable moments for trading.
Users can also display detected market structures on the price chart by enabling the corresponding market structure toggle from the "Market Structures on Chart" settings group.
🔶 DETAILS
The script initiates its analysis by detecting swing levels, which form the fundamental basis for its operations. It begins by identifying short-term swing points, automatically detected solely based on market movements without any reliance on user-defined input. Short-Term Swing Highs (STH) are peaks in price surrounded by lower highs on both sides, while Short-Term Swing Lows (STL) are troughs surrounded by higher lows.
To identify intermediate-term and long-term swing points, the script uses previously detected short-term swing points as reference points. It examines these points to determine intermediate-term swings and further analyzes intermediate-term swings to identify long-term swing points. This method ensures a thorough and unbiased evaluation of market dynamics, providing traders with reliable insights into market structures.
Once swing levels are detected, the process continues with the analysis of Market Structure Shifts (MSS) and Breaks of Structure (BoS). A Market Structure Shift, also known as a Change of Character (CHoCH), is a critical event in price action analysis that suggests a potential shift in market sentiment or direction. It occurs when the price reverses from an established trend, indicating that the current trend may be losing momentum and a reversal could be imminent.
On the other hand, a Break of Structure signifies the continuation of the existing market trend. This event occurs when the price decisively moves beyond a previous swing high or low, confirming the strength and persistence of the prevailing trend.
The indicator analyzes price patterns using a pure price action approach and identifies market structures for short-term, intermediate-term, and long-term periods. The collected data is then normalized and combined using specified weights to calculate the final Market Structure Oscillator value.
🔶 SETTINGS
The indicator incorporates user-defined settings, allowing users to tailor it according to their preferences and trading strategies.
🔹 Market Structure Oscillator
Market Structure Oscillator: Toggles the visibility of the market structures oscillator.
Short Term Weight: Defines the weight for the short-term market structure.
Intermediate Term Weight: Defines the weight for the intermediate-term market structure.
Long Term Weight: Defines the weight for the long-term market structure.
Oscillator Smoothing: Determines the smoothing factor for the oscillator.
Gradient Colors: Allows customization of bullish and bearish gradient colors.
Market Structure Oscillator Crosses: Provides signals based on market structure oscillator equilibrium level crosses.
🔹 Cycle Oscillator
Cycle Oscillator - Histogram: Toggles the visibility of the cycle oscillator.
Cycle Signal Length: Defines the length of the cycle signal.
Cycle Oscillator Crosses: Provides signals based on cycle oscillator crosses.
🔹 Market Structures on Chart
Market Structures: Allows plotting of market structures (short, intermediate, and long term) on the chart.
Line, Label, and Color: Options to display lines and labels for different market structures with customizable colors.
🔹 Oscillator Components
Oscillators: Separately plots short-term, intermediate-term, and long-term oscillators. Provides options to display these oscillators with customizable colors.
🔶 RELATED SCRIPTS
Market-Structures-(Intrabar)
RVOL++Overview
RVOL++ is a valuable tool for intraday traders to gauge market participation and anticipate the pace of the market. By understanding the RVOL levels, traders can adjust their strategies and expectations to align with the current market conditions. RVOL is a simple mathematical formula that compares the current volume to a prior lookback period, such as the previous 5 days or previous 10 days. This indicator helps traders understand the level of interest or participation in the market, which in turn can indicate the speed or pace of the market.
How to calculate RVOL at Time
Check if the current time is within the specified time period (e.g., 9:30 AM to 5:00 PM EST).
If it is, calculate the current cumulative volume for that period.
Find the average cumulative volume for the same period over the past X days (where X is the lookback period).
Calculate the RVOL at Time as:
RVOL at Time =(Current Cumulative Volume/Average Cumulative Volume)×100
For more info about calculating RVOL at time please refer to the Tradingview article.
www.tradingview.com
Key Features of RVOL++
Two Session and Daily Modes: In Two Session mode, it calculates RVOL for two distinct trading sessions, while in Daily mode, it calculates RVOL for the entire trading day. Two Session mode helps for instruments like futures, forex, crypto that trade 23+ hours. If you are using an instrument such as a stock like AAPL, if you don't have pre-market/extended hours enabled you will want to use "Daily Mode".
Session Time Settings: The indicator allows users to define the trading session times in Eastern Standard Time (EST) for more accurate RVOL calculations.
Customizable Lookback Period: Users can set the number of days for the lookback period, allowing for flexibility in calculating the average volume at time (RVOL).
Color-Coded RVOL Histogram: The indicator displays a color-coded histogram to visualize RVOL levels. Different colors represent different RVOL ranges, making it easy to identify low, neutral, and high RVOL periods.
RVOL Ranges**: The indicator defines RVOL ranges as follows:
40 - 80: Low RVOL (Red/Yellow)
80 - 120: Neutral RVOL (Blue/Cyan)
120+: High RVOL (Green-Lime)
Low RVOL Environment
Expect slow market movement with limited opportunities.
Focus on A+ setups and be selective.
Use tighter stops, size down, and adjust trading goals.
Neutral RVOL Environment
Expect a more normalized trading pace with frequent rotations.
Lean on structure and incorporate other trading tools.
Use normal sizing and stop management.
High RVOL Environment
Expect the best opportunities for range expansion and rotations.
Be more relaxed about overtrading but stay focused on structure.
Start with smaller initial size and build up to a full position.
Volume Spectrum - WhvntrThe "Volume Spectrum" by Whvntr has been developed to analyze and visualize trading volume patterns in financial markets, offering traders insights into volume dynamics relative to historical performance. This tool can be particularly useful for identifying periods of unusually high or low trading activity, which are often associated with significant price movements.
Intended Markets and Conditions
The Volume Spectrum indicator is versatile and can be applied across a variety of markets, including stocks, forex, commodities, and cryptocurrencies. It is designed to be relevant in both bullish and bearish markets, as well as in varying volatility conditions. The primary focus is on identifying shifts in trading volume that could indicate potential trading opportunities or risks.
Features and Relevance for Trading
Volume Analysis: The indicator calculates and plots the average volume over a user-defined period (length) and compares it to a shorter-term average volume (avg_length). This comparison helps in identifying trends in trading volume.
Smoothing Options: Users can select from four types of smoothing methods (RMA, SMA, EMA, WMA) to calculate the moving averages, allowing for customization based on trading strategy and personal preference.
High and Low Volume Identification: It highlights periods of high and low volume relative to the average, using customizable color schemes for easy visual identification.
Volume Alerts: The script generates alerts for significant increases or decreases in volume, enabling traders to react promptly to potential trading signals.
Customizability: Traders can adjust various parameters, including volume length, average length, smoothing method, and visual elements like plot colors and background highlights.
Volume Histogram: An optional volume histogram can be displayed, with colors indicating whether the volume is increasing and if the closing price was higher or lower than the opening price.
This indicator can be particularly relevant for traders looking to capitalize on volume-based trading strategies. High volume periods may indicate strong interest in a security at its current price, whereas low volume may suggest a lack of interest. By identifying these conditions, traders can make more informed decisions about entry and exit points.
Disclaimer
The Volume Spectrum indicator, like any analytical tool, should be used as part of a comprehensive trading strategy. It is important to note that past performance is not indicative of future results. Trading involves risk, and the effectiveness of this or any indicator may vary based on market conditions, settings used, and other factors. Traders should exercise caution, do their own research, and consider seeking advice from a financial professional before making trading decisions. This indicator is provided without warranty regarding its accuracy, timeliness, or completeness, and users assume all risks associated with its use.
Impulse MACD buy OwlPixelDescription:
The Impulse MACD Buy Indicator, developed by OwlPixel, is a powerful trading tool for traders using TradingView's Pine Script version 5. This indicator aims to provide valuable insights for identifying potential buy signals in the market using the popular MACD (Moving Average Convergence Divergence) oscillator.
Key Features:
MACD Analysis: The indicator displays the MACD line (blue) and the signal line (orange) on the chart, helping traders assess the momentum and trend direction of an asset.
Impulse Histo: The Impulse Histo (blue histogram) visualizes the difference between the MACD line and the signal line, making it easier to spot changes in market strength and potential trend reversals.
Impulse MACD CD Signal: This histogram (maroon color) highlights the divergence between the Impulse Histo and the signal line, providing further insights into trend shifts.
Background Boxes: The indicator features three rows of different colored background boxes that represent distinct market conditions - an uptrend (light green), a downtrend (light red), and a neutral trend (light yellow).
Crossover Points: Buy signals are marked with green circles when the MACD line crosses above the signal line, suggesting potential entry points for long positions.
Demand and Supply Bars: The demand (lime/green) and supply (red/orange) bars are intensified, aiding traders in identifying possible reversal areas.
Stop Loss and Take Profit:
The Impulse MACD Buy Indicator automatically calculates Stop Loss (SL) and Take Profit (TP) levels for buy signals. The SL level is set at the highest of the last three candles, while the TP level is determined by a user-defined percentage of the closing price. This information helps traders manage risk and optimize their profit potential.
Usage:
Apply the Impulse MACD Buy Indicator to your TradingView chart by copying the provided Pine Script into the Pine Editor.
Configure the input parameters, such as the MA Length and Signal Length, to suit your trading preferences.
Observe the MACD line, signal line, and histograms to gain insights into market momentum and trends.
Identify buy signals when the MACD line crosses above the signal line, signaled by green circles.
Utilize the provided Stop Loss and Take Profit levels for risk management and exit strategies.
Please note that this indicator is for informational purposes only and should be used in conjunction with other analysis techniques to make well-informed trading decisions. Happy trading!
Correlation Coefficient - DXY & XAUPublishing my first indicator on TradingView. Essentially a modification of the Correlation Coefficient indicator, that displays a 2 ticker symbols' correlation coefficient vs, the chart presently loaded.. You can modify the symbols, but the default uses DXY and XAU, which have been displaying strong negative correlation.
As with the built-in CC (Correlation Coefficient) indicator, readings are taken the same way:
Positive Correlation = anything above 0 | stronger as it moves up towards 1 | weaker as it moves back down towards 0
Negative Correlation = anything below 0 | stronger moving down towards -1 | weaker moving back up towards 0
This is primarily created to work with the Bitcoin weekly chart, for comparing DXY and Gold (XAU) price correlations (in advance, when possible). If you change the chart timeframe to something other than weekly, consider playing with the Length input, which is set to 35 by default where I think it best represents correlations with Bitcoin's weekly timeframe for DXY and Gold.
The intention is that you might be able to determine future direction of Bitcoin based on positive or negative correlations of Gold and/or the US Dollar Index. DXY has been making peaks and valleys prior to Bitcoin since after March 2020 black swan event, where it peaked just after instead. In the future, it may flip over again and Bitcoin may hit major highs or lows prior to DXY, again. So, keep an eye on the charts for all 3, as well as the indicator correlations.
Currently, we've moved back into negative correlation between Bitcoin and DXY, and positive correlation with Bitcoin and Gold:
Negative Correlation b/w Bitcoin and DXY - if DXY moves up, Bitcoin likely moves down, or if DXY moves down, Bitcoin likely moves up (or if Bitcoin were to move first before DXY, as it did on March 2020, instead)
Positive Correlation b/w Bitcoin and Gold - Bitcoin and Gold will likely move up or down with each other.
DXY is represented by the green histogram and label, Gold is represented by the yellow histogram and label. Again, you can modify the tickers you want to check against, and you can modify the colors for their histograms / labels.
The inspiration from came from noticing areas of same date or delayed negative correlation between Bitcoin and DXY, here is one of my most recent posts about that:
Please let me know if you have any questions, or would like to see updates to the indicator to make it easier to use or add more useful features to it.
I hope this becomes useful to you in some way. Thank you for your support!
Cheers,
dudebruhwhoa :)
Improved Percent Price Oscillator w/ Colored Candles[C2Trends]The Percent Price Oscillator(PPO) is a momentum oscillator that measures the difference between two moving averages as a percentage of the larger moving average. Similar to the Moving Average Convergence/Divergence(MACD), the PPO is comprised of a signal line, a histogram and a centerline. Signals are generated with signal line crossovers, centerline crossovers, and divergences. Because these signals are no different than those associated with MACD, this indicator can be read exactly as the MACD is read. The main differences between the PPO and MACD are: 1) PPO readings are not subject to the price level of the security. 2) PPO readings for different securities can be compared, even when there are large differences in the price. MACD readings for different securities cannot be compared when there are large differences in price.
PPO Calculations:
Percentage Price Oscillator(PPO): {(12-day EMA - 26-day EMA )/26-day EMA} x 100
Signal Line: 9-day EMA of PPO
PPO Histogram: PPO - Signal Line
iPPO includes everything from standard PPO plus:
1)Plots for PPO/Signal line crosses.
2)Plots for PPO/0 level crosses.
3)PPO/Signal line gap color fill.
4)PPO/0 level gap color fill.
4)Background fill for PPO/Signal line crosses.
5)Background fill for PPO/0 level crosses.
6)Price candles colored based on PPO indicator readings.
7)All plots, lines and fill colors can be turned on/off individually from the 'Input' tab of the iPPO indicator settings menu.
Indicator Notes:
1) When the green PPO line is above the 0 level, intermediate to long-term price momentum can be considered bullish(begins w/yellow cross, green background).
2) When the green PPO line is below the 0 level, intermeidate to long-term price momentum can be considered bearish(begins w/red cross, purple background).
3) Green PPO line above purple Signal line + both lines rising + both lines above 0 level = bullish short-term price momentum(begins w/green dot above 0 level, green highlight).
4) Green PPO line below purple Signal line + both lines falling + both lines above 0 level = loss of short-term bullish price momentum(begins w/purple dot above 0 level, purple highlight).
5) Green PPO line below purple Signal line + both lines falling + both lines below 0 level = bearish short-term price momentum(begins w/purple dot below 0 level, purple highlight).
6) Green PPO line above purple Signal line + both lines rising + both lines below 0 level = loss of short-term bearish price momentum(begins w/green dot below 0 level, green highlight).
7) Price candles are colored lime when the PPO line is above the Signal line and both lines are above the 0 level.
8) Price candles are colored green when the PPO line is below the Signal line and both lines are above the 0 level.
9) Price candles are colored fuschia when the PPO line is below the Signal line and both lines are below the 0 level.
10) Price candles are colored purple when the PPO line is above the Signal line and both lines are below the 0 level.
11) Price candles are colored gray when the green PPO line is within a set % of the 0 level. This value can be set manually in the indicator settings. The default value is 0.25% to ensure
smooth candle color transition between timeframes, charts, sectors and markets. Adjust value up or down if gray candles are absent or too abundant. Gray candles should mostly only appear
during periods of price consolidation(flat/sideways price movement), or just before a significant move up or down in price.
Volume per PointHello everyone <3
I present to you guys my new indicator Volume per Point (VP)
As suggested by the title, this script gives you the volume for every point.
Here's a run down on specific features:
SUBCHART COLUMNS:
The columns can be the following four colors:
Green - There was an increase in VP
Red - There was a decrease in VP
Yellow - There was divergence between volume and candle range
Purple - There are signs of exhaustion compared to the previous candlestick
SUBCHART HISTOGRAM:
The histogram can be the following two colors:
Lime - Buying volume
Red - Selling volume
I left you guys the ability to change the multiplier on the volume in settings just incase it's too small or too big compared to the VP. Decimals are allowed!
CANDLESTICK CHART:
The candlesticks can the following two colors:
Yellow - There was a divergence between volume and candle range
Purple - There are signs of exhaustion compared to the previous candlestick
FILTERS
In the settings, you're able to add the following two filters:
RSI Filters - RSI must be below or above the specified value for the divergence or exhaustion to trigger
Percent Filters - The candlestick range or volume must be higher or lower than the specified value depending whether it's divergence or exhaustion.
This is a very helpful tool if you're interesting in reading volume. It also facilitates finding market maker activity depending on the size of the VP. Sudden abnormal spikes in VP usually do signal something and that's up for you to figure out :)
Thank you for your time to read this
~July <3
[blackcat] L1 Improved MACD IndicatorLevel: 1
Background
The MACD is a superior derivative of moving average crossovers and was developed by Gerald Appel in 1979 as a market timing tool. MACD uses two exponential moving averages with different bar periods, which are then subtracted to form what Mr. Appel calls the Fast Line. A 9-period moving average of the fast line creates the slow line.
Function
L1 Improved MACD Indicator mainly improves MACD histogram by customized an algorithm and add three levels of long entry alerts derived from ema().
Key Signal
buy1 --> the 1st level of buy alert in green
buy2 --> the 2nd level of buy alert in lime
buy3 --> the 3rd level of buy alert in yellow
diff --> classic MACD diff fast line in white
dea --> classic MACD dea slow line in yellow
macd --> classic difference histogram,but I did not use it directly in the plot.
Pros and Cons
Pros:
1. more clear sub level trend change with new histograms
2. three levels of buy alerts
Cons:
1. need sophisticated knowledge of MACD to use this well
2. this still requires a lot of MACD experience to obtain reliable trading signals
Remarks
I am a fan of MACD. Even the most classic MACD can have in-depth usage. I think MACD is the king of indicators.
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.
Williams Gator Oscillator// The Gator Oscillator histogram above zero shows the absolute difference between blue and red lines of Alligator indicator,
// while histogram below zero shows the absolute difference between red and green lines.
//
// There are green and red bars on the Gator Oscillator histograms.
// A green bar appears when its value is higher than the value of the previous bar.
// A red bars appears when its value is lower than the value of the previous bar.
//
// Gator Oscillator helps to better visualize the upcoming changes in the trends: to know when Alligator sleeps, eats, fills //out and is about to go to sleep.
MACD ProThe MACD Pro is a modern take on the classic MACD, designed to give traders deeper insights into market momentum, trend conditions, and potential turning points. While it keeps the standard MACD foundation, it introduces a few enhancements to make it more adaptive and visually intuitive.
At its core, the indicator calculates the traditional MACD line, Signal line and Histogram. The histogram can be optionally displayed.
One of the things that set this version apart is the addition of the MACD Leader, an optional feature that makes the MACD more responsive to price action. By applying an adaptive smoothing factor (Leader Sensitivity), the Leader line can provide earlier momentum cues compared to the standard MACD and help anticipate shifts before they become obvious on a standard MACD indicator.
Another enhancement is the regime-based color system for the MACD line. Instead of simply coloring based on the MACD or histogram itself, this indicator identifies the overall market regime using momentum and trend strength conditions.
Bullish Regime: Momentum is positive and trend strength is above average.
Bearish Regime: Momentum is negative and trend strength is above average.
Sideways Regime: Momentum remains weak and within noise levels.
This regime detection allows the MACD line to visually adapt, giving traders an extra layer of context beyond standard MACD signals to blend momentum analysis with market conditions, helping distinguish between trending and ranging environments.
Chart-Only Scanner — Pro Table v2.5.1Chart-Only Scanner — Pro Table v2.5
User Manual (Pine Script v6)
What this tool does (in one line)
A compact, on-chart table that scores the current chart symbol (or an optional override) using momentum, volume, trend, volatility, and pattern checks—so you can quickly decide UP, DOWN, or WAIT.
Quick Start (90 seconds)
Add the indicator to any chart and timeframe (1m…1M).
Leave “Override chart symbol” = OFF to auto-use the chart’s symbol.
Choose your layout:
Row (wide horizontal strip), or Grid (title + labeled cells).
Pick a size preset (Micro, Small, Medium, Large, Mobile).
Optional: turn on “Use Higher TF (EMA 20/50)” and set HTF Multiplier (e.g., 4 ⇒ if chart is 15m, HTF is 60m).
Watch the table:
DIR (↑/↓/→), ROC%, MOM, VOL, EMA stack, HTF, REV, SCORE, ACT.
Add an alert if you want: the script fires when |SCORE| ≥ Action threshold.
What to expect
A small table appears on the chart corner you choose, updating each bar (or only at bar close if you keep default smart-update).
The ACT cell shows 🔥 (strong), 👀 (medium), or ⏳ (weak).
Panels & Settings (every option explained)
Core
Momentum Period: Lookback for rate-of-change (ROC%). Shorter = more reactive; longer = smoother.
ROC% Threshold: Minimum absolute ROC% to call direction UP (↑) or DOWN (↓); otherwise →.
Require Volume Confirmation: If ON and VOL ≤ 1.0, the SCORE is forced to 0 (prevents low-volume false positives).
Override chart symbol + Custom symbol: By default, the indicator uses the chart’s symbol. Turn this ON to lock to a specific ticker (e.g., a perpetual).
Higher TF
Use Higher TF (EMA 20/50): Compares EMA20 vs EMA50 on a higher timeframe.
HTF Multiplier: Higher TF = (chart TF × multiplier).
Example: on 3H chart with multiplier 2 ⇒ HTF = 6H.
Volatility & Oscillators
ATR Length: Used to show ATR% (ATR relative to price).
RSI Length: Standard RSI; colors: green ≤30 (oversold), red ≥70 (overbought).
Stoch %K Length: With %D = SMA(%K, 3).
MACD Fast/Slow/Signal: Standard MACD values; we display Line, Signal, Histogram (L/S/H).
ADX Length (Wilder): Wilder’s smoothing (internal derivation); also shows +DI / −DI if you enable the ADX column.
EMAs / Trend
EMA Fast/Mid/Slow: We compute EMA(20/50/200) by default (editable).
EMA Stack: Bull if Fast > Mid > Slow; Bear if Fast < Mid < Slow; Flat otherwise.
Benchmark (optional, OFF by default)
Show Relative Strength vs Benchmark: Displays RS% = ROC(symbol) − ROC(benchmark) over the Momentum Period.
Benchmark Symbol: Ticker used for comparison (e.g., BTCUSDT as a market proxy).
Columns (show/hide)
Toggle which fields appear in the table. Hiding unused fields keeps the layout clean (especially on mobile).
Display
Layout Mode:
Row = a single two-row strip; each column is a metric.
Grid = a title row plus labeled pairs (label/value) arranged in rows.
Size Preset: Micro, Small, Medium, Large, Mobile change text size and the grid density.
Table Corner: Where the panel sits (e.g., Top Right).
Opaque Table Background: ON = dark card; OFF = transparent(ish).
Update Every Bar: ON = update intra-bar; OFF = smart update (last bar / real-time / confirmed history).
Action threshold (|score|): The cutoff for 🔥 and alert firing (default 70).
How to read each field
CHART: The active symbol name (or your custom override).
DIR: ↑ (ROC% > threshold), ↓ (ROC% < −threshold), → otherwise.
ROC%: Rate of change over Momentum Period.
Formula: (Close − Close ) / Close × 100.
MOM: A scaled momentum score: min(100, |ROC%| × 10).
VOL: Volume ratio vs 20-bar SMA: Volume / SMA(Volume,20).
1.5 highlights as yellow (significant participation).
ATR%: (ATR / Close) × 100 (volatility relative to price).
RSI: Colored for extremes: ≤30 green, ≥70 red.
Stoch K/D: %K and %D numbers.
MACD L/S/H: Line, Signal, Histogram. Histogram color reflects sign (green > 0, red < 0).
ADX, +DI, −DI: Trend strength and directional components (Wilder). ADX ≥ 25 is highlighted.
EMA 20/50/200: Current EMA values (editable lengths).
STACK: Bull/Bear/Flat as defined above.
VWAP%: (Close − VWAP) / Close × 100 (premium/discount to VWAP).
HTF: ▲ if HTF EMA20 > EMA50; ▼ if <; · if flat/off.
RS%: Symbol’s ROC% − Benchmark ROC% (positive = outperforming).
REV (reversal):
🟢 Eng/Pin = bullish engulfing or bullish pin detected,
🔴 Eng/Pin = bearish engulfing or bearish pin,
· = none.
SCORE (absolute shown as a number; sign shown via DIR and ACT):
Components:
base = MOM × 0.4
volBonus = VOL > 1.5 ? 20 : VOL × 13.33
htfBonus = use_mtf ? (HTF == DIR ? 30 : HTF == 0 ? 15 : 0) : 0
trendBonus = (STACK == DIR) ? 10 : 0
macdBonus = 0 (placeholder for future versions)
scoreRaw = base + volBonus + htfBonus + trendBonus + macdBonus
SCORE = DIR ≥ 0 ? scoreRaw : −scoreRaw
If Require Volume Confirmation and VOL ≤ 1.0 ⇒ SCORE = 0.
ACT:
🔥 if |SCORE| ≥ threshold
👀 if 50 < |SCORE| < threshold
⏳ otherwise
Practical examples
Strong long (trend + participation)
DIR = ↑, ROC% = +3.2, MOM ≈ 32, VOL = 1.9, STACK = Bull, HTF = ▲, REV = 🟢
SCORE: base(12.8) + volBonus(20) + htfBonus(30) + trend(10) ≈ 73 → ACT = 🔥
Action idea: look for longs on pullbacks; confirm risk with ATR%.
Weak long (no volume)
DIR = ↑, ROC% = +1.0, but VOL = 0.8 and Require Volume Confirmation = ON
SCORE forced to 0 → ACT = ⏳
Action: wait for volume > 1.0 or turn off confirmation knowingly.
Bearish reversal warning
DIR = →, REV = 🔴 (bearish engulfing), RSI = 68, HTF = ▼
SCORE may be mid-range; ACT = 👀
Action: watch for breakdown and rising VOL.
Alerts (how to use)
The script calls alert() whenever |SCORE| ≥ Action threshold.
To receive pop-ups, sounds, or emails: click “⏰ Alerts” in TradingView, choose this indicator, and pick “Any alert() function call.”
The alert message includes: symbol, |SCORE|, DIR.
Layout, Size, and Corner tips
Row is best when you want a compact status ribbon across the top.
Grid is clearer on big screens or when you enable many columns.
Size:
Mobile = one pair per row (tall, readable)
Micro/Small = dense; good for many fields
Large = presentation/screenshots
Corner: If the table overlaps price, change the corner or set Opaque Background = OFF.
Repaint & timeframe behavior
Default smart update prefers stability (last bar / live / confirmed history).
For a stricter, “close-only” behavior (less repaint): turn Update Every Bar = OFF and avoid Heikin Ashi when you want raw market OHLC (HA modifies price inputs).
HTF logic is derived from a clean, integer multiple of your chart timeframe (via multiplier). It works with 3H/4H and any TF.
Performance notes
The script analyzes one symbol (chart or override) with multiple metrics using efficient tuple requests.
If you later want a multi-symbol grid, do it with pages (10–15 per page + rotate) to stay within platform limits (recommended future add-on).
Troubleshooting
No table visible
Ensure the indicator is added and not hidden.
Try toggling Opaque Background or switch Corner (it might be behind other drawings).
Keep Columns count reasonable for the chosen Size.
If you turned ON Override, verify the Custom symbol exists on your data provider.
Numbers look different on HA candles
Heikin Ashi modifies OHLC; switch to regular candles if you need raw price metrics.
3H/4H issues
Use integer HTF Multiplier (e.g., 2, 4). The tool builds the correct string internally; no manual timeframe strings needed.
Power user tips
Volume gating: keeping Require Volume Confirmation = ON filters most fake moves; if you’re a scalper, reduce strictness or turn it off.
Action threshold: 60–80 is typical. Higher = fewer but stronger signals.
Benchmark RS%: great for spotting leaders/laggards; positive RS% = outperformance vs benchmark.
Change policy & safety
This version doesn’t alter your historical logic you tested (no radical changes).
Any future “radical” change (score weights, HTF logic, UI hiding data) will ship with a toggle and an Impact Statement so you can keep old behavior if you prefer.
Glossary (quick)
ROC%: Percent change over N bars.
MOM: Scaled momentum (0–100).
VOL ratio: Volume vs 20-bar average.
ATR%: ATR as % of price.
ADX/DI: Trend strength / direction components (Wilder).
EMA stack: Relationship between EMAs (bullish/bearish/flat).
VWAP%: Premium/discount to VWAP.
RS%: Relative strength vs benchmark.






















