Wyckoff Stage Approximator (MTF Alerts)Wyckoff Stage Approximator (MTF Context)
This indicator is a powerful tool designed for traders who use a top-down, multi-timeframe approach based on Wyckoff principles. Its primary function is to identify the market's current stage—consolidation (Stage 1) or trend (Stage 2)—on a higher Context (C) timeframe and project that analysis onto your lower Validation (V) and Entry (E) charts.
This ensures you are always trading in alignment with the "big picture" trend, preventing you from taking low-probability trades based on lower-timeframe noise.
Core Concept: Top-Down Analysis
The script solves a common problem for multi-timeframe traders: losing sight of the primary trend. By locking the background color to your chosen Context timeframe (e.g., 15-minute), you are constantly reminded of the market's true state.
🟡 Yellow Background (Stage 1): The Context timeframe is in consolidation. This is a time to be patient and wait for a clear directional bias to emerge.
🟢 Green Background (Stage 2 - Markup): The Context timeframe is in a confirmed uptrend. This is your green light to look for bullish pullback opportunities on your lower timeframes.
🔴 Red Background (Stage 2 - Markdown): The Context timeframe is in a confirmed downtrend. This is your signal to look for bearish rally opportunities.
How It Works
The indicator uses a combination of moving averages and trend strength to objectively define each stage:
Trend Alignment: It checks if the 5 EMA, 10 EMA, and 20 EMA are properly stacked above or below the 50 SMA to determine the potential trend direction.
Trend Strength: It uses the ADX to measure the strength of the trend. A trend is only confirmed as Stage 2 if the ADX is above a user-defined threshold (default is 23), filtering out weak or choppy moves.
Stage Definition: Any period that is not a confirmed, strong Stage 2 Markup or Markdown is classified as a Stage 1 consolidation phase.
Key Features
Multi-Timeframe (MTF) Projection: Select your master "Context" timeframe, and its analysis will be displayed on any chart you view.
Customizable Inputs: Easily adjust the moving average lengths and ADX threshold to fit your specific strategy and the asset you are trading.
Clear Visual Cues: The intuitive background coloring makes it easy to assess the market environment at a glance.
Stage Transition Alerts: Set up specific alerts to be notified the moment your Context timeframe shifts from a Stage 1 consolidation to a Stage 2 trend, ensuring you never miss a potential setup.
How to Use This Indicator
Add the indicator to your chart.
In the settings, set the "Context Timeframe" to your highest timeframe (e.g., "15" for 15-minute).
Create alerts for the "Stage 1 -> Stage 2" conditions.
When you receive an alert, it signals that a potential trend is beginning on your Context chart.
Switch to your lower Validation and Entry timeframes. The background color will confirm the higher-timeframe trend, giving you the confidence to look for your specific entry patterns.
Disclaimer: This tool is designed for confluence and environmental analysis. It is not a standalone signal generator. It should be used in conjunction with your own price action, volume, or order flow analysis to validate trade entries.
Cycles
Multi-GPS (Long Only, with Alert Mode)A guided long‑only strategy with built‑in risk controls and smart alerts — your GPS for trend trading
**Multi‑GPS (Long Only, with Alert Mode)**
The Multi‑GPS strategy is built to help traders navigate trends with a structured, risk‑managed approach. It focuses exclusively on **long opportunities**, combining multiple moving‑average signals with layered risk controls to keep trades disciplined and consistent.
Key features include:
- **Dynamic trade management** with stop loss, take profit, and trailing stop options (all adjustable by percentage).
- **Flexible order sizing**, allowing positions to scale as a percentage of account equity.
- **Customizable moving averages** (SMA or EMA) and timeframe selection to adapt to different markets and styles.
- **Integrated alerts** with multiple modes, so traders can choose between order‑based notifications, alert() calls, or both.
- **Clear chart visuals**, including entry/exit markers and plotted guide lines for transparency.
This strategy is designed to act like a **navigation system for trend trading** — guiding entries, managing exits, and keeping risk under control, all while maintaining a clean and intuitive charting experience.
---
Would you like me to also craft a **short tagline version** (like a one‑liner hook) for this strategy, so it pairs neatly with the longer description when you publish it?
TDS9 Counting (Red & Blue, Offset Labels)Here’s a polished, **publication‑ready narrative** for your *TDS9 Counting (Red & Blue, Offset Labels)* indicator, written in the same style as the previous ones:
---
**TDS9 Counting (Red & Blue, Offset Labels)**
This indicator implements a sequential counting method to help traders identify potential exhaustion points in ongoing trends. It tracks sequences of price closes relative to the prior 4 bars, building up to a **9‑count structure** that often signals areas where momentum may be weakening and a reversal or pause could occur.
The script automatically labels counts **6 through 9** directly on the chart, with clear **color‑coded markers**:
- **Red numbers** for downward sequences (bearish setups)
- **Dark blue numbers** for upward sequences (bullish setups)
- A **red “9”** highlights a potential exhaustion point in an uptrend, while a **blue “9”** marks exhaustion in a downtrend
To maintain chart clarity, labels are **offset slightly above or below candles** using dynamic spacing, ensuring signals remain visible without overlapping price action. This makes it easy to track the progression of counts in real time while keeping the chart clean and readable.
By combining structured sequential logic with intuitive visual cues, this tool helps traders:
- Monitor developing **trend exhaustion patterns**
- Anticipate potential **reversal or consolidation zones**
- Add a **systematic layer of confirmation** to existing strategies
- Keep charts uncluttered with offset, color‑coded labels
Whether you’re a discretionary trader looking for exhaustion confirmation or a systematic trader layering signals into a broader strategy, this indicator provides a **clear, structured framework** for spotting potential turning points in price action.
Wyckoff Accumulation / Distribution Detector (v3)🌱 Spring (Bullish Wyckoff Signature)
🧠 Definition
A Spring happens when price dips below a well-defined support level, usually near the end of an accumulation phase, then quickly reverses back above support.
This is not ordinary volatility — it's usually intentional by large operators (“Composite Man”) to:
Trigger stop-losses of weak holders
Create the illusion of a breakdown to scare late sellers in
Absorb all remaining supply at low prices
Launch the next markup leg once weak hands are flushed out
🧭 Typical Spring Characteristics
Feature Behavior
Location Near the bottom of a trading range after a decline
Price Action Temporary breakdown below support, then sharp reversal above
Volume Usually low to average on the break, indicating lack of real selling pressure. Sometimes a volume surge on the reversal as strong hands step in
Candle Often shows a long lower wick, closes back inside the range
Intent Shakeout of weak holders, allow institutions to accumulate more quietly
📈 Why It's Bullish
Springs typically mark the final test of supply. If price can dip below support and immediately recover, it means:
Selling pressure is exhausted (no follow-through)
Strong hands are absorbing remaining shares
A bullish breakout is often imminent
🪤 Upthrust (Bearish Wyckoff Signature)
🧠 Definition
An Upthrust is the mirror image of a Spring. It happens when price pokes above a resistance level, usually near the end of a distribution phase, but then fails to hold above it and falls back inside the range.
This is typically smart money distributing to eager buyers:
Late breakout traders pile in
Institutions sell into that strength
Price collapses back into the range, trapping breakout buyers
🧭 Typical Upthrust Characteristics
Feature Behavior
Location Near the top of a trading range after a rally
Price Action Temporary breakout above resistance, then quick reversal down
Volume Frequently low on the breakout, suggesting a lack of real buying interest — or sometimes high but with no progress, showing hidden selling
Candle Often shows a long upper wick, closes back inside the range
Intent Trap breakout buyers, provide liquidity for institutional sellers to unload near highs
📉 Why It's Bearish
Upthrusts show demand failure and supply swamping:
Buyers cannot sustain the breakout.
The sharp reversal signals large players are exiting.
Typically precedes markdown phases or sharp declines.
📝 Trading Implications
Spring → Often followed by a sign of strength rally → good long entry if confirmed with volume expansion and follow-through.
Upthrust → Often followed by a sign of weakness → short setups, especially if the next rally fails at lower highs.
The script looks for:
🌱 Spring:
Price makes a low below recent pivot support,
Closes back above,
Does so on low volume → likely a shakeout.
🪤 Upthrust:
Price makes a high above recent pivot resistance,
Closes back below,
On low volume → likely a bull trap.
The Crypteller LEVELSAutomatically shows key highs and lows from the previous day, week, and month — no need to mark them manually.
Keeps your chart clean — only the latest levels are visible.
Works on any timeframe, so you can instantly see where major liquidity sits.
Relative Volume at TimeIt tells you whether current trading activity is unusually high or low compared to typical levels at that same time in past sessions.
For example:
A reading of 2.0 means volume is twice the usual amount for this moment in the trading day.
A reading below 1.0 means volume is quieter than normal.
QUANTUM MOMENTUMOverview
Quantum Momentum is a sophisticated technical analysis tool designed to help traders identify relative strength between assets through advanced momentum comparison. This cyberpunk-themed indicator visualizes momentum dynamics between your current trading symbol and any comparison asset of your choice, making it ideal for pairs trading, crypto correlation analysis, and multi-asset portfolio management.
Key Features
📊 Multi-Asset Momentum Comparison
Dual Symbol Analysis: Compare momentum between your chart symbol and any other tradable asset
Real-Time Tracking: Monitor relative momentum strength as market conditions evolve
Difference Visualization: Clear histogram display showing which asset has stronger momentum
🎯 Multiple Momentum Calculation Methods
Choose from four different momentum calculation types:
ROC (Rate of Change): Traditional percentage-based momentum measurement
RSI (Relative Strength Index): Oscillator-based momentum from 0-100 range
Percent Change: Simple percentage change over the lookback period
Raw Change: Absolute price change in native currency units
📈 Advanced Trend Filtering System
Enable optional trend filters to align momentum signals with prevailing market direction:
SMA (Simple Moving Average): Classic trend identification
EMA (Exponential Moving Average): Responsive trend detection
Price Action: Identifies trends through higher highs/lows or lower highs/lows patterns
ADX (Average Directional Index): Measures trend strength with customizable threshold
🎨 Futuristic Cyberpunk Design
Neon Color Scheme: Eye-catching cyan, magenta, and matrix green color palette
Glowing Visual Effects: Enhanced visibility with luminescent plot lines
Dynamic Background Shading: Subtle trend state visualization
Real-Time Data Table: Sleek information panel displaying current momentum values and trend status
How It Works
The indicator calculates momentum for both your current chart symbol and a comparison symbol (default: BTC/USDT) using your selected method and lookback period. The difference between these momentum values reveals which asset is exhibiting stronger momentum at any given time.
Positive Difference (Green): Your chart symbol has stronger momentum than the comparison asset
Negative Difference (Pink/Red): The comparison asset has stronger momentum than your chart symbol
When the trend filter is enabled, the indicator will only display signals that align with the detected market trend, helping filter out counter-trend noise.
Settings Guide
Symbol Settings
Compare Symbol: Choose any tradable asset to compare against (e.g., major indices, cryptocurrencies, forex pairs)
Momentum Settings
Momentum Length: Lookback period for momentum calculations (default: 14 bars)
Momentum Type: Select your preferred momentum calculation method
Display Options
Toggle visibility of current symbol momentum line
Toggle visibility of comparison symbol momentum line
Toggle visibility of momentum difference histogram
Optional zero line reference
Trend Filter Settings
Use Trend Filter: Enable/disable trend-based signal filtering
Trend Method: Choose from SMA, EMA, Price Action, or ADX
Trend Length: Period for trend calculations (default: 50)
ADX Threshold: Minimum ADX value to confirm trend strength (default: 25)
Best Use Cases
✅ Pairs Trading: Identify divergences in momentum between correlated assets
✅ Crypto Market Analysis: Compare altcoin momentum against Bitcoin or Ethereum
✅ Stock Market Rotation: Track sector or index relative strength
✅ Forex Strength Analysis: Monitor currency pair momentum relationships
✅ Multi-Timeframe Confirmation: Use alongside other indicators for confluence
✅ Mean Reversion Strategies: Spot extreme momentum divergences for potential reversals
Visual Indicators
⚡ Cyan Line: Your chart symbol's momentum
⚡ Magenta Line: Comparison symbol's momentum
📊 Green/Pink Histogram: Momentum difference (positive = green, negative = pink)
▲ Green Triangle: Bullish trend detected (when filter enabled)
▼ Red Triangle: Bearish trend detected (when filter enabled)
◈ Yellow Diamond: Neutral/sideways trend (when filter enabled)
Pro Tips
💡 Look for crossovers between the momentum lines as potential trade signals
💡 Combine with volume analysis for stronger confirmation
💡 Use momentum divergence (price making new highs/lows while momentum doesn't) for reversal signals
💡 Enable trend filter during ranging markets to reduce false signals
💡 Experiment with different momentum types to find what works best for your trading style
Technical Requirements
TradingView Pine Script Version: v6
Chart Type: Works on all chart types
Indicator Placement: Separate pane (overlay=false)
Data Requirements: Needs access to comparison symbol data
Forecast PriceTime Oracle [CHE] Forecast PriceTime Oracle — Prioritizes quality over quantity by using Power Pivots via RSI %B metric to forecast future pivot highs/lows in price and time
Summary
This indicator identifies potential pivot highs and lows based on out-of-bounds conditions in a modified RSI %B metric, then projects future occurrences by estimating time intervals and price changes from historical medians. It provides visual forecasts via diagonal and horizontal lines, tracks achievement with color changes and symbols, and displays a dashboard for statistical overview including hit rates. Signals are robust due to median-based aggregation, which reduces outlier influence, and optional tolerance settings for near-misses, making it suitable for anticipating reversals in ranging or trending markets.
Motivation: Why this design?
Standard pivot detection often lags or generates false signals in volatile conditions, missing the timing of true extrema. This design leverages out-of-bounds excursions in RSI %B to capture "Power Pivots" early—focusing on quality over quantity by prioritizing significant extrema rather than every minor swing—then uses historical deltas in time and price to forecast the next ones, addressing the need for proactive rather than reactive analysis. It assumes that pivot spacing follows statistical patterns, allowing users to prepare entries or exits ahead of confirmation.
What’s different vs. standard approaches?
- Reference baseline: Diverges from traditional ta.pivothigh/low, which require fixed left/right lengths and confirm only after bars close, often too late for dynamic markets.
- Architecture differences:
- Detects extrema during OOB runs rather than post-bar symmetry.
- Aggregates deltas via medians (or alternatives) over a user-defined history, capping arrays to manage resources.
- Applies tolerance thresholds for hit detection, with options for percentage, absolute, or volatility-adjusted (ATR) flexibility.
- Freezes achieved forecasts with visual states to avoid clutter.
- Practical effect: Charts show proactive dashed projections instead of retrospective dots; the dashboard reveals evolving hit rates, helping users gauge reliability over time without manual calculation.
How it works (technical)
The indicator first computes a smoothed RSI over a specified length, then applies Bollinger Bands to derive %B, flagging out-of-bounds below zero or above one hundred as potential run starts. During these runs, it tracks the extreme high or low price and bar index. Upon exit from the OOB state, it confirms the Power Pivot at that extreme and records the time delta (bars since prior) and price change percentage to rolling arrays.
For forecasts, it calculates the median (or selected statistic) of recent deltas, subtracts the confirmation delay (bars from apex to exit), and projects ahead by that adjusted amount. Price targets use the median change applied to the origin pivot value. Lines are drawn from the apex to the target bar and price, with a short horizontal at the endpoint. Arrays store up to five active forecasts, pruning oldest on overflow.
Tolerance adjusts hit checks: for highs, if the high reaches or exceeds the target (adjusted by tolerance); for lows, if the low drops to or below. Once hit, the forecast freezes, changing colors and symbols, and extends the horizontal to the hit bar. Persistent variables maintain last pivot states across bars; arrays initialize empty and grow until capped at history length.
Parameter Guide
Source: Specifies the data input for the RSI computation, influencing how price action is captured. Default is close. For conservative signals in noisy environments, switch to high; using low boosts responsiveness but may increase false positives.
RSI Length: Sets the smoothing period for the RSI calculation, with longer values helping to filter out whipsaws. Default is 32. Opt for shorter lengths like 14 to 21 on faster timeframes for quicker reactions, or extend to 50 or more in strong trends to enhance stability at the cost of some lag.
BB Length: Defines the period for the Bollinger Bands applied to %B, directly affecting how often out-of-bounds conditions are triggered. Default is 20. Align it with the RSI length: shorter periods detect more potential runs but risk added noise, while longer ones provide better filtering yet might overlook emerging extrema.
BB StdDev: Controls the multiplier for the standard deviation in the bands, where wider settings reduce false out-of-bounds alerts. Default is 2.0. Narrow it to 1.5 for highly volatile assets to catch more signals, or broaden to 2.5 or higher to emphasize only major movements.
Show Price Forecast: Enables or disables the display of diagonal and target lines along with their updates. Default is true. Turn it off for simpler chart views, or keep it on to aid in trade planning.
History Length: Determines the number of recent pivot samples used for median-based statistics, where more history leads to smoother but potentially less current estimates. Default is 50. Start with a minimum of 5 to build data; limit to 100 to 200 to prevent outdated regimes from skewing results.
Max Lookahead: Limits the number of bars projected forward to avoid overly extended lines. Default is 500. Reduce to 100 to 200 for intraday focus, or increase for longer swing horizons.
Stat Method: Selects the aggregation technique for time and price deltas: Median for robustness against outliers, Trimmed Mean (20%) for a balanced trim of extremes, or 75th Percentile for a conservative upward tilt. Default is Median. Use Median for even distributions; switch to Percentile when emphasizing potential upside in trending conditions.
Tolerance Type: Chooses the approach for flexible hit detection: None for exact matches, Percentage for relative adjustments, Absolute for fixed point offsets, or ATR for scaling with volatility. Default is None. Begin with Percentage at 0.5 percent for currency pairs, or ATR for adapting to cryptocurrency swings.
Tolerance %: Provides the relative buffer when using Percentage mode, forgiving small deviations. Default is 0.5. Set between 0.2 and 1.0 percent; higher values accommodate gaps but can overstate hit counts.
Tolerance Points: Establishes a fixed offset in price units for Absolute mode. Default is 0.0010. Tailor to the asset, such as 0.0001 for forex pairs, and validate against past wick behavior.
ATR Length: Specifies the period for the Average True Range in dynamic tolerance calculations. Default is 14. This is the standard setting; shorten to 10 to reflect more recent volatility.
ATR Multiplier: Adjusts the ATR scale for tolerance width in ATR mode. Default is 0.5. Range from 0.3 for tighter precision to 0.8 for greater leniency.
Dashboard Location: Positions the summary table on the chart. Default is Bottom Right. Consider Top Left for better visibility on mobile devices.
Dashboard Size: Controls the text scaling for dashboard readability. Default is Normal. Choose Tiny for dense overlays or Large for detailed review sessions.
Text/Frame Color: Sets the color scheme for dashboard text and borders. Default is gray. Align with your chart theme, opting for lighter shades on dark backgrounds.
Reading & Interpretation
Forecast lines appear as dashed diagonals from confirmed pivots to projected targets, with solid horizontals at endpoints marking price levels. Open targets show a target symbol (🎯); achieved ones switch to a trophy symbol (🏆) in gray, with lines fading to gray. The dashboard summarizes median time/price deltas, sample counts, and hit rates—rising rates indicate improving forecast alignment. Colors differentiate highs (red) from lows (lime); frozen states signal validated projections.
Practical Workflows & Combinations
- Trend following: Enter long on low forecast hits during uptrends (higher highs/lower lows structure); filter with EMA crossovers to ignore counter-trend signals.
- Reversal setups: Short above high projections in overextended rallies; use volume spikes as confirmation to reduce false breaks.
- Exits/Stops: Trail stops to prior pivot lows; conservative on low hit rates (below 50%), aggressive above 70% with tight tolerance.
- Multi-TF: Apply on 1H for entries, 4H for time projections; combine with Ichimoku clouds for confluence on targets.
- Risk management: Position size inversely to delta uncertainty (wider history = smaller bets); avoid low-liquidity sessions.
Behavior, Constraints & Performance
Confirmation occurs on OOB exit, so live-bar pivots may adjust until close, but projections update only on events to minimize repaint. No security or HTF calls, so no external lookahead issues. Arrays cap at history length with shifts; forecasts limited to five active, pruning FIFO. Loops iterate over small fixed sizes (e.g., up to 50 for stats), efficient on most hardware. Max lines/labels at 500 prevent overflow.
Known limits: Sensitive to OOB parameter tuning—too tight misses runs; assumes stationary pivot stats, which may shift in regime changes like low vol. Gaps or holidays distort time deltas.
Sensible Defaults & Quick Tuning
Defaults suit forex/crypto on 1H–4H: RSI 32/BB 20 for balanced detection, Median stats over 50 samples, None tolerance for exactness.
- Too many false runs: Increase BB StdDev to 2.5 or RSI Length to 50 for filtering.
- Lagging forecasts: Shorten History Length to 20; switch to 75th Percentile for forward bias.
- Missed near-hits: Enable Percentage tolerance at 0.3% to capture wicks without overcounting.
- Cluttered charts: Reduce Max Lookahead to 200; disable dashboard on lower TFs.
What this indicator is—and isn’t
This is a forecasting visualization layer for pivot-based analysis, highlighting statistical projections from historical patterns. It is not a standalone system—pair with price action, volume, and risk rules. Not predictive of all turns; focuses on OOB-derived extrema, ignoring volume or news impacts.
Disclaimer
The content provided, including all code and materials, is strictly for educational and informational purposes only. It is not intended as, and should not be interpreted as, financial advice, a recommendation to buy or sell any financial instrument, or an offer of any financial product or service. All strategies, tools, and examples discussed are provided for illustrative purposes to demonstrate coding techniques and the functionality of Pine Script within a trading context.
Any results from strategies or tools provided are hypothetical, and past performance is not indicative of future results. Trading and investing involve high risk, including the potential loss of principal, and may not be suitable for all individuals. Before making any trading decisions, please consult with a qualified financial professional to understand the risks involved.
By using this script, you acknowledge and agree that any trading decisions are made solely at your discretion and risk.
Do not use this indicator on Heikin-Ashi, Renko, Kagi, Point-and-Figure, or Range charts, as these chart types can produce unrealistic results for signal markers and alerts.
Best regards and happy trading
Chervolino
Herd Flow Oscillator — Volume Distribution Herd Flow Oscillator — Scientific Volume Distribution (herd-accurate rev)
A composite order-flow oscillator designed to surface true herding behavior — not just random bursts of buying or selling.
It’s built to detect when market participants start acting together, showing persistent, one-sided activity that statistically breaks away from normal market randomness.
Unlike traditional volume or momentum indicators, this tool doesn’t just look for “who’s buying” or “who’s selling.”
It tries to quantify crowd behavior by blending multiple statistical tests that describe how collective sentiment and coordination unfold in price and volume dynamics.
What it shows
The Herd Flow Oscillator works as a multi-layer detector of crowd-driven flow in the market. It examines how signed volume (buy vs. sell pressure) evolves, how persistent it is, and whether those actions are unusually coordinated compared to random expectations.
HerdFlow Composite (z) — the main signal line, showing how statistically extreme the current herding pressure is.
When this crosses above or below your set thresholds, it suggests a high probability of collective buying or selling.
You can optionally reveal component panels for deeper insight into why herding is detected:
DVI (Directional Volume Imbalance): Measures the ratio of bullish vs. bearish volume.
If it’s strongly positive, more volume is hitting the ask (buying); if negative, more is hitting the bid (selling).
LSV-style Herd Index : Inspired by academic finance measures of “herding.”
It compares how often volume is buying vs. selling versus what would happen by random chance.
If the result is significantly above chance, it means traders are collectively biased in one direction.
O rder-Flow Persistence (ρ 1..K): Averages autocorrelation of signed volume over several lags.
In simpler terms: checks if buying/selling pressure tends to continue in the same direction across bars.
Positive persistence = ongoing coordination, not just isolated trades.
Runs-Test Herding (−Z) : Statistical test that checks how often trade direction flips.
When there are fewer direction changes than expected, it means trades are clustering — a hallmark of herd behavior.
Skew (signed volume): Measures whether signed volume is heavily tilted to one side.
A positive skew means more aggressive buying bursts; a negative skew means more intense selling bursts.
CVD Slope (z): Looks at the slope of the Cumulative Volume Delta — essentially how quickly buy/sell pressure is accelerating.
It’s a short-term flow acceleration measure.
Shapes & background
▲ “BH” at the bottom = Bull Herding; ▼ “BH-” at the top = Bear Herding.
These markers appear when all conditions align to confirm a herding regime.
Persistence and clustering both confirm coordinated downside flow.
Core Windows
Primary Window (N) — the main sample length for herding calculations.
It’s like the "memory span" for detecting coordinated behavior. A longer N means smoother, more reliable signals.
Short Window (Nshort) — used for short-term measurements like imbalance and slope.
Smaller values react faster but can be noisy; larger values are steadier but slower.
Long Window (Nlong) — used for z-score normalization (statistical scaling).
This helps the indicator understand what’s “normal” behavior over a longer horizon, so it can spot when things deviate too far.
Autocorr lags (acLags) — how many steps to check when measuring persistence.
Higher values (e.g., 3–5) look further back to see if trends are truly continuing.
Calculation Options
Price Proxy for Tick Rule — defines how to decide if a trade is “buy” or “sell.”
hlc3 (average of high, low, and close) works as a neutral, smooth price proxy.
Use ATR for scaling — keeps signals comparable across assets and timeframes by dividing by volatility (ATR).
Prevents high-volatility periods from dominating the signal.
Median Filter (bars) — smooths out erratic data spikes without heavily lagging the response.
Odd values like 3 or 5 work best.
Signal Thresholds
Composite z-threshold — determines how extreme behavior must be before it counts as “herding.”
Higher values = fewer, more confident signals.
Imbalance threshold — the minimum directional volume imbalance to trigger interest.
Plotting
Show component panels — useful for analysts and developers who want to inspect the math behind signals.
Fill strong herding zones — purely visual aid to highlight key periods of coordinated trading.
How to use it (practical tips)
Understand the purpose: This is not just a “buy/sell” tool.
It’s a behavioral detector that identifies when traders or algorithms start acting in the same direction.
Timeframe flexibility:
15m–1h: reveals short-term crowd shifts.
4h–1D: better for swing-trade context and institutional positioning.
Combine with structure or trend:
When HerdFlow confirms a bullish regime during a breakout or retest, it adds confidence.
Conversely, a bearish cluster at resistance may hint at a crowd-driven rejection.
Threshold tuning:
To make it more selective, increase zThr and imbThr.
To make it more sensitive, lower those thresholds but expand your primary window N for smoother results.
Cross-market consistency:
Keep “Use ATR for scaling” enabled to maintain consistency across different instruments or timeframes.
Denoising:
A small median filter (3–5 bars) removes flicker from volume spikes but still preserves the essential crowd patterns.
Reading the components (why signals fire)
Each sub-metric describes a unique “dimension” of crowd behavior:
DVI: how imbalanced buying vs selling is.
Herd Index: how biased that imbalance is compared to random expectation.
Persistence (ρ): how continuous those flows are.
Runs-Test: how clumped together trades are — clustering means the crowd’s acting in sync.
Skew: how lopsided the volume distribution is — sudden surges of one-sided aggression.
CVD Slope: how strongly accelerating the current directional flow is.
When all of these line up, you’re seeing evidence that market participants are collectively moving in the same direction — i.e., true herding.
Quarterly Theory True Opens by Mr. ConsistentQuarterly Theory True Opens (MTF)
This indicator plots key institutional price levels known as "True Opens" based on the principles of Quarterly Theory, as taught by Trader Daye. It is designed to identify the start of Q2 manipulation cycles across yearly, monthly, weekly, daily, and intra-day session timeframes.
The levels are drawn as clean horizontal rays and are anchored to the 1-minute timeframe, ensuring they are perfectly accurate and consistent on ANY chart timeframe you view.
🎯 Core Concepts
Each line represents the "True Open" at the start of a new Q2 cycle:
📅 Yearly True Open: The open of the first trading day of April.
🗓️ Monthly True Open: The open of the second Monday of each month.
Weekly True Open: The open of the Monday 6:00 PM EST session.
🏙️ Daily True Open: The open at Midnight EST.
⏰ Session True Opens: The open at the start of the second 90-minute quarter of each session (1:30 AM, 7:30 AM, 1:30 PM, 7:30 PM EST).
✨ Key Features
Multi-Timeframe (MTF) Accuracy: Lines are anchored to the 1-minute open price, ensuring they remain perfectly consistent on any chart timeframe (e.g., the 7:30 AM open is the same on the 5min, 1-hour, and Daily charts).
Clean Horizontal Rays: Plots clean horizontal rays that extend forward, avoiding chart clutter. Old lines are automatically removed as new ones form.
Right-Aligned Labels: Text labels are positioned on the right edge of your screen, so they are always visible and never covered by price action.
Fully Customizable: Toggle the visibility of each True Open line (Yearly, Monthly, etc.) and their labels individually in the settings. You can also customize colors and line width.
New York (EST) Timezone: All calculations are hard-coded to the America/New_York timezone for consistency.
⚙️ How to Use
Use these levels as key points of interest for potential support, resistance, or areas where price may show a significant reaction.
Observe how price interacts with these levels after they are established.
Customize the indicator in the settings (⚙️ icon) to show only the levels relevant to your trading style.
⚠️ Troubleshooting: Lines Not Showing Correctly?
If the indicator lines don't seem to plot at the correct price levels when you first add it to your chart, it's almost always a scaling issue.
Hover over the indicator's name on your chart and click the three dots (...) for "More".
Scroll down to "Pin to Scale".
Select "Pin to Right Scale" (or whichever scale your price is on). The indicator levels must be pinned to the same scale as the price to display accurately.
If it is set to "No Scale," the levels will not reflect their true price values.
This tool was developed based on the public teachings of Trader Daye. All credit for the underlying concepts of Quarterly Theory belongs to him. This indicator is for educational and analytical purposes only.
Mark the New York trading session hours(纽约交易时间段标注)Apply background shading for New York time.
(纽约时间背景着色)
04:00 ~ 09:00
09:00 ~ 09:30
09:30 ~ 12:00
No shading needed after 12 AM as I'll be asleep.
(12点我睡觉了就不着色了。)
Universal Regime Alpha Thermocline StrategyCurrents settings adapted for BTCUSD Daily timeframe
This description is written to comply with TradingView House Rules and Script Publishing Rules. It is self contained, in English first, free of advertising, and explains originality, method, use, defaults, and limitations. No external links are included. Nothing here is investment advice.
0. Publication mode and rationale
This script is published as Protected . Anyone can add and test it from the Public Library, yet the source code is not visible.
Why Protected
The engine combines three independent lenses into one regime score and then uses an adaptive centering layer and a thermo risk unit that share a common AAR measure. The exact mapping and interactions are the result of original research and extensive validation. Keeping the implementation protected preserves that work and avoids low effort clones that would fragment feedback and confuse users.
Protection supports a single maintained build for users. It reduces accidental misuse of internal functions outside their intended context which might lead to misleading results.
1. What the strategy does in one paragraph
Universal Regime Alpha Thermocline builds a single number between zero and one that answers a practical question for any market and timeframe. How aligned is current price action with a persistent directional regime right now. To answer this the script fuses three views of the tape. Directional entropy of up versus down closes to measure unanimity.
Convexity drift that rewards true geometric compounding and penalizes drag that comes from chop where arithmetic pace is high but growth is poor.
Tail imbalance that counts decisive bursts in one direction relative to typical bar amplitude. The three channels are blended, optionally confirmed by a higher timeframe, and then adaptively centered to remove local bias. Entries fire when the score clears an entry gate. Exits occur when the score mean reverts below an exit gate or when thermo stops remove risk. Position size can scale with the certainty of the signal.
2. Why it is original and useful
It mixes orthogonal evidence instead of leaning on a single family of tools. Many regime filters depend on moving averages or volatility compression. Here we add an information view from entropy, a growth view from geometric drift, and a structural view from tail imbalance.
The drift channel separates growth from speed. Arithmetic pace can look strong in whipsaw, yet geometric growth stays weak. The engine measures both and subtracts drag so that only sequences with compounding quality rise.
Tail counting is anchored to AAR which is the average absolute return of bars in the window. This makes the threshold self scaling and portable across symbols and timeframes without hand tuned constants.
Adaptive centering prevents the score from living above or below neutral for long stretches on assets with strong skew. It recovers neutrality while still allowing persistent regimes to dominate once evidence accumulates.
The same AAR unit used in the signal also sets stop distance and trail distance. Signal and risk speak the same language which makes the method portable and easier to reason about.
3. Plain language overview of the math
Log returns . The base series is r equal to the natural log of close divided by the previous close. Log return allows clean aggregation and makes growth comparisons natural.
Directional entropy . Inside the lookback we compute the proportion p of bars where r is positive. Binary entropy of p is high when the mix of up and down closes is balanced and low when one direction dominates. Intensity is one minus entropy. Directional sign is two times p minus one. The trend channel is zero point five plus one half times sign times intensity. It lives between zero and one and grows stronger as unanimity increases.
Convexity drift with drag . Arithmetic mean of r measures pace. Geometric mean of the price ratio over the window measures compounding. Drag is the positive part of arithmetic minus geometric. Drift raw equals geometric minus drag multiplier times drag. We then map drift through an arctangent normalizer scaled by AAR and a nonlinearity parameter so the result is stable and remains between zero and one.
Tail imbalance . AAR equals the average of the absolute value of r in the window. We count up tails where r is greater than aar_mult times AAR and down tails where r is less than minus aar_mult times AAR. The imbalance is their difference over their total, mapped to zero to one. This detects directional impulse flow.
Fusion and centering . A weighted average of the three channels yields the raw score. If a higher timeframe is requested, the same function is executed on that timeframe with lookahead off and blended with a weight. Finally we subtract a fraction of the rolling mean of the score to recover neutrality. The result is clipped to the zero to one band.
4. Entries, exits, and position sizing
Enter long when score is strictly greater than the entry gate. Enter short when score is strictly less than one minus the entry gate unless direction is restricted in inputs.
Exit a long when score falls below the exit gate. Exit a short when score rises above one minus the exit gate.
Thermo stops are expressed in AAR units. A long uses the maximum of an initial stop sized by the entry price and AAR and a trail stop that references the running high since entry with a separate multiple. Shorts mirror this with the running low. If the trail is disabled the initial stop is active.
Cooldown is a simple bar counter that begins when the position returns to flat. It prevents immediate re entry in churn.
Dynamic position size is optional. When enabled the order percent of equity scales between a floor and a cap as the score rises above the gate for longs or below the symmetric gate for shorts.
5. Inputs quick guide with recommended ranges
Every input has a tooltip in the script. The same guidance appears here for fast reading.
Core window . Shared lookback for entropy, drift, and tails. Start near 80 on daily charts. Try 60 to 120 on intraday and 80 to 200 for swing.
Entry threshold . Typical range 0.55 to 0.65 for trend following. Faster entries 0.50 to 0.55.
Exit threshold . Typical range 0.35 to 0.50. Lower holds longer yet gives back more.
Weight directional entropy . Starting value 0.40. Raise on markets with clean persistence.
Weight convexity drift . Starting value 0.40. Raise when compounding quality is critical.
Weight tail imbalance . Starting value 0.20. Raise on breakout prone markets.
Tail threshold vs AAR . Typical range 1.0 to 1.5 to count decisive bursts.
Drag penalty . Typical range 0.25 to 0.75. Higher punishes chop more.
Nonlinearity scale . Typical range 0.8 to 2.0. Larger compresses extremes.
AAR floor in percent . Typical range 0.0005 to 0.002 for liquid instruments. This stabilizes the math during quiet regimes.
Adaptive centering . Keep on for most symbols. Center strength 0.40 to 0.70.
Confirm timeframe optional . Leave empty to disable. If used, try a multiple between three and five of the chart timeframe with a blend weight near 0.20.
Dynamic position size . Enable if you want size to reflect certainty. Floor and cap define the percent of equity band. A practical band for many accounts is 0.5 to 2.
Cooldown bars after exit . Start at 3 on daily or slightly higher on shorter charts.
Thermo stop multiple . Start between 1.5 and 3.0 on daily. Adjust to your tolerance and symbol behavior.
Thermo trailing stop and Trail multiple . Trail on locks gains earlier. A trail multiple near 1.0 to 2.0 is common. You can keep trail off and let the exit gate handle exits.
Background heat opacity . Cosmetic. Set to taste. Zero disables it.
6. Properties used on the published chart
The example publication uses BTCUSD on the daily timeframe. The following Properties and inputs are used so everyone can reproduce the same results.
Initial capital 100000
Base currency USD
Order size 2 percent of equity coming from our risk management inputs.
Pyramiding 0
Commission 0.05 percent
Slippage 10 ticks in the publication for clarity. Users should introduce slippage in their own research.
Recalculate after order is filled off. On every tick off.
Using bar magnifier on. On bar close on.
Risk inputs on the published chart. Dynamic position size on. Size floor percent 2. Size cap percent 2. Cooldown bars after exit 3. Thermo stop multiple 2.5. Thermo trailing stop off. Trail multiple 1.
7. Visual elements and alerts
The score is painted as a subtle dot rail near the bottom. A background heat map runs from red to green to convey regime strength at a glance. A compact HUD at the top right shows current score, the three component channels, the active AAR, and the remaining cooldown. Four alerts are included. Long Setup and Short Setup on entry gates. Exit Long by Score and Exit Short by Score on exit gates. You can disable trading and use alerts only if you want the score as a risk switch inside a discretionary plan.
8. How to reproduce the example
Open a BTCUSD daily chart with regular candles.
Add the strategy and load the defaults that match the values above.
Set Properties as listed in section 6.(they are set by default) Confirm that bar magnifier is on and process on bar close is on.
Run the Strategy Tester. Confirm that the trade count is reasonable for the sample. If the count is too low, slightly lower the entry threshold or extend history. If the count is excessively high, raise the threshold or add a small cooldown.
9. Practical tuning recipes
Trend following focus . Raise the entry threshold toward 0.60. Raise the trend weight to 0.50 and reduce tail weight to 0.15. Keep drift near 0.35 to retain the growth filter. Consider leaving the trail off and let the exit threshold manage positions.
Breakout focus . Keep entry near 0.55. Raise tail weight to 0.35. Keep aar_mult near 1.3 so only decisive bursts count. A modest cooldown near 5 can reduce immediate false flips after the first burst bar.
Chop defense . Raise drag multiplier to 0.70. Raise exit threshold toward 0.48 to recycle capital earlier. Consider a higher cooldown, for example 8 to 12 on intraday.
Higher timeframe blend . On a daily chart try a weekly confirm with a blend near 0.20. On a five minute chart try a fifteen minute confirm. This moderates transitions.
Sizing discipline . If you want constant position size, set floor equal to cap. If you want certainty scaling, set a band like 0.5 to 2 and monitor drawdown behavior before widening it.
10. Strengths and limitations
Strengths
Self scaling unit through AAR makes the tool portable across markets and timeframes.
Blends evidence that target different failure modes. Unanimity, growth quality, and impulse flow rarely agree by chance which raises confidence when they align.
Adaptive centering reduces structural bias at the score level which helps during regime flips.
Limitations
In very quiet regimes AAR becomes small even with a floor. If your symbol is thin or gap prone, raise the floor a little to keep stops and drift mapping stable.
Adaptive centering can delay early breakout acceptance. If you miss starts, lower center strength or temporarily disable centering while you evaluate.
Tail counting uses a fixed multiple of AAR. If a market alternates between very calm and very violent weeks, a single aar_mult may not capture both extremes. Sweep this parameter in research.
The engine reacts to realized structure. It does not anticipate scheduled news or liquidity shocks. Use event awareness if you trade around releases.
11. Realism and responsible publication
No promises or projections of performance are made. Past results never guarantee future outcomes.
Commission is set to 0.05 percent per round which is realistic for many crypto venues. Adjust to your own broker or exchange.
Slippage is set at 10 in the publication . Introduce slippage in your own tests or use a percent model.
Position size should respect sustainable risk envelopes. Risking more than five to ten percent per trade is rarely viable. The example uses a fixed two percent position size.
Security calls use lookahead off. Standard candles only. Non standard chart types like Heikin Ashi or Renko are not supported for strategies that submit orders.
12. Suggested research workflow
Begin with the balanced defaults. Confirm that the trade count is sensible for your timeframe and symbol. As a rough guide, aim for at least one hundred trades across a wide sample for statistical comfort. If your timeframe cannot produce that count, complement with multiple symbols or run longer history.
Sweep entry and exit thresholds on a small grid and observe stability. Stability across windows matters more than the single best value.
Try one higher timeframe blend with a modest weight. Large weights can drown the signal.
Vary aar_mult and drag_mult together. This tunes the aggression of breakouts versus defense in chop.
Evaluate whether dynamic size improves risk adjusted results for your style. If not, set floor equal to cap for constancy.
Walk forward through disjoint segments and inspect results by regime. Bootstrapping or segmented evaluation can reveal sensitivity to specific periods.
13. How to read the HUD and heat map
The HUD presents a compact view. Score is the current fused value. Trend is the directional entropy channel. Drift is the compounding quality channel. Tail is the burst flow channel. AAR is the current unit that scales stops and the drift map. CD is the cooldown counter. The background heat is a visual aid only. It can be disabled in inputs. Green zones near the upper band show alignment among the channels. Muted colors near the mid band show uncertainty.
14. Frequently asked questions
Can I use this as a pure indicator . Yes. Disable entries by restricting direction to one side you will not trade and use the alerts as a regime switch.
Will it work on intraday charts . Yes. The AAR unit scales with bar size. You will likely reduce the core window and increase cooldown slightly.
Should I enable the adaptive trail . If you wish to lock gains sooner and accept more exits, enable it. If you prefer to let the exit gate do the heavy lifting, keep it off.
Why do I sometimes see a green background without a position . Heat expresses the score. A position also depends on threshold comparisons, direction mode, and cooldown.
Why is Order size set to one hundred percent if dynamic size is on . The script passes an explicit quantity percent on each entry. That explicit quantity overrides the property. The property is kept at one hundred percent to avoid confusion when users later disable dynamic sizing.
Can I combine this with other tools on my chart . You can, yet for publication the chart is kept clean so users and moderators can see the output clearly. In your private workspace feel free to add other context.
15. Concepts glossary
AAR . Average absolute return across the lookback. Serves as a unit for tails, drift scaling, and stops.
Directional entropy . A measure of uncertainty of up versus down closes. Low entropy paired with a directional sign signals unanimity.
Geometric mean growth . Rate that preserves the effect of compounding over many bars.
Drag . The positive difference between arithmetic pace and geometric growth. Larger drag often signals churn that looks active but fails to compound.
Thermo stops . Stops expressed in the same AAR unit as the signal. They adapt with volatility and keep risk and signal on a common scale.
Adaptive centering . A bias correction that recenters the fused score around neutral so the meter does not drift due to persistent skew.
16. Educational notice and risk statement
Markets involve risk. This publication is for education and research. It does not provide financial advice and it is not a recommendation to buy or sell any instrument. Use realistic costs. Validate ideas with out of sample testing and with conservative position sizing. Past performance never guarantees future results.
17. Final notes for readers and moderators
The goal of this strategy is clarity and portability. Clarity comes from a single score that reflects three independent features of the tape. Portability comes from self scaling units that respect structure across assets and timeframes. The publication keeps the chart clean, explains the math plainly, lists defaults and Properties used, and includes warnings where care is required. The code is protected so the implementation remains consistent for the community while the description remains complete enough for users to understand its purpose and for moderators to evaluate originality and usefulness. If you explore variants, keep them self contained, explain exactly what they contribute, publish in English first, and treat others with respect in the comments.
Load the strategy on BTCUSD daily with the defaults listed above and study how the score transitions across regimes. Then adjust one lever at a time. Observe how the trend channel, the drift channel, and the tail channel interact during starts, pauses, and reversals. Use the alerts as a risk switch inside your own process or let the built in entries and exits run if you prefer an automated study. The intent is not to promise outcomes. The intent is to give you a robust meter for regime strength that travels well across markets and helps you structure decisions with more confidence.
Thank you for your time to read all of this
TFPV — FULL Radial Kernel MA (Short/Long, Time Folding, Colored)TFPV is a pair of adaptive moving averages built with a radial kernel (Gaussian/Laplacian/Cauchy) on a joint metric of time, price, and volume. It can “fold” time along the market’s dominant cycle so that bars separated by entire cycles still contribute as if they were near each other—helpful for cyclical or range-bound markets. The short/long lines auto-color by regime and include cross alerts.
What it does
Radial-kernel averaging: Weights past bars by their distance from the current bar in a 3-axis space:
Time (αₜ): linear distance or cycle-aware phase distance
Price (αₚ): normalized by robust price scale
Volume (αᵥ): normalized by (log) volume scale
Time folding: Choose Linear (standard) or Circular using:
Homodyne (Hilbert) dominant period, or
ACF (autocorrelation) dominant period
This compresses distances for bars that are one or more full cycles apart, improving smoothing without lagging trends.
Adaptive scales: Price/volume bandwidths use Robust MAD, Stdev, or ATR. Optional Super Smoother center reduces noise before measuring distances.
Visual regime coloring: Short above Long → teal (bullish). Short below Long → orange (bearish). Optional fill highlights the spread.
How to read it
Trend filter: Trade in the direction of the color (teal bullish, orange bearish).
Crossovers: Short crossing above Long often marks early trend continuation after pullbacks; crossing below can warn of weakening momentum.
Spread width: A widening gap suggests strengthening trend; a shrinking gap hints at consolidation or a possible regime change.
Key settings
Lengths
Short/Long window: Lookback for each radial MA. Short reacts faster; Long stabilizes the regime.
Kernel & Metric
Kernel: Gaussian, Laplacian, or Cauchy (default). Cauchy is heavier-tailed (keeps more outliers), Gaussian is tighter.
Axis weights (αₜ, αₚ, αᵥ): Importance of time/price/volume distances. Increase a weight to make that axis matter more.
Ignore weights below: Hard cutoff for tiny kernel weights to speed up/clean contributions.
Time Folding
Topology: Linear (standard MA behavior) or Circular (Homodyne/ACF) (cycle-aware).
Cycle floor/ceil: Bounds for the dominant period search.
σₜ mode: Auto sets time bandwidth from the detected period (or length in Linear mode) × multiplier; Manual fixes σₜ in bars.
Price/Volume Scaling
Price scale: Robust MAD (outlier-resistant), Stdev, or ATR (trend-aware).
σₚ/σᵥ multipliers: Bandwidths for price/volume axes. Larger values = looser matching (smoother, more lag).
Use log(volume): Stabilizes volume’s scale across regimes; recommended.
Kernel Center
Price center: Raw (close) or Super Smoother to reduce noise before measuring price distance.
Plotting
Plot source: Show/hide the input source.
Fill between lines: Visual emphasis of the short/long spread.
Tips
Start with defaults: Cauchy, Circular (Homodyne), Robust MAD, log-volume on.
For choppy/cyclical symbols, Circular time folding often reduces false flips.
If signals feel too twitchy, either increase Short/Long lengths or raise σₚ/σᵥ multipliers (looser kernel).
For strong trends with regime shifts, try ATR price scaling.
Seasonality Heatmap [QuantAlgo]🟢 Overview
The Seasonality Heatmap analyzes years of historical data to reveal which months and weekdays have consistently produced gains or losses, displaying results through color-coded tables with statistical metrics like consistency scores (1-10 rating) and positive occurrence rates. By calculating average returns for each calendar month and day-of-week combination, it identifies recognizable seasonal patterns (such as which months or weekdays tend to rally versus decline) and synthesizes this into actionable buy low/sell high timing possibilities for strategic entries and exits. This helps traders and investors spot high-probability seasonal windows where assets have historically shown strength or weakness, enabling them to align positions with recurring bull and bear market patterns.
🟢 How It Works
1. Monthly Heatmap
How % Return is Calculated:
The indicator fetches monthly closing prices (or Open/High/Low based on user selection) and calculates the percentage change from the previous month:
(Current Month Price - Previous Month Price) / Previous Month Price × 100
Each cell in the heatmap represents one month's return in a specific year, creating a multi-year historical view
Colors indicate performance intensity: greener/brighter shades for higher positive returns, redder/brighter shades for larger negative returns
What Averages Mean:
The "Avg %" row displays the arithmetic mean of all historical returns for each calendar month (e.g., averaging all Januaries together, all Februaries together, etc.)
This metric identifies historically recurring patterns by showing which months have tended to rise or fall on average
Positive averages indicate months that have typically trended upward; negative averages indicate historically weaker months
Example: If April shows +18.56% average, it means April has averaged a 18.56% gain across all years analyzed
What Months Up % Mean:
Shows the percentage of historical occurrences where that month had a positive return (closed higher than the previous month)
Calculated as:
(Number of Months with Positive Returns / Total Months) × 100
Values above 50% indicate the month has been positive more often than negative; below 50% indicates more frequent negative months
Example: If October shows "64%", then 64% of all historical Octobers had positive returns
What Consistency Score Means:
A 1-10 rating that measures how predictable and stable a month's returns have been
Calculated using the coefficient of variation (standard deviation / mean) - lower variation = higher consistency
High scores (8-10, green): The month has shown relatively stable behavior with similar outcomes year-to-year
Medium scores (5-7, gray): Moderate consistency with some variability
Low scores (1-4, red): High variability with unpredictable behavior across different years
Example: A consistency score of 8/10 indicates the month has exhibited recognizable patterns with relatively low deviation
What Best Means:
Shows the highest percentage return achieved for that specific month, along with the year it occurred
Reveals the maximum observed upside and identifies outlier years with exceptional performance
Useful for understanding the range of possible outcomes beyond the average
Example: "Best: 2016: +131.90%" means the strongest January in the dataset was in 2016 with an 131.90% gain
What Worst Means:
Shows the most negative percentage return for that specific month, along with the year it occurred
Reveals maximum observed downside and helps understand the range of historical outcomes
Important for risk assessment even in months with positive averages
Example: "Worst: 2022: -26.86%" means the weakest January in the dataset was in 2022 with a 26.86% loss
2. Day-of-Week Heatmap
How % Return is Calculated:
Calculates the percentage change from the previous day's close to the current day's price (based on user's price source selection)
Returns are aggregated by day of the week within each calendar month (e.g., all Mondays in January, all Tuesdays in January, etc.)
Each cell shows the average performance for that specific day-month combination across all historical data
Formula:
(Current Day Price - Previous Day Close) / Previous Day Close × 100
What Averages Mean:
The "Avg %" row at the bottom aggregates all months together to show the overall average return for each weekday
Identifies broad weekly patterns across the entire dataset
Calculated by summing all daily returns for that weekday across all months and dividing by total observations
Example: If Monday shows +0.04%, Mondays have averaged a 0.04% change across all months in the dataset
What Days Up % Mean:
Shows the percentage of historical occurrences where that weekday had a positive return
Calculated as:
(Number of Positive Days / Total Days Observed) × 100
Values above 50% indicate the day has been positive more often than negative; below 50% indicates more frequent negative days
Example: If Fridays show "54%", then 54% of all Fridays in the dataset had positive returns
What Consistency Score Means:
A 1-10 rating measuring how stable that weekday's performance has been across different months
Based on the coefficient of variation of daily returns for that weekday across all 12 months
High scores (8-10, green): The weekday has shown relatively consistent behavior month-to-month
Medium scores (5-7, gray): Moderate consistency with some month-to-month variation
Low scores (1-4, red): High variability across months, with behavior differing significantly by calendar month
Example: A consistency score of 7/10 for Wednesdays means they have performed with moderate consistency throughout the year
What Best Means:
Shows which calendar month had the strongest average performance for that specific weekday
Identifies favorable day-month combinations based on historical data
Format shows the month abbreviation and the average return achieved
Example: "Best: Oct: +0.20%" means Mondays averaged +0.20% during October months in the dataset
What Worst Means:
Shows which calendar month had the weakest average performance for that specific weekday
Identifies historically challenging day-month combinations
Useful for understanding which month-weekday pairings have shown weaker performance
Example: "Worst: Sep: -0.35%" means Tuesdays averaged -0.35% during September months in the dataset
3. Optimal Timing Table/Summary Table
→ Best Month to BUY: Identifies the month with the lowest average return (most negative or least positive historically), representing periods where prices have historically been relatively lower
Based on the observation that buying during historically weaker months may position for subsequent recovery
Shows the month name, its average return, and color-coded performance
Example: If May shows -0.86% as "Best Month to BUY", it means May has historically averaged -0.86% in the analyzed period
→ Best Month to SELL: Identifies the month with the highest average return (most positive historically), representing periods where prices have historically been relatively higher
Based on historical strength patterns in that month
Example: If July shows +1.42% as "Best Month to SELL", it means July has historically averaged +1.42% gains
→ 2nd Best Month to BUY: The second-lowest performing month based on average returns
Provides an alternative timing option based on historical patterns
Offers flexibility for staged entries or when the primary month doesn't align with strategy
Example: Identifies the next-most favorable historical buying period
→ 2nd Best Month to SELL: The second-highest performing month based on average returns
Provides an alternative exit timing based on historical data
Useful for staged profit-taking or multiple exit opportunities
Identifies the secondary historical strength period
Note: The same logic applies to "Best Day to BUY/SELL" and "2nd Best Day to BUY/SELL" rows, which identify weekdays based on average daily performance across all months. Days with lowest averages are marked as buying opportunities (historically weaker days), while days with highest averages are marked for selling (historically stronger days).
🟢 Examples
Example 1: NVIDIA NASDAQ:NVDA - Strong May Pattern with High Consistency
Analyzing NVIDIA from 2015 onwards, the Monthly Heatmap reveals May averaging +15.84% with 82% of months being positive and a consistency score of 8/10 (green). December shows -1.69% average with only 40% of months positive and a low 1/10 consistency score (red). The Optimal Timing table identifies December as "Best Month to BUY" and May as "Best Month to SELL." A trader recognizes this high-probability May strength pattern and considers entering positions in late December when prices have historically been weaker, then taking profits in May when the seasonal tailwind typically peaks. The high consistency score in May (8/10) provides additional confidence that this pattern has been relatively stable year-over-year.
Example 2: Crypto Market Cap CRYPTOCAP:TOTALES - October Rally Pattern
An investor examining total crypto market capitalization notices September averaging -2.42% with 45% of months positive and 5/10 consistency, while October shows a dramatic shift with +16.69% average, 90% of months positive, and an exceptional 9/10 consistency score (blue). The Day-of-Week heatmap reveals Mondays averaging +0.40% with 54% positive days and 9/10 consistency (blue), while Thursdays show only +0.08% with 1/10 consistency (yellow). The investor uses this multi-layered analysis to develop a strategy: enter crypto positions on Thursdays during late September (combining the historically weak month with the less consistent weekday), then hold through October's historically strong period, considering exits on Mondays when intraweek strength has been most consistent.
Example 3: Solana BINANCE:SOLUSDT - Extreme January Seasonality
A cryptocurrency trader analyzing Solana observes an extraordinary January pattern: +59.57% average return with 60% of months positive and 8/10 consistency (teal), while May shows -9.75% average with only 33% of months positive and 6/10 consistency. August also displays strength at +59.50% average with 7/10 consistency. The Optimal Timing table confirms May as "Best Month to BUY" and January as "Best Month to SELL." The Day-of-Week data shows Sundays averaging +0.77% with 8/10 consistency (teal). The trader develops a seasonal rotation strategy: accumulate SOL positions during May weakness, hold through the historically strong January period (which has shown this extreme pattern with reasonable consistency), and specifically target Sunday exits when the weekday data shows the most recognizable strength pattern.
Volume Rate of Change (VROC)# Volume Rate of Change (VROC)
**What it is:** VROC measures the rate of change in trading volume over a specified period, typically expressed as a percentage. Formula: `((Current Volume - Volume n periods ago) / Volume n periods ago) × 100`
## **Obvious Uses**
**1. Confirming Price Trends**
- Rising VROC with rising prices = strong bullish trend
- Rising VROC with falling prices = strong bearish trend
- Validates that price movements have conviction behind them
**2. Spotting Divergences**
- Price makes new highs but VROC doesn't = weakening momentum
- Price makes new lows but VROC doesn't = potential reversal
**3. Identifying Breakouts**
- Sudden VROC spikes often accompany legitimate breakouts from consolidation patterns
- Helps distinguish real breakouts from false ones
**4. Overbought/Oversold Conditions**
- Extreme VROC readings (very high or very low) suggest exhaustion
- Mean reversion opportunities when volume extremes occur
---
## **Non-Obvious Uses**
**1. Smart Money vs. Dumb Money Detection**
- Declining VROC during price rallies may indicate retail FOMO while institutions distribute
- Rising VROC during selloffs with price stability suggests institutional accumulation
**2. News Impact Measurement**
- Compare VROC before/after earnings or announcements
- Low VROC on "significant" news = market doesn't care (fade the move)
- High VROC = genuine market reaction (respect the move)
**3. Market Regime Changes**
- Persistent shifts in average VROC levels can signal transitions between bull/bear markets
- Declining baseline VROC over months = waning market participation/topping process
**4. Intraday Liquidity Profiling**
- VROC patterns across trading sessions identify best execution times
- Avoid trading when VROC is abnormally low (wider spreads, poor fills)
**5. Sector Rotation Analysis**
- Compare VROC across sector ETFs to identify where capital is flowing
- Rising VROC in defensive sectors + falling VROC in cyclicals = risk-off rotation
**6. Options Expiration Effects**
- VROC typically drops significantly post-options expiration
- Helps avoid false signals from mechanically-driven volume changes
**7. Algorithmic Activity Detection**
- Unusual VROC patterns (regular spikes at specific times) may indicate algo programs
- Can front-run or avoid periods of heavy algorithmic interference
**8. Liquidity Crisis Early Warning**
- Sharp, sustained VROC decline across multiple assets = liquidity withdrawal
- Can precede market stress events before price volatility emerges
**9. Cryptocurrency Wash Trading Detection**
- Comparing VROC across exchanges for same asset
- Discrepancies suggest artificial volume on certain platforms
**10. Pair Trading Optimization**
- Use relative VROC between correlated pairs
- Enter when VROC divergence is extreme, exit when it normalizes
The key to advanced VROC usage is context: combining it with price action, market structure, and other indicators rather than using it in isolation.
Seasonality Forecast 4H A seasonality indicator shows recurring patterns in data that occur at the same time each year, such as retail sales peaking during the holidays or demand for ice cream rising in the summer. These indicators are used in fields like business, economics, and finance to identify predictable, time-based fluctuations, allowing for better forecasting and strategic planning, like adjusting inventory or staffing levels. In trading, a seasonality indicator can show historical patterns, like an asset's tendency to rise or fall in a specific month, to provide additional context for decision-making.
Seasonality reasoning basically seasonality works most stably on the daily frame with the input parameter being trading day 254 or calendar day 365, ..
Use seasonal effects such as sell in May, buy Christmas season, or exploit factors such as sell on Friday, ... to track the price movement.
The lower the time frame, the more parameters need to be calculated and the more complicated. I have tried to code the version with 1 hour, 15 minutes and 4 hours time frames
On the statistical language R and Python, Pine script
Tradingview uses the exclusive and unique Pine language. There is a parameter limit, just need to change the number of forecast days or calculate shorter or only calculate the basic end time value, we seasonality still works
but the overall results are easily noisy and related to controlling the number of orders per week/month and risk management.
The 4-hour frame version works well because we exploit the seasonal factor according to the 4-hour trading session as a trading session
Every 4 hours we have an input value that corresponds to the Asian, European, and American trading sessions
4 hours - half a morning Asian session.4 hours - half an afternoon Asian session, 4 hours - half a morning European session, 4 hours - half an afternoon European session, similar to the US and repeat the cycle.
Input Parameter Declaration
Tradingview does not exist declaration form day_of_year = dayofyear(time) Pine Script v5:
Instead of using dayofyear, we manually calculate the number of days in a year from the time components.
// Extract year, month, day, hour
year_now = year(time)
month_now = month(time)
day_now = dayofmonth(time)
hour_now = hour(time)
// Precomputed cumulative days per month (non-leap year)
days_before_month = array.from(0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334)
// Calculate day-of-year
day_of_year = array.get(days_before_month, month_now - 1) + day_now
Input parameter customization window
Lookback period years default is 10, max - the number of historical bars we have, should only be 5 years, 10 years, 15 years, 20 years, 30 years.
Future project bar default is 180 bars - 1 month. We can adjust arbitrarily 6*24*254 - day/month/year
smoothingLength Smooth the data (1 = no smoothing)
offsetBars Move the forecast line left/right to check the past
How to use
Combine seasonality with Supply Demand, Footprint volume profile to find long-term trends or potential reversal points
day_of_year := day_of_year + ((is_leap and month_now > 2) ? 1 : 0)
// Compute bin index
binIndex = (day_of_year * sessionsPerDay) + math.floor(hour_now / 4)
binIndex := binIndex % binsPerYear // Keep within array bounds
The above is the manual code to replace day of year















