Blood Moons Spectrum | Astral Vision 🌑 Blood Moons ❤️🔥 | Astral Vision 🌠💠
A Blood Moon occurs during a total lunar eclipse, when Earth's shadow fully covers the Moon and the only light reaching it is refracted through Earth's atmosphere, filtering out shorter wavelengths and casting the Moon in deep red.
These events follow predictable astronomical cycles and have historically captured significant cultural and psychological attention across civilizations.
This indicator maps every Blood Moon and total lunar eclipse event from 2015 through 2029 onto the Bitcoin price chart, marking each event with a vertical line, a background highlight window, and a labeled annotation.
The dataset includes named events (the 2015 Tetrad completion, the 2018 Super Blue Blood Moon, the 2018 record-length eclipse of the 21st century) alongside all standard Blood Moons, with duration and date displayed directly on the chart.
Future events through 2029 are projected forward, making the indicator active across the current and next cycle.
Calculation ⚙️
All event timestamps are hardcoded to their precise astronomical dates. The background highlight activates within a ±10-day window around each event, capturing the price behavior in the days immediately surrounding each eclipse. The label and line are rendered at the exact event date. No mathematical transformation is applied — the indicator is a temporal annotation layer mapped to astronomical data.
Plots 📊
Vertical line at each Blood Moon date, extended across the full chart (toggleable)
Background highlight on the price chart for a 10-day window around each event (toggleable)
Label at each event bar displaying the event name, date, and eclipse duration (toggleable)
Inputs 🎛️
`Show Background` toggles the ±10-day highlight window around each event
`Plot Labels` toggles the annotation labels at each event date
`Plot Lines` toggles the full-height vertical lines at each event date
Colors 🎨
5 Astral Vision presets + custom override. Default: Inferno. Positive color applies to vertical lines and background highlights; negative color applies to label backgrounds.
Purpose 🎯
Bitcoin price history contains a disproportionate number of notable moves, both tops and bottoms,in proximity to Blood Moon events, a pattern that has attracted consistent attention from on-chain analysts and cycle researchers. Whether the correlation reflects genuine market psychology, confirmation bias, or coincidence, the events are astronomically fixed and objectively dateable, making them worth tracking as potential behavioral anchors.
This indicator provides the complete historical and forward-looking Blood Moon calendar overlaid directly on the price chart, eliminating the need to cross-reference external astronomical sources. The 10-day background window contextualizes price behavior in the event's immediate vicinity, and the duration annotation distinguishes short penumbral grazes from the long total eclipses that have historically drawn the most attention. Future events through 2029 allow the current cycle to be tracked against the same framework in real time.
Disclaimer ⭕️
It is not financial advice, not an investment recommendation, and not affiliated with any financial institution, research firm, or organization of any kind. All content is provided for educational and informational purposes only. Always conduct your own research before making any financial decision. Indicatore

Bitcoin CAGR Analysis | Astral Vision Bitcoin CAGR Analysis | Astral Vision 🌠💠
The Compound Annual Growth Rate expresses Bitcoin's return over any rolling window as an annualized percentage, normalizing for the length of the period being measured.
Unlike raw percentage returns, CAGR makes every rolling window directly comparable regardless of its duration, a 6-month and a 2-year window both output an annualized rate, allowing the current growth pace to be read in consistent units across the entire price history.
This indicator computes rolling CAGR over a configurable lookback, then offers two analytical layers.
Raw CAGR plots the annualized return directly, revealing how Bitcoin's structural growth rate has evolved across cycles.
Z-Score mode standardizes the CAGR against its own rolling distribution, identifying when the current annualized return is statistically extreme relative to historical norms, either overheated or deeply compressed.
A slope-based trend mode colors by whether CAGR is accelerating or decelerating over a secondary lookback, independent of absolute level.
Calculation ⚙️
`CAGR = (close / close )^(365 / days elapsed) − 1`
Days elapsed is derived from the actual timestamp difference rather than a fixed bar count, ensuring accuracy regardless of gaps or non-trading days in the data.
`Z-Score = (CAGR − SMA(CAGR, length)) / StdDev(CAGR, length)`
In Trend mode, the slope is computed as the difference between the current value and its value N bars ago, coloring by whether the CAGR (or its Z-Score) is rising or falling irrespective of its absolute level.
Plots 📊
CAGR or Z-Score line in the indicator panel, colored by active regime
Zero baseline
High and low threshold lines in Z-Score Extremes mode
Fill between the signal line and the breached threshold in Z-Score Extremes mode
Candle coloring on the price chart by active regime (Z-Score modes only)
Background highlight on the price chart when a threshold is breached in Z-Score Extremes mode
Inputs 🎛️
`Mode`: Raw CAGR (annualized return) or Z-Score (standardized CAGR)
`Visualization`: Extremes (threshold-based coloring) or Trend (slope-based directional coloring)
`Z-Score Length`: rolling window for both CAGR calculation and Z-Score normalization (default 730)
`Threshold High`: Z-Score level marking overheated growth (default 3.0)
`Threshold Low`: Z-Score level marking compressed or negative growth (default −1.5)
`Slope Length`: bar offset used to compute CAGR acceleration in Trend mode (default 34)
`Show Background`: toggles price chart background highlighting at Z-Score extremes
Colors 🎨
5 Astral Vision presets + custom override. Default: Infinito. In Extremes mode, positive color activates below the low threshold and negative above the high threshold. In Trend mode, positive color applies when the signal is rising and negative when falling. Raw CAGR mode uses positive color throughout.
Purpose 🎯
Raw price charts and standard momentum indicators express returns as absolute price levels or bounded oscillators, neither of which answers the question of what annualized return Bitcoin is currently delivering relative to its own historical pace.
CAGR makes that question answerable directly.
The Z-Score layer adds statistical context: rather than judging whether a 200% annualized return is "high" by intuition, the Z-Score places it in the distribution of all historical CAGR values over the same window, making the assessment rigorous and cycle-independent.
The Trend visualization mode repurposes the same calculation as a momentum direction indicator, identifying inflection points in the growth rate before they become obvious in price. The two modes together cover both valuation positioning and tactical momentum within a single indicator.
Disclaimer ⭕️
It is not financial advice, not an investment recommendation, and not affiliated with any financial institution, research firm, or organization of any kind. All content is provided for educational and informational purposes only. Always conduct your own research before making any financial decision. Indicatore

