Daily Volume ForecastDaily Volume Forecast
What this indicator does
Daily Volume Forecast projects the full-day trading volume of the current, still-running day — its expected value at the closing bell. It is designed for the Daily chart , where the live bar already carries the volume accumulated so far; the indicator scales that partial volume up to an estimate for the whole session.
The goal is to answer a simple question intraday: is today on track for above- or below-average volume? — before the day is actually over.
How it works
Partial volume so far: On the Daily chart the current bar's volume is the cumulative volume traded since the session open. This is the basis that gets extrapolated.
Elapsed session time: On a daily bar the bar's own hour/minute is the open time, not the current time. The indicator therefore derives the elapsed time from the real wall-clock (timenow) in the instrument's exchange timezone, relative to the configured session, so it knows how far the day has progressed.
Two forecast methods are available:
Intraday Profile (recommended): Intraday volume (e.g. 5-minute) is pulled per day via request.security_lower_tf and averaged into a typical volume-by-time-of-day curve . Because real volume is U-shaped (heavy at the open and close, light at midday), this curve captures how much of a day's volume is normally done by the current time. The forecast is current_volume / expected_fraction_done_by_now, which adapts automatically to the instrument's own shape. Until enough intraday history exists, it falls back to the linear method.
Linear: Assumes volume is spread evenly across the session: forecast = current_volume × (session_length / elapsed_minutes). Simple, requires no extra data, but overestimates the remainder in the morning because it ignores the U-shape.
Live update: The estimate is computed on the current (last) bar and updates as the day develops. When the market is closed, elapsed time clamps to the full session, so the forecast converges to the actual day's volume.
Display
Volume columns of the actual daily volume (historical and current), coloured by up/down day — green when close ≥ open, red otherwise.
Forecast line for the projected full-day volume, extended to the right edge (trackprice) on the current bar.
Label on the last bar showing the estimate (e.g. "Est. 3.2M").
Info table (optional, bottom-right) with the selected method, the forecast, percent of the session elapsed, the current volume, and the number of days used to build the profile.
Settings
Forecast Method: Intraday Profile or Linear.
Trading Session: Session string (default 0930-1600 for US RTH); adjust to the instrument (e.g. 0900-1730 EU stocks, 0000-2400 for 24h / crypto / FX).
Profile Resolution (min): Intraday resolution used to build the volume curve (Intraday Profile only).
Show Historical Daily Volumes: Toggle the volume columns.
Show Info Table: Toggle the table.
Colours for up and down volume.
How to use it
Apply it to a Daily chart (a warning label appears on other timeframes). Use it to gauge participation in real time — to confirm breakouts on rising projected volume, to flag unusually quiet days, or as a context filter alongside a price strategy. The Intraday Profile method is recommended whenever the instrument has a pronounced intraday volume shape; Linear is a lightweight fallback that needs no intraday history.
Notes
request.security_lower_tf provides only a limited amount of recent intraday history (a PulseWire/plan limit), so the profile is built from the most recent available days and rolls forward naturally.
The profile method needs a few completed days to warm up; until then it uses the linear fallback.
The session string must match the instrument, otherwise the elapsed-time scaling — and therefore the forecast — is distorted. Extended-hours volume is not considered.
This script is an analysis tool and does not constitute financial advice. A volume forecast is an extrapolation, not a guarantee of the day's outcome.
═══════════════════════════════════════
Daily Volume Forecast — Deutsch
Was macht dieser Indikator?
Daily Volume Forecast prognostiziert das gesamte Tagesvolumen des aktuellen, noch laufenden Tages — den zu erwartenden Wert zum Handelsschluss. Er ist für den Daily-Chart ausgelegt, wo die laufende Kerze bereits das bisher kumulierte Volumen trägt; der Indikator skaliert dieses Teilvolumen auf eine Schätzung für die ganze Session hoch.
Ziel ist es, schon während des Tages eine einfache Frage zu beantworten: Läuft der heutige Tag auf über- oder unterdurchschnittliches Volumen hinaus? — bevor der Tag tatsächlich vorbei ist.
Wie es funktioniert
Bisheriges Teilvolumen: Auf dem Daily-Chart ist das Volumen der aktuellen Kerze das seit Session-Eröffnung kumulierte Volumen. Das ist die Basis, die hochgerechnet wird.
Verstrichene Session-Zeit: Auf einer Tageskerze ist deren Stunde/Minute die Eröffnungszeit, nicht die aktuelle Uhrzeit. Der Indikator leitet die verstrichene Zeit deshalb aus der realen Uhrzeit (timenow) in der Börsen-Zeitzone des Instruments ab, relativ zur eingestellten Session — so weiss er, wie weit der Tag fortgeschritten ist.
Zwei Prognosemethoden stehen zur Wahl:
Intraday Profile (empfohlen): Über request.security_lower_tf wird das Intraday-Volumen (z. B. 5-Minuten) je Tag erhoben und zu einer typischen Volumenkurve nach Tageszeit gemittelt. Da reales Volumen U-förmig ist (viel bei Eröffnung und Schluss, wenig am Mittag), erfasst diese Kurve, welcher Anteil des Tagesvolumens zur aktuellen Uhrzeit normalerweise schon gehandelt ist. Die Prognose ist aktuelles_Volumen / erwarteter_Anteil_bis_jetzt und passt sich automatisch an die Form des Instruments an. Bis genug Intraday-Historie vorliegt, greift der lineare Fallback.
Linear: Nimmt an, dass das Volumen gleichmässig über die Session verteilt ist: Prognose = aktuelles_Volumen × (Session-Länge / verstrichene_Minuten). Einfach, ohne Zusatzdaten, überschätzt aber am Vormittag den Rest, weil die U-Form ignoriert wird.
Live-Update: Die Schätzung wird auf der aktuellen (letzten) Kerze berechnet und aktualisiert sich im Tagesverlauf. Bei geschlossenem Markt wird die verstrichene Zeit auf die volle Session begrenzt, sodass die Prognose gegen das tatsächliche Tagesvolumen konvergiert.
Anzeige
Volumen-Säulen des tatsächlichen Tagesvolumens (historisch und aktuell), eingefärbt nach Up/Down-Tag — grün wenn close ≥ open, sonst rot.
Prognose-Linie für das hochgerechnete Tagesvolumen, auf der aktuellen Kerze bis zum rechten Rand verlängert (trackprice).
Label am letzten Balken mit der Schätzung (z. B. "Est. 3.2M").
Info-Tabelle (optional, unten rechts) mit gewählter Methode, Prognose, Anteil der bereits verstrichenen Session, aktuellem Volumen und Anzahl der für das Profil genutzten Tage.
Einstellungen
Forecast Method: Intraday Profile oder Linear.
Trading Session: Session-String (Standard 0930-1600 für US-RTH); an das Instrument anpassen (z. B. 0900-1730 EU-Aktien, 0000-2400 für 24h / Krypto / FX).
Profile Resolution (min): Intraday-Auflösung zum Aufbau der Volumenkurve (nur Intraday Profile).
Show Historical Daily Volumes: Volumen-Säulen ein-/ausblenden.
Show Info Table: Tabelle ein-/ausblenden.
Farben für Up- und Down-Volumen.
Verwendung
Auf einen Daily-Chart anwenden (auf anderen Timeframes erscheint ein Hinweis-Label). Geeignet, um die Marktbeteiligung in Echtzeit einzuschätzen — etwa zur Bestätigung von Ausbrüchen bei steigender prognostizierter Beteiligung, zum Markieren ungewöhnlich ruhiger Tage oder als Kontext-Filter neben einer Kursstrategie. Die Methode Intraday Profile wird empfohlen, wenn das Instrument eine ausgeprägte Intraday-Volumenform hat; Linear ist ein leichtgewichtiger Fallback ohne Intraday-Historie.
Hinweise
request.security_lower_tf liefert nur eine begrenzte Menge jüngster Intraday-Historie (PulseWire-/Abo-Limit), daher basiert das Profil auf den jüngsten verfügbaren Tagen und rollt natürlich mit.
Die Profil-Methode braucht einige abgeschlossene Tage zum "Aufwärmen"; bis dahin greift der lineare Fallback.
Der Session-String muss zum Instrument passen, sonst werden die Zeit-Skalierung — und damit die Prognose — verzerrt. Vor-/Nachbörsliches Volumen wird nicht berücksichtigt.
Dieses Skript ist ein Analyse-Werkzeug und stellt keine Anlageberatung dar. Eine Volumenprognose ist eine Hochrechnung, keine Garantie für den Tagesausgang.
Indicator

