Cantom Chart - CL CTG vs BKDEnglish : This Pine Script indicator, named "Cantom Chart - CL CTG vs BKD," uniquely analyzes the immediate state of oil futures contracts to determine if they are in contango or backwardation. The script uses the price ratio between the nearest (CL1) and the next nearest (CL2) NYMEX crude oil futures contracts. It multiplies this ratio by 100 for clarity and scales fluctuations for enhanced visibility.
Key Features:
Dynamic Ratio Calculation: Computes the ratio (CL1/CL2 * 100) to determine the immediate market state.
Market State Interpretation: A ratio above 100 indicates backwardation, suggesting higher demand than supply, while a ratio below 100 indicates contango, suggesting higher supply than demand.
Volatility Adjustment: Amplifies market state changes by tripling the deviation from the baseline of 100, making it easier to observe subtle shifts.
Anomaly Detection: Caps the adjusted ratio at 125 for highs and 75 for lows, maintaining these limits until the ratio returns to normal levels.
Usage: This indicator is especially useful for traders analyzing supply-demand dynamics and inflationary pressures in the oil market. To apply it, simply add the script to your TradingView chart and adjust the 'Lower Threshold' and 'Upper Threshold' lines as needed based on your trading strategy.
-----
日本語 : この「Cantom Chart - CL CTG vs BKD」Pine Scriptインジケーターは、直近の原油先物契約がコンタンゴまたはバックワーデーションにあるかを特定するための独自の分析を提供します。最近の(CL1)と次の(CL2)NYMEX原油先物契約間の価格比を使用し、この比率に100を掛けて明確性を高め、変動の視認性を向上させます。
主要機能:
動的比率計算: 市場の即時状態を判断するために比率(CL1/CL2 * 100)を計算します。
市場状態の解釈: 比率が100を超える場合はバックワーデーション(需要が供給を上回る)、100未満の場合はコンタンゴ(供給が需要を上回る)を示します。
変動調整: 基準値100からの偏差を3倍にして、微妙な変化を容易に観察できるようにします。
異常値検出: 調整された比率を高値で125、低値で75に制限し、通常のレベルに戻るまでこれらの限界を維持します。
使用方法: このインジケーターは、原油市場における需給ダイナミクスとインフレ圧力を分析するトレーダーにとって特に有用です。使用するには、このスクリプトをTradingViewチャートに追加し、トレーディング戦略に基づいて「Lower Threshold」と「Upper Threshold」のラインを必要に応じて調整します。
Komut dosyalarını "西布罗姆vs伯恩利" için ara
Bearish vs Bullish ArgumentsThe Bearish vs Bullish Arguments Indicator is a tool designed to help traders visually assess and compare the number of bullish and bearish arguments based on their custom inputs. This script enables users to input up to five bullish and five bearish arguments, dynamically displaying the bias on a clean and customizable table on the chart. This provides traders with a clear, visual representation of the market sentiment they have identified.
Key Features:
Customizable Inputs: Users can input up to five bullish and five bearish arguments, which are displayed in a table on the chart.
Bias Calculation: The script calculates the bias (Bullish, Bearish, or Neutral) based on the number of bullish and bearish arguments provided.
Color Customization: Users can customize the colors for the table background, text, and headers, ensuring the table fits seamlessly into their charting environment.
Reset Functionality: A reset switch allows users to clear all input arguments with a single click, making it easy to start fresh.
How It Works:
Input Fields: The script provides input fields for up to five bullish and five bearish arguments. Each input is a simple text field where users can describe their arguments.
Bias Calculation: The script counts the number of non-empty bullish and bearish arguments and determines the overall bias. The bias is displayed in the table with a dynamically changing color to indicate whether the market sentiment is bullish, bearish, or neutral.
Customizable Table: The table is positioned on the chart according to the user's preference (top-left, top-right, bottom-left, bottom-right) and can be customized in terms of background color and text color.
How to Use:
Add the Indicator: Add the Bearish vs Bullish Arguments Indicator to your chart.
Input Arguments: Enter up to five bullish and five bearish arguments in the provided input fields in the script settings.
Customize Appearance: Adjust the table's background color, text color, and position on the chart to fit your preferences.
Example Use Case:
A trader might use this indicator to visually balance their arguments for and against a particular trade setup. By entering their reasons for a bullish outlook in the bullish argument fields and their reasons for a bearish outlook in the bearish argument fields, they can quickly see which side has more supporting points and make a more informed trading decision.
This script was inspired by Arjoio's concepts
VIX: Backwardation Vs ContangoVIX: Backwardation Vs Contango
Quickly visualize Contango vs Backwardation in the S&P 500 Volatility Index by plotting the prices of the futures contracts over the next 9 months
Note: indicator does not map to time axis in the same way as price; it simply plots the progression of contract months out into the future; left to right; so timeframe DOESN'T MATTER for this plot
TO UPDATE(every few months recommended): in REQUEST CONTRACTS section, delete old contracts (top) and add new ones (bottom). Then in PLOTTING section, Delete old contract labels (bottom); add new contract labels (top); adjust the X in 'bar_index-(X+_historical)' numbers accordingly
This is one of several similar indicators: Meats | Metals | Grains | VIX
Tips:
-Right click and reset chart if you can't see the plot; or if you have trouble with the scaling.
-Right click and pin to Scale A to plot on the same scale as price
--Added historical input: input days back in time; to see the historical shape of the Futures curve via selecting 'days back' snapshot
updated 15th June 2022
© twingall
ROC vs BTCThis is a modification of my Rate of Change Percentile script, used to compare the current ticker (e.g. Altcoins) to BTC.
Essentially we are looking at (Current Ticker ROC percentile) vs (Bitcoin ROC percentile).
In other words, we are using the ROC value of both the current ticker and BTC, and ranking each based on their previous ROC.
We compare the rankings to gauge the relative overperformance or underperformance of the current ticker vs BTC.
The blue line is BTC, the columns are the current ticker.
Green columns above the blue line indicate positive ROC and current ticker has higher ROC ranking than BTC.
Red columns below the blue line indicate negative ROC and current ticker has a higher ROC ranking than BTC.
*** PLEASE LEAVE A LIKE AND FOLLOW IF YOU ENJOY THE SCRIPT ***
Any questions, comments or feedback I'd love to hear from you below!
Percentile - Price vs FundamentalsThis is done in the same lines of below scripts
Drawdown-Price-vs-Fundamentals
Drawdown-Range
Instead of using drawdown, here we are only plotting percentile of drawdown. Also added few more fundamental stats to the indicator. Also using part of the code from Random-Color-Generator/ to automatically generate colors. This in turn uses code from @RicardoSantos for convering color based on HSL to RGB
This is how the study can be used:
Study plots percentile of price and each of the listed fundamentals based on history. History can be chose All time or particular window. If any fundamental or price is near 100 - which means it is nearer to its peak. And if something is near its bottom, it is nearer to its 0th percentile.
Price of the stock is considered undervalued based on historical levels when it is below most of the fundamentals. Price is considered overvalued based on historical levels when it is above all the fundamentals. Please note, being undervalued does not guarantee immediate mean reversion. Stocks can stay undervalued for prolonged time and can go further down. Similarly overvalued stock can stay overvalued for prolonged time before correcting itself or justifying the position. Hence, further discretion needs to be used while using this study.
Few examples:
AMZN seems to be trading in range and so are the fundamentals:
MSFT at peak along with half of the fundamentals. But, debt levels are going up along with margins reducing.
LPX is trading at 15% discount whereas most of the fundamentals are at the peak.
FLGT price seems to have gone down further whereas fundamentals look pretty healthy.
DTR vs ATRThis script shows DTR vs ATR (Today's True Range vs 14 days Avg True Range) along with percentage. The label automatically changes color based on percent value. <=70 is GREEN, >=90 is RED and between 70 & 90 is ORANGE.
The location of the script not stick to one place. There is no such a functionality to keep it static at one location (like top right corner). But I think that feature is coming soon. I may be wrong.
Altcoin Cap vs Bitcoin Cap RSIFollowing Willy Woo study of Altcoin Cap vs Bitcoin Cap RSI
charts.woobull.com
Spreads CCC/BBB/AAA vs Treasury 10Y//@version=5
indicator("Spreads CCC/BBB/AAA vs Treasury 10Y", overlay=false)
// Tickes de ejemplo (debes reemplazar con los que tengas disponibles en TradingView)
ccc = request.security("XCCC", "D", close) // High Yield CCC
bbb = request.security("LQD", "D", close) // Investment Grade BBB
aaa = request.security("QLTA", "D", close) // AAA
treasury = request.security("US10Y", "D", close) // US Treasury 10Y
// Cálculo del spread (yield bono - yield Treasury)
spread_ccc = ccc - treasury
spread_bbb = bbb - treasury
spread_aaa = aaa - treasury
// Umbral para alerta de riesgo
umbral = input.float(2.0, "Umbral spread (%)")
// Plot de los spreads
plot(spread_ccc, color=color.red, title="Spread CCC")
plot(spread_bbb, color=color.orange, title="Spread BBB")
plot(spread_aaa, color=color.green, title="Spread AAA")
// Señal visual cuando el spread supera el umbral
plotshape(spread_ccc > umbral, title="Alerta CCC", color=color.red, style=shape.triangledown, location=location.abovebar, size=size.tiny)
plotshape(spread_bbb > umbral, title="Alerta BBB", color=color.orange, style=shape.triangledown, location=location.abovebar, size=size.tiny)
plotshape(spread_aaa > umbral, title="Alerta AAA", color=color.green, style=shape.triangledown, location=location.abovebar, size=size.tiny)
EMA vs TMA Regime FilterEMA vs TMA Regime Filter
This indicator is built as a visual study tool to compare the behavior of the Exponential Moving Average (EMA) and the Triangular Moving Average (TMA).
The EMA applies an exponential weighting to price data, giving stronger importance to the most recent values. This makes it a faster, more responsive line that reflects short-term momentum. The TMA, by contrast, applies a double-smoothing process (or in the “True TMA” option, a split SMA sequence), which produces a much slower curve. The TMA emphasizes balance over reactivity, often used for filtering noise and observing longer-term structure.
When both are plotted on the same chart, their differences become clear. The shaded region between them highlights times when short-term price dynamics diverge from longer-term smoothing. This is where the idea of “regime” comes in — not as a trading signal, but as a descriptive way of seeing whether market action is currently dominated by speed or by stability.
Users can customize:
Line styles, widths, and colors.
Cloud transparency for visual clarity.
Whether to color bars based on relative position (optional, purely visual).
The goal is not to create a system, but to help traders experiment, observe, and learn how different smoothing techniques can emphasize different aspects of price. By switching between the legacy and true TMA, or adjusting lengths, users can study how each approach interprets the same data differently.
Relative RSI vs Multi Benchmark (Equal Weight + RBI Rate)Relative RSI vs Multi Benchmark (Equal Weight + RBI Rate) - Select RSI or MACD
Alt Season vs USDT Flow DashboardWhat the script tells you (the signals)
It builds four “alt vs stables” lenses and colors the background when they agree.
ALT ex-ETH / STABLES (TOTAL3 / (USDT+USDC+DAI))
Think: “How much alt cap per $1 of dry-powder stables?”
Bullish when price is above its 200-day SMA and rising → risk appetite expanding toward smaller alts.
ALT Share of Risk-On ((TOTAL − STABLES − BTC − ETH) / (TOTAL − STABLES))
Of the non-stable crypto pie, how much is flowing to ex-BTC/ETH alts?
Uptrend = broadening alt participation (late-early to mid alt-season behavior).
Dominance Spread ((TOTAL3 / TOTAL) − (STABLES / TOTAL))
Alts’ share minus stables’ share.
Widening spread means stables are being converted into alts (not just into BTC).
Flow Ratio ROC(TOTAL3, N) / ROC(STABLES, N) (default N=30 days)
Compares alts’ growth rate to stable supply growth.
> 1 and sustained → alts expanding faster than new “dry powder” is appearing.
The background color (“regime”)
Green (ALT-on) when all three conditions align:
ALT/Stable > its SMA
Dominance Spread > its SMA
Flow Ratio > 1
Red (ALT-off) when the opposite holds.
No color = mixed/chop.
How to read it (quick playbook)
Early alt-season tell:
BTC.D starts to slip, total market cap (TOTAL) rising.
ALT/Stable breaks above its 200-SMA and stays there.
Dominance Spread climbs (alts gaining share, stables losing share).
Flow Ratio > 1 for a few weeks.
Maturing phase: ALT Share of Risk-On rises (money broadens from ETH/L1s → mid/small caps).
Exhaustion/false start: Flow Ratio dips < 1 or ALT/Stable loses the 200-SMA while BTC.D stabilizes or rises.
Practical tips
Timeframes: Make calls on 1D. Use 1W to avoid whipsaw; use 4H only for entries once the 1D regime is green.
Smoothing: If you see noisy spikes from market-cap revisions, add a light smoother (e.g., 7D SMA on the plotted lines).
Parameters:
Try ROC length 21–45 days.
Try SMA 150–250 days (200 is a good middle).
Confluence: Keep BTC.D and ETH.D in another pane. Best alt windows: BTC.D trending down, ETH.D flat-to-up initially, then ETH.D flattens as TOTAL3 momentum spreads to mid/small caps.
Risk checks: If USDT.D/USDC.D (stable dominance) spike up while your signals are green, that’s a caution flag (capital retreating to stables).
Relative Weighted Rate of Change (WROC) vs Nifty 50Relative Weighted Rate of Change (WROC) vs Nifty 50
ALTSEASON Monitor: Macro vs Crypto (normalized)ALTSEASON Monitor: Macro vs Crypto (normalized)
Set 1W or 1M timeframe for the macro picture.
If your provider does not have some symbols, change the tickers in the script settings (for example, ETHBTC from another exchange).
For detailed trading, keep this monitor on the second window and watch local entries on individual charts.
BTC vs USDT Dominance + Info//@version=5
indicator("BTC vs USDT Dominance + Info", overlay=false)
// Ambil data BTCUSDT (Bybit)
btc = request.security("BYBIT:BTCUSDT", timeframe.period, close)
// Ambil data USDT Dominance (USDT.D)
usdtDom = request.security("CRYPTOCAP:USDT.D", timeframe.period, close)
// Normalisasi biar skalanya sama
btcNorm = (btc - ta.lowest(btc, 200)) / (ta.highest(btc, 200) - ta.lowest(btc, 200)) * 100
usdtNorm = (usdtDom - ta.lowest(usdtDom, 200)) / (ta.highest(usdtDom, 200) - ta.lowest(usdtDom, 200)) * 100
// Plot garis
plot(btcNorm, color=color.green, title="BTC (Normalized)", linewidth=2)
plot(usdtNorm, color=color.red, title="USDT Dominance (Normalized)", linewidth=2)
// Deteksi arah candle terakhir
btcUp = ta.change(btc) > 0
btcDown = ta.change(btc) < 0
// Label info otomatis
if btcUp
label.new(bar_index, btcNorm, "BTC Naik → USDT Dominance Turun",
color=color.green, textcolor=color.white, style=label.style_label_up)
if btcDown
label.new(bar_index, btcNorm, "BTC Turun → USDT Dominance Naik",
color=color.red, textcolor=color.white, style=label.style_label_down)
BTC vs USDT Dominance + Info//@version=5
indicator("BTC vs USDT Dominance + Info", overlay=false)
// Ambil data BTCUSDT (Bybit)
btc = request.security("BYBIT:BTCUSDT", timeframe.period, close)
// Ambil data USDT Dominance (USDT.D)
usdtDom = request.security("CRYPTOCAP:USDT.D", timeframe.period, close)
// Normalisasi biar skalanya sama
btcNorm = (btc - ta.lowest(btc, 200)) / (ta.highest(btc, 200) - ta.lowest(btc, 200)) * 100
usdtNorm = (usdtDom - ta.lowest(usdtDom, 200)) / (ta.highest(usdtDom, 200) - ta.lowest(usdtDom, 200)) * 100
// Plot garis
plot(btcNorm, color=color.green, title="BTC (Normalized)", linewidth=2)
plot(usdtNorm, color=color.red, title="USDT Dominance (Normalized)", linewidth=2)
// Deteksi arah candle terakhir
btcUp = ta.change(btc) > 0
btcDown = ta.change(btc) < 0
// Label info otomatis
if btcUp
label.new(bar_index, btcNorm, "BTC Naik → USDT Dominance Turun",
color=color.green, textcolor=color.white, style=label.style_label_up)
if btcDown
label.new(bar_index, btcNorm, "BTC Turun → USDT Dominance Naik",
color=color.red, textcolor=color.white, style=label.style_label_down)
XMR Divergences vs KrakenSUMMARY
This script finds the percentage difference between Kraken, and multiple other exchanges, for the price of XMRUSD, and then runs a variable length moving average of those differences. Optionally, you can multiply by the reported volume of the exchange in question. Skip to "USAGE" at the bottom for a quick view of the settings. But I recommend reading DETAILED DESCRIPTION as well.
PURPOSE
The purpose of this script is to get a look into the relative funds flows of XMR between Kraken and the other exchanges. So long as an exchange withdraws are open: 1) Negative divergences indicate XMR outflows from the exchange under consideration, 2) Postive divergences indicate XMR inflows from Kraken to the exchange.
This appears to be moderately correlated with price movements in Monero (but not always). There is also the theory that positive accumulation is a leading indication of a growing probability of postive price action in the general crypto market, and negative accumulation is a leading indicator of an upcoming peak. In other words, exchanges like to accumulate Monero quietly during calm downtimes, and they like to manage its price from gaining too much attention (pump) during broad market positivity.
BACKGROUND
It's well known among XMR traders that most exchanges are operating on a heavy fractional reserve basis as regards Monero. The past 2 years have seen regular and repeated withdraw freezes, sometimes for weeks/months at a time. Occasionally, liquidity stress tests have been performed, with predictable results - none of these exchanges are able to continue supporting withdraws.
Kraken is the only exchange of meaningful volume that has never frozen withdraws for more than an hour or so. Thus, we theorize that Kraken is operating with all, or most of the XMR they claim to have.
Furthermore, we have seen in the past, large price negative price divergences of these fractional reserve exchanges relative to Kraken. As the social outcry grew stronger for this malfeasance, these exchanges have gone to greater lengths to hide their price divergences.
On minute-by-minute ; hour-by-hour basis, typically, a look with the naked eye would show oscillation around the zero point. But when you average it out, especially on lower timeframes (like the 1 and 5 min candles), you can very clearly see that when withdraws are shut down, these exchanges simultaneously diverge their prices downwards as well.
DETAILED DESCRIPTION
The ideal view of price divergence would compare second-by-second prices, and then run something like a rolling 4-hr or 1-day SMA to average out the overall divergences. However, due to limitations of TradingView, this is impractical/impossible for actual usage/viewing. As a result, a balance must be struck, when selecting the combination of the candle period, and the SMA lookback length.
I find that 5min candles, with a 48-period lookback (that equates to a rolling 4-hour SMA), offers the best view of recent and historical price divergence activity. This of course means that we're only sampling price divergences once every 5 minutes, but it still provides a decent look at what's happening. If this script gets popular, I wouldn't be surprised if these exchanges start timing their candle closes to mask their misdeeds, but that's of course speculative on my part.
The other important factor here, *IS TO MULTIPLY BY VOLUME*. Some of these no-volume exchanges have large price divergences. But if they're not doing any real volume, then it doesn't really have any real market impact. Thus, I recommend keeping the "Make volume adjustment" option on.
If that ends up happening, we'll have to infer that by comparing the difference in close prices, vs the difference in the highest or lowest intra-candle prices (wicks). Typically a divergence should have all 3 showing similar results.
Notes regarding "Sum_of_All": This only makes sense when multiplying by volume. So only check this if you also made the volume adjustment. Generally I believe that *Binance* sets the tone. However, we have seen numerous occasions where Binance diverges down, and the others diverge up. I believe this is a social influence tactic, since most people look at Binance price. Meanwhile, they're trying to accumulate some small amount on the other exchanges to minimize their overall loss. This of course assumes collusion by these exchanges, which is a high likely hood, seeing as how in May 2021, they all diverged together simultaneously (among other evidence).
USAGE
I recommend using your browser zoom, to see data beyond 1 month in the past.
Lookback - The number of candles over which to conduct a moving average. On 5-min candles for example, here's how the math works out:
12 - Equates to a 1 hr MA
24 - 2 hrs
48 - 4 hrs (default)
288 - 1 day
2880 - 10 days
Make Volume Adjustment - Recommend that you usually keep this on.
Line Widths - Set to preference
Show_Close_Price? - You can compute the difference at candle close. Or you can check the other boxes to compare the highest/lowest prices for intra candle prices (wicks).
Show Sum_of_All? - You can sum all of the differences, which only makes sense if you're making the volume adjustement. Default is off. Below, you can also choose which exchanges to include in the sum.
This works best on lower timeframes, like the 1m, 5, and 15m charts. I personally use 5m, with 48 or 96 length lookback. You get a better view of the real time price divergences that way.
Price vs 10 EMA % DifferenceThis is a table that will show the percentage difference between the stock price vs the 10 day EMA.
Market Energy – Trend vs Retest (with Saturation %)Market Energy – Trend vs Retest Indicator
This indicator measures the bullish and bearish energy in the market based on volume-weighted price changes.
It calculates two smoothed energy waves — bullish energy and bearish energy — using exponential moving averages of volume-adjusted price movements.
The indicator detects trend changes and retests by comparing the relative strength of these waves.
A saturation percentage quantifies the intensity of the current dominant side (bulls or bears) relative to recent highs.
- High saturation (>70%) indicates strong momentum and dominance by bulls or bears.
- Low saturation (<30%) suggests weak momentum and possible market indecision or consolidation.
The background color highlights the current control: green for bulls, red for bears, with transparency indicating the saturation level.
A label shows which side is currently in control along with the saturation percentage for quick interpretation.
Use this tool to identify strong trends, possible retests, and momentum strength to support your trading decisions.
Multi CEX BTC Spot vs Perpetual PremiumThis Indicator shows the BTC Spot vs Perpetual premium across different CEX.
BTC vs MSTR PerformanceBTC vs MSTR Performance - BULL
• Green: MSTR has outperformed BTC over the selected time period.
• Red: BTC has outperformed MSTR during the same time period.
• Horizontal line at 0: Separates positive from negative outperformance.
Volume vs Price Impact Z-ScoreVolume vs Price Impact Z‑Score
This indicator measures how disproportionate the traded volume is relative to the price movement of a candle.
Step 1: Volume-to-Price Impact (VPI)
VPI = Volume / (abs(Close - Open) + ε)
(or optionally using High - Low as the price range)
Step 2: Z‑Score Standardization
Z = (VPI - SMA(VPI, length)) / STDEV(VPI, length)
Interpretation:
Z > 2 → High volume with little price movement → possible absorption (accumulation/distribution).
Z < -2 → Large price move with low volume → weak or illiquid move (potential false breakout).
Use cases:
Detecting accumulation/distribution phases.
Highlighting false breakouts or weak price moves.
Supporting entry/exit decisions based on market efficiency (volume vs. price impact).
10-Day Avg Upside vs Downside VolumeUpside Volume: The total volume on days when the stock closes higher than the previous day.
Downside Volume: The total volume on days when the stock closes lower than the previous day.
It calculates the 10-day simple moving average of both upside and downside volumes.
An optional ratio line is included to visualize relative buying vs selling pressure.
Intraday vs Overnight OBV🔍 Purpose
This indicator provides a volume-weighted cumulative flow model that mimics On-Balance Volume (OBV) logic but splits the volume impact into intraday vs. overnight sessions. It allows traders to track how volume contributes to price movement in each session and identify whether buying/selling pressure is stronger during or outside of regular trading hours.
This indicator attempts to alleviate some of the downfalls of the standard OBV indicator, which only looks at total volume and total direction. The price of stocks generally behaves extremely differently during market hours and outside market hours, and many of the large moves happen outside of regular market hours on low volume.
⚙️ Core Features
1) OBV-style calculation:
If price increases → volume is added to the OBV stream.
If price decreases → volume is subtracted.
If price is flat → OBV remains unchanged.
2) Session splitting:
Intraday session: movement from today's open to close.
Overnight session: movement from yesterday’s close to today’s open.
Volume is split proportionally between these two periods based on user input.
3) Four visualization modes:
"Intraday" — plots only OBV from intraday price movement.
"Overnight" — plots only OBV from overnight price movement.
"Aggregate" — plots the sum of intraday and overnight OBV for a holistic view.
"Both Intraday and Overnight" — plots intraday and overnight OBV separately on the same chart.
📐 Inputs
1) Synthetic OBV Type:
"Intraday" — Show OBV from open to close only.
"Overnight" — Show OBV from prior close to today's open only.
"Aggregate" — Show a single line combining both.
"Both Intraday and Overnight" — Show both lines on the same chart.
2) Estimated Overnight Volume %:
Percentage of total daily volume assumed to occur during extended hours.
The rest is allocated to regular session (intraday).
Default: 20% overnight, 80% intraday.
🧮 How It Works
Volume Splitting:
Total bar volume is split into overnight Volume and intraday Volume:
Intraday change is the difference between today’s close and open.
Overnight change is the difference between today’s open and yesterday’s close.
Session OBV Calculations:
OBV is incremented/decremented by the session's allocated volume, depending on whether the session’s price change was positive or negative.
Aggregate OBV:
Combines both session deltas for a holistic volume flow view.
📊 Interpretation
Rising OBV (any stream) suggests accumulation; falling OBV suggests distribution.
Divergences between price and OBV lines (especially overnight vs. intraday) can reveal where hidden buying/selling is occurring.
Comparing intraday vs overnight OBV can help:
Spot whether institutional demand is building off-hours.
Detect retail vs. institutional behavior (retail trades often dominate intraday; institutional may prefer after-hours).
💡 Use Cases
Identify whether overnight gaps are supported by overnight volume momentum.
Detect accumulation in low-volume overnight sessions.
Compare intraday and overnight strength during earnings season or news events.
Complement traditional OBV by seeing session-based breakdowns.