Indicatore

Mirror Flux Projection **Mirror Flux Projection System**
This indicator is a dynamic market structure model built on a combination of trend, volatility, and momentum behavior. It is designed for visual analysis of price movement, not for automated execution.
The core structure is based on a smoothed EMA trend framework combined with a mirrored price projection model. The “mirror” component represents an inverse pressure of price action around the EMA, helping to visualize potential equilibrium shifts and directional bias.
The system adapts its behavior using ATR-based volatility scaling and OBV-driven flow bias. This allows the structure to expand during high volatility regimes and contract during low volatility conditions, creating a dynamic adaptive channel around price.
A forward projection component extends the current market structure into the future by a fixed number of bars. These projected lines are **not predictions**, but scenario-based estimations of possible trend continuation paths derived from current slope and volatility conditions.
Within this projected zone, a dynamic Fibonacci framework is applied. The Fib levels (0.236, 0.382, 0.5, 0.618, 0.786) are calculated based on the projected upper and lower boundaries of the future band. These levels represent potential equilibrium and reaction zones where price may react during continuation or retracement phases.
The color heatmap reflects distance from the central equilibrium line:
* Green zones indicate bullish pressure above equilibrium
* Red zones indicate bearish pressure below equilibrium
* Intensity increases with deviation strength from the center
This tool is designed for:
* Trend structure visualization
* Volatility expansion/contraction analysis
* Dynamic support/resistance projection
* Market regime interpretation
⚠️ Note: Forward projection lines are hypothetical scenario paths based on current conditions and should not be interpreted as guaranteed future price movement.
---
** **
Indicatore

Quarterly/Monthly/Weekly Performance | Astral Vision Quarterly/Monthly/Weekly Performance | Astral Vision 🌠💠
Price performance measured over fixed trailing windows (7, 30, and 90 bars) captures the momentum of Bitcoin's move at three structurally distinct timescales simultaneously.
Weekly performance reflects short-term trend pressure; monthly performance captures the medium-term cycle direction; quarterly performance reveals whether the broader macro trend is accumulating or distributing. Reading all three in a single panel eliminates the need to switch timeframes to understand where momentum stands across the full temporal structure.
This indicator plots trailing price performance as gradient-filled columns for each active window, with configurable overbought and oversold thresholds that identify statistically extreme moves. All three windows can be active simultaneously or independently, and each drives its own overlay on the price chart through candle coloring or background highlighting.
Calculation ⚙️
`Performance = (close − close ) / close × 100`
Where N is 7, 30, or 90 bars for weekly, monthly, and quarterly windows respectively. The result is a simple trailing percentage return expressed relative to the close N bars ago, with no smoothing applied — preserving the raw momentum read at each timescale.
Plots 📊
Performance columns for each active window (weekly, monthly, quarterly) with gradient fill, opaque at the column tip, fading toward zero
Zero baseline
Overbought and oversold threshold lines for each active window
Background highlight on the price chart when any active window's performance breaches a threshold (Background Color mode)
Candle coloring on the price chart by the sign of the active window's performance (Plot Candle mode)
Inputs 🎛️
`Overlay Mode`: Background Color, Plot Candle, or None for price chart output
`Show Weekly / Monthly / Quarterly`: independent toggles for each performance window
`Weekly OB / OS Threshold`: extreme levels for the 7-bar window (defaults +20 / −15)
`Monthly OB / OS Threshold`: extreme levels for the 30-bar window (defaults +35 / −20)
`Quarterly OB / OS Threshold`: extreme levels for the 90-bar window (defaults +50 / −30)
Colors 🎨
5 Astral Vision presets + custom override. Default: Hermes. Positive color applies when performance is above zero; negative color applies when performance is below zero. Both the column fills and the price chart overlays follow the same coloring logic.
Purpose 🎯
Standard momentum indicators process price through mathematical transformations (RSI, MACD, stochastic) that make their absolute values abstract and cycle-dependent. A trader looking for a direct answer to "how much has Bitcoin moved in the last month?" gets no clean output from any of those tools.
This indicator answers that question directly with no transformation, keeping the output in percentage terms that are immediately interpretable.
The three-window structure lets traders read weekly, monthly, and quarterly momentum in a single panel, identifying divergences between timescales, such as a strong monthly trend with an overextended weekly reading, that single-window indicators cannot surface.
The threshold system identifies when a given trailing return has reached historically extreme levels for that window, providing a contextual signal layer on top of the raw performance read.
Disclaimer ⭕️
It is not financial advice, not an investment recommendation, and not affiliated with any financial institution, research firm, or organization of any kind. All content is provided for educational and informational purposes only. Always conduct your own research before making any financial decision. Indicatore