Key Indicators Dashboard (KID)Key Indicators Dashboard (KID) — Comprehensive Market & Trend Metrics
📌 Overview
The Key Indicators Dashboard (KID) is an advanced multi-metric market analysis tool designed to consolidate essential technical, volatility, and relative performance data into a single on-chart table. Instead of switching between multiple indicators, KID centralizes these key measures, making it easier to assess a stock’s technical health, volatility state, trend status, and relative strength at a glance.
🛠 Key Features
⦿ Average Daily Range (ADR %): Measures average daily price movement over a specified period. It is calculated by averaging the daily price range (high - low) over a set number of days (default 20 days).
⦿ Average True Range (ATR): Measures volatility by calculating the average of a true range over a specific period (default 14). It helps traders gauge the typical extent of price movement, regardless of the direction.
⦿ ATR%: Expresses the Average True Range as a percentage of the price, which allows traders to compare the volatility of stocks with different prices.
⦿ Relative Strength (RS): Compares a stock’s performance to a chosen benchmark index (default NIFTYMIDSML400) over a specific period (default 50 days).
⦿ RS Score (IBD-style): A normalized 1–100 rating inspired by Investor’s Business Daily methodology.
How it works: The RS Score is based on a weighted average of price changes over 3 months (40%), 6 months (20%), 9 months (20%), and 12 months (20%).
The raw value is converted into a percentage return, then normalized over the past 252 trading days so the lowest value maps to 1 and the highest to 100.
This produces a percentile-style score that highlights the strongest stocks in relative terms.
⦿ Relative Volume (RVol): Compares a stock's current volume to its average volume over a specific period (default 50). It is calculated by dividing the current volume by the average historical volume.
⦿ Average ₹ Volume (Turnover): Represents the total monetary value of shares traded for a stock. It's calculated by multiplying a day's closing price by its volume, with the final value converted to crores for clarity. This metric is a key indicator of a stock's liquidity and overall market interest.
⦿ Moving Average Extension: Measures how far a stock's current price has moved from from a selected moving average (EMA or SMA). This deviation is normalized by the stock's volatility (ATR%), with a default threshold of 6 ATR used to indicate that the stock is significantly extended and is marked with a selected shape (default Red Flag).
⦿ 52-Weeks High & Low: Measures a stock's current price in relation to its highest and lowest prices over the past year. It calculates the percentage a stock is below its 52-week high and above its 52-week low.
⦿ Market Capitalization: Market Cap represents the total value of all outstanding.
⦿ Free Float: It is the value of shares readily available for public trading, with the Free Float Percentage showing the proportion of shares available to the public.
⦿ Trend: Uses Supertrend indicator to identify the current trend of a stock's price. A factor (default 3) and an ATR period (default 10) is used to signal whether the trend is up or down.
⦿ Minervini Trend Template (MTT): It is a set of technical criteria designed to identify stocks in strong uptrends.
Price > 50-DMA > 150-DMA > 200-DMA
200-DMA is trending up for at least 1 month
Price is at least 30% above its 52-week low.
Price is within at least 25 percent of its 52-week high
Table highlights when a stock meets all above criteria.
⦿ Sector & Industry: Display stock's sector and industry, provides categorical classification to assist sector-based analysis. The sector is a broad economic classification, while the industry is a more specific group within that sector.
⦿ Moving Averages (MAs): Plot up to four customizable Moving Averages on a chart. You can independently set the type (Simple or Exponential), the source price, and the length for each MA to help visualize a stock's underlying trend.
MA1: Default 10-EMA
MA2: Default 20-EMA
MA3: Default 50-EMA
MA4: Default 200-EMA
⦿ Moving Average (MA) Crossover: It is a trend signal that occurs when a shorter-term moving average crosses a longer-term one. This script identifies these crossover events and plots a marker on the chart to visually signal a potential change in trend direction.
User-configurable MAs (short and long).
A bullish crossover occurs when the short MA crosses above the long MA.
A bearish crossover occurs when the short MA crosses below the long MA.
⦿ Inside Bar (IB): An Inside Bar is a candlestick whose entire price range is contained within the range of the previous bar. This script identifies this pattern, which often signals consolidation, and visually marks bullish and bearish inside bars on the chart with distinct colors and labels.
⦿ Tightness: Identifies periods of low volatility and price consolidation. It compares the price range over a short lookback period (default 3) to the average daily range (ADR). When the lookback range is smaller than the ADR, the indicator plots a marker on the chart to signal consolidation.
⦿ PowerBar (Purple Dot): Identifies candles with a strong price move on high volume. By default, it plots a purple dot when a stock moves up or down by at least 5% and has a minimum volume of 500,000. More dots indicate higher volatility and liquidity.
⦿ Squeezing Range (SQ): Identifies periods of low volatility, which can often precede a significant price move. It checks if the Bollinger Bands have narrowed to a range that is smaller than the Average True Range (ATR) for a set number of consecutive bars (default 3).
(UpperBB - LowerBB) < (ATR × 2)
⦿ Mark 52-Weeks High and Low: Marks and labels a stock's 52-Week High and Low prices directly on the chart. It draws two horizontal lines extending from the candles where the highest and lowest prices occurred over the past year, providing a clear visual reference for long-term price extremes.
⏳PineScreener Filters
The indicator’s alert conditions act as filters for PineScreener.
Price Filter: Minimum and maximum price cutoffs (default ₹25 - ₹10000).
Daily Price Change Filter: Minimum and maximum daily percent change (default -5% and 5%).
🔔 Built-in Alerts
Supports alert creation for:
ADR%, ATR/ATR %, RS, RS Rating, Turnover
Moving Average Crossover (Bullish/Bearish)
Minervini Trend Template
52-Week High/Low
Inside Bars (Bullish/Bearish)
Tightness
Squeezing Range (SQ)
⚙️ Customizable Visualization
Switchable between vertical or horizontal layout.
Works in dark/light mode
User-configurable to toggle any indicator ON or OFF.
User-configurable Moving (EMA/SMA), Period/Lengths and thresholds.
⦿ (Optional) : For horizontal table orientation increase Top Margin to 16% in Chart (Canvas) settings to avoid chart overlapping with table.
⚡ Add this script to your chart and start making smarter trade decisions today! 🚀 Indicator

