Volume Profile + Pivot Levels [ChartPrime]⯁ OVERVIEW
Volume Profile + Pivot Levels combines a rolling volume profile with price pivots to surface the most meaningful levels in your selected lookback window. It builds a left-side profile from traded volume, highlights the session’s Point of Control (PoC) , and then filters pivot highs/lows so only those aligned with significant profile volume are promoted to chart levels. Each promoted level extends forward until price retests it—so your chart stays focused on levels that actually matter.
⯁ KEY FEATURES
Rolling Volume Profile (Period & Resolution)
Calculates a profile over the last Period bars (default 200). The profile is discretized into Volume Profile Resolution bins (default 50) between the highest high and lowest low inside the window. Each bin accumulates traded volume and is drawn as a smooth left-side polyline for compact, lightweight rendering.
HL = array.new()
// collect highs/lows over 'start' bars to define profile range
for i = 0 to start - 1
HL.push(high ), HL.push(low )
H = HL.max(), L = HL.min()
bin_size = (H - L) / bins
// accumulate per-bin volume
for i = 0 to bins - 1
for j = 0 to start - 1
if close >= (L + bin_sizei) - bin_size and close < (L + bin_size*(i+1)) + bin_size
Bins += volume
Delta-Aware Coloring
The script tracks up-minus-down volume across all period to compute a net Delta . The profile, PoC line, and PoC label adopt a teal tone when net positive, and maroon when net negative—an immediate read on buyer/seller dominance inside the window.
Point of Control (PoC) + Volume Label
Automatically marks the highest-volume bin as the PoC . A horizontal PoC line extends to the last bar, and a label shows the absolute volume at the PoC. Toggle visibility via PoC input.
Pivot Detection with Volume Filter
Identifies raw pivots using Length (default 10) on both sides of the bar. Each candidate pivot is then validated against the profile: only pivots that land within their bin and meet or exceed the Filter % threshold (percentage of PoC volume) are promoted to chart levels. This removes weak, low-participation pivots.
// pivot promotion when volume% >= pivotFilter
if abs(mid - p.value) <= bin_size and volPercent >= pivotFilter
// draw labeled pivot level
line.new(p.index - pivotLength, p.value, p.index + pivotLength, p.value, width = 2)
Forward-Extending, Self-Stopping Levels
Promoted pivot levels extend forward as dotted rays. As soon as price intersects a level (high/low straddles it), that level stops extending—so your chart doesn’t clutter with stale zones.
Concise Level Labels (Volume + %)
Each promoted pivot prints a compact label at the pivot bar with its bin’s absolute volume and percentage of PoC volume (ordering flips for highs vs. lows for quick read).
Lightweight Visuals
The volume profile is rendered as a smooth polyline rather than dozens of boxes, keeping charts responsive even at higher resolutions.
⯁ SETTINGS
Volume Profile → Period : Lookback window used to compute the profile (max 500).
Volume Profile → Resolution : Number of bins; higher = finer structure.
Volume Profile → PoC : Toggle PoC line and volume label.
Pivots → Display : Show/hide volume-validated pivot levels.
Pivots → Length : Pivot detection left/right bars.
Pivots → Filter % 0–100 : Minimum bin strength (as % of PoC) required to promote a pivot level.
⯁ USAGE
Read PoC direction/color for a quick net-flow bias within your window.
Prioritize promoted pivot levels —they’re backed by meaningful participation.
Watch for first retests of promoted levels; the line will stop extending once tested.
Adjust Period / Resolution to match your timeframe (scalps → higher resolution, shorter period; swings → lower resolution, longer period).
Tighten or loosen Filter % to control how selective the level promotion is.
⯁ WHY IT’S UNIQUE
Instead of plotting every pivot or every profile bar, this tool cross-checks pivots against the profile’s internal volume weighting . You only see levels where price structure and liquidity overlap—clean, data-driven levels that self-retire after interaction, so you can focus on what the market actually defends.
Chỉ báo và chiến lược
Wick Pressure Zones [BigBeluga]
The Wick Pressure Zones indicator highlights areas where extreme wick activity occurred, signaling strong buy or sell pressure. By measuring unusually long upper or lower wicks and mapping them into gradient volume zones , the tool helps traders identify levels where liquidity was absorbed, leaving behind footprints of supply and demand imbalances. These zones often act as support, resistance, or liquidity sweep magnets .
🔵 CONCEPTS
Extreme Wicks : Large upper or lower shadows indicate aggressive rejection — upper wicks suggest selling pressure, lower wicks suggest buying pressure.
Volumatic Gradient Zones : From each detected wick, the indicator projects a layered gradient zone, proportional to the wick’s size, showing where most pressure occurred.
Liquidity Footprints : These zones mark levels where significant buy/sell volume was executed, often becoming reaction points on future retests.
Automatic Expiration : Zones persist until price decisively trades through them, after which they are cleared to keep the chart clean.
🔵 FEATURES
Automatic Wick Detection : Identifies extreme upper and lower wick events using percentile filtering and Realative Strength Index.
Gradient Zone Visualization : Builds a 10-layer zone from the wick top/bottom, shading intensity according to pressure strength.
Volume Labels : Each zone is annotated with the bar’s volume at the origin point for added context.
Dynamic Zone Extension : Zones extend to the right as long as they remain relevant; once price closes through them, they are removed.
Support & Resistance Mapping : Upper wick zones (red) behave like supply/resistance, lower wick zones (green) like demand/support.
Clutter Control : Limits the number of active zones (default 10) to keep charts responsive.
Background Highlighting : Optional background shading when new wick zones appear (red for sell, green for buy).
🔵 HOW TO USE
Look for Upper Wick Zones (red) : Indicate strong selling pressure; watch for resistance, reversals, or liquidity sweeps above.
Look for Lower Wick Zones (green) : Indicate strong buying pressure; watch for support or liquidity sweeps below.
Trade Retests : When price returns to a zone, expect a reaction (bounce or rejection) due to leftover liquidity.
Combine with Context : Align wick pressure zones with HTF support/resistance, order blocks, or volume profile for stronger signals.
Use Volume Labels : High-volume wicks indicate more significant liquidity events, making the zone more likely to act as a strong reaction point.
🔵 CONCLUSION
The Wick Pressure Zones is a powerful way to visualize hidden liquidity and aggressive rejections. By mapping extreme wick events into dynamic, volume-annotated zones, it shows traders where the market absorbed heavy buy/sell pressure. These levels frequently act as magnets or turning points, making them valuable for timing entries, stop placement, or fade strategies.
Advanced Pattern Detection System [50+ Patterns]【Advanced Pattern Detection System - Auto-detects 50+ Chart Patterns】
Introducing the most powerful pattern detection indicator for TradingView!
◆ What is this?
An automated tool that finds and displays over 50 chart patterns on your charts. It detects all the patterns professional traders use - Double Tops, Triangles, Head & Shoulders, and more - all in ONE indicator.
◆ Main Features
・Detects 50+ patterns in real-time
・Shows visual explanation of WHY each pattern was identified
・Automatically calculates theoretical target prices
・Displays confidence levels in % (60-95%)
・Choose panel position from 9 locations
・Works on all timeframes (1min to Monthly)
◆ Detectable Patterns
1. Classic Patterns (Double Top/Bottom, Head & Shoulders, etc.)
2. Triangle Patterns (Ascending, Descending, Symmetrical, Expanding)
3. Continuation Patterns (Flags, Pennants, Wedges, etc.)
4. Harmonic Patterns (Gartley, Butterfly, Bat, etc.)
5. Price Action (Pin Bar, Engulfing, Hammer, etc.)
6. Special Patterns (Cup & Handle, V-formations, etc.)
◆ What Makes It Different
・Not just detection - shows the reasoning behind it
・Auto-draws pivot points and necklines
・Displays target prices with % gain/loss from current price
・Detects multiple patterns simultaneously, sorted by confidence
・Available in both Japanese and English versions
◆ Perfect For
✓ Anyone tired of using multiple indicators
✓ Beginners wanting to learn pattern trading
✓ Traders who don't want to miss entry points
✓ Those looking to improve discretionary trading accuracy
◆ How to Use (Easy 3 Steps)
1. Open TradingView and paste code in Pine Editor
2. Click "Add to Chart"
3. Enable only the patterns you need in settings
◆ Color Meanings
Green → Bullish potential (Buy signal)
Red → Bearish potential (Sell signal)
Yellow → Neutral direction (Wait and see)
◆ Recommended Settings
Scalping: Detection period 20, Sensitivity 0.0025
Day Trading: Detection period 50, Sensitivity 0.002
Swing Trading: Detection period 100, Sensitivity 0.0015
◆ Real Trading Example
"Detects Double Bottom → 85% confidence → Enter on neckline break → Take profit at displayed target price"
This is how you can use it in practice.
◆ Important Notes
・This is an analysis tool, not investment advice
・Always combine with other indicators
・Always set stop losses
・Practice on demo account before live trading
◆ Performance
If running slow, turn OFF unused pattern categories. Reducing max display count to 3 also helps.
◆ Summary
This single tool provides functionality that would normally require multiple paid indicators (worth $100-200 total). It's the ultimate pattern detection system recommended for all traders, from beginners to professionals.
Give it a try if interested! Feel free to ask questions in the comments.
Trend Fibo 1.618FIBONACCI TRENDLINE BREAKOUT SYSTEM
Advanced indicator combining dynamic trendlines with ZigZag-based Fibonacci projections for precise entry and exit points.
KEY FEATURES:
- Dynamic trendline detection using pivot analysis
- ZigZag-based Fibonacci level calculations
- Multiple take profit targets (1.618, 2.618, 3.618, 4.618)
- Automatic breakout signal generation
- Historical price level visualization
METHODOLOGY:
Detects trendline breakouts and automatically draws Fibonacci retracements/extensions based on recent ZigZag swing points. Provides clear entry zones and multiple profit targets.
USAGE:
Best suited for swing trading on higher timeframes (4H-Daily). Combine with trend analysis for optimal results.
DISCLAIMER: Educational purposes only. Past performance doesn't guarantee future results.
Advanced Range Analyzer ProAdvanced Range Analyzer Pro – Adaptive Range Detection & Breakout Forecasting
Overview
Advanced Range Analyzer Pro is a comprehensive trading tool designed to help traders identify consolidations, evaluate their strength, and forecast potential breakout direction. By combining volatility-adjusted thresholds, volume distribution analysis, and historical breakout behavior, the indicator builds an adaptive framework for navigating sideways price action. Instead of treating ranges as noise, this system transforms them into opportunities for mean reversion or breakout trading.
How It Works
The indicator continuously scans price action to identify active range environments. Ranges are defined by volatility compression, repeated boundary interactions, and clustering of volume near equilibrium. Once detected, the indicator assigns a strength score (0–100), which quantifies how well-defined and compressed the consolidation is.
Breakout probabilities are then calculated by factoring in:
Relative time spent near the upper vs. lower range boundaries
Historical breakout tendencies for similar structures
Volume distribution inside the range
Momentum alignment using auxiliary filters (RSI/MACD)
This creates a live probability forecast that updates as price evolves. The tool also supports range memory, allowing traders to analyze the last completed range after a breakout has occurred. A dynamic strength meter is displayed directly above each consolidation range, providing real-time insight into range compression and breakout potential.
Signals and Breakouts
Advanced Range Analyzer Pro includes a structured set of visual tools to highlight actionable conditions:
Range Zones – Gradient-filled boxes highlight active consolidations.
Strength Meter – A live score displayed in the dashboard quantifies compression.
Breakout Labels – Probability percentages show bias toward bullish or bearish continuation.
Breakout Highlights – When a breakout occurs, the range is marked with directional confirmation.
Dashboard Table – Displays current status, strength, live/last range mode, and probabilities.
These elements update in real time, ensuring that traders always see the current state of consolidation and breakout risk.
Interpretation
Range Strength : High scores (70–100) indicate strong consolidations likely to resolve explosively, while low scores suggest weak or choppy ranges prone to false signals.
Breakout Probability : Directional bias greater than 60% suggests meaningful breakout pressure. Equal probabilities indicate balanced compression, favoring mean-reversion strategies.
Market Context : Ranges aligned with higher timeframe trends often resolve in the dominant direction, while counter-trend ranges may lead to reversals or liquidity sweeps.
Volatility Insight : Tight ranges with low ATR imply imminent expansion; wide ranges signal extended consolidation or distribution phases.
Strategy Integration
Advanced Range Analyzer Pro can be applied across multiple trading styles:
Breakout Trading : Enter on probability shifts above 60% with confirmation of volume or momentum.
Mean Reversion : Trade inside ranges with high strength scores by fading boundaries and targeting equilibrium.
Trend Continuation : Focus on ranges that form mid-trend, anticipating continuation after consolidation.
Liquidity Sweeps : Use failed breakouts at boundaries to capture reversals.
Multi-Timeframe : Apply on higher timeframes to frame market context, then execute on lower timeframes.
Advanced Techniques
Combine with volume profiles to identify areas of institutional positioning within ranges.
Track sequences of strong consolidations for trend development or exhaustion signals.
Use breakout probability shifts in conjunction with order flow or momentum indicators to refine entries.
Monitor expanding/contracting range widths to anticipate volatility cycles.
Custom parameters allow fine-tuning sensitivity for different assets (crypto, forex, equities) and trading styles (scalping, intraday, swing).
Inputs and Customization
Range Detection Sensitivity : Controls how strictly ranges are defined.
Strength Score Settings : Adjust weighting of compression, volume, and breakout memory.
Probability Forecasting : Enable/disable directional bias and thresholds.
Gradient & Fill Options : Customize range visualization colors and opacity.
Dashboard Display : Toggle live vs last range, info table size, and position.
Breakout Highlighting : Choose border/zone emphasis on breakout events.
Why Use Advanced Range Analyzer Pro
This indicator provides a data-driven approach to trading consolidation phases, one of the most common yet underutilized market states. By quantifying range strength, mapping probability forecasts, and visually presenting risk zones, it transforms uncertainty into clarity.
Whether you’re trading breakouts, fading ranges, or mapping higher timeframe context, Advanced Range Analyzer Pro delivers a structured, adaptive framework that integrates seamlessly into multiple strategies.
Moon Scalper v3 + VSAMoon Scalper v3 is a high-precision scalping indicator optimized for the 15-minute chart. It delivers clean buy/sell signals with TP1 (1:1 risk-reward) exits using layered confirmations:
• **Volatility Bands** — SMA + multiplier detect expansion zones
• **EMA Filter (200)** — ensures trades align with trend
• **RSI Range Filter** — avoids extreme overbought/oversold traps (buy: 52–62, sell: 38–48)
• **Volume Spike Filter** — filters for institutional activity (vol > 1.4×SMA)
• **VSA Confirmation** — requires wide-spread, high-volume bars with reclaim (volume × 1.4, spread × 1.5, reclaim 50%)
**Usage Notes:**
Best used on 15m timeframe for liquid pairs (e.g., BTCUSDT, ETHUSDT). Signals appear as “BUY” / “SELL” labels on chart. Defaults yield high TP1 hit rate; use only during active sessions (e.g., London/NY) for best accuracy.
**Disclaimer:**
This indicator is for educational purposes only. Past performance is not a guarantee of future results. Always backtest before live trading and manage risk responsibly.
Machine Learning Z-Score Buy and Sell [SS]Hey everyone,
Releasing this Z-Score based buy and sell indicator.
What it does
This indicator:
Uses Z-score and trend to identify potential buy and sell areas.
Signals those buy and sell areas and provides a target price based on the mean.
Plots the target price for buy and sell signals as a red line (for sell signals) or green line (for buy signals).
Has some "machine learning" aspects, namely, it is able to auto select its lookback length based on its analysis of the trend using Pienscript's trend correlation function iterated over multiple lengths, in order for the indicator to identify:
a) The strongest trend; and
b) The correct target price
What is Z-Score
Z-Score is a measure of the mean. Thus, this is a mean reverting type strategy, as it uses z-score to determine price's distance from the mean (or a Z-Score of 0) and then it looks at historic deviations from the mean to signal the buy and sell signals (i.e. how far has price traditionally drifted from the mean before reverting).
Z-Score is a powerful tool in this sense, and if you folow my other indicators, you will know how much I love Z-score!
How to use the indicator
If you want to use the full Machine Learning capabilities of the indicator, its best to just leave all default settings. These default settings will automatically adjust the mean target price and buy and sell signals to align with the current price action.
If you want to be more aggressive in your
Target Price; and
Signals
Then you can opt to manually input a lookback length and mean reversion standard deviation. However, I generally suggest to avoid this as you are then making your own determination of trend by qualitative assessment. It can work, but its just not suggested.
In the input menu, you will see the option to "Manually select lookback" thus over-riding the auto-determination of trend and targets.
You will also see "manual pullback" enabler and "Pullback Standard Deviation". You can set your pullback standard deviation if you want to be more aggressive. The indicator will naturally shift to conservative target prices based on a neutral mean. However, if you want to increase the aggressiveness of the target price, you can increase or decrease the pullback standard deviation.
General Tips about Manually Adjusting Pullback Target
Here are some tips if you want to manually adjust the pullback targets:
The pullback target needs to be in a standard deviation value, this can be anywhere from 0 to 4 or 0 to -4 (you can theoretically go higher but its not really realistic). You can also do decimals, so 1.5 or 1.25 etc.
To determine whether you should be doing negative or positive standard deviation, you should determine the trend. If it is a downtrend and you are looking to short the rips, you will want to select a negative number, like -1.
If it is an uptrend and you want to buy the dips, you should be selecting a positive number, like 1 or 1.5.
Again, I do suggest leaving the indicator to decide for itself, but the options are there for those who wish.
Overall strategy
This is a mean reverting strategy. So if you are a mean reversion trader, this may be of particular interest to you.
Optional
Optionally, you can have the indicator plot the target prices or not, simply toggle this functionality off or on in the settings menu.
Concluding remarks
That is the indicator in a nutshell!
I hope you enjoy it and find it helpful.
Feel free to check out my other Z-Score based indicators if you find this interesting or want to learn more about the power of Z-Score in trading!
Thanks all and safe trades!
Extreme Zone Volume ProfileExtreme Zone Volume Profile (EZVP)
Originality & Innovation
The Extreme Zone Volume Profile (EZVP) revolutionizes traditional volume profile analysis by applying statistical zone classification to volume distribution. Unlike standard volume profiles that display raw volume data, EZVP segments the price range into statistically meaningful zones based on percentile thresholds, allowing traders to instantly identify where volume concentration suggests strong support/resistance versus areas of potential breakout.
Technical Methodology
Core Algorithm:
Distributes volume across user-defined bins (20-200) over a lookback period
Calculates volume-weighted price levels for each bin
Applies percentile-based zone classification to the price range (not volume ranking)
Zone B (extreme zones): Outer percentile tails representing potential rejection areas
Zone A (significant zones): Secondary percentile bands indicating strong interest levels
Center Zone: Bulk trading range where most price discovery occurs
Mathematical Foundation:
The script uses price-range percentiles rather than volume percentiles. If the total price range is divided into 100%, Zone B captures the extreme price tails (default 2.5% each end ≈ 2 standard deviations), Zone A captures the next significant bands (default 14% each ≈ 1 standard deviation), leaving the center for normal distribution trading.
Key Calculations:
POC (Point of Control): Price level with maximum volume accumulation
Volume-weighted mean price: Total volume × price / total volume
Median price: Geometric center of the price range
Rightward-projected bars: Volume bars extend forward from current time to avoid historical chart clutter
Trading Applications
Zone Interpretation:
Zone B (Red/Green): Extreme price levels where volume suggests strong rejection potential. Price reaching these zones often indicates overextension and possible reversal points.
Zone A (Orange/Teal): Significant support/resistance areas with substantial volume interest. These levels often act as intermediate targets or consolidation zones.
Center (Gray): Fair value area where most trading occurs. Price tends to return to this range during normal market conditions.
Strategic Usage:
Reversal Trading: Look for rejection signals when price enters Zone B areas
Breakout Confirmation: Volume expansion beyond Zone B boundaries suggests genuine breakouts
Support/Resistance: Zone A boundaries often provide reliable entry/exit levels
Mean Reversion: Price tends to gravitate toward the volume-weighted mean and POC lines
Unique Value Proposition
EZVP addresses three key limitations of traditional volume profiles:
Visual Clarity: Standard profiles can be cluttered and difficult to interpret quickly. EZVP's color-coded zones provide instant visual feedback about price significance.
Statistical Framework: Rather than relying on subjective interpretation of volume nodes, EZVP applies objective percentile-based classification, making support/resistance identification more systematic.
Forward-Looking Display: Rightward-projecting bars keep historical price action clean while maintaining current market structure visibility.
Configuration Guide
Lookback Period (10-1000): Controls the historical depth of volume calculation. Shorter periods for intraday scalping, longer for swing trading.
Number of Bins (20-200): Resolution of volume distribution. Higher values provide more granular analysis but may create noise on lower timeframes.
Zone Percentages:
Zone B: Extreme threshold (default 2.5% = ~2σ statistical significance)
Zone A: Significant threshold (default 14% = ~1σ statistical significance)
Visual Controls: Toggle individual elements (POC, median, mean, zone lines) to customize display complexity for your trading style.
Technical Requirements
Pine Script v6 compatible
Maximum bars back: 5000 (ensures sufficient historical data)
Maximum boxes: 500 (supports high-resolution bin counts)
Maximum lines: 50 (accommodates all zone and reference lines)
This indicator synthesizes volume profile theory with statistical zone analysis, providing a quantitative framework for identifying high-probability support/resistance levels based on volume distribution patterns rather than arbitrary price levels.
Quantum Edge Scalper - Adaptive Precision Trading [KedArc Quant]Strategy Overview
Quantum Edge Scalper is a multi-regime intraday strategy engineered for adaptability across equities. It fuses EMA trend & slope, RSI sanity checks, ATR-based volatility gating, and candle-shape filters. Regime detection (ATR%% z-score) tunes thresholds on-the-fly, while an optional OSS — Oversold Short Override captures late-session breakdowns. Robust day-level controls include trade caps, cooldowns, and loss-streak stops. A compact panel summarizes live session stats.
Key Features
• Preset modes: Aggressive / Aggressive+ / Conservative / Hybrid / Custom.
• EMA Fast/Slow trend filter + EMA-separation slope gate.
• ATR volatility floor (percent-of-price) to avoid dead markets.
• Candle-shape and wick-ratio filters to curb false breakouts.
• Regime adaptation using ATR% z-score (HIGH / LOW / NEUTRAL).
• Hybrid+ LOW-regime extras: tighter SL, adaptive TP, mid-session pause, loss-streak blocker.
• OSS (Oversold Short Override): validators for micro-pullback, range expansion, structure break, and time window.
• Daily caps & loss-streak protection; cooldown management post wins/losses.
• Clean summary labels + compare panel; optional debug labels.
Market Spiralyst [Hapharmonic]Hello, traders and creators! 👋
Market Spiralyst: Let's change the way we look at analysis, shall we? I've got to admit, I scratched my head on this for weeks, Haha :). What you're seeing is an exploration of what's possible when code meets art on financial charts. I wanted to try blending art with trading, to do something new and break away from the same old boring perspectives. The goal was to create a visual experience that's not just analytical, but also relaxing and aesthetically pleasing.
This work is intended as a guide and a design example for all developers, born from the spirit of learning and a deep love for understanding the Pine Script™ language. I hope it inspires you as much as it challenged me!
🧐 Core Concept: How It Works
Spiralyst is built on two distinct but interconnected engines:
The Generative Art Engine: At its core, this indicator uses a wide range of mathematical formulas—from simple polygons to exotic curves like Torus Knots and Spirographs—to draw beautiful, intricate shapes directly onto your chart. This provides a unique and dynamic visual backdrop for your analysis.
The Market Pulse Engine: This is where analysis meets art. The engine takes real-time data from standard technical indicators (RSI and MACD in this version) and translates their states into a simple, powerful "Pulse Score." This score directly influences the appearance of the "Scatter Points" orbiting the main shape, turning the entire artwork into a living, breathing representation of market momentum.
🎨 Unleash Your Creativity! This Is Your Playground
We've included 25 preset shapes for you... but that's just the starting point !
The real magic happens when you start tweaking the settings yourself. A tiny adjustment can make a familiar shape come alive and transform in ways you never expected.
I'm genuinely excited to see what your imagination can conjure up! If you create a shape you're particularly proud of or one that looks completely unique, I would love to see it. Please feel free to share a screenshot in the comments below. I can't wait to see what you discover! :)
Here's the default shape to get you started:
The Dynamic Scatter Points: Reading the Pulse
This is where the magic happens! The small points scattered around the main shape are not just decorative; they are the visual representation of the Market Pulse Score.
The points have two forms:
A small asterisk (`*`): Represents a low or neutral market pulse.
A larger, more prominent circle (`o`): Represents a high, strong market pulse.
Here’s how to read them:
The indicator calculates the Pulse Strength as a percentage (from 0% to 100%) based on the total score from the active indicators (RSI and MACD). This percentage determines the ratio of circles to asterisks.
High Pulse Strength (e.g., 80-100%): Most of the scatter points will transform into large circles (`o`). This indicates that the underlying momentum is strong and It could be an uptrend. It's a visual cue that the market is gaining strength and might be worth paying closer attention to.
Low Pulse Strength (e.g., 0-20%): Most or all of the scatter points will remain as small asterisks (`*`). This suggests weak, neutral, or bearish momentum.
The key takeaway: The more circles you see, the stronger the bullish momentum is according to the active indicators. Watch the artwork "breathe" as the circles appear and disappear with the market's rhythm!
And don't worry about the shape you choose; the scatter points will intelligently adapt and always follow the outer boundary of whatever beautiful form you've selected.
How to Use
Getting started with Spiralyst is simple:
Choose Your Canvas: Start by going into the settings and picking a `Shape` and `Palette` from the "Shape Selection & Palette" group that you find visually appealing. This is your canvas.
Tune Your Engine: Go to the "Market Pulse Engine" settings. Here, you can enable or disable the RSI and MACD scoring engines. Want to see the pulse based only on RSI? Just uncheck the MACD box. You can also fine-tune the parameters for each indicator to match your trading style.
Read the Vibe: Observe the scatter points. Are they mostly small asterisks or are they transforming into large, vibrant circles? Use this visual feedback as a high-level gauge of market momentum.
Check the Dashboard: For a precise breakdown, look at the "Market Pulse Analysis" table on the top-right. It gives you the exact values, scores, and total strength percentage.
Explore & Experiment: Play with the different shapes and color palettes! The core analysis remains the same, but the visual experience can be completely different.
⚙️ Settings & Customization
Spiralyst is designed to be highly customizable.
Shape Selection & Palette: This is your main control panel. Choose from over 25 unique shapes, select a color palette, and adjust the line extension style ( `extend` ) or horizontal position ( `offsetXInput` ).
scatterLabelsInput: This setting controls the total number of points (both asterisks and circles) that orbit the main shape. Think of it as adjusting the density or visual granularity of the market pulse feedback.
The Market Pulse engine will always calculate its strength as a percentage (e.g., 75%). This percentage is then applied to the `scatterLabelsInput` number you've set to determine how many points transform into large circles.
Example: If the Pulse Strength is 75% and you set this to `100` , approximately 75 points will become circles. If you increase it to `200` , approximately 150 points will transform.
A higher number provides a more detailed, high-resolution view of the market pulse, while a lower number offers a cleaner, more minimalist look. Feel free to adjust this to your personal visual preference; the underlying analytical percentage remains the same.
Market Pulse Engine:
`⚙️ RSI Settings` & `⚙️ MACD Settings`: Each indicator has its own group.
Enable Scoring: Use the checkbox at the top of each group to include or exclude that indicator from the Pulse Score calculation. If you only want to use RSI, simply uncheck "Enable MACD Scoring."
Parameters: All standard parameters (Length, Source, Fast/Slow/Signal) are fully adjustable.
Individual Shape Parameters (01-25): Each of the 25+ shapes has its own dedicated group of settings, allowing you to fine-tune every aspect of its geometry, from the number of petals on a flower to the windings of a knot. Feel free to experiment!
For Developers & Pine Script™ Enthusiasts
If you are a developer and wish to add more indicators (e.g., Stochastic, CCI, ADX), you can easily do so by following the modular structure of the code. You would primarily need to:
Add a new `PulseIndicator` object for your new indicator in the `f_getMarketPulse()` function.
Add the logic for its scoring inside the `calculateScore()` method.
The `calculateTotals()` method and the dashboard table are designed to be dynamic and will automatically adapt to include your new indicator!
One of the core design philosophies behind Spiralyst is modularity and scalability . The Market Pulse engine was intentionally built using User-Defined Types (UDTs) and an array-based structure so that adding new indicators is incredibly simple and doesn't require rewriting the main logic.
If you want to add a new indicator to the scoring engine—let's use the Stochastic Oscillator as a detailed example—you only need to modify three small sections of the code. The rest of the script, including the adaptive dashboard, will update automatically.
Here’s your step-by-step guide:
#### Step 1: Add the User Inputs
First, you need to give users control over your new indicator. Find the `USER INTERFACE: INPUTS` section and add a new group for the Stochastic settings, right after the MACD group.
Create a new group name: `string GRP_STOCH = "⚙️ Stochastic Settings"`
Add the inputs: Create a boolean to enable/disable it, and then add the necessary parameters (`%K`, `%D`, `Smooth`). Use the `active` parameter to link them to the enable/disable checkbox.
// Add this code block right after the GRP_MACD and MACD inputs
string GRP_STOCH = "⚙️ Stochastic Settings"
bool stochEnabledInput = input.bool(true, "Enable Stochastic Scoring", group = GRP_STOCH)
int stochKInput = input.int(14, "%K Length", minval=1, group = GRP_STOCH, active = stochEnabledInput)
int stochDInput = input.int(3, "%D Smoothing", minval=1, group = GRP_STOCH, active = stochEnabledInput)
int stochSmoothInput = input.int(3, "Smooth", minval=1, group = GRP_STOCH, active = stochEnabledInput)
#### Step 2: Integrate into the Pulse Engine (The "Factory")
Next, go to the `f_getMarketPulse()` function. This function acts as a "factory" that builds and configures the entire market pulse object. You need to teach it how to build your new Stochastic indicator.
Update the function signature: Add the new `stochEnabledInput` boolean as a parameter.
Calculate the indicator: Add the `ta.stoch()` calculation.
Create a `PulseIndicator` object: Create a new object for the Stochastic, populating it with its name, parameters, calculated value, and whether it's enabled.
Add it to the array: Simply add your new `stochPulse` object to the `array.from()` list.
Here is the complete, updated `f_getMarketPulse()` function :
// Factory function to create and calculate the entire MarketPulse object.
f_getMarketPulse(bool rsiEnabled, bool macdEnabled, bool stochEnabled) =>
// 1. Calculate indicator values
float rsiVal = ta.rsi(rsiSourceInput, rsiLengthInput)
= ta.macd(close, macdFastInput, macdSlowInput, macdSignalInput)
float stochVal = ta.sma(ta.stoch(close, high, low, stochKInput), stochDInput) // We'll use the main line for scoring
// 2. Create individual PulseIndicator objects
PulseIndicator rsiPulse = PulseIndicator.new("RSI", str.tostring(rsiLengthInput), rsiVal, na, 0, rsiEnabled)
PulseIndicator macdPulse = PulseIndicator.new("MACD", str.format("{0},{1},{2}", macdFastInput, macdSlowInput, macdSignalInput), macdVal, signalVal, 0, macdEnabled)
PulseIndicator stochPulse = PulseIndicator.new("Stoch", str.format("{0},{1},{2}", stochKInput, stochDInput, stochSmoothInput), stochVal, na, 0, stochEnabled)
// 3. Calculate score for each
rsiPulse.calculateScore()
macdPulse.calculateScore()
stochPulse.calculateScore()
// 4. Add the new indicator to the array
array indicatorArray = array.from(rsiPulse, macdPulse, stochPulse)
MarketPulse pulse = MarketPulse.new(indicatorArray, 0, 0.0)
// 5. Calculate final totals
pulse.calculateTotals()
pulse
// Finally, update the function call in the main orchestration section:
MarketPulse marketPulse = f_getMarketPulse(rsiEnabledInput, macdEnabledInput, stochEnabledInput)
#### Step 3: Define the Scoring Logic
Now, you need to define how the Stochastic contributes to the score. Go to the `calculateScore()` method and add a new case to the `switch` statement for your indicator.
Here's a sample scoring logic for the Stochastic, which gives a strong bullish score in oversold conditions and a strong bearish score in overbought conditions.
Here is the complete, updated `calculateScore()` method :
// Method to calculate the score for this specific indicator.
method calculateScore(PulseIndicator this) =>
if not this.isEnabled
this.score := 0
else
this.score := switch this.name
"RSI" => this.value > 65 ? 2 : this.value > 50 ? 1 : this.value < 35 ? -2 : this.value < 50 ? -1 : 0
"MACD" => this.value > this.signalValue and this.value > 0 ? 2 : this.value > this.signalValue ? 1 : this.value < this.signalValue and this.value < 0 ? -2 : this.value < this.signalValue ? -1 : 0
"Stoch" => this.value > 80 ? -2 : this.value > 50 ? 1 : this.value < 20 ? 2 : this.value < 50 ? -1 : 0
=> 0
this
#### That's It!
You're done. You do not need to modify the dashboard table or the total score calculation.
Because the `MarketPulse` object holds its indicators in an array , the rest of the script is designed to be adaptive:
The `calculateTotals()` method automatically loops through every indicator in the array to sum the scores and calculate the final percentage.
The dashboard code loops through the `enabledIndicators` array to draw the table. Since your new Stochastic indicator is now part of that array, it will appear automatically when enabled!
---
Remember, this is your playground! I'm genuinely excited to see the unique shapes you discover. If you create something you're proud of, feel free to share it in the comments below.
Happy analyzing, and may your charts be both insightful and beautiful! 💛
Algo + Trendlines :: Medium PeriodThis indicator helps me to avoid overlooking Trendlines / Algolines. So far it doesn't search explicitly for Algolines (I don't consider volume at all), but it's definitely now already not horribly bad.
These are meant to be used on logarithmic charts btw! The lines would be displayed wrong on linear charts.
The biggest challenge is that there are some technical restrictions in TradingView, f. e. a script stops executing if a for-loop would take longer than 0.5 sec.
So in order to circumvent this and still be able to consider as many candles from the past as possible, I've created multiple versions for different purposes that I use like this:
Algo + Trendlines :: Medium Period : This script looks for "temporary highs / lows" (meaning the bar before and after has lower highs / lows) on the daily chart, connects them and shows the 5 ones that are the closest to the current price (=most relevant). This one is good to find trendlines more thoroughly, but only up to 4 years ago.
Algo + Trendlines :: Long Period : This version looks instead at the weekly charts for "temporary highs / lows" and finds out which days caused these highs / lows and connects them, Taking data from the weekly chart means fewer data points to check whether a trendline is broken, which allows to detect trendlines from up to 12 years ago! Therefore it misses some trendlines. Personally I prefer this one with "Only Confirmed" set to true to really show only the most relevant lines. This means at least 3 candle highs / lows touched the line. These are more likely stronger resistance / support lines compared to those that have been touched only twice.
Very important: sometimes you might see dotted lines that suddenly stop after a few months (after 100 bars to be precise). This indicates you need to zoom further out for TradingView to be able to load the full line. Unfortunately TradingView doesn't render lines if the starting point was too long ago, so this is my workaround. This is also the script's biggest advantage: showing you lines that you might have missed otherwise since the starting bars were outside of the screen, and required you to scroll f. e back to 2015..
One more thing to know:
Weak colored line = only 2 "collision" points with candle highs/lows (= not confirmed)
Usual colored line = 3+ "collision" points (= confirmed)
Make sure to move this indicator above the ticker in the Object Tree, so that it is drawn on top of the ticker's candles!
More infos: www.reddit.com
Support and Resistance levels from Options DataINTRODUCTION
This script is designed to visualize key support and resistance levels derived from options data on TradingView charts. It overlays lines, labels, and boxes to highlight levels such as Put Walls (gamma support), Call Walls (gamma resistance), Gamma Flip points, Vanna levels, and more.
These levels are intended to help traders identify potential areas of price magnetism, reversal, or breakout based on options market dynamics. All calculations and visualizations are based on user-provided data pasted into the input field, as Pine Script cannot directly fetch external options data due to platform limitations (explained below).
For convenience, my website allows users to interact with a bot that will generate the string for up to 30 tickers at once getting nearly real-time data on demand (data is cached for 15min). With the output string pasted into this indicator, it's a bliss to shuffle through your portfolio and see those levels for each ticker.
The script is open-source under TradingView's terms, allowing users to study, modify, and improve it. It draws inspiration from common options-derived metrics like gamma exposure and vanna, which are widely discussed in financial literature. No external code is copied without rights; all logic is original or based on standard mathematical formulas.
How the Options Levels Are Calculated
The levels displayed by this script are not computed within Pine Script itself—instead, they rely on pre-calculated values provided by the user (via a pasted data string). These values are derived from options chain data fetched from financial APIs (e.g., using libraries like yfinance in Python). Here's a step-by-step overview of how these levels are generally calculated externally before being input into the script:
Fetching Options Data:
Historical and current options chain data for a ticker (e.g., strikes, open interest, volume, implied volatility, expirations) is retrieved for near-term expirations (e.g., up to 90 days).
Current stock price is obtained from recent history.
Gamma Support (Put Wall) and Resistance (Call Wall):
Gamma Calculation: For each option, gamma (the rate of change of delta) is computed using the Black-Scholes formula:
gamma = N'(d1) / (S * sigma * sqrt(T))
where S is the stock price, K is the strike, T is time to expiration (in years), sigma is implied volatility, r is the risk-free rate (e.g., 0.0445), and N'(d1) is the normal probability density function.
Weighted gamma is multiplied by open interest and aggregated by strike.
The Put Wall is the strike below the current price with the highest weighted gamma from puts (acting as support).
The Call Wall is the strike above the current price with the highest weighted gamma from calls (acting as resistance).
Short-term versions focus on strikes closer to the money (e.g., within 10-15% of the price).
Gamma Flip Level:
Net dealer gamma exposure (GEX) is calculated across all strikes:
GEX = sum (gamma * OI * 100 * S^2 * sign * decay)
where sign is +1 for calls/-1 for puts, and decay is 1 / sqrt(T).
The flip point is the price where net GEX changes sign (from positive to negative or vice versa), interpolated between strikes.
Vanna Levels:
Vanna (sensitivity of delta to volatility) is calculated:
vanna = -N'(d1) * d2 / sigma
where d2 = d1 - sigma * sqrt(T).
Weighted by open interest, the highest positive and negative vanna strikes are identified.
Other Levels:
S1/R1: Significant strikes with high combined open interest and volume (80% OI + 20% volume), below/above price for support/resistance.
Implied Move: ATM implied volatility scaled by S * sigma * sqrt(d/365) (e.g., for 7 days).
Call/Put Ratio: Total call contracts divided by put contracts (OI + volume).
IV Percentage: Average ATM implied volatility.
Options Activity Level: Average contracts per unique strike, binned into levels (0-4).
Stop Loss: Dynamically set below the lowest support (e.g., Put Wall, Gamma Flip), adjusted by IV (tighter in low IV).
Fib Target: 1.618 extension from Put Wall to Call Wall range.
Previous day levels are stored for comparison (e.g., to detect Call Wall movement >2.5% for alerts).
Effect as Support and Resistance in Technical Trading
Options levels like gamma walls influence price action due to market maker hedging:
Put Wall (Gamma Support): High put gamma below price creates a "magnet" effect—market makers buy stock as price falls, providing support. Traders might look for bounces here as entry points for longs.
Call Wall (Gamma Resistance): High call gamma above price leads to selling pressure from hedging, acting as resistance. Rejections here could signal trims, sells or even shorts.
Gamma Flip: Where gamma exposure flips sign, often a volatility pivot—crossing it can accelerate moves (bullish above, bearish below).
Vanna Levels: Positive/negative vanna indicate volatility sensitivity; crosses may signal regime shifts.
Implied Move: Shows expected range; prices outside suggest overextension.
S1/R1 and Fib Target: Volume/OI clusters act as classic S/R; Fib extensions project upside targets post-breakout.
In trading, these are not guarantees—combine with TA (e.g., volume, trends). High activity levels imply stronger effects; low CP ratio suggests bearish sentiment. Alerts trigger on proximities/crosses for awareness, not advice.
Limitations of the TradingView Platform for Data Pulling
TradingView's Pine Script is sandboxed for security and performance:
No direct internet access or API calls (e.g., can't fetch yfinance data in-script).
Limited to chart data/symbol info; no real-time options chains.
Inputs are static per load; updates require manual pasting.
Caching isn't persistent across sessions.
This prevents dynamic data pulling, ensuring scripts remain lightweight but requiring external tools for fresh data.
Creative Solution for On-Demand Data Pulling
To overcome these limitations, users can use external tools or scripts (e.g., Python-based) to fetch and compute levels on demand. The tool processes tickers, generates a formatted string (e.g., "TICKER:level1,level2,...;TIMESTAMP:unix;"), and users paste it into the script's input. This keeps data fresh without violating platform rules, as computation happens off-platform. For example, run a local script to query APIs and output the string—adaptable for any ticker.
Script Functionality Breakdown
Inputs: Custom data string (parsed for levels/timestamp); toggles for short-term/previous/Vanna/stop loss; style options (colors, transparency).
Parsing: Extracts levels for the chart symbol; gets timestamp for "updated ago" display.
Drawing: Lines/labels for levels; boxes for gamma zones/implied move; clears old elements on updates.
Info Panel: Top-right summary with metrics (CP ratio, IV, distances, activity); emojis for quick status.
Alerts: Conditions for proximities, crosses, bounces (e.g., 0.5% bounce from Put Wall).
Performance: Uses vars for persistence; efficient for real-time.
This script is educational—test thoroughly. Not financial advice; past performance isn't indicative of future results. Feedback welcome via TradingView comments.
PT FinderThis is mostly helpful to find potential price targets for Daytrades on the daily chart (if stronger resistances / supports are too far away).
Shows highs / lows of nearby "pivot" candles (higher high / lower low than both candles around) - depending on expected trade direction. Based on my experience these can be potential (albeit weak) resistance / support.
If it shows values only in the wrong trade direction: set a checkmark at "Invert bullish / bearish price targets" in the indicator settings
Also shows the ADR (blue line = yesterday's close MINUS Average Day Range) - which is helpful for Daytrades to see what price movement you could potentially expect for the day!
As a nice bonus it also shows gaps as yellow areas - in case you maybe missed them because you zoomed in / out too much on your daily chart.
More infos: www.reddit.com
Trend Score Stop Loss Trend Score Indicator Guide
This indicator is designed for futures trading during RTH (Regular Trading Hours, 9:30–16:00 NY time). It’s an all-in-one bull/bear trend system with built-in stop loss logic — simple, objective, and always active.
⸻
🔹 How Trend Score Works
• The trend score is calculated only during RTH and resets at the start of each new session.
• Each candle contributes to the score as follows:
• ✅ Breaks previous high → +1
• ❌ Breaks previous low → –1
• ⚖️ Breaks both high and low → 0 (–1 + 1 cancel out)
• 💤 Breaks neither high nor low → 0
⸻
🔹 Determining the First Trend
• The first valid session trend is established when the cumulative score hits +3 or –3.
• +3 → Start of a Bull Trend
• –3 → Start of a Bear Trend
⚠️ Note: The indicator requires at least 3 candles to generate the first +3/–3 sequence.
👉 This means the first 3 minutes of the open (9:30–9:33) are ignored — a natural filter that avoids the most volatile/noisy part of the day.
⸻
🔹 Stop Loss vs. Trend Change
These are two separate events:
• Stop Loss
• A stop level is drawn at the candle that initiated the +3 or –3 trigger.
• This line is only a visual suggestion — it does not force an exit.
• Real-world stop placement depends on your own discretion, factoring in position size, volatility, and strategy.
• Hitting this level does not automatically mean the trend is over.
• Trend Change
• The trend only reverses when the opposite direction accumulates 3 points.
• Example: In a Bull trend, the system flips to Bear only when a –3 sequence occurs (and vice versa).
• A trend change can happen before or without the stop loss ever being hit.
⸻
🔹 Key Features
• ✅ Active only during RTH (9:30–16:00 NY) — no overnight distortions.
• 🔄 Auto-reset daily at the start of each session.
• 🟢🔴 Always in a trend — continuously switches between Bull and Bear.
• 🛡️ Stop loss marked visually — but final risk management is trader’s choice.
• ⏳ Avoids first 3 minutes of open — naturally filters volatility & false signals.
⸻
✨ In short:
The Trend Score Indicator transforms simple high/low breaks into a rule-based trend framework. You’ll always know if the market is in a bull or bear phase, where the suggested stop loss lies, and when a true trend reversal occurs — while still leaving risk management decisions in your hands.
⸻
For better user experience:
Deselect danger score, delta per bar, slope m10, panel label in the style tap. These are used for the calculation purpose only.
You can also change your session time to 1800 to 1600, however it may not work well in ETH session.
Draw Trend LinesSometimes the simplest indicators help traders make better decisions. This indicator draws simple trend lines, the same lines you would draw manually.
To trade with an edge, traders need to interpret the recent price action, whether it's noisy or choppy, or it's trending. Trend Lines will help traders with that interpretation.
The lines drawn are:
1. lower tops
2. higher bottoms
Because trends are defined as higher lows, or lower highs.
When you see "Wedges", formed by prices chopping between top and bottom trend lines, that's noisy environment not to be traded. When you learn to "stop yourself", you already have an edge.
Often when you see a trend, it's still not too late. Trend will continue until it doesn't. But the caveat is a very steep trend is unlikely to continue, because buying volume is extremely unbalanced to cause the steep trend, and that volume will run out of energy. (Same on the sell side of course)
Trends can reverse, and when price action breaks the trend line, Breakout/Breakdown traders can take this as an entry signal.
Enjoy, and good trading!
RSI Divergence Indicator with Strength and LabelsHere's a complete Pine Script (version 5) for a TradingView indicator that detects and plots bullish and bearish RSI divergences. This is based on a proven method that tracks price and RSI swings while RSI is in oversold/overbought territories, then checks for mismatched highs/lows within a configurable bar distance.
RSI Price overlay on chartThie Indicator plots buy and sell signals on the chart using the 28 period RSI with overbought areas at 65 and oversold at 35
Position Size CalculatorPosition Size Calculator
This open-source Pine Script® indicator helps traders manage risk by calculating position size, margin, and risk/reward based on account size, leverage, entry, stop-loss, and take-profit. It features a customizable table and optional chart lines/labels for clear trade planning across stocks, forex, crypto, and futures.
What It Does
- Position Size: Computes units to trade based on risk percentage and stop-loss distance, capped by leverage.
- Margin: Calculates initial margin in base currency and USD, with account size percentage.
- Risk/Reward: Shows risk-reward ratio, percentage price movements, and USD gains/losses.
- Visualization: Displays results in a table and optional chart lines/labels with customizable styles.
How It Works
- Precision: Adjusts price formatting using syminfo.mintick for accuracy across assets.
- Calculations: Position size = accountSize * (riskPercent / 100) / |entry - stoploss|, capped by accountSize * leverage / entry. Margin = positionSize / leverage. Risk-reward = |takeprofit - entry| / |stoploss - entry|.
- Display: Table shows metrics; optional lines/labels plot entry, stop-loss, and take-profit with percentage and USD details.
How to Use
- Set Inputs:
1- Account Size (USD): Your capital (e.g., 1000).
2- % Risk per Trade: Risk tolerance (e.g., 1%).
3- Leverage: Broker leverage (e.g., 1x, 10x).
4- Entry, Stop Loss, Take Profit: Trade prices.
5- Show Lines and Labels: Enable chart overlays.
- Customize: Adjust table position, colors, and line styles (Solid, Dashed, Dotted).
- View Results: Table shows position size, margin, and risk/reward. Chart lines/labels (if enabled) display prices, percentages, and USD outcomes.
- Apply: Use metrics for trade execution; modify code for custom features.
Notes
- Ensure valid inputs (entry ≠ stop-loss, both positive) to avoid “N/A”.
- Open-source: Inspect or extend the code for your needs.
- Contact the author via TradingView for feedback.
Dynamic 4 in 1Combined and made some modifications to the 4 existing indicators into 1 to save space. Credit to the original authors.
Indicator used
1. Pivot Point Standard by Tradingview (www.tradingview.com)
2. Colored EMA ()
3. ATH/TTL & 52WH/L with Candle Coloring by RV ()
4. HalfTrend ()
Adaptive Convergence Divergence### Adaptive Convergence Divergence (ACD)
By Gurjit Singh
The Adaptive Convergence Divergence (ACD) reimagines the classic MACD by replacing fixed moving averages with adaptive moving averages. Instead of a static smoothing factor, it dynamically adjusts sensitivity based on price momentum, relative strength, volatility, fractal roughness, or volume pressure. This makes the oscillator more responsive in trending markets while filtering noise in choppy ranges.
#### 📌 Key Features
1. Dual Adaptive Structure: The oscillator uses two adaptive moving averages to form its convergence-divergence line, with EMA/RMA as signal line:
* Primary Adaptive (MA): Fast line, reacts quickly to changes.
* Following Adaptive (FAMA): Slow line, with half-alpha smoothing for confirmation.
2. Adaptive MA Types
* ACMO: Adaptive CMO (momentum)
* ARSI: Adaptive RSI (relative strength)
* FRMA: Fractal Roughness (volatility + fractal dimension)
* VOLA: Volume adaptive (volume pressure)
3. PPO Option: Switch between classic MACD or Percentage Price Oscillator (PPO) style calculation.
4. Signal Smoothing: Choose between EMA or Wilder’s RMA.
5. Visuals: Colored oscillator, signal line, histogram with adaptive transparency.
6. Alerts: Bullish/Bearish crossovers built-in.
#### 🔑 How to Use
1. Add to chart: Works on any timeframe and asset.
2. Choose MA Type: Experiment with ACMO, ARSI, FRMA, or VOLA depending on market regime.
3. Crossovers:
* Bullish (🐂): Oscillator crosses above signal → potential long entry.
* Bearish (🐻): Oscillator crosses below signal → potential short entry.
4. Histogram: expansion = strengthening trend; contraction = weakening trend.
5. Divergences:
* Bullish (hidden strength): Price pushes lower, but ACD turns higher = potential upward reversal.
* Bearish (hidden weakness): Price pushes higher, but ACD turns lower = potential downward reversal.
6. Customize: Adjust lengths, smoothing type, and PPO/MACD mode to match your style.
7. Set Alerts:
* Enable Bullish or Bearish crossover alerts to catch momentum shifts in real time.
#### 💡 Tips
* PPO mode normalizes values across assets, useful for cross-asset analysis.
* Wilder’s smoothing is gentler than EMA, reducing whipsaws in sideways conditions.
* Adaptive smoothing helps reduce false divergence signals by filtering noise in choppy ranges.
AMD [TakingProphets]Overview
The AMD indicator is a real-time, high-resolution tool designed for traders following ICT methodology who want a clear visualization of higher timeframe (HTF) candles directly on their lower timeframe charts.
It overlays current HTF structure, including open, high, low, and close projections, allowing traders to align intraday decisions with institutional price delivery — all without switching timeframes.
Concept & Background
In ICT concepts, market behavior often follows a pattern of accumulation, manipulation, and distribution. Understanding these phases is essential for anticipating when price is likely to expand or reverse.
AMD automates this process by:
-Overlaying HTF candles directly on your lower timeframe chart.
-Projecting live levels like the current open, high, low, and close to map out evolving bias.
-Helping traders see whether price is accumulating orders, engineering liquidity sweeps, or distributing aggressively.
Key Features
Live HTF Candle Overlay
-Displays the full HTF candle — body, wicks, and directional bias — on your active chart in real time.
-Perfect for traders aligning intraday setups with broader HTF context.
Dynamic HTF Price Projections
-Plots the evolving open, high, low, and close for the current HTF candle.
-Each projection can be customized by color, style, labels, and visibility to fit your workflow.
Full Customization Control
-Adjust candle body widths, wick styles, and transparency.
-Configure projection lines and time labels in both 12h and 24h formats.
-Includes an optional Info Box showing instrument, timeframe, and session context.
Session Timing & Labeling
-Smart timestamping marks the start and close of each HTF candle.
-Helps traders anticipate potential expansions or reversals during killzones or liquidity events.
How to Use It
Select Your HTF Context
-Choose any timeframe overlay (e.g., 1H, 4H, 1D) to match your trading model.
-Monitor Live HTF Levels
-Watch how price interacts with current HTF highs, lows, and equilibrium levels in real time.
-Integrate With ICT Concepts
-Use alongside tools like SMT divergence, Order Blocks, or Liquidity Levels for confirmation and context.
-Refine Intraday Entries
-Check whether price is expanding in your favor before entering positions.
Best Practices
Combine AMD with ICT killzone sessions to monitor HTF behavior during high-liquidity periods.
Use it alongside correlated SMT divergence tools for stronger directional bias confirmation.
Who It’s For
Scalpers anchoring quick entries to HTF sentiment.
Intraday traders syncing 5m/15m setups with 1H/4H context.
Swing traders monitoring HTF ranges without switching charts.
Educators & analysts needing clean visual overlays for teaching and content creation.
Why It’s Useful
AMD doesn’t provide trading signals or predictive guarantees. Instead, it offers a clean, structured view of HTF price delivery — enabling traders to understand institutional intent as it unfolds and manage their execution with greater confidence.
TMA +BB Bands Indicator//@version=5
indicator(shorttitle="BB", title="Bollinger Bands", overlay=true, timeframe="", timeframe_gaps=true)
length = input.int(20, minval=1)
maType = input.string("SMA", "Basis MA Type", options = )
src = input(close, title="Source")
mult = input.float(2.0, minval=0.001, maxval=50, title="StdDev")
ma(source, length, _type) =>
switch _type
"SMA" => ta.sma(source, length)
"EMA" => ta.ema(source, length)
"SMMA (RMA)" => ta.rma(source, length)
"WMA" => ta.wma(source, length)
"VWMA" => ta.vwma(source, length)
basis = ma(src, length, maType)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev
offset = input.int(0, "Offset", minval = -500, maxval = 500, display = display.data_window)
plot(basis, "Basis", color=#2962FF, offset = offset)
p1 = plot(upper, "Upper", color=#F23645, offset = offset)
p2 = plot(lower, "Lower", color=#089981, offset = offset)
fill(p1, p2, title = "Background", color=color.rgb(33, 150, 243, 95))