Rolling Sharpe Ratio Oscillator | Astral Vision Rolling Sharpe Ratio Oscillator | Astral Vision 🌠💠
The Sharpe Ratio measures risk-adjusted return: how much excess return is being generated per unit of volatility. Applied as a rolling oscillator to Bitcoin's daily log returns, it answers a question that neither price nor momentum indicators address: is the current appreciation being earned efficiently relative to the risk being taken, or is it a volatile, noisy move that consumes large drawdowns to produce modest gains?
High rolling Sharpe values indicate sustained, low-volatility uptrends where return per unit of risk is structurally elevated, historically coinciding with the most efficient phases of Bitcoin's bull runs. Negative Sharpe values indicate periods where volatility exceeds returns, marking drawdowns and bear phases.
This indicator plots the annualized rolling Sharpe as a smoothed oscillator with configurable thresholds, and back-projects those thresholds onto the price chart as dynamic levels representing the price that would produce each Sharpe extreme given current return and volatility conditions.
Calculation ⚙️
`Log Return = log(close / close )`
`Rolling Sharpe = (SMA(Log Return, length) / StdDev(Log Return, length)) × √365`
The ratio is annualized by multiplying by the square root of 365, expressing it in standard annual terms. An EMA of configurable length is then applied to smooth the raw Sharpe before threshold evaluation and coloring.
The price bands invert the Sharpe thresholds back to price space:
`Band Price = close × exp(threshold × StdDev / √365 × length)`
This produces a dynamic price level representing what price would need to be, given current volatility, to produce the specified Sharpe value.
Plots 📊
Smoothed Sharpe oscillator line in the indicator panel, colored by regime or continuous gradient
Overbought and oversold threshold lines
Fill between oscillator and overbought threshold when breached (distribution zone)
Fill between oscillator and oversold threshold when breached (accumulation zone)
Dynamic overbought and oversold price bands on the price chart, EMA-smoothed
Candle coloring on the price chart by regime or gradient
Background highlight on the price chart when either threshold is active
Inputs 🎛️
`Lookback Period (days)`: rolling window for mean and standard deviation of log returns (default 365)
`Smoothing EMA Length`: EMA applied to the raw Sharpe before all output (default 30)
`Oversold Threshold`: Sharpe level marking risk-adjusted accumulation extremes (default −1.5)
`Overbought Threshold`: Sharpe level marking risk-adjusted distribution extremes (default 2.8)
`Use Gradient Color`: toggles between continuous gradient coloring across the −2 to +2 range and discrete regime-based coloring
Colors 🎨
5 Astral Vision presets + custom override. Default: Futura. In gradient mode, color transitions continuously from negative to positive across the Sharpe range. In discrete mode, positive color activates above the overbought threshold, negative below the oversold threshold, and neutral between them.
Purpose 🎯
Standard momentum indicators like RSI and MACD measure price direction and speed, but are blind to whether that directional move is being achieved efficiently. A 30% Bitcoin rally with 80% annualized volatility carries very different risk-adjusted implications than the same rally with 40% volatility, yet both look identical on a price or momentum chart.
The rolling Sharpe makes that distinction explicit. The price band back-projection eliminates the need to mentally translate Sharpe values into price context: the bands show directly on the chart what price level corresponds to each statistical extreme given current volatility, updating dynamically as the volatility regime evolves.
The gradient coloring option provides a continuous read of risk-adjusted efficiency across the entire oscillator range, not just at binary threshold crossings.
Disclaimer ⭕️
It is not financial advice, not an investment recommendation, and not affiliated with any financial institution, research firm, or organization of any kind. All content is provided for educational and informational purposes only. Always conduct your own research before making any financial decision. Indicatore

Bootstrap Confidence Break [forexobroker]Bootstrap Confidence Break flags bars whose return falls outside a 90 percent confidence interval on the rolling mean return. The CI uses the standard-error formulation that is asymptotically equivalent to the percentile bootstrap when N >= 30, but is fully deterministic — no random number generation, no repainting. Signals fire on EMA cross when the move is statistically significant.
🔶 ALGORITHM
1. r = close - close (single-bar return).
2. mu = sma(r, N); sd = stdev(r, N); se = sd / sqrt(N).
3. CI high = mu + 1.645 * se; CI low = mu - 1.645 * se (90 percent two-sided).
4. Outside-up regime when r > CI_high; outside-down when r < CI_low.
🔶 SIGNAL LOGIC
- Buy: outside-up AND close crosses EMA up AND not already long AND cooldown elapsed AND barstate.isconfirmed.
- Sell: outside-down AND close crosses EMA down.
- Position-lock state machine.
🔶 INPUTS
- Return Window (default 40)
- Pullback EMA Length (default 8)
- Cooldown Bars (default 4)
- Visual: dashboard, glow, EMA toggle, buy / sell colors
🔶 ALERTS
BCB Buy, BCB Sell, BCB Any Signal, BCB Outside Up, BCB Outside Down, BCB EMA Up, BCB EMA Down, BCB 2-Sigma, BCB Webhook JSON.
🔶 LIMITATIONS
- Standard-error CI assumes approximately normal returns; heavy-tailed distributions widen the true tail risk and make this more conservative than a true percentile bootstrap.
- 90 percent interval is a reasonable default; adjust the multiplier (1.645) for stricter or looser cutoffs by editing the script.
- Signal cadence depends entirely on volatility regime; quiet markets produce few outside-CI bars.
- Combining CI break with EMA cross dampens whipsaws but slightly delays entry vs raw CI break.
Indicatore

Bayesian Trend Posterior [forexobroker]Bayesian Trend Posterior treats each bar as a Bernoulli observation (up vs not-up) and runs a Beta-Bernoulli sequential update over a sliding window. The posterior probability P(next bar up) = (alpha + u) / (alpha + beta + N), where u is the count of up-bars in the window. Schmitt hysteresis on the posterior locks bull or bear regimes, preventing chatter near 0.5.
🔶 ALGORITHM
1. Count up-bars u in the last N closes (close > close ).
2. Posterior mean = (alpha + u) / (alpha + beta + N) using Beta(alpha, beta) prior.
3. Hysteresis: regime locks to +1 when posterior >= upper threshold, locks to -1 when posterior <= lower threshold, holds otherwise.
4. Within a locked regime, an EMA cross provides the entry trigger so the indicator can fire multiple times during sustained trends.
🔶 SIGNAL LOGIC
- Buy: bull regime locked AND close crosses pullback EMA up AND not already long AND cooldown elapsed AND barstate.isconfirmed.
- Sell: bear regime locked AND close crosses pullback EMA down.
- Position-lock state machine.
🔶 INPUTS
- Posterior Window N (default 30)
- Prior alpha (default 2.0)
- Prior beta (default 2.0)
- Upper Hysteresis (default 0.55)
- Lower Hysteresis (default 0.45)
- Pullback EMA Length (default 8)
- Cooldown Bars (default 4)
- Visual: dashboard, glow, EMA toggle, buy / sell colors
🔶 ALERTS
BTP Buy, BTP Sell, BTP Any Signal, BTP Bull Lock, BTP Bear Lock, BTP High Posterior, BTP Low Posterior, BTP Cross 0.5, BTP Webhook JSON.
🔶 LIMITATIONS
- Bernoulli simplification ignores bar size; a tiny up-bar contributes the same as a strong one. Pair with an ATR-aware filter for size-weighted posteriors.
- Window N is the dominant tuning knob: smaller N reacts faster but flips more; larger N is steadier.
- Prior alpha = beta = 2 is uninformative; users with strong directional bias can adjust.
- Hysteresis prevents chatter but slightly delays regime detection vs threshold-only logic.
Indicatore