TZtraderTZtrader
This is a TrendZones version with features to set stoploss and targets in short and long positions meant for use in intraday charts. It aims to provide signals for opening and closing long and short positions. In the comments under the TrendZones publication several people expressed a need for features for a short position similar to those for a long position as implemented in TrendZones, some want to use it for scalping, some asked for alerts. When I proposed to create a version for day trading with target lines based on ATR, several people liked the idea.
Full disclosure: I don’t do day trading, because, after I lost a lot of money, I had to promise my wife to stay away from it. I restrict myself to long term investing in stocks which are in uptrend. However I understand what a day trader needs. I gather from my experience that day trading or scalping is an attempt to earn something by opening a position in the morning and close, reopen and close it again during the day with a profit. It is usually done with leveraged instruments like CFD’s, futures, options, and what have you. Opening and closing positions is done within minutes, so the trader needs a quick and efficient way to set proper stoploss and target. TZtrader supports this by showing only three or four numbers on the price bar: The price of the instrument, The logical stop level (gray or green or maroon dots), and the target level (navy). All other numbers are suppressed to prevent mistakes. Also a clear feedback for current settings at the top-center of the pane and an alert feedback at bottom that flashes alerts during the development of the current bar and gives suppression status.
The script
First I made a bare bones version of TrendZones to which I added code for long and short trading setups and a bare setup for no position. The code for the logical stops in long setup had to be reviewed, after which this became the basis for stops in short setup.
Then I added code for 10 alert messages, which was a hassle, because this is the first time I coded alerts and the first time I used an array as a stack to avoid a complicated if-then construction. During testing the array caused a runtime error which I solved by adding ‘array.clear’ to the code, also I discovered that in PulseWire separate alerts have to be created for all three setups - short, long and bare. Flipping setups is done in the inputs with a dropdown menu because Pine Script has no function for a clickable button.
One visual with three setups.
The visual has the TrendZones structure: Three near parallel very smooth curves, which border the moderate uptrend (green) and downtrend (orange) zone over and under the curve in the middle, the COG (Center Of Gravity). Where the price breaks out of these curves, strong trend zones show up over and under the curves, respectively strong uptrend (blue) and strong downtrend (red).
Three setups were made clearly different to avoid confusion and to provide oversight in case of multiple trades going on simultaneously which I imagine are monitored in one screen. You have to see which one is long, which short and which have no position. The long setup should not trigger short signals, nor should the short trigger long signals nor the bare setup exclusive long or short signals.
The Long setup is default, shown on the example chart. In this setup the Stoploss suggestions (green, gray and maroon dots) are under the price bars and the target line (navy) at a set distance above the High Border. A zone with a width of 1 ATR is drawn under the Low Border. In this setup 5 specific alerts are provided
The Short setup has the Stoploss suggestions over the price bars, the target line at a set distance under the Low Border. A zone with a width of 1 ATR is drawn above the High Border. This setup also has 5 specific alerts.
The Bare setup has no Stoploss suggestions, no target line and supports 4 alerts, 2 in common with the Long setup and 2 with Short.
The table below gives a summary of scripted alerts:
Setup = Where = When = Purpose
Long, Bare = Green Zone = Bars come from lower zones = Uptrend starts
Long, Bare = Green Zone = Sideways ends in uptrend = Uptrend resumes
Long = COG = First crossing = Uptrend might end warning
Long = Orange Zone = Bars come from higher zones = Uptrend ended take care
Long = Red Zone = Bars come from higher zones = Strong downtrend->close Long
Short, Bare = Orange Zone = Bars come from higher zones = Downtrend starts
Short, Bare = Orange Zone = Sideways ends in downtrend = Downtrend resumes
Short = COG = First crossing = Downtrend might end warning
Short = Green Zone = Bars come from lower zones = Downtrend ended take care
Short = Blue Zone = Bars come from lower zones = Strong uptrend -> close short
You can use script alerts in PulseWire by clicking the clock in the sidebar, then ‘create alert’ or plus, as condition you choose ‘Tztrader’ in the dialog box, then the “Any alert() function call” option (the first item in the list). The script lets the valid alert trigger by PulseWire after the bar is completed, this can differ from the flashed messages during its formation.
When you create alerts in Tradingview, I advice to do that for each setup, then to make only the alert active which matches the current setup, pause the other ones.
Suppressing false and annoying signals
The script has two ways to suppress such signals, which have to do with the numbers in the alert feedback. The numbers left and right of the message with a colored background, depict the zones in which the previous (left) and current (right) bar move. 1 is the strong downtrend zone (red), 2 the moderate downtrend zone (orange), 3 the sideways zones (gray), 4 the COG (gray), 5 the moderate uptrend zone (green), 6 the strong uptrend zone (blue), 7 something went wrong with assigning a zone (black). In extensive testing the number 7 never occurs, because I catch that error in the code. The idea is that an alert is only triggered if the previous bar was in a different zone. When the bars are in the same zone, no alert is possible. This way all annoying signals are suppressed and long, short and bare get the appropriate alerts.
The third number is a counter. It counts how often the COG is crossed without touching the outer curves. The counter will reset to zero when the upper or lower curve is touched. When the count is 1 you have zone situation 4 and appropriate alerts are flashed. When the count is 2 or higher, a sideways situation (3) is called and while the recrossings are going on, no alerts can be flashed. This suppresses false signals. The ATR zone and curves are brownish-gray where sideways happens(ed). When the channel is narrowed down to just the three curves, some false signals still might occur.
Inputs
“Setup”, default is long, drop down menu provides long, short and bare.
“Target ATR”, default is 2, sets the amount of ATR for the target line. In 1 minute charts 4 seems an appropriate setting, you have to learn by experience which setting works.
“show feedback …” default is on, This creates two feedback labels, a Setup feedback on top of the pane, which shows charted instrument, Setup type, Trend and timeframe of the chart. Background color of Trend feedback is green when it matches the setup, red when mismatches and gray when no match. The alert feedback at the bottom of the pane shows a number, a message and two numbers. The numbers will be explained in the chapter about false and annoying signals below. During formation of the bar, valid alerts are flashed with a blue background, otherwise the message ‘alerts for current bar suppressed’.
Logical Stops
The curves are the logical place to put stops, because, as these are averages of the high and low border of a Donchian channel, they signify the ‘natural’ current highest, lowest and main level in the lookback period that fit the monitored trend setup. A downtrend turns into an uptrend when a breakout of the upper curve occurs. If you are short, that is where you want to close position, so the logical place for the stoploss is the upper curve. Vice versa, when you are long, the logical stop is on the lower curve. The stops show up as green or gray dots on the curves, the green dots signify a nice entry level, the gray stops are there to suggest levels where unrealized profits might be secured, the maroon dots indicate that the trend mismatches the setup.
COG versus other lines
Any line used to identify a trend, be it some MA or some other line, is interpreted the same way: When the bars move above the line there is an uptrend and when below, a downtrend. COG is not different in that sense. If you put such a line in the same chart as TZtrader, you can see situations in which the other line shows uptrend or downtrend earlier than COG, also some other lines, e.g. Hull MA, are very good at showing tops and bottoms, while COG ignores these. On the other hand the other lines are usually a little nervous and let you shake out of position too soon. Just like the other lines, COG gives false signals when it is near horizontal. The advantage of the placement COG is the tolerance for pull backs. This way TZtrader keeps you longer in the trend. Such pull backs are often ‘flags’ which are interpreted in TA as confirming the trend. Tztrader aims to get you in position reasonably soon when a trend begins and out of position as soon as the trend turns against you. The placement of COG is done with a fundamentally different algorithm than other lines as it is not an average of prices, but the middle of two averages of borders of a Donchian channel. This gives the two zones between the curves the same quality as the two zones above and below the middle line of a standard Donchian Channel.
A multi timeframe application.
In this scenario you put a 5 minutes and 1 minute chart with Tztrader side by side. If the 5 minutes shows uptrend, set the 1 minute on long trading and open positions when the trend matches uptrend en close when it mismatches. Don’t open short positions. Once the 5 minute changes to downtrend, set Tztrader in the 1 minute to short trading and open positions when the trend matches downtrend and close when it mismatches.
The idea is that in a long ‘context’, provided by the 5 minutes, the uptrends in the 1 minute will last longer and go further, vice versa for the short ‘context’. This way you do swing trading in the 5 minute in a smart way, maximizing profits.
You can do this with any timeframe pairs with a proportion of around 5:1, 4:1, 6:1, like e.g. 60 minutes and 15 minutes or weeks and days (5 trading days in a week).
Dear day-traders, may this tool be helpful and may your days be blessed.
Take care
Indicator
