SynchroTrend Oscillator (STO) [PhenLabs]📊 SynchroTrend Oscillator
Version: PineScript™ v5
📌 Description
The SynchroTrend Oscillator (STO) is a multi-timeframe synchronization tool that combines trend information from three distinct timeframes into a single, easy-to-interpret oscillator ranging from -100 to +100.
This indicator solves the common problem of having to analyze multiple timeframe charts separately by consolidating trend direction and strength across different time horizons. The STO helps traders identify when markets are truly synchronized across timeframes, potentially indicating stronger trend conditions and higher probability trading opportunities.
Using either Moving Average crossovers or RSI analysis as the trend definition metric, the STO provides a comprehensive view of market structure that adapts to various trading strategies and market conditions.
🚀 Points of Innovation
Triple-timeframe synchronization in a single view eliminates chart switching
Dual trend detection methods (MA vs Price or RSI) for flexibility across different markets
Dynamic color intensity that automatically increases with signal strength
Scaled oscillator format (-100 to +100) for intuitive trend strength interpretation
Customizable signal thresholds to match your risk tolerance and trading style
Visual alerts when markets reach full synchronization states
🔧 Core Components
Trend Scoring System: Calculates a binary score (+1, -1, or 0) for each timeframe based on selected metrics, providing clear trend direction
Multi-Timeframe Synchronization: Combines and scales trend scores from all three timeframes into a single oscillator
Dynamic Visualization: Adjusts color transparency based on signal strength, creating an intuitive visual guide
Threshold System: Provides customizable levels for identifying potentially significant trading opportunities
🔥 Key Features
Triple Timeframe Analysis: Synchronizes three user-defined timeframes (default: 60min, 15min, 5min) into one view
Dual Trend Detection Methods: Choose between Moving Average vs Price or RSI-based trend determination
Adjustable Signal Smoothing: Apply EMA, SMA, or no smoothing to the oscillator output for your preferred signal responsiveness
Dynamic Color Intensity: Colors become more vibrant as signal strength increases, helping identify strongest setups
Customizable Thresholds: Set your own buy/sell threshold levels to match your trading strategy
Comprehensive Alerts: Six different alert conditions for crossing thresholds, zero line, and full synchronization states
🎨 Visualization
Oscillator Line: The main line showing the synchronized trend value from -100 to +100
Dynamic Fill: Area between oscillator and zero line changes transparency based on signal strength
Threshold Lines: Optional dotted lines indicating buy/sell thresholds for visual reference
Color Coding: Green for bullish synchronization, red for bearish synchronization
📖 Usage Guidelines
Timeframe Settings
Timeframe 1: Default: 60 (1 hour) - Primary higher timeframe for trend definition
Timeframe 2: Default: 15 (15 minutes) - Intermediate timeframe for trend definition
Timeframe 3: Default: 5 (5 minutes) - Lower timeframe for trend definition
Trend Calculation Settings
Trend Definition Metric: Default: “MA vs Price” - Method used to determine trend on each timeframe
MA Type: Default: EMA - Moving Average type when using MA vs Price method
MA Length: Default: 21 - Moving Average period when using MA vs Price method
RSI Length: Default: 14 - RSI period when using RSI method
RSI Source: Default: close - Price data source for RSI calculation
Oscillator Settings
Smoothing Type: Default: SMA - Applies smoothing to the final oscillator
Smoothing Length: Default: 5 - Period for the smoothing function
Visual & Threshold Settings
Up/Down Colors: Customize colors for bullish and bearish signals
Transparency Range: Control how transparency changes with signal strength
Line Width: Adjust oscillator line thickness
Buy/Sell Thresholds: Set levels for potential entry/exit signals
✅ Best Use Cases
Trend confirmation across multiple timeframes
Finding high-probability entry points when all timeframes align
Early detection of potential trend reversals
Filtering trade signals from other indicators
Market structure analysis
Identifying potential divergences between timeframes
⚠️ Limitations
Like all indicators, can produce false signals during choppy or ranging markets
Works best in trending market conditions
Should not be used in isolation for trading decisions
Past performance is not indicative of future results
May require different settings for different markets or instruments
💡 What Makes This Unique
Combines three timeframes in a single visualization without requiring multiple chart windows
Dynamic transparency feature that automatically emphasizes stronger signals
Flexible trend definition methods suitable for different market conditions
Visual system that makes multi-timeframe analysis intuitive and accessible
🔬 How It Works
1. Trend Evaluation:
For each timeframe, the indicator calculates a trend score (+1, -1, or 0) using either:
MA vs Price: Comparing close price to a moving average
RSI: Determining if RSI is above or below 50
2. Score Aggregation:
The three trend scores are combined and then scaled to a range of -100 to +100
A value of +100 indicates all timeframes show bullish conditions
A value of -100 indicates all timeframes show bearish conditions
Values in between indicate varying degrees of alignment
3. Signal Processing:
The raw oscillator value can be smoothed using EMA, SMA, or left unsmoothed
The final value determines line color, fill color, and transparency settings
Threshold levels are applied to identify potential trading opportunities
💡 Note:
The SynchroTrend Oscillator is most effective when used as part of a comprehensive trading strategy that includes proper risk management techniques. For best results, consider using the oscillator in conjunction with support/resistance levels, price action analysis, and other complementary indicators that align with your trading style.
Tìm kiếm tập lệnh với "采列VS新圣徒"
OverUnder Yield Spread🗺️ OverUnder is a structural regime visualizer , engineered to diagnose the shape, tone, and trajectory of the yield curve. Rather than signaling trades directly, it informs traders of the world they’re operating in. Yield curve steepening or flattening, normalizing or inverting — each regime reflects a macro pressure zone that impacts duration demand, liquidity conditions, and systemic risk appetite. OverUnder abstracts that complexity into a color-coded compression map, helping traders orient themselves before making risk decisions. Whether you’re in bonds, currencies, crypto, or equities, the regime matters — and OverUnder makes it visible.
🧠 Core Logic
Built to show the slope and intent of a selected rate pair, the OverUnder Yield Spread defaults to 🇺🇸US10Y-US2Y, but can just as easily compare global sovereign curves or even dislocated monetary systems. This value is continuously monitored and passed through a debounce filter to determine whether the curve is:
• Inverted, or
• Steepening
If the curve is flattening below zero: the world is bracing for contraction. Policy lags. Risk appetite deteriorates. Duration gets bid, but only as protection. Stocks and speculative assets suffer, regardless of positioning.
📍 Curve Regimes in Bull and Bear Contexts
• Flattening occurs when the short and long ends compress . In a bull regime, flattening may reflect long-end demand or fading growth expectations. In a bear regime, flattening often precedes or confirms central bank tightening.
• Steepening indicates expanding spread . In a bull context, this may signal healthy risk appetite or early expansion. In a bear or crisis context, it may reflect aggressive front-end cuts and dislocation between short- and long-term expectations.
• If the curve is steepening above zero: the world is rotating into early expansion. Risk assets behave constructively. Bond traders position for normalization. Equities and crypto begin trending higher on rising forward expectations.
🖐️ Dynamically Colored Spread Line Reflects 1 of 4 Regime States
• 🟢 Normal / Steepening — early expansion or reflation
• 🔵 Normal / Flattening — late-cycle or neutral slowdown
• 🟠 Inverted / Steepening — policy reversal or soft landing attempt
• 🔴 Inverted / Flattening — hard contraction, credit stress, policy lag
🍋 The Lemon Label
At every bar, an anchored label floats directly on the spread line. It displays the active regime (in plain English) and the precise spread in percent (or basis points, depending on resolution). Colored lemon yellow, neither green nor red, the label is always legible — a design choice to de-emphasize bias and center the data .
🎨 Fill Zones
These bands offer spatial, persistent views of macro compression or inversion depth.
• Blue fill appears above the zero line in normal (non-inverted) conditions
• Red fill appears below the zero line during inversion
🧪 Sample Reading: 1W chart of TLT
OverUnder reveals a multi-year arc of structural inversion and regime transition. From mid-2021 through late 2023, the spread remains decisively inverted, signaling persistent flattening and credit stress as bond prices trended sharply lower. This prolonged inversion aligns with a high-volatility phase in TLT, marked by lower highs and an accelerating downtrend, confirming policy lag and macro tightening conditions.
As of early 2025, the spread has crossed back above the zero baseline into a “Normal / Steepening” regime (annotated at +0.56%), suggesting a macro inflection point. Price action remains subdued, but the shift in yield structure may foreshadow a change in trend context — particularly if follow-through in steepening persists.
🎭 Different Traders Respond Differently:
• Bond traders monitor slope change to anticipate policy pivots or recession signals.
• Equity traders use regime shifts to time rotations, from growth into defense, or from contraction into reflation.
• Currency traders interpret curve steepening as yield compression or divergence depending on region.
• Crypto traders treat inversion as a liquidity vacuum — and steepening as an early-phase risk unlock.
🛡️ Can It Compare Different Bond Markets?
Yes — with caveats. The indicator can be used to compare distinct sovereign yield instruments, for example:
• 🇫🇷FR10Y vs 🇩🇪DE10Y - France vs Germany
• 🇯🇵JP10Y vs 🇺🇸US10Y - BoJ vs Fed policy curves
However:
🙈 This no longer visualizes the domestic yield curve, but rather the differential between rate expectations across regions
🙉 The interpretation of “inversion” changes — it reflects spread compression across nations , not within a domestic yield structure
🙊 Color regimes should then be viewed as relative rate positioning , not absolute curve health
🙋🏻 Example: OverUnder compares French vs German 10Y yields
1. 🇫🇷 Change the long-duration ticker to FR10Y
2. 🇩🇪 Set the short-duration ticker to DE10Y
3. 🤔 Interpret the result as: “How much higher is France’s long-term borrowing cost vs Germany’s?”
You’ll see steepening when the spread rises (France decoupling), flattening when the spread compresses (convergence), and inversions when Germany yields rise above France’s — historically rare and meaningful.
🧐 Suggested Use
OverUnder is not a signal engine — it’s a context map. Its value comes from situating any trade idea within the prevailing yield regime. Use it before entries, not after them.
• On the 1W timeframe, OverUnder excels as a macro overlay. Yield regime shifts unfold over quarters, not days. Weekly structure smooths out rate volatility and reveals the true curvature of policy response and liquidity pressure. Use this view to orient your portfolio, define directional bias, or confirm long-duration trend turns in assets like TLT, SPX, or BTC.
• On the 1D timeframe, the indicator becomes tactically useful — especially when aligning breakout setups or trend continuations with steepening or flattening transitions. Daily views can also identify early-stage regime cracks that may not yet be visible on the weekly.
• Avoid sub-daily use unless you’re anchoring a thesis already built on higher timeframe structure. The yield curve is a macro construct — it doesn’t oscillate cleanly at intraday speeds. Shorter views may offer clarity during event-driven spikes (like FOMC reactions), but they do not replace weekly context.
Ultimately, OverUnder helps you decide: What kind of world am I trading in? Use it to confirm macro context, avoid fighting the curve, and lean into trades aligned with the broader pressure regime.
See inside Candles: Directionality %; Constituent Bars & GapsSee inside candles based on user-input LTF setting: get data on 'Directionality' of your candle; Gaps (total and Sum; UP and DOWN); Number of Bull or Bear constituent candles
//Features:
-DIRECTIONALITY: compare length of the 'zig-zag' random walk of lower time frame constituent candles, to the full height of the current candle. Resulting % I refer to as 'directionality'.
-GAPs: what i refer to as 'gaps' are also known as Volume imbalances: the gap between previous candles close and current candle's open (if there is one).
--Gaps total (up vs down gaps). Number of Up gaps printed above bar in green, down gaps printed below bar in red.
--Gaps Sum (total summed UP gap, total summed down gaps. Sum of Up gaps printed above bar in green, Sum of down gaps printed below bar in red.
-Candles Total: Numer of LTF up vs down candles within current timeframe candle. Number of up candles printed above bar in green, Number of down candles printed below bar in red.
//USAGE:
-Primary purpose in this was the Directionality aspect. Wanted to get a measure of how choppy vs how directional the internals of a candle were. Idea being that a candle with high % directionality (approaching 100) would imply trending conditions; while a candle which was large range and full bodies but had a low % directionality would imply the internals were back-and-forth and => rebalanced, potentially indicating price may not need to retrace back into it and rebalance further. All rather experimental, please treat it as such: have a play around with it.
-Number of gaps, Sums of up and down gaps, ratio of up and down constituent candles also intended to serve a similar purpose as the above.
-Set the input lower timeframe; this must obviously be lower then your current timeframe. You will significant differences in results depending on the ratio your timeframes (chart timeframe vs user-input timeframe).
//User Inputs:
-Lower timeframe input (setting child candle size within current chart parent candle).
-Choose function from the four listed above.
-typical formating options: Bull color/bear color txt for gaps functions.
-display % unit or not.
-display vertical or horizontal text.
-Set min / max directionality thresholds; and color code results.
-Toggle on/off 'hide results outside of threshold' to declutter the chart.
-choose label style.
//NOTES:
-Directionality thresholds can be set manually; Max and Min thresholds can be set to filter out 'non-extreme' readings.
-Note that directionality % can sometimes exceed 100%, in cases where price trends very strongly and gaps up continuously such that sum of constituent candles is less than total range of parent candle.
-Personally i like the idea of seeking bold, large-range, full bodied candles, with a lower than typical directionality %; indicating that a price move is both significant and it's already done it's rebalancing; I would see this as potentially favourable for continuation (obviously depending on context).
---- Showcase of the other functions beyond Directionality percentage ----
Candles Total (bull vs Bear). ES1! Hourly; ltf = 5min: Candles total: LTF up candles and LTF down candles making up the current HTF candle (constituent number of UP candles printed above in green, Down candles printed below in red):
Gaps SUM. SPX hourly, ltf = 5min. Sum of 'UP' gaps within candle printed above in green, sum of 'DOWN' gaps printed below in red:
Gaps TOTAL: SPX hourly, ltf = 1min. Simply the total of 'up' gaps vs 'down' gaps withing our candle; based on the user input constituent candles within:
Correlation Coefficient: Visible Range Dynamic Average R -Correlation Coefficient with Dynamic Average R (shows R average for the visible chart only, changes as you zoom in or out)
-Label: Vis-Avg-R = Visable Average R
-the Correlation Coefficient function for Pearson's R is taken from "BA🐷 CC" indicator by @balipour (highly recommended; more thorough treatment of R and other stats, but without the dynamic average)
-I wrote this primarily to add a dynamic Average R, showing correlation for arbitrary start times/end times; whether it be the last month, last year, of some specific period from the past (backtest mode)
-I have been using this to get an idea of correlation regimes over time between Bonds vs Stocks (ZB1! vs ES1!).
-As you see from the above, most of 2022 has seen an unusually strong positive correlation between Bonds and Stocks
~~inputs:
-lookback length for calculation of R
-Backtest mode (true by default): displays Average R for ONLY the visible range displayed on any part of chart history (LHS to RHS of screen only)
-source for both Ticker and compared Asset (close, open, high, low, ohlc4.. etc)
~~some other assets worth comparing:
Aussie vs Gold; Aussie vs ES; Btc vs ES; Copper vs ES
Weather Score 555 — 5 Families × 5 Variants (v6)Weather Score 555 — 5 Families × 5 Variants (v6)
What it is
A lightweight multi-factor “market weather” meter. It evaluates 5 indicator families, each with 5 parameter variants, normalizes them, and aggregates to a composite 0 → 555 readiness score with GO / NO-GO alerts, a draggable badge, painted bars, and a mini table.
Families (each scaled 0–111):
Trend: EMA fast/slow pairs with price-above/below, stacking, and short/long slope bonuses.
RSI: 5 lengths normalized around the 40–60 balance zone.
MACD (histogram z-score): 5 classic parameter sets, standardized by per-set stdev.
ADX strength: Wilder ADX across 5 lengths, favoring the 15–35 “power zone.”
ATR %: Current ATR vs its own range (expansion vs contraction) across 5 len/lookbacks.
Scoring
Each family builds 5 sub-scores (0–10 each) → summed and scaled to 0–111.
Composite = sum of enabled families → 0–555 max.
Signals & visuals
GO ✅ when composite ≥ your threshold (default 80% of max).
NO-GO 🛑 when composite ≤ your threshold (default 20%).
Optional painted bars (soft lime/red) during GO/NO-GO.
Badge shows per-family scores + total; Mini Table gives a color heat view.
How to use
Add WS555 to your chart; keep defaults for a few sessions to learn its rhythm.
Treat GO as “conditions are favorable,” not an auto-entry. Confirm with your own triggers (structure, S/R, pullbacks).
Use on your trading timeframe; higher TFs make the score steadier.
Tuning tips
Raise GO toward 0.90 for fewer, stronger conditions; lower toward 0.70 for more opportunities.
Lower NO-GO if you want faster exits in bad regimes.
Trend-following? Emphasize Trend + ADX + MACD. Mean-reversion? Watch ATR% behavior and RSI balance.
Why it’s robust
Multiple parameter variants per family reduce single-setting bias.
Manual MACD & Wilder ADX avoid common Pine v6 quirks.
No dependency on volume data (works on any symbol/timeframe).
Notes
Needs some history to warm up longer lookbacks (~150–200 bars recommended).
Educational tool only — not financial advice.
Weather Score 666 — 6 Families × 6 Variants (v6)Weather Score 666 (WS666)
Multi-factor market “weather” meter that blends 6 families × 6 variants into a single score from 0 → 666.
What it measures (families, each scaled 0→111):
Trend: EMA fast/slow pairs + slope/stacking (structure & momentum agreement).
RSI: 6 lengths, normalized around the 40–60 balance zone.
Stochastic %K: 6 lengths, normalized 20–80 for rotation/mean-reversion context.
MACD (hist z-score): 6 classic parameter sets, volatility-adjusted by per-set stdev.
ADX strength: Wilder ADX across 6 lengths, favoring the 15–35 “power zone.”
ATR %: ATR vs its own percentile/range (expansion vs contraction).
Score & signals
Total = sum of 6 families (max 666). Mid ~330 is neutral; higher = more aligned tailwind.
GO / NO-GO alerts: fire when composite crosses your thresholds (default 80% / 20% of max).
Optional paint bars, a badge with per-family scores, and a mini table for quick diagnostics.
Why it’s robust
Every family uses 6 time-horizon variants, reducing single-setting bias.
Custom Wilder ADX and manual MACD avoid na/assignment quirks in Pine v6.
Works on any symbol/timeframe (intraday → higher-TF).
How to use
Add WS666, keep defaults to learn its rhythm on your market.
Tune GO/NO-GO for your instrument/timeframe.
Combine with structure (S/R, trendlines) for entries/exits; WS666 is a context/confirmation tool, not a standalone trade system.
Tip: Strong trends often show high Trend + ADX + MACD; emerging expansions show rising ATR %; choppy conditions show softer, mixed family scores.
Weather Score 777 — 7 Families × 7 Variants (v6)Weather Score 777 — 7 Families × 7 Variants (v6)
What it is
A multi-factor market “weather” meter. It evaluates 7 indicator families, each with 7 parameter variants, normalizes every variant to a 0–10 score, aggregates the family to 0–111, then sums all enabled families to a composite 0–777 trend/condition score.
Families (7×):
Trend — EMA pairs (price above/below, stack, and short/long slope checks)
RSI — 7 lengths, scaled around the 40–60 balance zone
Stochastic — %K normalized in the 20–80 band
MACD — histogram z-score (per-set stdev windows)
BB Width — volatility via Bollinger Band width percentile
ADX — directional strength, sweet spot 15–35
ATR % — current ATR vs its own lookback range (expansion/contraction)
How scoring works
Each family builds 7 sub-scores → summed to 0–70, then linearly rescaled to 0–111.
Composite = sum of enabled families → 0..777 max.
Defaults: GO ≥ 80% of max, NO-GO ≤ 20% of max (tweak in Alerts).
Why 777?
It’s an “alignment detector.” Multiple families must agree (and with robust parameter spreads) before the score climbs. That reduces single-indicator bias and helps classify regime quality (tailwind vs headwind) rather than raw entries.
On-chart features
Badge: shows each family’s 0–111 plus the composite and % of max (purple/pink heat theme).
Mini Table: quick view of family scores and notes.
Paint Bars (optional): soft lime/red during GO/NO-GO regimes.
Alerts:
GO ✅ when composite ≥ threshold
NO-GO 🛑 when composite ≤ threshold
Quick start
Add to chart, keep the default 7 families on.
Use on your main trading timeframe; higher timeframes make the score steadier.
Treat GO as conditions are favorable and NO-GO as conditions are hostile.
Combine with your own triggers (structure breaks, pullbacks, risk model). The score is a regime filter, not a standalone signal generator.
Tuning tips
Uncheck families you don’t care about (e.g., turn off BBW if you trade only trending conditions).
Raise GO toward 0.9 for stricter filters; lower it toward 0.7 for more frequency.
Lower NO-GO if you want to exit faster in bad regimes.
For mean-reversion styles, emphasize BBW and ATR%; for trend-following, emphasize Trend/ADX/MACD.
Notes
Built with Pine Script® v6.
Works on assets with or without native volume (this 777 build doesn’t rely on volume).
Educational tool only — not financial advice.
have fun and may your skies stay purple-pink and sunny ☀️🌈 uwu
Swing Dashboard - Pro Trader Metrics with MTF & Enhanced VolumeDESCRIPTION:
A comprehensive real-time dashboard designed for swing traders and active investors trading US equities. Displays all critical metrics in one customizable panel overlay - no need to clutter your chart with multiple indicators.
KEY FEATURES:
📊 Relative Strength Analysis:
Stock vs Market (SPY/QQQ/IWM/DIA)
Stock vs Sector (automatic sector ETF detection)
Sector vs Market comparison
Customizable lookback period (5-60 days)
📈 Price & Range Metrics:
Daily range, change, and gap percentages
Distance from SMA20, SMA50, VWAP
52-week position percentage
ATR% and ADR% for volatility assessment
Range/ADR ratio for breakout detection
💪 Advanced Volume Analysis:
RVOL (full day volume vs 20-day average)
Volume Strength (bar-by-bar analysis)
Volume Trend (5-day vs 20-day momentum)
Customizable RVOL alert thresholds
Non-repainting volume calculations
⚙️ Multi-Timeframe (MTF) Mode:
View daily charts with 5-min or 15-min metric updates
Perfect for monitoring positions without switching timeframes
All calculations remain accurate across timeframes
🎨 Fully Customizable:
Choose which metrics to display
9 position options for the dashboard
Adjustable text size and colors
Toggle individual metrics on/off
Sector-specific ETF mapping for accurate RS calculations
TECHNICAL SPECIFICATIONS:
✅ Non-repainting - all calculations use confirmed bar data
✅ No lookahead bias or future data
✅ Optimized for US stocks with proper sector mapping
✅ Works on any timeframe (best on 5m-Daily)
✅ Pine Script v6 with best practices
✅ Handles edge cases and missing data gracefully
IDEAL FOR:
Swing traders monitoring multiple positions
Day traders needing quick metric overview
Investors tracking relative strength and momentum
Anyone who wants institutional-grade metrics in one place
SECTOR ETF MAPPING:
Automatically maps to correct sector ETFs: XLK, XLF, XLV, XLY, XLP, XLE, XLB, XLI, XLRE, XLC, XLU
HOW TO USE:
Green = Positive/Strong | Red = Negative/Weak | White = Neutral
RS > 0 = Outperforming benchmark/sector
RVOL > 1.5x = High volume day
VWAP% negative = Price below VWAP (mean reversion opportunity)
R/ADR > 100% = Extended range (potential exhaustion)
Perfect for traders who need professional-grade analysis without chart clutter.
TAGS:
dashboard, swing, relativestrengrh, sectoranalysis, volume, rvol, multitimeframe, mtf, tradingdashboard, metrics, daytrading, swingtrading, momentum, vwap, atr, volatility, volumeanalysis
Score100—10×10Popular Modules(RSI/MACD/BB/ADX/ATR/Vol/MFI/Trend)Weather Score 100 — 10×10 Popular Modules (RSI / MACD / BB / ADX / ATR / Volume / MFI / Trend)
What it is
A compact, robust /100 composite built from 10 widely-used indicators. Each module is scored 0–10, then summed and normalized by the number of enabled modules. Use it to gauge market “weather” at a glance, trigger GO / NO-GO alerts, and inspect the components in a mini table.
Highlights
10 modules → 0–10 each → /100 total (auto-normalizes to enabled modules)
GO / NO-GO alerts (defaults: GO ≥ 80%, NO-GO ≤ 20%) + optional bar coloring
Badge summarizing all subscores and the composite with emoji (🌧 → 🌈)
Mini table showing each module’s score and quick notes
Robust everywhere: custom ADX and MFI (no library dependency), volume-missing symbols handled (falls back to ATR(1) for volume pulse; MFI returns neutral 50)
The 10 modules (scored 0–10)
EMA Trend: Price vs EMA(50/200), EMA cross, and both slopes.
RSI: Level mapped 40→60 ↦ 0→10 (tweakable).
Stochastic %K: Level mapped 20→80 ↦ 0→10.
MACD Histogram (Z-score): −1→+1 ↦ 0→10 (self-scales across markets).
Bollinger %B: Position inside the band (0→1 ↦ 0→10).
Bollinger Width Percentile: Current width vs lookback min/max.
ADX Strength (custom Wilder): 15→35 sweet spot ↦ 0→10.
Volume Pulse: Volume ratio vs SMA; if volume is na, uses ATR(1) proxy.
ATR Percentile: Current ATR vs lookback min/max.
MFI (custom): Level mapped 40→60 ↦ 0→10; neutral 50 if no volume.
How the score works
Each enabled module contributes 0–10.
The script sums them and divides by the maximum possible for the enabled set, so the composite always reads as a true percent of max.
Color mapping (purple → pink → indigo) reflects cool → warm → hot conditions.
Signals & Alerts
GO ✅ when composite ≥ GO threshold (default 80%).
NO-GO 🛑 when composite ≤ NO-GO threshold (default 20%).
Optional bar paints for quick chart context.
Display
Badge near price shows all 10 subscores, total, and composite %.
Mini table (toggleable) lists Module / Score / Notes for fast diagnostics.
Tips
Nudge the module ranges to fit your style (trend vs mean reversion).
Tighten/loosen GO/NO-GO thresholds to match your timeframe.
Works on any symbol/timeframe; on synthetic/no-volume series the system remains stable via the fallbacks.
Spread AnalysisSpread Analysis - Futures vs Spot Price Analysis
Advanced spread analysis tool that compares futures/perp prices with spot prices across multiple exchanges, providing insights into market sentiment and potential trading opportunities.
Multi-Asset Support: Automatically detects and analyzes crypto perpetual vs spot spreads, index futures vs cash indices (ES/SPX, NQ/NDX, YM/DJI), and commodity futures vs spot prices (GC/GOLD, CL/USOIL)
Multi-Exchange Aggregation: For crypto, aggregates prices from Binance, BitMEX, Kraken, Bybit, OKX, and Coinbase to calculate mean perp and spot prices
Z-Score Based Alerts: Uses statistical Z-score analysis to identify extreme spread conditions that may signal potential reversals or continuation patterns
Visual Histogram Display: Shows spread differences as colored columns - green for futures premium, red for futures discount
Flexible Calculation Methods: Supports absolute price differences, percentage spreads, or basis point calculations
Trading Applications: Identify market sentiment divergence, spot potential reversal opportunities, and confirm trend strength
Risk Management: Use extreme Z-scores to identify overvalued conditions and potential mean reversion setups
Market Analysis: Understand the relationship between futures and spot markets across different asset classes
Timing Tool: Spread momentum often precedes price moves, providing early signals for entry/exit decisions
Perfect for traders who want to understand the relationship between futures and spot markets, identify divergences, and spot potential reversal opportunities across crypto, indices, and commodities.
Key Features:
• Automatic asset detection and appropriate spread calculation
• Configurable Z-score alerts for extreme conditions
• Comprehensive tooltips and information guide
• Multiple calculation methods (absolute, percentage, basis points)
• Clean, customizable visual display
Use Cases:
• Crypto traders analyzing perp vs spot relationships
• Futures traders monitoring basis relationships
• Mean reversion strategies using extreme spreads
• Trend confirmation using spread momentum
• Market sentiment analysis across asset classes
AMF_LibraryLibrary "AMF_Library"
Adaptive Momentum Flow (AMF) Library - A comprehensive momentum oscillator that adapts to market volatility
@author B3AR_Trades
f_ema(source, length)
Custom EMA calculation that accepts a series length
Parameters:
source (float) : (float) Source data for calculation
length (float) : (float) EMA length (can be series)
Returns: (float) EMA value
f_dema(source, length)
Custom DEMA calculation that accepts a series length
Parameters:
source (float) : (float) Source data for calculation
length (float) : (float) DEMA length (can be series)
Returns: (float) DEMA value
f_sum(source, length)
Custom sum function for rolling sum calculation
Parameters:
source (float) : (float) Source data for summation
length (int) : (int) Number of periods to sum
Returns: (float) Sum value
get_average(data, length, ma_type)
Get various moving average types for fixed lengths
Parameters:
data (float) : (float) Source data
length (simple int) : (int) MA length
ma_type (string) : (string) MA type: "SMA", "EMA", "WMA", "DEMA"
Returns: (float) Moving average value
calculate_adaptive_lookback(base_length, min_lookback, max_lookback, volatility_sensitivity)
Calculate adaptive lookback length based on volatility
Parameters:
base_length (int) : (int) Base lookback length
min_lookback (int) : (int) Minimum allowed lookback
max_lookback (int) : (int) Maximum allowed lookback
volatility_sensitivity (float) : (float) Sensitivity to volatility changes
Returns: (int) Adaptive lookback length
get_volatility_ratio()
Get current volatility ratio
Returns: (float) Current volatility ratio vs 50-period average
calculate_volume_analysis(vzo_length, smooth_length, smooth_type)
Calculate volume-based buying/selling pressure
Parameters:
vzo_length (int) : (int) Lookback length for volume analysis
smooth_length (simple int) : (int) Smoothing length
smooth_type (string) : (string) Smoothing MA type
Returns: (float) Volume analysis value (-100 to 100)
calculate_amf(base_length, smooth_length, smooth_type, signal_length, signal_type, min_lookback, max_lookback, volatility_sensitivity, medium_multiplier, slow_multiplier, vzo_length, vzo_smooth_length, vzo_smooth_type, price_vs_fast_weight, fast_vs_medium_weight, medium_vs_slow_weight, vzo_weight)
Calculate complete AMF oscillator
Parameters:
base_length (int) : (int) Base lookback length
smooth_length (simple int) : (int) Final smoothing length
smooth_type (string) : (string) Final smoothing MA type
signal_length (simple int) : (int) Signal line length
signal_type (string) : (string) Signal line MA type
min_lookback (int) : (int) Minimum adaptive lookback
max_lookback (int) : (int) Maximum adaptive lookback
volatility_sensitivity (float) : (float) Volatility adaptation sensitivity
medium_multiplier (float) : (float) Medium DEMA length multiplier
slow_multiplier (float) : (float) Slow DEMA length multiplier
vzo_length (int) : (int) Volume analysis lookback
vzo_smooth_length (simple int) : (int) Volume analysis smoothing
vzo_smooth_type (string) : (string) Volume analysis smoothing type
price_vs_fast_weight (float) : (float) Weight for price vs fast DEMA
fast_vs_medium_weight (float) : (float) Weight for fast vs medium DEMA
medium_vs_slow_weight (float) : (float) Weight for medium vs slow DEMA
vzo_weight (float) : (float) Weight for volume analysis component
Returns: (AMFResult) Complete AMF calculation results
calculate_amf_default()
Calculate AMF with default parameters
Returns: (AMFResult) AMF result with standard settings
amf_oscillator()
Get just the main AMF oscillator value with default parameters
Returns: (float) Main AMF oscillator value
amf_signal()
Get just the AMF signal line with default parameters
Returns: (float) AMF signal line value
is_overbought(overbought_level)
Check if AMF is in overbought condition
Parameters:
overbought_level (float) : (float) Overbought threshold (default 70)
Returns: (bool) True if overbought
is_oversold(oversold_level)
Check if AMF is in oversold condition
Parameters:
oversold_level (float) : (float) Oversold threshold (default -70)
Returns: (bool) True if oversold
bullish_crossover()
Detect bullish crossover (main line crosses above signal)
Returns: (bool) True on bullish crossover
bearish_crossover()
Detect bearish crossover (main line crosses below signal)
Returns: (bool) True on bearish crossover
AMFResult
AMF calculation results
Fields:
main_oscillator (series float) : The main AMF oscillator value (-100 to 100)
signal_line (series float) : The signal line for crossover signals
dema_fast (series float) : Fast adaptive DEMA value
dema_medium (series float) : Medium adaptive DEMA value
dema_slow (series float) : Slow adaptive DEMA value
volume_analysis (series float) : Volume-based buying/selling pressure (-100 to 100)
adaptive_lookback (series int) : Current adaptive lookback length
volatility_ratio (series float) : Current volatility ratio vs average
AllMA Trend Radar [trade_lexx]📈 AllMA Trend Radar is your universal trend analysis tool!
📊 What is AllMA Trend Radar?
AllMA Trend Radar is a powerful indicator that uses various types of Moving Averages (MA) to analyze trends and generate trading signals. The indicator allows you to choose from more than 30 different types of moving averages and adjust their parameters to suit your trading style.
💡 The main components of the indicator
📈 Fast and slow moving averages
The indicator uses two main lines:
- Fast MA (blue line): reacts faster to price changes
- Slow MA (red line): smoother, reflects a long-term trend
The combined use of fast and slow MA allows you to get trend confirmation and entry/exit points from the market.
🔄 Wide range of moving averages
There are more than 30 types of moving averages at your disposal:
- SMA: Simple moving average
- EMA: Exponential moving average
- WMA: Weighted moving average
- DEMA: double exponential MA
- TEMA: triple exponential MA
- HMA: Hull Moving Average
- LSMA: Moving average of least squares
- JMA: Eureka Moving Average
- ALMA: Arnaud Legoux Moving Average
- ZLEMA: moving average with zero delay
- And many others!
🔍 Indicator signals
1️⃣ Fast 🆚 Slow MA signals (intersection and ratio of fast and slow MA)
Up/Down signals (intersection)
- Buy (Up) signal:
- What happens: the fast MA crosses the slow MA from bottom to top
- What does the green triangle with the "Buy" label under the candle look
like - What does it mean: a likely upward trend reversal or an uptrend strengthening
- Sell signal (Down):
- What happens: the fast MA crosses the slow MA from top to bottom
- What does it look like: a red triangle with a "Sell" mark above the candle
- What does it mean: a likely downtrend reversal or an increase in the downtrend
Greater/Less signals (ratio)
- Buy signal (Greater):
- What happens: the fast MA becomes higher than the slow MA
- What does it look like: a green triangle with a "Buy" label under the candle
- What does it mean: the formation or confirmation of an uptrend
- Sell signal (Less):
- What happens: the fast MA becomes lower than the slow MA
- What does it look like: a red triangle with a "Sell" mark above the candle
- What does it mean: the formation or confirmation of a downtrend
2️⃣ Signals ⚡️ Fast MA (fast MA and price)
Up/Down signals (intersection)
- Buy signal (Up Fast):
- What happens: the price crosses the fast MA from bottom to top
- What does it look like: a green triangle with a "Buy" label under the candle
- What does it mean: a short-term price growth signal
- Sell signal (Down Fast):
- What happens: the price crosses the fast MA from top to bottom
- What does it look like: a red triangle with a "Sell" label above the candle
- What does it mean: a short-term price drop signal
Greater/Less signals (ratio)
- Buy signal (Greater Fast):
- What happens: the price is getting higher than the fast MA
- What does it look like: a green triangle with a "Buy" label under the candle
- What does it mean: the price is above the fast MA, which indicates an upward movement
- Sell signal (Less Fast):
- What happens: the price is getting lower than the fast MA
- What does it look like: a red triangle with a "Sell" mark above the candle
- What does it mean: the price is under the fast MA, which indicates a downward movement
3️⃣ Signals 🐢 Slow MA (slow MA and price)
Up/Down signals (intersection)
- Buy signal (Up Slow):
- What happens: the price crosses the slow MA from bottom to top
- What does it look like: a green triangle with a "Buy" label under the candle
- What does it mean: a potential medium-term upward trend reversal
- Sell signal (Down Slow):
- What happens: the price crosses the slow MA from top to bottom
- What does it look like: a red triangle with a "Sell" label above the candle
- What does it mean: a potential medium-term downward trend reversal
Greater/Less signals (ratio)
- Buy signal (Greater Slow):
- What happens: the price is getting above the slow MA
- What does it look like: a green triangle with a "Buy" label under the candle
- What does it mean: the price is above the slow MA, which indicates a strong upward movement
- Sell signal (Less Slow):
- What is happening: the price is getting below the slow MA
- What does it look like: a red triangle with a "Sell" mark above the candle
- What does it mean: the price is under the slow MA, which indicates a strong downward movement
🛠 Filters to filter out false signals
1️⃣ Minimum distance between the signals
- What it does: sets the minimum number of candles between signals of the same type
- Why it is needed: it prevents the appearance of too frequent signals, especially during periods of high volatility
- How to set it up: Set a different value for each signal type (default: 3-5 bars)
- Example: if the value is 3 for Up/Down signals, after the buy signal appears, the next buy signal may appear no earlier than 3 bars later
2️⃣ Advanced indicator filters
🔍 RSI Filter
- What it does: Checks the Relative Strength Index (RSI) value before generating a signal
- Why it is needed: it helps to avoid countertrend entries and catch reversal points
- How to set up:
- For buy signals (🔋 Buy): set the RSI range, usually in the oversold zone (for example, 1-30)
- For sell signals (🪫 Sell): set the RSI range, usually in the overbought zone (for example, 70-100)
- Example: if the RSI = 25 (in the range 1-30), the buy signal will be confirmed
📊 MFI Filter (Cash Flow Index)
- What it does: analyzes volumes and the direction of price movement
- Why it is needed: confirms signals with data on the activity of cash flows
- How to set up:
- For buy signals (🔋 Buy): set the MFI range in the oversold zone (for example, 1-25)
- For sell signals (🪫 Sell): set the MFI range in the overbought zone (for example, 75-100)
- Example: if MFI = 80 (in the range of 75-100), the sell signal will be confirmed
📈 Stochastic Filter
- What it does: analyzes the position of the current price relative to the price range
- Why it is needed: confirms signals based on overbought/oversold conditions
- How to configure:
- You can configure the K Length, D Length and Smoothing parameters
- For buy signals (🔋 Buy): set the stochastic range in the oversold zone (for example, 1-20)
- For sell signals (🪫 Sell): set the stochastic range in the overbought zone (for example, 80-100)
- Example: if stochastic = 15 (is in the range of 1-20), the buy signal will be confirmed
🔌 Connecting to trading strategies
The indicator provides various connectors to connect to your trading strategies.:
1️⃣ Individual connectors for each type of signal
- 🔌Fast vs Slow Up/Down MA Signal🔌: signals for the intersection of fast and slow MA
- 🔌Fast vs Slow Greater/Less MA Signal🔌: signals of the ratio of fast and slow MA
- 🔌Fast Up/Down MA Signal🔌: signals of the intersection of price and fast MA
- 🔌Fast Greater/Less MA Signal🔌: signals of the ratio of price and fast MA
- 🔌Slow Up/Down MA Signal🔌: signals of the intersection of price and slow MA
- 🔌Slow Greater/Less MA Signal🔌: Price versus slow MA signals
2️⃣ Combined connectors
- 🔌Combined Up/Down MA Signal🔌: combines all the crossing signals (Up/Down)
- 🔌Combined Greater/Less MA Signal🔌: combines all the signals of the ratio (Greater/Less)
- 🔌Combined All MA Signals🔌: combines all signals (Up/Down and Greater/Less)
❗️ All connectors return values:
- 1: buy signal
- -1: sell signal
- 0: no signal
📚 How to start using AllMA Trend Radar
1️⃣ Selection of types of moving averages
- Add an indicator to the chart
- Select the type and period for the fast MA (default: DEMA with a period of 14)
- Select the type and period for the slow MA (default: SMA with a period of 14)
- Experiment with different types of MA to find the best combination for your trading style
2️⃣ Signal settings
- Turn on the desired signal types (Up/Down, Greater/Less)
- Set the minimum distance between the signals
- Activate and configure the necessary filters (RSI, MFI, Stochastic)
3️⃣ Checking on historical data
- Analyze how the indicator works based on historical data
- Pay attention to the accuracy of the signals and the presence of false alarms
- Adjust the settings if necessary
4️⃣ Introduction to the trading strategy
- Decide which signals will be used to enter the position.
- Determine which signals will be used to exit the position.
- Connect the indicator to your trading strategy through the appropriate connectors
🌟 Practical application examples
Scalping strategy
- Fast MA: TEMA with a period of 8
- Slow MA: EMA with a period of 21
- Active signals: Fast MA Up/Down
- Filters: RSI (range 1-40 for purchases, 60-100 for sales)
- Signal spacing: 3 bars
Strategy for day trading
- Fast MA: TEMA with a period of 10
- Slow MA: SMA with a period of 20
- Active signals: Fast MA Up/Down and Fast vs Slow Greater/Less
- Filters: MFI (range 1-25 for purchases, 75-100 for sales)
- Signal spacing: 5 bars
Swing Trading Strategy
- Fast MA: DEMA with a period of 14
- Slow MA: VWMA with a period of 30
- Active signals: Fast vs Slow Up/Down and Slow MA Greater/Less
- Filters: Stochastic (range 1-20 for purchases, 80-100 for sales)
- Signal spacing: 8 bars
A strategy for positional trading
- Fast MA: HMA with a period of 21
- Slow MA: SMA with a period of 50
- Active signals: Slow MA Up/Down and Fast vs Slow Greater/Less
- Filters: RSI and MFI at the same time
- The distance between the signals: 10 bars
💡 Tips for using AllMA Trend Radar
1. Select the types of MA for market conditions:
- For trending markets: DEMA, TEMA, HMA (fast MA)
- For sideways markets: SMA, WMA, VWMA (smoothed MA)
- For volatile markets: KAMA, AMA, VAMA (adaptive MA)
2. Combine different types of signals:
- Up/Down signals work better when moving from a sideways trend to a directional
one - Greater/Less signals are optimal for fixing a stable trend
3. Use filters effectively:
- The RSI filter works great in trending markets
- MFI filter helps to confirm the strength of volume movement
- Stochastic filter works well in lateral ranges
4. Adjust the minimum distance between the signals:
- Small values (2-3 bars) for short-term trading
- Average values (5-8 bars) for medium-term trading
- Large values (10+ bars) for long-term trading
5. Use combination connectors:
- For more reliable signals, connect the indicator through the combined connectors
💰 With the AllMA Trend Radar indicator, you get a universal trend analysis tool that can be customized for any trading style and timeframe. The combination of different types of moving averages and advanced filters allows you to significantly improve the accuracy of signals and the effectiveness of your trading strategy!
Seasonality - Session Performance - Morning Afternoon EveningUse this indicator on Intraday Timeframe. Higher the timeframe, more the data
This script calculates the performance of an instrument for different sessions.
Session inputs can be updated to study performance of
- Morning vs Afternoon vs Evening
- Pre-Market vs Market vs Post-Market (provided the data feed supports pre and post market)
- Overnight vs Intraday
Three session inputs are provided to tweak the session range
Performance is calculated as session close / session open - 1
Session timeframes can be set for various countries. Make sure the session timeframe aligns with the Candle open/close for the timeframe you choose. Some examples below
US Markets: 0930-1130 1130-1430 1430-1630 Timeframe 1 hour
India Markets: 0915-1030 1030-1415 1415-15:30 Timeframe 75min
TASC 2022.10 RS VA EMA█ OVERVIEW
TASC's October 2022 edition Traders' Tips includes the second part of the "Relative Strength Moving Averages" article series authored by Vitali Apirine. This is the code that implements the Relative Strength Volume-Adjusted Exponential Moving Average (RS VA EMA) presented in this publication.
█ CONCEPTS
In his article series, the author argues that the relative strength of price, volume, and volatility can potentially be used to filter price movements and define turning points. In particular, the RS VA EMA indicator is designed to account for the relative strength of volume. Like the traditional exponential moving average (EMA) , it is a lagging trend-following indicator. The difference is that it responds more quickly.
In a trading strategy, RS VA EMA is suggested to be used in combination with EMA of the same length to determine the overall trend or in combination with RS VA EMA of a different length to identify turning points and filter price movements.
█ CALCULATIONS
The calculation of RS VA EMA is based on the concept of volume strength (VS). By definition, VS measures the difference between "positive" and "negative" volume flow. Volume is indicated as "positive" when the close is higher than the previous close and "negative" when the close is below the previous close.
The following steps are used in the calculation process:
• Calculate the volume strength (VS) of a given length.
• Multiply VS by a predefined multiplier and calculate the EMA of the resulting time series.
The values of 10,10,10 are the typical input settings for RS VA EMA, where the first parameter is the length of the moving average, the second is the length of VS, and the third is the volume strength multiplier.
Strategy Oil Z ScoreObjective is to find forward looking indicators to find good entries into major index's.
In similar vein to my Combo Z Score script I have implemented one looking at oil and oil volatility. Interestingly the script out performs WITHOUT applying the EMA in longer timeframes but under performs in shorter timeframes, for example 2007 vs 2019. Likely due to the bullish nature of the past decade (by and large). You have some options on the underlying included Oil vs OVX (Best), MOVE vs OVX and VIX vs OVX. Oil vs OVX out performs Combo Z Script. Favours Spy over QQQ or derivations (SPXL etc).
GBTC holdings USD market valueThis script estimates GBTC bitcoins per share, rather than hardcoding as in other scripts. Its result is an estimate of GBTC holdings USD market value.
Per share bitcoin estimates are adjusted by 2.0% / 365 per day from 2019 year end holdings. Calendar year 2019 ending bitcoins and shares were 261,192 bitcoins and 269,445,300 shares. From the 2019 Form 10-K: 'The Trust’s only ordinary recurring expense is the Sponsor’s Fee. The Sponsor’s Fee accrues daily in U.S. dollars at an annual rate of 2.0% of the Bitcoin Holdings.. The Sponsor’s Fee is payable in Bitcoins to the Sponsor monthly in arrears.'
No attempt is made to account for leap years.
Per share bitcoin estimate is converted to USD market value by multiplying by the simple average BTCUSD price at Coinbase and Bitstamp. Grayscale uses the TradeBlock XBX index, a volume weighted average of Coinbase Pro, Kraken, LMAX Digital and Bitstamp prices.
Spot checks vs archive.org captures of daily bitcoins per share and the chart on Grayscale's site:
The estimate for market close January 22 2021 is 0.00094899 bitcoins per share, the published datum on Grayscale's web site was 0.00094898. The estimate matches at 20:30 rather than at 16:00.
The estimate for December 31 2018 is 0.000988965 vs a published 0.00098895.
The estimate for December 29 2017 market value is $14.58 vs $14.65.
The estimate for December 30 2016 market value is $0.99 vs $0.98.
The estimate for January 4 2016 market value is $0.46 vs $0.45.
No estimates before 2016.
The default style is to draw a blue line with two thirds transparency outside market hours and for first/last minutes of trading, switching to daily or greater periodicity hides this.
No warranty is expressed or implied , I am not a lawyer, etc etc etc.
This is not investing advice . Always do your own due diligence .
Market Internals [Makit0] MARKET INTERNALS INDICATOR v0.5beta
Market Internals are suitable for day trade equity indices, named SPY or /ES, please do your own research about what they are and how to use them
This scripts plots the NYSE market internals charts as an indicator for an easy and full visualization of market internal structure all in one chart, useful for SPY and /ES trading
Description of the Market Internals
- TICK: NYSE stocks ticking up vs stocks ticking down, extreme values may point to trend continuation on trending days or reversal in non trending days, example of extreme values can be 800 and 1000
- ADD: NYSE stocks going up vs stocks going down, if price auctions around the zero line may be a non trend day, otherwise may be a trend day
- VOLD: NYSE volume of stocks up vs volume of stocks going down, identify clearly where the volume is going, as example if volume is flowing down may be a good idea no to place longs
- TRIN: NYSE up stocks vs down stocks ratio divided by up volume vs down volume ratio. A value of 1 indicates parity, below that the strength is on the long side, above the strength is in the short side.
A basic use of market internals may be looking for divergences, for example:
- /ES is trading in a range but ADD and VOLD are trending up nonstop, may /ES will break the range to the upside
- /ES is trading in a range and ADD and VOLD are trading around the zero line but got an extreme reading on TICK, may be a non trending day and the TICK extreme reading is at one of the extremes of the /ES range, may be a good probability trade to fade that move
- /ES is trading in a trend to the downside, ADD and VOLD too, you catch a good portion of the move but are fearful to flat and miss more gains, you see in the TICK a lot of extreme values below -800 so your're confident in the continuation of the downtrend, until the TICK goes beyond -1000 and you use that signal to go flat
Market internals give you context and confirmation, price in /ES may be trending but if market internals do not confirm the move may a reversal is on its way
Price is an advertise, you can see the real move in the structure below, in the behavior of the individual components of the market, those are the real questions:
- How many stocks are going up/down (ADD)
- How many volume is flowing up/down (VOLD)
- How many stocks are ticking up/down (TICK)
- What is the overall volume breath of the market (TRIN)
FEATURES:
- Plot one of the four basic market internal indices: TICK, ADD, VOLD and TRIN
- Show labels with values beyond an user defined threshold
- Show ZERO line
- Show user defined Dotted and Dashed lines
- Show user defined moving average
SETTINGS:
- Market internal: ticker to plot in the indicator, four options to choose from (TICK, ADD, VOLD and TRIN)
- Labels threshold: all values beyond this will be ploted as labels
- Dot lines at: two dotted lines will be plotted at this value above and below the zero line
- Dash lines at: two dashed lines will be plotted at this value above and below the zero line
- MA type: two options avaiable SMA (Simple Moving Average) or EMA (Exponential Moving Average)
- MA length: number of bars to calculate the moving average
- Show zero line: show or hide zero line
- Show dot line: show or hide dotted lines
- Show dash line: show or hide dashed lines
- Show labels: show or hide labels
GOOD LUCK AND HAPPY TRADING
Cumulative Returns by Session [BackQuant]Cumulative Returns by Session
What this is
This tool breaks the trading day into three user-defined sessions and tracks how much each session contributes to return, volatility, and volume. It then aggregates results over a rolling window so you can see which session has been pulling its weight, how streaky each session has been, and how sessions relate to one another through a compact correlation heatmap.
We’ve also given the functionality for the user to use a simplified table, just by switching off all settings they are not interested in.
How it works
1) Session segmentation
You define APAC, EU, and US sessions with explicit hours and time zones. The script detects when each session starts and ends on every intraday bar and records its open, intraday high and low, close, and summed volume.
2) Per-session math
At each session end the script computes:
Return — either Percent: (Close−Open)÷Open×100(Close − Open) ÷ Open × 100(Close−Open)÷Open×100 or Points: (Close−Open)(Close − Open)(Close−Open), based on your selection.
Volatility — either Range: (High−Low)÷Open×100(High − Low) ÷ Open × 100(High−Low)÷Open×100 or ATR scaled by price: ATR÷Open×100ATR ÷ Open × 100ATR÷Open×100.
Volume — total volume transacted during that session.
3) Storage and lookback
Each day’s three session stats are stored as a row. You choose how many recent sessions to keep in memory. The script then:
Builds cumulative returns for APAC, EU, US across the lookback.
Computes averages, win rates, and a Sharpe-like ratio avgreturn÷avgvolatilityavg return ÷ avg volatilityavgreturn÷avgvolatility per session.
Tracks streaks of positive or negative sessions to show momentum.
Tracks drawdowns on cumulative returns to show worst runs from peak.
Computes rolling means over a short window for short-term drift.
4) Correlation heatmap
Using the stored arrays of session returns, the script calculates Pearson correlations between APAC–EU, APAC–US, and EU–US, and colors the matrix by strength and sign so you can spot coupling or decoupling at a glance.
What it plots
Three lines: cumulative return for APAC, EU, US over the chosen lookback.
Zero reference line for orientation.
A statistics table with cumulative %, average %, positive session rate, and optional columns for volatility, average volume, max drawdown, current streak, return-to-vol ratio, and rolling average.
A small correlation heatmap table showing APAC, EU, US cross-session correlations.
How to use it
Pick the asset — leave Custom Instrument empty to use the chart symbol, or point to another symbol for cross-asset studies.
Set your sessions and time zones — defaults approximate APAC, EU, and US hours, but you can align them to exchange times or your workflow.
Choose calculation modes — Percent vs Points for return, Range vs ATR for volatility. Points are convenient for futures and fixed-tick assets, Percent is comparable across symbols.
Decide the lookback — more sessions smooths lines and stats; fewer sessions makes the tool more reactive.
Toggle analytics — add volatility, volume, drawdown, streaks, Sharpe-like ratio, rolling averages, and the correlation table as needed.
Why session attribution helps
Different sessions are driven by different flows. Asia often sets the overnight tone, Europe adds liquidity and direction changes, and the US session can dominate range expansion. Separating contributions by session helps you:
Identify which session has been the main driver of net trend.
Measure whether volatility or volume is concentrated in a specific window.
See if one session’s gains are consistently given back in another.
Adapt tactics: fade during a mean-reverting session, press during a trending session.
Reading the tables
Cumulative % — sum of session returns over the lookback. The sign and slope tell you who is carrying the move.
Avg Return % and Positive Sessions % — direction and hit rate. A low average but high hit rate implies many small moves; the reverse implies occasional big swings.
Avg Volatility % — typical intrabars range for that session. Compare with Avg Return to judge efficiency.
Return/Vol Ratio — return per unit of volatility. Higher is better for stability.
Max Drawdown % — worst cumulative give-back within the lookback. A quick way to spot riskiness by session.
Current Streak — consecutive up or down sessions. Useful for mean-reversion or regime awareness.
Rolling Avg % — short-window drift indicator to catch recent turnarounds.
Correlation matrix — green clusters indicate sessions tending to move together; red indicates offsetting behavior.
Settings overview
Basic
Number of Sessions — how many recent days to include.
Custom Instrument — analyze another ticker while staying on your current chart.
Session Configuration and Times
Enable or hide APAC, EU, US rows.
Set hours per session and the specific time zone for each.
Calculation Methods
Return Calculation — Percent or Points.
Volatility Calculation — Range or ATR; ATR Length when applicable.
Advanced Analytics
Correlation, Drawdown, Momentum, Sharpe-like ratio, Rolling Statistics, Rolling Period.
Display Options and Colors
Show Statistics Table and its position.
Toggle columns for Volatility and Volume.
Pick individual colors for each session line and row accents.
Common applications
Session bias mapping — find which window tends to trend in your market and plan exposure accordingly.
Strategy scheduling — allocate attention or risk to the session with the best return-to-vol ratio.
News and macro awareness — see if correlation rises around central bank cycles or major data releases.
Cross-asset monitoring — set the Custom Instrument to a driver (index future, DXY, yields) to see if your symbol reacts in a particular session.
Notes
This indicator works on intraday charts, since sessions are defined within a day. If you change session clocks or time zones, give the script a few bars to accumulate fresh rows. Percent vs Points and Range vs ATR choices affect comparability across assets, so be consistent when comparing symbols.
Session context is one of the simplest ways to explain a messy tape. By separating the day into three windows and scoring each one on return, volatility, and consistency, this tool shows not just where price ended up but when and how it got there. Use the cumulative lines to spot the steady driver, read the table to judge quality and risk, and glance at the heatmap to learn whether the sessions are amplifying or canceling one another. Adjust the hours to your market and let the data tell you which session deserves your focus.
Machine Learning Gaussian Mixture Model | AlphaNattMachine Learning Gaussian Mixture Model | AlphaNatt
A revolutionary oscillator that uses Gaussian Mixture Models (GMM) with unsupervised machine learning to identify market regimes and automatically adapt momentum calculations - bringing statistical pattern recognition techniques to trading.
"Markets don't follow a single distribution - they're a mixture of different regimes. This oscillator identifies which regime we're in and adapts accordingly."
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🤖 THE MACHINE LEARNING
Gaussian Mixture Models (GMM):
Unlike K-means clustering which assigns hard boundaries, GMM uses probabilistic clustering :
Models data as coming from multiple Gaussian distributions
Each market regime is a different Gaussian component
Provides probability of belonging to each regime
More sophisticated than simple clustering
Expectation-Maximization Algorithm:
The indicator continuously learns and adapts using the E-M algorithm:
E-step: Calculate probability of current market belonging to each regime
M-step: Update regime parameters based on new data
Continuous learning without repainting
Adapts to changing market conditions
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🎯 THREE MARKET REGIMES
The GMM identifies three distinct market states:
Regime 1 - Low Volatility:
Quiet, ranging markets
Uses RSI-based momentum calculation
Reduces false signals in choppy conditions
Background: Pink tint
Regime 2 - Normal Market:
Standard trending conditions
Uses Rate of Change momentum
Balanced sensitivity
Background: Gray tint
Regime 3 - High Volatility:
Strong trends or volatility events
Uses Z-score based momentum
Captures extreme moves
Background: Cyan tint
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
💡 KEY INNOVATIONS
1. Probabilistic Regime Detection:
Instead of binary regime assignment, provides probabilities:
30% Regime 1, 60% Regime 2, 10% Regime 3
Smooth transitions between regimes
No sudden indicator jumps
2. Weighted Momentum Calculation:
Combines three different momentum formulas
Weights based on regime probabilities
Automatically adapts to market conditions
3. Confidence Indicator:
Shows how certain the model is (white line)
High confidence = strong regime identification
Low confidence = transitional market state
Line transparency changes with confidence
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚙️ PARAMETER OPTIMIZATION
Training Period (50-500):
50-100: Quick adaptation to recent conditions
100: Balanced (default)
200-500: Stable regime identification
Number of Components (2-5):
2: Simple bull/bear regimes
3: Low/Normal/High volatility (default)
4-5: More granular regime detection
Learning Rate (0.1-1.0):
0.1-0.3: Slow, stable learning
0.3: Balanced (default)
0.5-1.0: Fast adaptation
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📊 TRADING STRATEGIES
Visual Signals:
Cyan gradient: Bullish momentum
Magenta gradient: Bearish momentum
Background color: Current regime
Confidence line: Model certainty
1. Regime-Based Trading:
Regime 1 (pink): Expect mean reversion
Regime 2 (gray): Standard trend following
Regime 3 (cyan): Strong momentum trades
2. Confidence-Filtered Signals:
Only trade when confidence > 70%
High confidence = clearer market state
Avoid transitions (low confidence)
3. Adaptive Position Sizing:
Regime 1: Smaller positions (choppy)
Regime 2: Normal positions
Regime 3: Larger positions (trending)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🚀 ADVANTAGES OVER OTHER ML INDICATORS
vs K-Means Clustering:
Soft clustering (probabilities) vs hard boundaries
Captures uncertainty and transitions
More mathematically robust
vs KNN (K-Nearest Neighbors):
Unsupervised learning (no historical labels needed)
Continuous adaptation
Lower computational complexity
vs Neural Networks:
Interpretable (know what each regime means)
No overfitting issues
Works with limited data
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📈 PERFORMANCE CHARACTERISTICS
Best Market Conditions:
Markets with clear regime shifts
Volatile to trending transitions
Multi-timeframe analysis
Cryptocurrency markets (high regime variation)
Key Strengths:
Automatically adapts to market changes
No manual parameter adjustment needed
Smooth transitions between regimes
Probabilistic confidence measure
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔬 TECHNICAL BACKGROUND
Gaussian Mixture Models are used extensively in:
Speech recognition (Google Assistant)
Computer vision (facial recognition)
Astronomy (galaxy classification)
Genomics (gene expression analysis)
Finance (risk modeling at investment banks)
The E-M algorithm was developed at Stanford in 1977 and is one of the most important algorithms in unsupervised machine learning.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
💡 PRO TIPS
Watch regime transitions: Best opportunities often occur when regimes change
Combine with volume: High volume + regime change = strong signal
Use confidence filter: Avoid low confidence periods
Multi-timeframe: Compare regimes across timeframes
Adjust position size: Scale based on identified regime
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠️ IMPORTANT NOTES
Machine learning adapts but doesn't predict the future
Best used with other confirmation indicators
Allow time for model to learn (100+ bars)
Not financial advice - educational purposes
Backtest thoroughly on your instruments
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🏆 CONCLUSION
The GMM Momentum Oscillator brings institutional-grade machine learning to retail trading. By identifying market regimes probabilistically and adapting momentum calculations accordingly, it provides:
Automatic adaptation to market conditions
Clear regime identification with confidence levels
Smooth, professional signal generation
True unsupervised machine learning
This isn't just another indicator with "ML" in the name - it's a genuine implementation of Gaussian Mixture Models with the Expectation-Maximization algorithm, the same technology used in:
Google's speech recognition
Tesla's computer vision
NASA's data analysis
Wall Street risk models
"Let the machine learn the market regimes. Trade with statistical confidence."
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Developed by AlphaNatt | Machine Learning Trading Systems
Version: 1.0
Algorithm: Gaussian Mixture Model with E-M
Classification: Unsupervised Learning Oscillator
Not financial advice. Always DYOR.
MK_OSFT-Multi-Timeframe MA Dashboard & Smart Alerts-v2📊 Multi-Timeframe MA Dashboard & Smart Alerts v2.0
Transform your trading with the ultimate moving average monitoring system that tracks up to 8 different MA configurations across multiple timeframes simultaneously.
🎯 What This Indicator Does
This advanced dashboard eliminates the need to constantly switch between timeframes by displaying all your critical moving averages on a single chart. Whether you're scalping on 5-minute charts or swing trading on daily timeframes, you'll instantly see the big picture.
⭐ Key Features
📈 Multi-Timeframe Moving Averages
Monitor up to **8 different MA configurations** simultaneously
Support for **SMA and EMA** across 6 timeframes (5m, 15m, 1h, 4h, Daily, Weekly)
Each MA fully customizable: length, color, alert settings, and visibility
Smart visual representation with labeled horizontal lines and connecting plots
🚨 Intelligent Alert System
Cross-over/Cross-under alerts for price vs MA interactions
Three alert modes : No alerts, Once only, or Once per bar close
Smart batching system prevents alert spam during volatile periods
Queue management with 3-second delays between alerts for optimal performance
Easy alert reset functionality for "once only" alerts
📊 Real-Time Information Dashboard
Live countdown timers showing time remaining until each timeframe closes
Color-coded progress bars with gradient visualization (green → yellow → orange → red)
Instant cross-over detection with up/down arrow indicators
Price vs MA relationship clearly displayed (above/below coloring)
🎨 Professional Visualization
Anti-overlap technology prevents labels from clustering
Customizable label positioning and sizing options
Drawing order control (larger timeframes first/last)
Connecting lines link current price to MA values
Status line integration for quick value reference
💡 Perfect For
Multi-timeframe traders [/b who need complete market context
Trend followers monitoring key MA levels across timeframes
Breakout traders waiting for price to cross critical moving averages
Risk managers using MAs as dynamic support/resistance levels
Anyone wanting organized, clutter-free MA monitoring
⚙️ Highly Configurable
Moving Average Settings
Individual enable/disable for each of 8 MA slots
Flexible timeframe selection : 5m, 15m, 1h, 4h, Daily, Weekly
MA type choice : SMA or EMA for each configuration
Custom lengths from 1 to any desired period
Color customization for each MA line and label
Alert Management
Per-MA alert configuration : Choose which MAs trigger alerts
Source selection : Current bar vs last confirmed bar calculations
Frequency control : Prevent over-alerting with smart queuing
Reset functionality : Easily reactivate "fired" once-only alerts
Display Options
Table positioning : Top-right, bottom-left, or bottom-right
Label styling : Size, offset, and gap control
Line customization : Width and extension options
Timezone adjustment : Align timestamps with your local time
🔧 Technical Excellence
Optimized performance with efficient array management and single-pass calculations
Real-time vs historical mode handling for accurate backtesting
Memory-efficient label and line management prevents accumulation
Robust error handling and edge case management
Clean, well-documented code following Pine Script best practices
📋 How to Use
Add to chart and configure your desired MA combinations
Set alert preferences for each MA (none/once/per bar)
Create TradingView alert using "Any alert() function calls"
Monitor the dashboard for cross-over signals and timeframe progress
Use the info table to track all MA values and alert statuses at a glance
🎓 Educational Value
This indicator serves as an excellent educational tool for understanding:
Multi-timeframe analysis principles
Moving average confluence and divergence
Alert system design and management
Professional indicator development techniques
---
Transform your trading workflow with this professional-grade multi-timeframe MA monitoring system. No more chart hopping - get the complete moving average picture in one powerful dashboard!
© MK_OSF_TRADING | Pine Script v6 | Mozilla Public License 2.0
Multi-TF Trend Table (Configurable)1) What this tool does (in one minute)
A compact, multi‑timeframe dashboard that stacks eight timeframes and tells you:
Trend (fast MA vs slow MA)
Where price sits relative to those MAs
How far price is from the fast MA in ATR terms
MA slope (rising, falling, flat)
Stochastic %K (with overbought/oversold heat)
MACD momentum (up or down)
A single score (0%–100%) per timeframe
Alignment tick when trend, structure, slope and momentum all agree
Use it to:
Frame bias top‑down (M→W→D→…→15m)
Time entries on your execution timeframe when the higher‑TF stack is aligned
Avoid counter‑trend traps when the table is mixed
2) Table anatomy (each column explained)
The table renders 9 columns × 8 rows (one row per timeframe label you define).
TF — The label you chose for that row (e.g., Month, Week, 4H). Cosmetic; helps you read the stack.
Trend — Arrow from fast MA vs slow MA: ↑ if fastMA > slowMA (up‑trend), ↓ otherwise (down‑trend). Cell is green for up, red for down.
Price Pos — One‑character structure cue:
🔼 if price is above both fast and slow MAs (bullish structure)
🔽 if price is below both (bearish structure)
– otherwise (between MAs / mixed)
MA Dist — Distance of price from the fast MA measured in ATR multiples:
XS < S < M < L < XL according to your thresholds (see §3.3). Useful for judging stretch/mean‑reversion risk and stop sizing.
MA Slope — The fast MA one‑bar slope:
↑ if fastMA - fastMA > 0
↓ if < 0
→ if = 0
Stoch %K — Rounded %K value (default 14‑1‑3). Background highlights when it aligns with the trend:
Green heat when trend up and %K ≤ oversold
Red heat when trend down and %K ≥ overbought Tooltip shows K and D values precisely.
Trend % — Composite score (0–100%), the dashboard’s confidence for that timeframe:
+20 if trendUp (fast>slow)
+20 if fast MA slope > 0
+20 if MACD up (signal definition in §2.8)
+20 if price above fast MA
+20 if price above slow MA
Background colours:
≥80 lime (strong alignment)
≥60 green (good)
≥40 orange (mixed)
<40 grey (weak/contrary)
MACD — 🟢 if EMA(12)−EMA(26) > its EMA(9), else 🔴. It’s a simple “momentum up/down” proxy.
Align — ✔ when everything is in gear for that trend direction:
For up: trendUp and price above both MAs and slope>0 and MACD up
For down: trendDown and price below both MAs and slope<0 and MACD down Tooltip spells this out.
3) Settings & how to tune them
3.1 Timeframes (TF1–TF8)
Inputs: TF1..TF8 hold the resolution strings used by request.security().
Defaults: M, W, D, 720, 480, 240, 60, 15 with display labels Month, Week, Day, 12H, 8H, 4H, 1H, 15m.
Tips
Keep a top‑down funnel (e.g., Month→Week→Day→H4→H1→M15) so you can cascade bias into entries.
If you scalp, consider D, 240, 120, 60, 30, 15, 5, 1.
Crypto weekends: consider 2D in place of W to reflect continuous trading.
3.2 Moving Average (MA) group
Type: EMA, SMA, WMA, RMA, HMA. Changes both fast & slow MA computations everywhere.
Fast Length: default 20. Shorten for snappier trend/slope & tighter “price above fast” signals.
Slow Length: default 200. Controls the structural trend and part of the score.
When to change
Swing FX/equities: EMA 20/200 is a solid baseline.
Mean‑reversion style: consider SMA 20/100 so trend flips slower.
Crypto/indices momentum: HMA 21 / EMA 200 will read slope more responsively.
3.3 ATR / Distance group
ATR Length: default 14; longer makes distance less jumpy.
XS/S/M/L thresholds: define the labels in column MA Dist. They are compared to |close − fastMA| / ATR.
Defaults: XS 0.25×, S 0.75×, M 1.5×, L 2.5×; anything ≥L is XL.
Usage
Entries late in a move often occur at L/XL; consider waiting for a pullback unless you are trading breakouts.
For stops, an initial SL around 0.75–1.5 ATR from fast MA often sits behind nearby noise; use your plan.
3.4 Stochastic group
%K Length / Smoothing / %D Smoothing: defaults 14 / 1 / 3.
Overbought / Oversold: defaults 70 / 30 (adjust to 80/20 for trendier assets).
Heat logic (column Stoch %K): highlights when a pullback aligns with the dominant trend (oversold in an uptrend, overbought in a downtrend).
3.5 View
Full Screen Table Mode: centers and enlarges the table (position.middle_center). Great for clean screenshots or multi‑monitor setups.
4) Signal logic (how each datapoint is computed)
Per‑TF data (via a single request.security()):
fastMA, slowMA → based on your MA Type and lengths
%K, %D → Stoch(High,Low,Close,kLen) smoothed by kSmooth, then %D smoothed by dSmooth
close, ATR(atrLen) → for structure and distance
MACD up → (EMA12−EMA26) > EMA9(EMA12−EMA26)
fastMA_prev → yesterday/previous‑bar fast MA for slope
TrendUp → fastMA > slowMA
Price Position → compares close to both MAs
MA Distance Label → thresholds on abs(close − fastMA)/ATR
Slope → fastMA − fastMA
Score (0–100) → sum of the five 20‑point checks listed in §2.7
Align tick → conjunction of trend, price vs both MAs, slope and MACD (see §2.9)
Important behaviour
HTF values are sampled at the execution chart’s bar close using Pine v6 defaults (no lookahead). So the daily row updates only when a daily bar actually closes.
5) How to trade with it (playbooks)
The table is a framework. Entries/exits still follow your plan (e.g., S/D zones, price action, risk rules). Use the table to know when to be aggressive vs patient.
Playbook A — Trend continuation (pullback entry)
Look for Align ✔ on your anchor TFs (e.g., Week+Day both ≥80 and green, Trend ↑, MACD 🟢).
On your execution TF (e.g., H1/H4), wait for Stoch heat with the trend (oversold in uptrend or overbought in downtrend), and MA Dist not at XL.
Enter on your trigger (break of pullback high/low, engulfing, retest of fast MA, or S/D first touch per your plan).
Risk: consider ATR‑based SL beyond structure; size so 0.25–0.5% account risk fits your rules.
Trail or scale at M/L distances or when score deteriorates (<60).
Playbook B — Breakout with confirmation
Mixed stack turns into broad green: Trend % jumps to ≥80 on Day and H4; MACD flips 🟢.
Price Pos shows 🔼 across H4/H1 (above both MAs). Slope arrows ↑.
Enter on the first clean base‑break with volume/impulse; avoid if MA Dist already XL.
Playbook C — Mean‑reversion fade (advanced)
Use only when higher TFs are not aligned and the row you trade shows XL distance against the higher‑TF context. Take quick targets back to fast MA. Lower win‑rate, faster management.
Playbook D — Top‑down filter for Supply/Demand strategy
Trade first retests only in the direction where anchor TFs (Week/Day) have Align ✔ and Trend % ≥60. Skip counter‑trend zones when the stack is red/green against you.
6) Reading examples
Strong bullish stack
Week: ↑, 🔼, S/M, slope ↑, %K=32 (green heat), Trend 100%, MACD 🟢, Align ✔
Day: ↑, 🔼, XS/S, slope ↑, %K=45, Trend 80%, MACD 🟢, Align ✔
Action: Look for H4/H1 pullback into demand or fast MA; buy continuation.
Late‑stage thrust
H1: ↑, 🔼, XL, slope ↑, %K=88
Day/H4: only 60–80%
Action: Likely overextended on H1; wait for mean reversion or multi‑TF alignment before chasing.
Bearish transition
Day flips from 60%→40%, Trend ↓, MACD turns 🔴, Price Pos “–” (between MAs)
Action: Stand aside for longs; watch for lower‑high + Align ✔ on H4/H1 to join shorts.
7) Practical tips & pitfalls
HTF closure: Don’t assume a daily row changed mid‑day; it won’t settle until the daily bar closes. For intraday anticipation, watch H4/H1 rows.
MA Type consistency: Changing MA Type changes slope/structure everywhere. If you compare screenshots, keep the same type.
ATR thresholds: Calibrate per asset class. FX may suit defaults; indices/crypto might need wider S/M/L.
Score ≠ signal: 100% does not mean “must buy now.” It means the environment is favourable. Still execute your trigger.
Mixed stacks: When rows disagree, reduce size or skip. The tool is telling you the market lacks consensus.
8) Customisation ideas
Timeframe presets: Save layouts (e.g., Swing, Intraday, Scalper) as indicator templates in TradingView.
Alternative momentum: Replace the MACD condition with RSI(>50/<50) if desired (would require code edit).
Alerts: You can add alert conditions for (a) Align ✔ changes, (b) Trend % crossing 60/80, (c) Stoch heat events. (Not shipped in this script, but easy to add.)
9) FAQ
Q: Why do I sometimes see a dash in Price Pos? A: Price is between fast and slow MAs. Structure is mixed; seek clarity before acting.
Q: Does it repaint? A: No, higher‑TF values update on the close of their own bars (standard request.security behaviour without lookahead). Intra‑bar they can fluctuate; decisions should be made at your bar close per your plan.
Q: Which columns matter most? A: For trend‑following: Trend, Price Pos, Slope, MACD, then Stoch heat for entries. The Score summarises, and Align enforces discipline.
Q: How do I integrate with ATR‑based risk? A: Use the MA Dist label to avoid chasing at extremes and to size stops in ATR terms (e.g., SL behind structure at ~1–1.5 ATR).
Dual Volume Profiles: Session + Rolling (Range Delineation)Dual Volume Profiles: Session + Rolling (Range Delineation)
INTRO
This is a probability-centric take on volume profile. I treat the volume histogram as an empirical PDF over price, updated in real time, which makes multi-modality (multiple acceptance basins) explicit rather than assumed away. The immediate benefit is operational: if we can read the shape of the distribution, we can infer likely reversion levels (POC), acceptance boundaries (VAH/VAL), and low-friction corridors (LVNs).
My working hypothesis is that what traders often label “fat tails” or “power-law behavior” at short horizons is frequently a tail-conditioned view of a higher-level Gaussian regime. In other words, child distributions (shorter periodicities) sit within parent distributions (longer periodicities); when price operates in the parent’s tail, the child regime looks heavy-tailed without being fundamentally non-Gaussian. This is consistent with a hierarchical/mixture view and with the spirit of the central limit theorem—Gaussian structure emerges at aggregate scales, while local scales can look non-Gaussian due to nesting and conditioning.
This indicator operationalizes that view by plotting two nested empirical PDFs: a rolling (local) profile and a session-anchored profile. Their confluence makes ranges explicit and turns “regime” into something you can see. For additional nesting, run multiple instances with different lookbacks. When using the default settings combined with a separate daily VP, you effectively get three nested distributions (local → session → daily) on the chart.
This indicator plots two nested distributions side-by-side:
Rolling (Local) Profile — short-window, prorated histogram that “breathes” with price and maps the immediate auction.
Session Anchored Profile — cumulative distribution since the current session start (Premkt → RTH → AH anchoring), revealing the parent regime.
Use their confluence to identify range floors/ceilings, mean-reversion magnets, and low-volume “air pockets” for fast traverses.
What it shows
POC (dashed): central tendency / “magnet” (highest-volume bin).
VAH & VAL (solid): acceptance boundaries enclosing an exact Value Area % around each profile’s POC.
Volume histograms:
Rolling can auto-color by buy/sell dominance over the lookback (green = buying ≥ selling, red = selling > buying).
Session uses a fixed style (blue by default).
Session anchoring (exchange timezone):
Premarket → anchors at 00:00 (midnight).
RTH → anchors at 09:30.
After-hours → anchors at 16:00.
Session display span:
Session Max Span (bars) = 0 → draw from session start → now (anchored).
> 0 → draw a rolling window N bars back → now, while still measuring all volume since session start.
Why it’s useful
Think in terms of nested probability distributions: the rolling node is your local Gaussian; the session node is its parent.
VA↔VA overlap ≈ strong range boundary.
POC↔POC alignment ≈ reliable mean-reversion target.
LVNs (gaps) ≈ low-friction corridors—expect quick moves to the next node.
Quick start
Add to chart (great on 5–10s, 15–60s, 1–5m).
Start with: bins = 240, vaPct = 0.68, barsBack = 60.
Watch for:
First test & rejection at overlapping VALs/VAHs → fade back toward POC.
Acceptance beyond VA (several closes + growing outer-bin mass) → traverse to the next node.
Inputs (detailed)
General
Lookback Bars (Rolling)
Count of most-recent bars for the rolling/local histogram. Larger = smoother node that shifts slower; smaller = more reactive, “breathing” profile.
• Typical: 40–80 on 5–10s charts; 60–120 on 1–5m.
• If you increase this but keep Number of Bins fixed, each bin aggregates more volume (coarser bins).
Number of Bins
Vertical resolution (price buckets) for both rolling and session histograms. Higher = finer detail and crisper LVNs, but more line objects (closer to platform limits).
• Typical: 120–240 on 5–10s; 80–160 on 1–5m.
• If you hit performance or object limits, reduce this first.
Value Area %
Exact central coverage for VAH/VAL around POC. Computed empirically from the histogram (no Gaussian assumption): the algorithm expands from POC outward until the chosen % is enclosed.
• Common: 0.68 (≈“1σ-like”), 0.70 for slightly wider core.
• Smaller = tighter VA (more breakout flags). Larger = wider VA (more reversion bias).
Max Local Profile Width (px)
Horizontal length (in pixels) of the rolling bars/lines and its VA/POC overlays. Visual only (does not affect calculations).
Session Settings
RTH Start/End (exchange tz)
Defines the current session anchor (Premkt=00:00, RTH=your start, AH=your end). The session histogram always measures from the most recent session start and resets at each boundary.
Session Max Span (bars, 0 = full session)
Display window for session drawings (POC/VA/Histogram).
• 0 → draw from session start → now (anchored).
• > 0 → draw N bars back → now (rolling look), while still measuring all volume since session start.
This keeps the “parent” distribution measurable while letting the display track current action.
Local (Rolling) — Visibility
Show Local Profile Bars / POC / VAH & VAL
Toggle each overlay independently. If you approach object limits, disable bars first (POC/VA lines are lighter).
Local (Rolling) — Colors & Widths
Color by Buy/Sell Dominance
Fast uptick/downtick proxy over the rolling window (close vs open):
• Buying ≥ Selling → Bullish Color (default lime).
• Selling > Buying → Bearish Color (default red).
This color drives local bars, local POC, and local VA lines.
• Disable to use fixed Bars Color / POC Color / VA Lines Color.
Bars Transparency (0–100) — alpha for the local histogram (higher = lighter).
Bars Line Width (thickness) — draw thin-line profiles or chunky blocks.
POC Line Width / VA Lines Width — overlay thickness. POC is dashed, VAH/VAL solid by design.
Session — Visibility
Show Session Profile Bars / POC / VAH & VAL
Independent toggles for the session layer.
Session — Colors & Widths
Bars/POC/VA Colors & Line Widths
Fixed palette by design (default blue). These do not change with buy/sell dominance.
• Use transparency and width to make the parent profile prominent or subtle.
• Prefer minimal? Hide session bars; keep only session VA/POC.
Reading the signals (detailed playbook)
Core definitions
POC — highest-volume bin (fair price “magnet”).
VAH/VAL — upper/lower bounds enclosing your Value Area % around POC.
Node — contiguous block of high-volume bins (acceptance).
LVN — low-volume gap between nodes (low friction path).
Rejection vs Acceptance (practical rule)
Rejection at VA edge: 0–1 closes beyond VA and no persistent growth in outer bins.
Acceptance beyond VA: ≥3 closes beyond VA and outer-bin mass grows (e.g., added volume beyond the VA edge ≥ 5–10% of node volume over the last N bars). Treat acceptance as regime change.
Confluence scores (make boundary/target quality objective)
VA overlap strength (range boundary):
C_VA = 1 − |VA_edge_local − VA_edge_session| / ATR(n)
Values near 1.0 = tight overlap (stronger boundary).
Use: if C_VA ≥ 0.6–0.8, treat as high-quality fade zone.
POC alignment (magnet quality):
C_POC = 1 − |POC_local − POC_session| / ATR(n)
Higher C_POC = greater chance a rotation completes to that fair price.
(You can estimate these by eye.)
Setups
1) Range Fade at VA Confluence (mean reversion)
Context: Local VAL/VAH near Session VAL/VAH (tight overlap), clear node, local color not screaming trend (or flips to your side).
Entry: First test & rejection at the overlapped band (wick through ok; prefer close back inside).
Stop: A tick/pip beyond the wider of the two VA edges or beyond the nearest LVN, a small buffer zone can be used to judge whether price is truly rejecting a VAL/VAH or simply probing.
Targets: T1 node mid; T2 POC (size up when C_POC is high).
Flip: If acceptance (rule above) prints, flip bias or stand down.
2) LVN Traverse (continuation)
Context: Price exits VA and enters an LVN with acceptance and growing outer-bin volume.
Entry: Aggressive—first close into LVN; Conservative—retest of the VA edge from the far side (“kiss goodbye”).
Stop: Back inside the prior VA.
Targets: Next node’s VA edge or POC (edge = faster exits; POC = fuller rotations).
Note: Flatter VA edge (shallower curvature) tends to breach more easily.
3) POC→POC Magnet Trade (rotation completion)
Context: Local POC ≈ Session POC (high C_POC).
Entry: Fade a VA touch or pullback inside node, aiming toward the shared POC.
Stop: Past the opposite VA edge or LVN beyond.
Target: The shared POC; optional runner to opposite VA if the node is broad and time-of-day is supportive.
4) Failed Break (Reversion Snap-back)
Context: Push beyond VA fails acceptance (re-enters VA, outer-bin growth stalls/shrinks).
Entry: On the re-entry close, back toward POC.
Stop/Target: Stop just beyond the failed VA; target POC, then opposite VA if momentum persists.
How to read color & shape
Local color = most recent sentiment:
Green = buying ≥ selling; Red = selling > buying (over the rolling window). Treat as context, not a standalone signal. A green local node under a blue session VAH can still be a fade if the parent says “over-valued.”
Shape tells friction:
Fat nodes → rotation-friendly (fade edges).
Sharp LVN gaps → traversal-friendly (momentum continuation).
Time-of-day intuition
Right after session anchor (e.g., RTH 09:30): Session profile is young and moves quickly—treat confluence cautiously.
Mid-session: Cleanest behavior for rotations.
Close / news: Expect more traverses and POC migrations; tighten risk or switch playbooks.
Risk & execution guidance
Use tight, mechanical stops at/just beyond VA or LVN. If you need wide stops to survive noise, your entry is late or the node is unstable.
On micro-timeframes, account for fees & slippage—aim for targets paying ≥2–3× average cost.
If acceptance prints, don’t fight it—flip, reduce size, or stand aside.
Suggested presets
Scalp (5–10s): bins 120–240, barsBack 40–80, vaPct 0.68–0.70, local bars thin (small bar width).
Intraday (1–5m): bins 80–160, barsBack 60–120, vaPct 0.68–0.75, session bars more visible for parent context.
Performance & limits
Reuses line objects to stay under TradingView’s max_lines_count.
Very large bins × multiple overlays can still hit limits—use visibility toggles (hide bars first).
Session drawings use time-based coordinates to avoid “bar index too far” errors.
Known nuances
Rolling buy/sell dominance uses a simple uptick/downtick proxy (close vs open). It’s fast and practical, but it’s not a full tape classifier.
VA boundaries are computed from the empirical histogram—no Gaussian assumption.
This script does not calculate the full daily volume profile. Several other tools already provide that, including TradingView’s built-in Volume Profile indicators. Instead, this indicator focuses on pairing a rolling, short-term volume distribution with a session-wide distribution to make ranges more explicit. It is designed to supplement your use of standard or periodic volume profiles, not replace them. Think of it as a magnifying lens that helps you see where local structure aligns with the broader session.
How to trade it (TL;DR)
Fade overlapping VA bands on first rejection → target POC.
Continue through LVN on acceptance beyond VA → target next node’s VA/POC.
Respect acceptance: ≥3 closes beyond VA + growing outer-bin volume = regime change.
FAQ
Q: Why 68% Value Area?
A: It mirrors the “~1σ” idea, but we compute it exactly from empirical volume, not by assuming a normal distribution.
Q: Why are my profiles thin lines?
A: Increase Bars Line Width for chunkier blocks; reduce for fine, thin-line profiles.
Q: Session bars don’t reach session start—why?
A: Set Session Max Span (bars) = 0 for full anchoring; any positive value draws a rolling window while still measuring from session start.
Changelog (v1.0)
Dual profiles: Rolling + Session with independent POC/VA lines.
Session anchoring (Premkt/RTH/AH) with optional rolling display span.
Dynamic coloring for the rolling profile (buying vs selling).
Fully modular toggles + per-feature colors/widths.
Thin-line rendering via bar line width.
Awesome Indicator# Moving Average Ribbon with ADR% - Complete Trading Indicator
## Overview
The **Moving Average Ribbon with ADR%** is a comprehensive technical analysis indicator that combines multiple analytical tools to provide traders with a complete picture of price trends, volatility, relative performance, and position sizing guidance. This multi-faceted indicator is designed for both swing and positional traders looking for data-driven entry and exit signals.
## Key Components
### 1. Moving Average Ribbon System
- **4 Customizable Moving Averages** with default periods: 13, 21, 55, and 189
- **Multiple MA Types**: SMA, EMA, SMMA (RMA), WMA, VWMA
- **Color-coded visualization** for easy trend identification
- **Flexible configuration** allowing users to modify periods, types, and colors
### 2. Average Daily Range Percentage (ADR%)
- Calculates the average daily volatility as a percentage
- Uses a 20-period simple moving average of (High/Low - 1) * 100
- Helps traders understand the stock's typical daily movement range
- Essential for position sizing and stop-loss placement
### 3. Volume Analysis (Up/Down Ratio)
- Analyzes volume distribution over the last 55 periods
- Calculates the ratio of volume on up days vs down days
- Provides insight into buying vs selling pressure
- Values > 1 indicate more buying volume, < 1 indicate more selling volume
### 4. Absolute Relative Strength (ARS)
- **Dual timeframe analysis** with customizable reference points
- **High ARS**: Performance relative to benchmark from a high reference point (default: Sep 27, 2024)
- **Low ARS**: Performance relative to benchmark from a low reference point (default: Apr 7, 2025)
- Uses NSE:NIFTY as default comparison symbol
- Color-coded display: Green for outperformance, Red for underperformance
### 5. Relative Performance Table
- **5 timeframes**: 1 Week, 1 Month, 3 Months, 6 Months, 1 Year
- Shows stock performance **relative to benchmark index**
- Formula: (Stock Return - Index Return) for each period
- **Color coding**:
- Lime: >5% outperformance
- Yellow: -5% to +5% relative performance
- Red: <-5% underperformance
### 6. Dynamic Position Allocation System
- **6-factor scoring system** based on price vs EMAs (21, 55, 189)
- Evaluates:
- Price above/below each EMA
- EMA alignment (21>55, 55>189, 21>189)
- **Allocation recommendations**:
- 100% allocation: Score = 6 (all bullish signals)
- 75% allocation: Score = 4
- 50% allocation: Score = 2
- 25% allocation: Score = 0
- 0% allocation: Score = -2, -4, -6 (bearish signals)
## Display Tables
### Performance Table (Top Right)
Shows relative performance vs benchmark across multiple timeframes with intuitive color coding for quick assessment.
### Metrics Table (Bottom Right)
Displays key statistics:
- **ADR%**: Average Daily Range percentage
- **U/D**: Up/Down volume ratio
- **Allocation%**: Recommended position size
- **High ARS%**: Relative strength from high reference
- **Low ARS%**: Relative strength from low reference
## How to Use This Indicator
### For Trend Analysis
1. **Moving Average Ribbon**: Look for price above ascending MAs for bullish trends
2. **MA Alignment**: Bullish when shorter MAs are above longer MAs
3. **Color coordination**: Use consistent color scheme for quick visual analysis
### For Entry/Exit Timing
1. **Performance Table**: Enter when showing consistent outperformance across timeframes
2. **Volume Analysis**: Confirm entries with U/D ratio > 1.5 for strong buying
3. **ARS Values**: Look for positive ARS readings for relative strength confirmation
### For Position Sizing
1. **Allocation System**: Use the recommended allocation percentage
2. **ADR% Consideration**: Adjust position size based on volatility
3. **Risk Management**: Lower allocation in high ADR% stocks
### For Risk Management
1. **ADR% for Stop Loss**: Set stops at 1-2x ADR% below entry
2. **Relative Performance**: Reduce positions when consistently underperforming
3. **Volume Confirmation**: Be cautious when U/D ratio deteriorates
## Best Practices
### Timeframe Recommendations
- **Intraday**: Use lower MA periods (5, 13, 21, 55)
- **Swing Trading**: Default settings work well (13, 21, 55, 189)
- **Position Trading**: Consider higher periods (21, 50, 100, 200)
### Market Conditions
- **Trending Markets**: Focus on MA alignment and relative performance
- **Sideways Markets**: Rely more on ADR% for range trading
- **Volatile Markets**: Reduce allocation percentage regardless of signals
### Customization Tips
1. Adjust reference dates for ARS calculation based on significant market events
2. Change comparison symbol to sector-specific indices for better relative analysis
3. Modify MA periods based on your trading style and market characteristics
## Technical Specifications
- **Version**: Pine Script v6
- **Overlay**: Yes (plots on price chart)
- **Real-time Updates**: Yes
- **Data Requirements**: Minimum 252 bars for complete calculations
- **Compatible Timeframes**: All standard timeframes
## Limitations
- Performance calculations require sufficient historical data
- ARS calculations depend on selected reference dates
- Volume analysis may be less reliable in low-volume stocks
- Relative performance is only as good as the chosen benchmark
This indicator is designed to provide a comprehensive analysis framework rather than simple buy/sell signals. It's recommended to use this in conjunction with your overall trading strategy and risk management rules.