Local Linear Slope Network [forexobroker]Local Linear Slope Network runs four `ta.linreg` regressions at windows 10/20/40/80, computes each line's slope sign per bar, and only fires signals when at least N slopes agree AND the previous bar did NOT yet have agreement. A clean fractal trend-confirmation entry — most trend indicators use one length; this one votes across four.
🔶 ALGORITHM
For each window n in {10, 20, 40, 80}:
1. linreg_n = ta.linreg(close, n, 0)
2. slope_n = linreg_n − linreg_n
3. slope-sign vote: count how many slopes are > 0 (upCount) and how many are < 0 (dnCount)
4. Agreement edge: at least N slopes agree AND previous bar agreement was below the same threshold
The "agreement edge" requirement gates the signal to a single bar at the regime change, not a stream of confirmations.
🔶 SIGNAL LOGIC
- Buy: upCount ≥ N AND previous bar upCount < N AND cooldown AND barstate.isconfirmed
- Sell: dnCount ≥ N AND previous bar dnCount < N AND cooldown AND barstate.isconfirmed
🔶 INPUTS
- Window 1/2/3/4 (defaults 10/20/40/80 — dyadic spacing)
- Min Slopes Agreeing (default 3 of 4)
- Signal Cooldown (default 8)
- Visual toggles for slowest line, dashboard, glow, colors
🔶 ALERTS
LLN Buy / Sell, Any Signal, Full Bull (4/4), Full Bear (4/4), Fast Pair Up/Dn, Webhook JSON.
🔶 LIMITATIONS
- ta.linreg internally is OLS regression — robust but assumes linear local trend. Works well on liquid trending instruments.
- Slope is computed as endpoint difference (linreg − linreg ) — sensitive to outlier bars.
- Slowest window (80 default) sets warmup.
- The dyadic spacing (10/20/40/80) is opinionated; tighter/wider spacings change signal frequency drastically.
Indicatore

Indicatore

Auto Crypto Market CapAuto Crypto Market Cap is a simple utility indicator that automatically displays the current market capitalization of the cryptocurrency shown on your chart.
The script detects the base asset from the current symbol, for example:
AAVEUSDT → AAVE
SOLUSDT → SOL
ETHUSDT → ETH
It then requests the matching TradingView CRYPTOCAP symbol, such as CRYPTOCAP:AAVE or CRYPTOCAP:SOL, and displays the result in a clean table on the chart.
Features:
• Automatically detects the crypto ticker from the current chart
• Displays market cap in a readable format: K, M, B, or T
• Optional manual ticker override for special symbols
• Useful for quickly checking whether a coin is small-cap, mid-cap, or large-cap
• Works directly on price charts without needing to open a separate CRYPTOCAP chart
Examples:
AAVEUSDT → shows AAVE market cap
BTCUSDT → shows BTC market cap
ETHUSDT → shows ETH market cap
LINKUSDT → shows LINK market cap
For symbols like 1000PEPEUSDT, WETHUSDT, or WBTCUSDT, you can use the manual override input to set the correct ticker, for example PEPE, ETH, or BTC.
Important:
This indicator depends on TradingView’s CRYPTOCAP data. If TradingView does not provide a CRYPTOCAP symbol for a specific asset, the market cap may show as unavailable. Indicatore

Bitcoin/USDT Dominance Ratio | Astral Vision Bitcoin/USDT Dominance Ratio | Astral Vision 🌠💠
USDT dominance measures the share of total crypto market capitalization held in Tether.
When USDT dominance is high, capital is parked in stablecoins: risk appetite is low and dry powder is accumulating.
When USDT dominance is low, capital has rotated into risk assets: stablecoin supply relative to the market has been deployed.
Dividing Bitcoin's price by USDT dominance produces a ratio that amplifies both conditions: it rises when BTC appreciates while stablecoin dominance contracts (maximum risk-on), and falls when BTC depreciates while stablecoin dominance expands (maximum risk-off).
The ratio acts as a liquidity-adjusted price: a measure of how much Bitcoin is worth relative to the available pool of sidelined capital.
Calculation ⚙️
`Ratio = BTC Price / USDT Dominance (%)`
Both the ratio candles and the price chart candles are colored identically by the same threshold logic, so the regime read is simultaneously visible in the indicator panel and on the price chart without switching focus.
Plots 📊
Ratio candles in the indicator panel, colored by active regime
Oversold threshold line (positive color) and overbought threshold line (negative color)
Price chart candle coloring by the same regime logic
Background highlight on the price chart when either threshold is breached
Inputs 🎛️
`Oversold Threshold`: ratio level below which the signal enters accumulation territory (default 2100)
`Overbought Threshold`: ratio level above which the signal enters distribution territory (default 27000)
Colors 🎨
5 Astral Vision presets + custom override. Default: Infinito. Positive color activates below the oversold threshold; negative color activates above the overbought threshold.
Purpose 🎯
Tracking BTC price and USDT dominance as separate charts requires constant context-switching and leaves the relationship between the two implicit. Most dominance indicators plot stablecoin share in isolation with no connection to price magnitude, while raw BTC price charts carry no information about the liquidity environment surrounding each move.
This indicator fuses the two into a single ratio that makes the liquidity context inseparable from price. A BTC rally with contracting USDT dominance reads as a structurally stronger move than the same price gain with stable or rising stablecoin dominance and this indicator makes that difference directly visible through threshold crossings, candle color, and background regime highlighting on the price chart.
Disclaimer ⭕️
It is not financial advice, not an investment recommendation, and not affiliated with any financial institution, research firm, or organization of any kind. All content is provided for educational and informational purposes only. Always conduct your own research before making any financial decision. Indicatore

Anchored Volume Weighted Average Price | Astral Vision Anchored Volume Weighted Average Price | Astral Vision 🌠💠
The Volume Weighted Average Price anchored to a fixed date represents the average price at which every Bitcoin has changed hands since that moment, weighted by volume.
Unlike a moving average which weights bars equally by time an anchored VWAP weights each bar by its trading activity, making it a true reflection of the average cost basis for all market participants who entered after the anchor point.
When price trades above an anchored VWAP, the aggregate of participants since that anchor is in profit. When price trades below it, they are in loss.
This makes anchored VWAPs among the most reliable dynamic support and resistance levels available, as they represent the price at which the largest volume of participants is either defending a gain or protecting against a loss.
This indicator plots up to 16 simultaneous anchored VWAPs: one per calendar year from 2013 through 2025, plus three fully custom anchors at any user-defined date, all on the price chart with individual color control and labeled at the current bar.
Calculation ⚙️
`VWAP = Cumulative(HLC3 × Volume) / Cumulative(Volume)`
Accumulation begins on the first bar of the anchor year (or the exact timestamp for custom anchors) and runs continuously to the present bar. Each VWAP is computed independently, carrying its own cumulative price-volume and volume sums from its respective start date.
Plots 📊
Up to 13 year-anchored VWAP lines (2013–2025), each with a dual-layer glow (linewidths 6/2, transparency 80/0)
3 custom timestamp-anchored VWAP lines with the same glow rendering
Labeled endpoints at the current bar for every active VWAP, showing year or custom identifier
Inputs 🎛️
`2013` through `2025` :individual toggles to enable each year-anchored VWAP, each with its own color picker
`Custom 1 / 2 / 3`: toggles for three free-anchor VWAPs, each with a date/time input and color picker
Colors 🎨
Each VWAP line has its own independent color, pre-assigned along a spectral progression from violet (2013) through the visible spectrum to yellow (2025), giving each cycle year a visually distinct identity at a glance. Custom anchors default to blue, yellow, and green with full override available.
Purpose 🎯
Standard VWAP tools on TradingView anchor to the current session or a single user-defined point, offering no way to compare multiple historical anchors simultaneously. Traders who want to assess confluence across different cycle entry points must place and manage anchors manually, one at a time.
This indicator solves that entirely: all major Bitcoin calendar years are available as one-click toggles, letting you layer any combination of historical cost bases onto the chart instantly. The custom anchors extend this to any structurally significant date (cycle lows, halving events, ETF approvals) without any manual drawing tool interaction. Confluence zones where multiple VWAPs converge are immediately visible and have historically acted as the strongest support and resistance levels in Bitcoin's price structure.
Disclaimer ⭕️
It is not financial advice, not an investment recommendation, and not affiliated with any financial institution, research firm, or organization of any kind. All content is provided for educational and informational purposes only. Always conduct your own research before making any financial decision. Indicatore

NQ HMA Midday StrategyThe Story Behind This Strategy
This strategy didn't come from a quick backtest or a weekend project. It's the result of months of systematic research across multiple strategy families (DVD, Zscore, HMA) on both NQ and ES futures.
My Research Process:
I started with six strategy families and ran extensive backtests spanning from 2019 through April 2025, followed by recent validation from 2025 through April 2026. My goal wasn't to maximize historical PnL - it was to identify robust strategies with better drawdown behavior, stronger profit factors, and more stable portfolio-level risk/reward.
After evaluating hundreds of parameter combinations and multiple objective functions, I narrowed down to two core NQ candidates. This HMA Midday strategy emerged as one of them because it showed:
Strong recent performance (2025-2026: $16,865 profit, 1.53 profit factor)
Reasonable drawdown characteristics ($8,940 max drawdown)
Clean portfolio behavior when combined with other strategies
Better risk-adjusted returns than the baseline HMA version
What This Strategy Actually Does:
It's a momentum-based system using Hull Moving Averages, EMAs, and Rate of Change to identify trade setups during specific time windows (11:00-15:45 ET trading, 10:30-13:00 ET entries). I added the one-trade-per-day limit after observing that multiple daily entries often degraded risk-adjusted returns.
The Honest Truth:
This is still a research strategy, not a live-trading system
I have a Python version with walk-forward optimization that I use to tune parameters when market regimes change
Parameters should be re-optimized periodically - they're not set-and-forget
The strategy works best as part of a portfolio, not in isolation
Past performance (2019-2026) doesn't guarantee future results
Why I'm Publishing It:
To share the methodology and code structure with the community. The approach - combining trend indicators with momentum filters, time windows, and ATR-based risk management - is worth studying even if you don't trade this exact configuration.
Developer: QuantByBoji
Status: Research candidate, not live-trading recommendation Strategia

Indicatore

Indicatore

Indicatore

QuantAbundancia - AI Bubble MapMethodology
━━━━━━━━━━━
This indicator overlays QuantAbundancia's bubble framework on any TradingView chart. We classify ~80 AI-adjacent stocks into 12 thematic blocs and measure each bloc's 252-day residualized correlation — that is, the correlation of each constituent's returns AFTER stripping out AMEX:SPY beta. What's left is the idiosyncratic component: how much of the price action is real thematic flow vs market beta in costume.
What it shows
━━━━━━━━━━━━━
For the chart's symbol, the indicator displays:
• Which bubble it belongs to (Quantum, Memory, Compute, etc.)
• That bubble's 252-day residualized correlation + verdict
• Editorial Fib key level (if we've marked one)
Verdict legend
━━━━━━━━━━━━━━
🟢 strongest / tightest / validated → real bloc, idiosyncratic flow
🟡 validating / moderate / speculative → emerging, monitor
🔴 FAILED → market beta in costume, NOT a real bloc
Bubbles covered
━━━━━━━━━━━━━━━
Quantum (0.76 strongest) · Semi Equipment (0.82 tightest) · Memory / HBM (0.71 validated) · Cooling / DC Infra (0.70 validated) · Compute / GPUs (0.65 moderate) · Networking / Optical (0.60 validating) · Space / Sat Comms (0.60 validating) · Datacenter Power (0.55 validating) · Nuclear / SMR (0.70 speculative) · AI Software (0.10 FAILED) · Hyperscalers (0.05 FAILED) · Robotics (0.20 FAILED)
Editorial Fib key levels
━━━━━━━━━━━━━━━━━━━━━━━━
48 tickers have user-curated Fib levels marked (NVDA $71, MU $341, ASML $1205, ASTS $63, RKLB $69, OKLO $69, etc.) — drawn as horizontal dashed lines.
Data source
━━━━━━━━━━━
Data is embedded as constants in this script. The live truth lives at quantabundancia.com — methodology article: quantabundancia.com/articles/residualized-correlation. Daily refreshed digest at quantabundancia.com/today.
This is observational data only — not buy/sell signals. We map flows; you bring the conviction. Indicatore

Indicatore

PickMyTradeLibLibrary "PickMyTradeLib"
PickMyTradeLib — Market Microstructure & Quantitative Finance Library for Pine Script.
Provides analytically rigorous, academically grounded functions covering five domains:
(1) Synthetic bid-ask spread estimation (Roll 1984, Corwin-Schultz 2012),
(2) Market illiquidity & price impact (Amihud 2002, Kyle 1985),
(3) OHLC-efficient volatility estimators (Garman-Klass 1980, Parkinson 1980, Rogers-Satchell 1991),
(4) Fractal & complexity measures (Higuchi 1988, Hurst R/S, Katz 1988),
(5) Realized distributional moments (skewness, excess kurtosis, realized variance).
All functions are pure Pine — no request.security calls, no external dependencies.
Compatible with any instrument and timeframe. Import with:
import PickMyTrade/PickMyTradeLib/1 as pmtq
rollSpread(src, len, zLen)
Roll's (1984) synthetic bid-ask spread estimator.
Exploits the negative serial covariance of price changes that
arises from the bid-ask bounce. Requires no order-book data.
Formula: spread = 2 * sqrt(max(0, -Cov(Δp_t, Δp_{t-1})))
Reference: Roll, R. (1984). "A Simple Implicit Measure of the
Effective Bid-Ask Spread in an Efficient Market." JoF 39(4).
Parameters:
src (float) : Price series (typically close)
len (simple int) : Lookback window for covariance estimation (minimum 10)
zLen (simple int) : Window for z-score normalisation (default = len * 3)
Returns: SpreadResult with value, zscore, and anomaly flag
corwinSchultz(h, l, zLen)
Corwin & Schultz (2012) high-low spread estimator.
Derives the effective spread from the ratio of two-day to
one-day high-low ranges. More robust than Roll on noisy series.
Reference: Corwin, S. & Schultz, P. (2012). "A Simple Way to
Estimate Bid-Ask Spreads from Daily High and Low Prices."
JoF 67(2), 719-760.
Parameters:
h (float) : High series
l (float) : Low series
zLen (simple int) : Window for z-score normalisation
Returns: SpreadResult
amihud(src, vol, len, zLen)
Amihud (2002) illiquidity ratio.
Measures how much price moves per unit of trading volume —
higher values mean illiquid markets where small trades move price.
Formula: ILLIQ_t = |r_t| / Volume_t, smoothed over len bars.
Reference: Amihud, Y. (2002). "Illiquidity and stock returns."
Journal of Financial Markets 5(1), 31-56.
Parameters:
src (float) : Price series for return calculation
vol (float) : Volume series
len (simple int) : Rolling average window
zLen (simple int) : Z-score window
Returns: SpreadResult (value = illiquidity ratio, z-scored)
kyleLambda(src, vol, len)
Kyle's Lambda — price impact coefficient (Kyle 1985).
Estimates how aggressively price responds to signed order flow.
Approximates signed volume as: buy volume when close >= open,
sell volume otherwise. Lambda = OLS slope of Δprice on signed vol.
Reference: Kyle, A.S. (1985). "Continuous Auctions and Insider
Trading." Econometrica 53(6), 1315-1335.
Parameters:
src (float) : Price series
vol (float) : Volume series
len (simple int) : Regression window (minimum 15)
Returns: SpreadResult (value = lambda slope)
garmanKlass(o, h, l, c, len)
Garman-Klass (1980) volatility estimator.
Uses OHLC data to estimate variance more efficiently than
close-to-close (theoretical efficiency ratio ≈ 7.4×).
Formula: σ² = 0.5*(ln H/L)² − (2ln2−1)*(ln C/O)²
Reference: Garman, M. & Klass, M. (1980). "On the Estimation
of Security Price Volatilities from Historical Data."
Journal of Business 53(1), 67-78.
Parameters:
o (float) : Open series
h (float) : High series
l (float) : Low series
c (float) : Close series
len (simple int) : Averaging window
Returns: VolResult with daily, annual, and rank fields
parkinson(h, l, len)
Parkinson (1980) volatility estimator.
Uses only High and Low — ignores close. More efficient than
close-to-close (theoretical efficiency ≈ 5.2×) but assumes
no overnight gaps or drift. Good intraday baseline.
Reference: Parkinson, M. (1980). "The Extreme Value Method
for Estimating the Variance of the Rate of Return."
Journal of Business 53(1), 61-65.
Parameters:
h (float) : High series
l (float) : Low series
len (simple int) : Averaging window
Returns: VolResult
rogersSatchell(o, h, l, c, len)
Rogers-Satchell (1991) volatility estimator.
Accounts for non-zero drift — unbiased even when price trends.
The only classical OHLC estimator that handles drift correctly.
Formula: σ² = ln(H/C)*ln(H/O) + ln(L/C)*ln(L/O)
Reference: Rogers, L. & Satchell, S. (1991). "Estimating
Variance From High, Low and Closing Prices."
Annals of Applied Probability 1(4), 504-512.
Parameters:
o (float) : Open series
h (float) : High series
l (float) : Low series
c (float) : Close series
len (simple int) : Averaging window
Returns: VolResult
higuchifd(src, len, kMax)
Higuchi (1988) Fractal Dimension.
Estimates the fractal complexity of a time series directly from
the data. D = 1 → perfectly smooth trend. D = 2 → pure noise.
D < 1.4: trending. 1.4-1.6: random walk. D > 1.6: mean-reverting.
This implementation uses the average of k=2..kMax curve lengths
and OLS regression of log(L_k) on log(k) to get the slope (= -FD).
Reference: Higuchi, T. (1988). "Approach to an irregular time
series on the basis of the fractal theory." Physica D 31(2).
Parameters:
src (float) : Input price series
len (simple int) : Number of bars to sample (minimum 20, recommended 30-50)
kMax (simple int) : Maximum lag (2-8; higher = more stable but slower)
Returns: FractalResult with fd, regime string, and normalised
hurstRS(src, len)
Hurst Exponent via Rescaled Range (R/S) analysis.
H > 0.55 → persistent trend-following (long memory).
H ≈ 0.50 → random walk (no memory).
H < 0.45 → mean-reverting (anti-persistent).
Note: FD and Hurst are complementary: FD = 2 - H (theoretically).
Parameters:
src (float) : Input price series
len (simple int) : Lookback length (minimum 30, recommended 60-100)
Returns: float Hurst exponent in
moments(src, len)
Rolling distributional moments of a return series.
Computes mean, standard deviation, skewness, and excess kurtosis
over a rolling window using Welford's online algorithm for
numerical stability.
Parameters:
src (float) : Input series (typically log returns: math.log(close/close ))
len (simple int) : Rolling window length
Returns: MomentResult with mean, stdev, skew, kurt
normalise(src, len)
Normalise any float series to over a rolling window.
Parameters:
src (float) : Input series
len (simple int) : Lookback for min/max
Returns: float in
ewZscore(src, len)
Exponentially weighted z-score — reacts faster than simple z-score.
Parameters:
src (float) : Input series
len (simple int) : EMA length for mean and variance estimation
Returns: float z-score
zscoreColor(z)
Colour helper — maps a z-score to a green-grey-red gradient.
z < -2: bright green (anomaly low) z > 2: bright red (anomaly high)
Parameters:
z (float) : Z-score value
Returns: color
SpreadResult
Holds a complete spread estimate result with its z-score
Fields:
value (series float) : Raw spread estimate (in price units or as ratio)
zscore (series float) : Rolling z-score of the estimate vs lookback window
isAnomaly (series bool) : True when zscore > threshold (default 2.0)
VolResult
Holds a volatility estimate with annualisation
Fields:
daily (series float) : Daily volatility estimate (fraction of price)
annual (series float) : Annualised estimate (daily * sqrt(252))
rank (series float) : 0-100 percentile rank vs lookback window
FractalResult
Fractal / complexity measurement result
Fields:
fd (series float) : Fractal Dimension value (1.0 = smooth trend, 2.0 = noise)
regime (series string) : "Trending" when fd < 1.4, "Random" 1.4–1.6, "Choppy" > 1.6
normalised (series float) : fd linearly mapped to 0.0 (trend) – 1.0 (noise)
MomentResult
Rolling moment statistics
Fields:
mean (series float) : Rolling mean
stdev (series float) : Rolling standard deviation
skew (series float) : Rolling skewness (negative = left tail)
kurt (series float) : Rolling excess kurtosis (positive = fat tails / leptokurtic) Libreria

Indicatore

BNS Jump Statistic & RV DecompositionBNS Jump Statistic & RV Decomposition
A jump-detection oscillator that splits realized variance into a continuous (diffusive) component and a jump component, using the bipower variation framework of Barndorff-Nielsen and Shephard. It answers a specific question: how much of recent volatility is everyday noise, and how much is sudden, discontinuous moves?
How it works
Over a rolling window of length N, three quantities are computed from log returns:
Realized Variance (RV) — the sum of squared returns. Captures everything: continuous variance plus any jumps.
Bipower Variation (BV) — the (π/2)-scaled sum of |r_t|·|r_{t−1}|. Asymptotically robust to jumps, so it captures only the continuous part.
Jump component (J) — max(RV − BV, 0), the variance left over after subtracting the continuous estimate.
The Relative Jump (RJ) ratio is J / RV — the share of variance attributable to jumps. Bounded between 0 and 1: zero means all-continuous, one means all-jump.
The BNS z-statistic (ratio form, with the Huang–Tauchen adjustment) tests whether the jump component is statistically significant. It uses tripower quarticity for a robust standard error:
z = √N · RJ / √( θ · max(1, TQ/BV²) ), with θ = π²/4 + π − 5
Under the null of no jumps, z is asymptotically standard normal. Critical values at 1.96, 2.58, and 3.09 correspond to 95%, 99%, and 99.9% confidence.
How to read it
Columns show the RJ ratio. Cool cyan when variance is mostly continuous; amber and rose as the jump share rises.
Smoothed line is a 3-bar EMA of RJ, layered with a soft glow. The line color tracks the regime — useful for spotting persistent jump activity versus one-off spikes.
Reference levels at 20%, 50%, and 80% mark the continuous threshold, the regime boundary, and the extreme zone.
Markers above the pane fire on bars where the BNS test is significant: a circle at 95%, a triangle at 99%, a diamond at 99.9%.
Background tint reflects the regime state (CONTINUOUS, MIXED, or JUMP), with hysteresis so it doesn't flicker on borderline bars.
Status table in the top-right shows the latest RV, BV, jump component, RJ, z-statistic, and current significance level.
Inputs
Window Length — bars used to compute RV and BV. 22 ≈ one trading month on daily. Default 22.
Source — input series. Default close.
Significance thresholds — z-values for 95%, 99%, and 99.9% confidence. Defaults 1.96, 2.58, 3.09.
Regime thresholds — RJ levels marking the continuous and jump regimes. Defaults 0.20 and 0.50.
Display toggles — status table, regime tint, significance markers, and reference levels.
Built-in alerts
Significant Jump (95%) — z crosses above 1.96
Strong Jump (99%) — z crosses above 2.58
Extreme Jump (99.9%) — z crosses above 3.09
Entered Jump Regime
Returned to Continuous Regime
All alerts fire on the rising edge of their event — one notification per transition rather than one per bar while the condition holds.
Notes
The decomposition is a property of the chosen window. Different lengths give different splits; shorter windows are more responsive but noisier. The z-statistic is asymptotic, so very short windows can produce inflated values — treat anything below N=10 with care.
Bipower variation is robust to jumps in theory but sensitive to microstructure noise on very fine timeframes. Daily and 5-minute-and-up tend to behave well.
This is a diagnostic tool, not a signal generator. It tells you when variance is being driven by jumps rather than diffusion.
Five years of work on a trading system left me with dozens of indicators that ultimately didn't earn a place in the final build. They're not failures — they're tools that solved problems I no longer needed solved. So instead of shelving them, I'm publishing the majority of them open-source.
If you're a discretionary trader, take what's useful. If you're a systems builder, the source is yours to dissect, modify, and improve. The best return on five years of work is for it to keep working — for someone.
If you use this script — or part of it — in your own work, please credit the original with a link back to my profile.
Note: these indicators have been updated to Pine Script v6 — some manually, some with AI assistance. Indicatore

Transfer EntropyTransfer Entropy
A directional information flow detector for two assets, based on Thomas Schreiber's 2000 formulation. Transfer Entropy measures how much knowing the recent past of one series reduces uncertainty about the next move of another — beyond what the second series' own past already explains. Unlike correlation, it's asymmetric: TE(Y → X) and TE(X → Y) are different quantities, so it can speak to lead-lag in a way correlation can't.
How it works
Log returns from both series are symbolized into binary up/down moves. Over a rolling window of N bars, the script estimates the joint distribution of past pairs and future moves, then computes the conditional mutual information that defines TE in bits.
To separate genuine information flow from finite-sample noise, the same calculation is repeated with the reference series circularly shifted by various offsets within the window — surrogates that preserve each series' marginal distribution but break the temporal coupling between them. The mean of those surrogate estimates is the noise floor, which gets subtracted from the raw value to produce Effective Transfer Entropy (Marschinski & Kantz, 2002).
Both directions — Y→X and X→Y — are computed every bar. The main plot is net flow: inflow minus outflow.
How to read it
The colored area is net information flow.
Above zero in cyan: the reference symbol's recent moves carry useful information about the chart symbol's next move.
Below zero in amber: the chart symbol is leading the reference.
The thinner lines on either side are the individual directional components — inflow plotted positive, outflow plotted as its negative for visual symmetry around zero.
The dotted band is the average noise floor. Flow inside the band is statistically indistinguishable from chance; flow outside it isn't. A faint background tint marks bars where net flow has cleared the band.
Inputs
Reference symbol — the second asset (Y). Information flow is measured between this and the chart symbol (X). Default AMEX:SPY.
Window length — number of triplets feeding the joint-distribution estimate. The 8-cell histogram needs many times that to stabilize; 150–300 is reasonable for most markets. Default 200.
Source — input series for the chart symbol's log returns. Default close.
Significance surrogates — number of circular-shift surrogates averaged into the noise floor. More = more stable significance test at modestly higher compute. Default 3.
Visuals — toggles for net flow, directional flows, noise floor band, glow, and regime tint, plus customizable colors for inflow, outflow, and neutral states.
Built-in alerts
Lead flip — Reference leading — net flow crosses above zero
Lead flip — Chart leading — net flow crosses below zero
Significant inflow — net flow rises above the noise floor
Significant outflow — net flow drops below the negative noise floor
Notes
Pick reference symbols with overlapping trading hours. When one series is closed and the other isn't, the closed series' price forward-fills, which shows up as a run of zero returns and biases the estimate.
The binary symbolization (up vs not-up) is intentionally crude. It's robust, requires no parameter tuning, and matches Schreiber's original formulation — but it discards magnitude. For pairs where the size of a move matters more than its direction, this measure won't capture it.
This is a diagnostic tool, not a signal generator. It tells you which side of a pair is leading.
Five years of work on a trading system left me with dozens of indicators that ultimately didn't earn a place in the final build. They're not failures — they're tools that solved problems I no longer needed solved. So instead of shelving them, I'm publishing the majority of them open-source.
If you're a discretionary trader, take what's useful. If you're a systems builder, the source is yours to dissect, modify, and improve. The best return on five years of work is for it to keep working — for someone.
If you use this script — or part of it — in your own work, please credit the original with a link back to my profile.
Note: these indicators have been updated to Pine Script v6 — some manually, some with AI assistance. Indicatore
