APC Companion – Volume Accumulation/DistributionIndicator Description (TradingView – Open Source)
APC Companion – Volume Accumulation/Distribution Filter
(Designed to work standalone or together with the APC Compass)
What this indicator does
The APC Companion measures whether markets are under Accumulation (buying pressure) or Distribution (selling pressure) by combining:
Chaikin A/D slope – volume flow into price moves
On-Balance Volume momentum – confirms trend strength
VWAP spread – price vs. fair value by traded volume
CLV × Volume Z-Score – detects intrabar absorption / selling pressure
VWMA vs. EMA100 – confirms whether weighted volume supports price action
The result is a single Acc/Dist Score (−5 … +5) and a Coherence % showing how many signals agree.
How to interpret
Score ≥ +3 & Coherence ≥ 60% → Accumulation (green) → market supported by buyers
Score ≤ −3 & Coherence ≥ 60% → Distribution (red) → market pressured by sellers
Anything in between = neutral (no strong bias)
Using with APC Compass
Long trades: Only take Compass Long signals when Companion shows Accumulation.
Short trades: Only take Compass Short signals when Companion shows Distribution.
Neutral Companion: Skip or reduce size if there is no confirmation.
This filter greatly reduces false signals and improves trade quality.
Best practice
Swing trading: 4H / 1D charts, lenZ 40–80, lenSlope 14–20
Intraday: 5m–30m charts, lenZ 20–30, lenSlope 10–14
Position sizing: Increase with higher Coherence %, reduce when below 60%
Exits: Reduce or close if Score drops back to neutral or flips opposite
Disclaimer
This script is published open source for educational purposes only.
It is not financial advice. Test thoroughly before using in live trading.
אינדיקטורים ואסטרטגיות
ICT 00:00, 08:30, 09:30 & 13:30 Opens (NY) — Prior-Day HistoryICT 00:00, 08:30, 09:30 & 13:30 Opens (NY)
This is a derivative of ALPHAICTRADER’s open-source script, republished under the MPL-2.0 with clear attribution and documented changes. It plots four New-York–anchored intraday reference levels—0000, 0830, 0930, 1330—as short, right-padded stubs with clean side labels. Use these time anchors (ICT-style midnight + key US windows) to frame bias, volatility pockets, and intraday trade locations.
What’s original in this version (changes)
Right-padded stubs instead of chart-wide rays — each level ends N bars past the latest candle (configurable).
Side labels at the line tip — text-only labels (0000, 0830, 0930, 1330) that sit at the right end of each stub and update every bar.
Optional prior-day history — show Today only or Today + Prior Day; older lines/labels auto-pruned.
Per-anchor controls — Display, Style, Color, Width, and Show Label for each time.
What it plots (and why)
0000 (NY Midnight): daily session anchor for bias/liquidity context.
0830 (NY): macro data window (CPI/NFP/claims) where volatility often concentrates.
0930 (NY): US cash equity market open; opening-drive structure/acceptance tests.
1330 (NY): early-afternoon anchor for continuation vs. fade.
How it works (under the hood)
Session detection: time("1", session, "America/New_York"); first bar flagged via not na(ts) and na(ts ).
Anchor price: open of that first bar per session/day.
Rendering: lines drawn with xloc=bar_index from start bar to bar_index + Right Pad; x2 updates every bar (no extend.right).
Labels: placed at line.get_x2(line) + Label Pad, soft color variant; updated per bar to stay on the tip.
History: arrays keep either today only or today + yesterday and delete anything older immediately.
How to use
Add to any intraday chart (futures/FX/indices). Anchors are always NY-time; TradingView handles DST.
Inputs
00:00 / 08:30 / 09:30 / 13:30 (NY): Display, Line Style, Color, Width, Show Label
Right Edge: Right Pad (bars) · Label Pad (bars)
History: Show Prior Day (History) — off = today only; on = today + yesterday
Suggested pads: Right Pad 2–5 bars; Label Pad 0–2.
These are context anchors, not signals. Combine with your execution model (market structure, liquidity, FVG/OBs, etc.).
Attribution & License (MPL-2.0)
Original work: “ICT NEW YORK MIDNIGHT OPEN AND 8.30 AM OPEN” by ALPHAICTRADER (MPL-2.0).
This derivative: modifications listed above; source published and kept under MPL-2.0 per license terms.
If you distribute a modified version of this Pine file, you must keep MPL-2.0, retain the copyright/licensing header, publish your modified source, and document your changes.
Notes: Pine v5. Minimalist (no day dividers). Educational tool; not financial advice.
Copyright: © ALPHAICTRADER 2022 · © Funk 2025
License: MPL-2.0
Rally Base Drop Signals [LuxAlgo]The Rally Base Drop indicator is built around the Supply and Demand (SND) concept known as "Rally, Base & Drop" Candles. These candle types are commonly used in this trading approach to identify price structure.
This indicator highlights bars by labeling them as "Rally," "Drop," or "Base" candles. It also identifies specific sequence patterns formed by these candles.
🔶 USAGE
The Rally, Base, Drop candlestick approach is a straightforward method for identifying price action structure.
Candles are categorized into three types, which are then analyzed to understand market structure and Supply/Demand levels.
Rally: Two or more consecutive bullish candles.
Drop: Two or more consecutive bearish candles.
Base: A single bullish or bearish candle that breaks the previous trend.
🔹 Rally & Drop Candles
These candles show clear directional momentum and signal whether demand or supply is dominating. They are helpful when identifying trends, as they highlight strong price movement.
🔹 Base Candles
In most SND strategies, "Base" can have several interpretations.
Typically, base candles represent short periods of consolidation that test the trend before continuation. They can also be found at turning points (tops or bottoms).
For this indicator, a base candle is simply one that does not follow the direction of nearby candles or is where a Drop and Rally meet. Multiple base candles often reflect indecision in the market, suggesting a temporary balance between buyers and sellers.
🔹 Reversal Sequences
Rally-Base-Drop (RBD)
Drop-Base-Rally (DBR)
In Supply and Demand analysis, these sequences are considered reversals. They mark zones where buyer and seller activity has shifted, which can lead to future price reactions. These areas are known as "Supply or Demand Zones" and are often revisited by price, making them useful for trade setups.
🔹 Continuation Sequences
Rally-Base-Rally (RBR)
Drop-Base-Drop (DBD)
Continuation sequences show a brief pause in the trend, followed by further movement in the same direction. In SND terms, they represent zones where orders accumulate before a continuation move. These are typically used to join ongoing trends, as they indicate sustained interest from buyers or sellers.
🔶 DETAILS
🔹 Color Modes
The script includes three color modes. "No Color" is self-explanatory, while the other two options relate to how candles are detected.
A Rally or Drop requires at least two candles to be successfully identified. As a result, detection occurs on the second candle. However, the full Rally or Drop includes both candles.
Two coloring methods are available:
Full Color: Once a Rally or Drop is detected (on the second bar), both candles are colored, starting from the first. This reflects the full pattern.
Color on Detection: Only the second candle (where detection occurs) is colored. This avoids changing past bars and may be useful for live analysis.
🔶 SETTINGS
Sequences: Select which sequences to display on the chart.
Bar Color Logic: Choose the preferred bar coloring method.
Composite Time ProfileComposite Time Profile Overlay (CTPO) - Market Profile Compositing Tool
Automatically composite multiple time periods to identify key areas of balance and market structure
What is the Composite Time Profile Overlay?
The Composite Time Profile Overlay (CTPO) is a Pine Script indicator that automatically composites multiple time periods to identify key areas of balance and market structure. It's designed for traders who use market profile concepts and need to quickly identify where price is likely to find support or resistance.
The indicator analyzes TPO (Time Price Opportunity) data across different timeframes and merges overlapping profiles to create composite levels that represent the most significant areas of balance. This helps you spot where institutional traders are likely to make decisions based on accumulated price action.
Why Use CTPO for Market Profile Trading?
Eliminate Manual Compositing Work
Instead of manually drawing and compositing profiles across different timeframes, CTPO does this automatically. You get instant access to composite levels without spending time analyzing each individual period.
Spot Areas of Balance Quickly
The indicator highlights the most significant areas of balance by compositing overlapping profiles. These areas often act as support and resistance levels because they represent where the most trading activity occurred across multiple time periods.
Focus on What Matters
Rather than getting lost in individual session profiles, CTPO shows you the composite levels that have been validated across multiple timeframes. This helps you focus on the levels that are most likely to hold.
How CTPO Works for Market Profile Traders
Automatic Profile Compositing
CTPO uses a proprietary algorithm that:
- Identifies period boundaries based on your selected timeframe (sessions, daily, weekly, monthly, or auto-detection)
- Calculates TPO profiles for each period using the C2M (Composite 2 Method) row sizing calculation
- Merges overlapping profiles using configurable overlap thresholds (default 50% overlap required)
- Updates composite levels as new price action develops in real-time
Key Levels for Market Profile Analysis
The indicator displays:
- Value Area High (VAH) and Value Area Low (VAL) levels calculated from composite TPO data
- Point of Control (POC) levels where most trading occurred across all composited periods
- Composite zones representing areas of balance with configurable transparency
- 1.618 Fibonacci extensions for breakout targets based on composite range
Multiple Timeframe Support
- Sessions: For intraday market profile analysis
- Daily: For swing trading with daily profiles
- Weekly: For position trading with weekly structure
- Monthly: For long-term market profile analysis
- Auto: Automatically selects timeframe based on your chart
Trading Applications for Market Profile Users
Support and Resistance Trading
Use composite levels as dynamic support and resistance zones. These levels often hold because they represent areas where significant trading decisions were made across multiple timeframes.
Breakout Trading
When composite levels break, they often lead to significant moves. The indicator calculates 1.618 Fibonacci extensions to give you clear targets for breakout trades.
Mean Reversion Strategies
Value Area levels represent the price range where most trading activity occurred. These levels often act as magnets, drawing price back when it moves too far from the mean.
Institutional Level Analysis
Composite levels represent areas where institutional traders have made significant decisions. These levels often hold more weight than traditional technical analysis levels because they're based on actual trading activity.
Key Features for Market Profile Traders
Smart Compositing Logic
- Automatic overlap detection using price range intersection algorithms
- Configurable overlap thresholds (minimum 50% overlap required for merging)
- Dead composite identification (profiles that become engulfed by newer composites)
- Real-time updates as new price action develops using barstate.islast optimization
Visual Customization
- Customizable colors for active, broken, and dead composites
- Adjustable transparency levels for each composite state
- Premium/Discount zone highlighting based on current price vs composite range
- TPO aggression coloring using TPO distribution analysis to identify buying/selling pressure
- Fibonacci level extensions with 1.618 target calculations based on composite range
Clean Chart Presentation
- Only shows the most relevant composite levels (maximum 10 active composites)
- Eliminates clutter from individual session profiles
- Focuses on areas of balance that matter most to current price action
Real-World Trading Examples
Day Trading with Session Composites
Use session-based composites to identify intraday areas of balance. The VAH and VAL levels often act as natural profit targets and stop-loss levels for scalping strategies.
Swing Trading with Daily Composites
Daily composites provide excellent swing trading levels. Look for price reactions at composite zones and use the 1.618 extensions for profit targets.
Position Trading with Weekly Composites
Weekly composites help identify major trend changes and long-term areas of balance. These levels often hold for months or even years.
Risk Management
Composite levels provide natural stop-loss levels. If a composite level breaks, it often signals a significant shift in market sentiment, making it an ideal place to exit losing positions.
Why Composite Levels Work
Composite levels work because they represent areas where significant trading decisions were made across multiple timeframes. When price returns to these levels, traders often remember the previous price action and make similar decisions, creating self-fulfilling prophecies.
The compositing process uses a proprietary algorithm that ensures only levels validated across multiple time periods are displayed. This means you're looking at levels that have proven their significance through actual market behavior, not just random technical levels.
Technical Foundation
The indicator uses TPO (Time Price Opportunity) data combined with price action analysis to identify areas of balance. The C2M row sizing method ensures accurate profile calculations, while the overlap detection algorithm (minimum 50% price range intersection) ensures only truly significant composites are displayed. The algorithm calculates row size based on ATR (Average True Range) divided by 10, then converts to tick size for precise level calculations.
How the Code Actually Works
1. Period Detection and ATR Calculation
The code first determines the appropriate timeframe based on your chart:
- 1m-5m charts: Session-based profiles
- 15m-2h charts: Daily profiles
- 4h charts: Weekly profiles
- 1D charts: Monthly profiles
For each period type, it calculates the number of bars needed for ATR calculation:
- Sessions: 540 minutes divided by chart timeframe
- Daily: 1440 minutes divided by chart timeframe
- Weekly: 7 days worth of minutes divided by chart timeframe
- Monthly: 30 days worth of minutes divided by chart timeframe
2. C2M Row Size Calculation
The code calculates True Range for each bar in the determined period:
- True Range = max(high-low, |high-prevClose|, |low-prevClose|)
- Averages all True Range values to get ATR
- Row Size = (ATR / 10) converted to tick size
- This ensures each TPO row represents a meaningful price movement
3. TPO Profile Generation
For each period, the code:
- Creates price levels from lowest to highest price in the range
- Each level is separated by the calculated row size
- Counts how many bars touch each price level (TPO count)
- Finds the level with highest count = Point of Control (POC)
- Calculates Value Area by expanding from POC until 68.27% of total TPO blocks are included
4. Overlap Detection Algorithm
When a new profile is created, the code checks if it overlaps with existing composites:
- Calculates overlap range = min(currentVAH, prevVAH) - max(currentVAL, prevVAL)
- Calculates current profile range = currentVAH - currentVAL
- Overlap percentage = (overlap range / current profile range) * 100
- If overlap >= 50%, profiles are merged into a composite
5. Composite Merging Logic
When profiles overlap, the code creates a new composite by:
- Taking the earliest start bar and latest end bar
- Using the wider VAH/VAL range (max of both profiles)
- Keeping the POC from the profile with more TPO blocks
- Marking the composite as "active" until price breaks through
6. Real-Time Updates
The code uses barstate.islast to optimize performance:
- Only recalculates on the last bar of each period
- Updates active composite with live price action if enabled
- Cleans up old composites to prevent memory issues
- Redraws all visual elements from scratch each bar
7. Visual Rendering System
The code uses arrays to manage drawing objects:
- Clears all lines/boxes arrays on every bar
- Iterates through composites array to redraw everything
- Uses different colors for active, broken, and dead composites
- Calculates 1.618 Fibonacci extensions for broken composites
Getting Started with CTPO
Step 1: Choose Your Timeframe
Select the period type that matches your trading style:
- Use "Sessions" for day trading
- Use "Daily" for swing trading
- Use "Weekly" for position trading
- Use "Auto" to let the indicator choose based on your chart timeframe
Step 2: Customize the Display
Adjust colors, transparency, and display options to match your charting preferences. The indicator offers extensive customization options to ensure it fits seamlessly into your existing analysis.
Step 3: Identify Key Levels
Look for:
- Composite zones (blue boxes) - major areas of balance
- VAH/VAL lines - value area boundaries
- POC lines - areas of highest trading activity
- 1.618 extension lines - breakout targets
Step 4: Develop Your Strategy
Use these levels to:
- Set entry points near composite zones
- Place stop losses beyond composite levels
- Take profits at 1.618 extension levels
- Identify trend changes when major composites break
Perfect for Market Profile Traders
If you're already using market profile concepts in your trading, CTPO eliminates the manual work of compositing profiles across different timeframes. Instead of spending time analyzing each individual period, you get instant access to the composite levels that matter most.
The indicator's automated compositing process ensures you're always looking at the most relevant areas of balance, while its real-time updates keep you informed of changes as they happen. Whether you're a day trader looking for intraday levels or a position trader analyzing long-term structure, CTPO provides the market profile intelligence you need to succeed.
Streamline Your Market Profile Analysis
Stop wasting time on manual compositing. Let CTPO do the heavy lifting while you focus on executing profitable trades based on areas of balance that actually matter.
Ready to Streamline Your Market Profile Trading?
Add the Composite Time Profile Overlay to your charts today and experience the difference that automated profile compositing can make in your trading performance.
Quantile Regression Bands [BackQuant]Quantile Regression Bands
Tail-aware trend channeling built from quantiles of real errors, not just standard deviations.
What it does
This indicator fits a simple linear trend over a rolling lookback and then measures how price has actually deviated from that trend during the window. It then places two pairs of bands at user-chosen quantiles of those deviations (inner and outer). Because bands are based on empirical quantiles rather than a symmetric standard deviation, they adapt to skewed and fat-tailed behaviour and often hug price better in trending or asymmetric markets.
Why “quantile” bands instead of Bollinger-style bands?
Bollinger Bands assume a (roughly) symmetric spread around the mean; quantiles don’t—upper and lower bands can sit at different distances if the error distribution is skewed.
Quantiles are robust to outliers; a single shock won’t inflate the bands for many bars.
You can choose tails precisely (e.g., 1%/99% or 5%/95%) to match your risk appetite.
How it works (intuitive)
Center line — a rolling linear regression approximates the local trend.
Residuals — for each bar in the lookback, the indicator looks at the gap between actual price and where the line “expected” price to be.
Quantiles — those gaps are sorted; you select which percentiles become your inner/outer offsets.
Bands — the chosen quantile offsets are added to the current end of the regression line to draw parallel support/resistance rails.
Smoothing — a light EMA can be applied to reduce jitter in the line and bands.
What you see
Center (linear regression) line (optional).
Inner quantile bands (e.g., 25th/75th) with optional translucent fill.
Outer quantile bands (e.g., 1st/99th) with a multi-step gradient to visualise “tail zones.”
Optional bar coloring: bars trend-colored by whether price is rising above or falling below the center line.
Alerts when price crosses the outer bands (upper or lower).
How to read it
Trend & drift — the slope of the center line is your local trend. Persistent closes on the same side of the center line indicate directional drift.
Pullbacks — tags of the inner band often mark routine pullbacks within trend. Reaction back to the center line can be used for continuation entries/partials.
Tails & squeezes — outer-band touches highlight statistically rare excursions for the chosen window. Frequent outer-band activity can signal regime change or volatility expansion.
Asymmetry — if the upper band sits much further from the center than the lower (or vice versa), recent behaviour has been skewed. Trade management can be adjusted accordingly (e.g., wider take-profit upslope than downslope).
A simple trend interpretation can be derived from the bar colouring
Good use-cases
Volatility-aware mean reversion — fade moves into outer bands back toward the center when trend is flat.
Trend participation — buy pullbacks to the inner band above a rising center; flip logic for shorts below a falling center.
Risk framing — set dynamic stops/targets at quantile rails so position sizing respects recent tail behaviour rather than fixed ticks.
Inputs (quick guide)
Source — price input used for the fit (default: close).
Lookback Length — bars in the regression window and residual sample. Longer = smoother, slower bands; shorter = tighter, more reactive.
Inner/Outer Quantiles (τ) — choose your “typical” vs “tail” levels (e.g., 0.25/0.75 inner, 0.01/0.99 outer).
Show toggles — independently toggle center line, inner bands, outer bands, and their fills.
Colors & transparency — customize band and fill appearance; gradient shading highlights the tail zone.
Band Smoothing Length — small EMA on lines to reduce stair-step artefacts without meaningfully changing levels.
Bar Coloring — optional trend tint from the center line’s momentum.
Practical settings
Swing trading — Length 75–150; inner τ = 0.25/0.75, outer τ = 0.05/0.95.
Intraday — Length 50–100 for liquid futures/FX; consider 0.20/0.80 inner and 0.02/0.98 outer in high-vol assets.
Crypto — Because of fat tails, try slightly wider outers (0.01/0.99) and keep smoothing at 2–4 to tame weekend jumps.
Signal ideas
Continuation — in an uptrend, look for pullback into the lower inner band with a close back above the center as a timing cue.
Exhaustion probe — in ranges, first touch of an outer band followed by a rejection candle back inside the inner band often precedes mean-reversion swings.
Regime shift — repeated closes beyond an outer band or a sharp re-tilt in the center line can mark a new trend phase; adjust tactics (stop-following along the opposite inner band).
Alerts included
“Price Crosses Upper Outer Band” — potential overextension or breakout risk.
“Price Crosses Lower Outer Band” — potential capitulation or breakdown risk.
Notes
The fit and quantiles are computed on a fixed rolling window and do not repaint; bands update as the window moves forward.
Quantiles are based on the recent distribution; if conditions change abruptly, expect band widths and skew to adapt over the next few bars.
Parameter choices directly shape behaviour: longer windows favour stability, tighter inner quantiles increase touch frequency, and extreme outer quantiles highlight only the rarest moves.
Final thought
Quantile bands answer a simple question: “How unusual is this move given the current trend and the way price has been missing it lately?” By scoring that question with real, distribution-aware limits rather than one-size-fits-all volatility you get cleaner pullback zones in trends, more honest “extreme” tags in ranges, and a framework for risk that matches the market’s recent personality.
TAUtilityLibLibrary "TAUtilityLib"
Technical Analysis Utility Library - Collection of functions for market analysis, smoothing, scaling, and structure detection
log_snapshot(label1, val1, label2, val2, label3, val3, label4, val4, label5, val5)
Creates formatted log snapshot with 5 labeled values
Parameters:
label1 (string)
val1 (float)
label2 (string)
val2 (float)
label3 (string)
val3 (float)
label4 (string)
val4 (float)
label5 (string)
val5 (float)
Returns: void (logs to console)
f_get_next_tf(tf, steps)
Gets next higher timeframe(s) from current
Parameters:
tf (string) : Current timeframe string
steps (string) : "1 TF Higher" for next TF, any other value for 2 TFs higher
Returns: Next timeframe string or na if at maximum
f_get_prev_tf(tf)
Gets previous lower timeframe from current
Parameters:
tf (string) : Current timeframe string
Returns: Previous timeframe string or na if at minimum
supersmoother(_src, _length)
Ehler's SuperSmoother - low-lag smoothing filter
Parameters:
_src (float) : Source series to smooth
_length (simple int) : Smoothing period
Returns: Smoothed series
butter_smooth(src, len)
Butterworth filter for ultra-smooth price filtering
Parameters:
src (float) : Source series
len (simple int) : Filter period
Returns: Butterworth smoothed series
f_dynamic_ema(source, dynamic_length)
Dynamic EMA with variable length
Parameters:
source (float) : Source series
dynamic_length (float) : Dynamic period (can vary bar to bar)
Returns: Dynamically adjusted EMA
dema(source, length)
Double Exponential Moving Average (DEMA)
Parameters:
source (float) : Source series
length (simple int) : Period for DEMA calculation
Returns: DEMA value
f_scale_percentile(primary_line, secondary_line, x)
Scales secondary line to match primary line using percentile ranges
Parameters:
primary_line (float) : Reference series for target scale
secondary_line (float) : Series to be scaled
x (int) : Lookback bars for percentile calculation
Returns: Scaled version of secondary_line
calculate_correlation_scaling(demamom_range, demamom_min, correlation_range, correlation_min)
Calculates scaling factors for correlation alignment
Parameters:
demamom_range (float) : Range of primary series
demamom_min (float) : Minimum of primary series
correlation_range (float) : Range of secondary series
correlation_min (float) : Minimum of secondary series
Returns: tuple for alignment
getBB(src, length, mult, chartlevel)
Calculates Bollinger Bands with chart level offset
Parameters:
src (float) : Source series
length (simple int) : MA period
mult (simple float) : Standard deviation multiplier
chartlevel (simple float) : Vertical offset for plotting
Returns: tuple
get_mrc(source, length, mult, mult2, gradsize)
Mean Reversion Channel with multiple bands and conditions
Parameters:
source (float) : Price source
length (simple int) : Channel period
mult (simple float) : First band multiplier
mult2 (simple float) : Second band multiplier
gradsize (simple float) : Gradient size for zone detection
Returns:
analyzeMarketStructure(highFractalBars, highFractalPrices, lowFractalBars, lowFractalPrices, trendDirection)
Analyzes market structure for ChoCH and BOS patterns
Parameters:
highFractalBars (array) : Array of high fractal bar indices
highFractalPrices (array) : Array of high fractal prices
lowFractalBars (array) : Array of low fractal bar indices
lowFractalPrices (array) : Array of low fractal prices
trendDirection (int) : Current trend (1=up, -1=down, 0=neutral)
Returns: - change signals and new trend direction
Today's 5min HH/LL LinesOverview
This indicator identifies the highest high (HH) and lowest low (LL) formed by the first 5 one-minute candles of the current trading day. Once calculated, it plots continuous horizontal lines at those price levels for the remainder of the day.
How it works
The script internally requests 1-minute data for the current symbol, regardless of your chart’s timeframe.
At the start of each new trading day, it resets counters.
It captures the highest high and lowest low across the first five completed 1-minute candles.
After the 5th one-minute bar closes, it draws:
A green horizontal line at the highest high.
A red horizontal line at the lowest low.
These lines extend to the right, covering the entire trading session, and automatically scale with zoom/pan.
At the next session, the old lines are deleted and recalculated for the new day.
Use cases
Helps spot early intraday support and resistance zones.
Useful for breakout or reversal strategies that monitor when price breaches the first 5-minute range (derived from 5x1m bars).
Can be combined with volume, momentum, or candlestick signals for high-probability entries.
Key features
Works on any timeframe — always uses 1-minute data for precision.
Shows lines only for the current day (no clutter from prior sessions).
Lines are dynamic and adaptive — they remain fixed at the calculated price but extend continuously across the chart.
Auto Slope Extremes ChannelAuto Slope Extremes Channel
Expanding channel that locks onto the highest high and lowest low of the slope between A and B.
This indicator builds a dynamic channel between two anchors, A and B.
Unlike fixed-width channels, it adapts to the slope of the leg between A and B and expands until:
• The upper channel line touches the highest candle in that slope.
• The lower channel line touches the lowest candle in that slope.
This method ensures that the channel edges are defined only by the single most extreme high and the single most extreme low within the selected leg. No other candles in the range touch the edges.
A centerline is drawn midway between the two extremes, and small triangle markers highlight the exact candles that determine the upper and lower boundaries.
Features
• Anchored channel defined by two user-selected points (A and B).
• Expands to fit the highest high and lowest low of the slope between A and B.
• Optional centerline and channel fill.
• Extend lines left, right, or both.
• Customizable line widths and colours.
Tristan's Box: Pre-Market Range Breakout + RetestMarket Context:
This is designed for U.S. stocks, focusing on pre-market price action (4:00–9:30 AM ET) to identify key support/resistance levels before the regular session opens.
Built for 1 min and 5 min timelines, and is intended for day trading / scalping.
Core Idea:
Pre-market range (high/low) often acts as a magnet for price during regular hours.
The first breakout outside this range signals potential strong momentum in that direction.
Retest of the breakout level confirms whether the breakout is valid, avoiding false moves.
Step-by-Step Logic:
Pre-Market Range Identification:
Track high and low from 4:00–9:30 AM ET.
Draw a box spanning this range for visual reference and calculation.
Breakout Detection:
When the first candle closes above the pre-market high → long breakout.
When the first candle closes below the pre-market low → short breakout.
The first breakout candle is highlighted with a “YOLO” label for visual confirmation.
Retest Confirmation:
Identify the first candle whose wick touches the pre-market box (high touches top for short, low touches bottom for long).
Wait for the next candle: if it closes outside the box, it confirms the breakout.
Entry Execution:
Long entry: on the confirming candle after a wick-touch above the pre-market high.
Short entry: on the confirming candle after a wick-touch below the pre-market low.
Only the first valid entry per direction per day is taken.
Visuals & Alerts:
Box represents pre-market high/low.
Top/bottom box border lines show the pre-market high / low levels cleanly.
BUY/SELL markers are pinned to the confirming candle.
Added a "YOLO" marker on breakout candle.
Alert conditions trigger when a breakout is confirmed by the retest.
Strategy Type:
Momentum breakout strategy with confirmation retest.
Combines pre-market structure and risk-managed entries.
Designed to filter false breakouts by requiring confirmation on the candle after the wick-touch.
In short, it’s a pre-market breakout momentum strategy: it uses the pre-market high/low as reference, waits for a breakout, and then enters only after a confirmation retest, reducing the chance of entering on a false spike.
Always use good risk management.
Weekly/Monthly Golden ATR LevelsWeekly/Monthly Golden ATR Levels
This indicator is designed to give traders a clear, rule-based framework for identifying support and resistance zones anchored to prior period ranges and the market’s own volatility. It uses the Average True Range (ATR) as a measure of how far price can realistically stretch, then projects fixed levels from the midpoint of the prior week and prior month.
Rather than “moving targets” that repaint, these levels are frozen at the start of each new week and month and stay fixed until the next period begins. This makes them reliable rails for both intraday and swing trading.
What It Plots
Weekly Midpoint (last week’s High + Low ÷ 2)
From this mid, the script projects:
Weekly +1 / −1 ATR
Weekly +2 / −2 ATR
Monthly Midpoint (last month’s High + Low ÷ 2)
From this mid, the script projects:
Monthly +1 / −1 ATR
Monthly +2 / −2 ATR
Customization
Set ATR length & timeframe (default: 14 ATR on Daily bars).
Adjust multipliers for Level 1 (±1 ATR) and Level 2 (±2 ATR).
Choose line color, style, and width separately for weekly and monthly bands.
Toggle labels on/off.
How to Use
Context at the Open
If price opens above last week’s midpoint, bias favors upside toward +1 / +2.
If price opens below the midpoint, bias favors downside toward −1 / −2.
Weekly Bands = Short-Term Rails
+1 / −1 ATR: Rotation pivots. Expect intraday reaction.
+2 / −2 ATR: Extreme stretch zones. Reversals or breakouts often occur here.
Monthly Bands = Big Picture Rails
Use these for swing positioning, or as “outer guardrails” on intraday charts.
When weekly and monthly bands cluster → high-confluence zone.
Trade Playbook
Trend Day: Hold above +1 → target +2. Break below −1 → target −2.
Range Day: Fade first test of ±2, scalp toward ±1 or midpoint.
Catalyst/News Day: Use with caution—levels provide context, not barriers.
Risk Management
Place stops just outside the band you’re trading against.
Scale profits at the next inner level (e.g., short from +2, cover partial at +1).
Runners can trail to the midpoint or opposite side.
Why It Works
ATR measures volatility—how far price tends to travel in a given period.
Anchoring to prior highs and lows captures where real supply/demand last clashed.
Combining the two gives levels that are statistically relevant, widely observed, and psychologically sticky.
Trading books from Mark Douglas (Trading in the Zone), Jared Tendler (The Mental Game of Trading), and Oliver Kell (Victory in Stock Trading) all stress the importance of having objective, repeatable reference points. These levels deliver that discipline—removing guesswork and reducing emotional trading
Algorithmic Kalman Filter [CRYPTIK1]Price action is chaos. Markets are driven by high-frequency algorithms, emotional reactions, and raw speculation, creating a constant stream of noise that obscures the true underlying trend. A simple moving average is too slow, too primitive to navigate this environment effectively. It lags, it gets chopped up, and it fails when you need it most.
This script implements an Algorithmic Kalman Filter (AKF), a sophisticated signal processing algorithm adapted from aerospace and robotic guidance systems. Its purpose is singular: to strip away market noise and provide a hyper-adaptive, self-correcting estimate of an asset's true trajectory.
The Concept: An Adaptive Intelligence
Unlike a moving average that mindlessly averages past data, the Kalman Filter operates on a two-step principle: Predict and Update.
Predict: On each new bar, the filter makes a prediction of the true price based on its previous state.
Update: It then measures the error between its prediction and the actual closing price. It uses this error to intelligently correct its estimate, learning from its mistakes in real-time.
The result is a flawlessly smooth line that adapts to volatility. It remains stable during chop and reacts swiftly to new trends, giving you a crystal-clear view of the market's real intention.
How to Wield the Filter: The Core Settings
The power of the AKF lies in its two tuning parameters, which allow you to calibrate the filter's "brain" to any asset or timeframe.
Process Noise (Q) - Responsiveness: This controls how much you expect the true trend to change.
A higher Q value makes the filter more sensitive and responsive to recent price action. Use this for highly volatile assets or lower timeframes.
A lower Q value makes the filter smoother and more stable, trusting that the underlying trend is slow-moving. Use this for higher timeframes or ranging markets.
Measurement Noise (R) - Smoothness: This controls how much you trust the incoming price data.
A higher R value tells the filter that the price is extremely noisy and to be more skeptical. This results in a much smoother, slower-moving line.
A lower R value tells the filter to trust the price data more, resulting in a line that tracks price more closely.
The interaction between Q and R is what gives the filter its power. The default settings provide a solid baseline, but a true operator will fine-tune these to perfectly match the rhythm of their chosen market.
Tactical Application
The AKF is not just a line; it's a complete framework for viewing the market.
Trend Identification: The primary signal. The filter's color code provides an unambiguous definition of the trend. Teal for an uptrend, Pink for a downtrend. No more guesswork.
Dynamic Support & Resistance: The filter itself acts as a dynamic level. Watch for price to pull back and find support on a rising (Teal) filter in an uptrend, or to be rejected by a falling (Pink) filter in a downtrend.
A Higher-Order Filter: Use the AKF's trend state to filter signals from your primary strategy. For example, only take long signals when the AKF is Teal. This single rule can dramatically reduce noise and eliminate low-probability trades.
This is a professional-grade tool for traders who are serious about gaining a statistical edge. Ditch the lagging averages. Extract the signal from the noise.
30 Min Pivot Enhanced# 30 Min Pivot Enhanced
The **30 Min Pivot Enhanced** indicator detects pivot reversals and potential buy/sell signals on the 30-minute timeframe. It combines streak-based trend exhaustion with pivot breakouts and optional flush (capitulation) candle detection.
## Core Logic
- Trend streaks: pivots form after consecutive same-color candles (`trendLength`)
- Flush detection: oversized red candles (ATR based) flagged as potential exhaustion
- Pivot candidates:
- Bullish → after a red streak (or flush) followed by a green candle
- Bearish → after a green streak followed by a red candle
- Confirmation: price must break pivot high/low within `maxBarsAfterPivot`
## Inputs
- Consecutive Trend Candles → streak length required for pivot
- Maximum Bars After Pivot → confirmation window
- Show Pivot Lines → toggle pivot levels on chart
- Flush Detection → ATR-based capitulation detection
- Flush Lookback → how many bars to keep flush valid
- Enable Buy/Sell Alerts → toggle trade alerts
## Visuals
- Buy pivots → green "P Buy" labels under price
- Sell pivots → red pivot lines at lows (if enabled)
- Flush markers → optional debug labels showing capitulation bars
## Alerts
- Buy Alert → price breaks above pivot high
- Sell Alert → price breaks below pivot low
---
Best for traders watching **30-minute reversal plays**, especially where exhaustion or flush candles precede a breakout.
Contract Interest Turnover T3 [T69]Overview
--------
Contract Interest Turnover (CIT) estimates how “churny” a crypto derivatives market is by comparing the amount traded in a bar to the base stock of outstanding contracts (open interest). It normalizes both Volume and Open Interest (OI) by Price (Close), then plots a Turnover Rate = (Volume/Close) ÷ (OI/Close) as colored columns. Higher values = faster contract recycling (strong momentum / hype potential).
Features
--------
- Auto-fetch OI: Pulls OI via request.security(_OI, …) when the exchange/symbol exposes an OI stream on TradingView.
- Price-normalized comparison: Converts both Volume and OI into comparable notional terms by dividing each by Close.
- Turnover columns with threshold: Color the columns green once Turnover ≥ your set threshold; gray otherwise.
- Status-line readouts: Displays normalized Volume and OI values for quick sanity checks.
- Crypto-aware timeframe: Uses chart TF for crypto; forces daily OI when not crypto to avoid noisy intraday pulls.
How to Use
----------
1. Add the script on a perpetual/futures symbol that has OI on TradingView (e.g., BTC perps where an _OI feed exists).
2. Watch the Turnover Rate bars: spikes above your threshold flag sessions where contracts are actively flipping.
3. Interpret spikes as a signal of movement or activity — it does not specify price direction, only that the market is engaged and contracts are being traded more intensely than usual.
Configuration
-------------
- Interest Turnover Threshold (default 1.0): colors columns green when Turnover ≥ threshold. Tune per market’s typical churn profile.
Under the Hood (Formulas & Logic)
---------------------------------
- Fetch OI
oiClose ← request.security(ticker.standard(syminfo.tickerid) + "_OI", timeframe, close) with ignore_invalid_symbol = true.
If none is found, the script throws a clear runtime error.
- Normalize to price
vol_norm = volume / close
oi_norm = oiClose / close
This converts both to a common notional basis so their ratio is meaningful even as price changes.
- Turnover Rate
turnover = vol_norm / oi_norm
Interpretation: fraction/multiples of the outstanding contract base traded in the bar. Color = green if turnover ≥ threshold.
Why Open Interest ≈ “Float” Proxy
---------------------------------
In stocks, float ≈ shares the public can trade. In derivatives, there are no “shares,” so Open Interest acts as the live stock of active contracts. It’s the best proxy for “what’s available in play” because it counts open positions that persist across bars. Using Volume ÷ OI mirrors stock float-turnover logic: how fast the tradable base is being recycled each period.
Why Normalize by Price
----------------------
Derivatives volume and OI may be reported in contracts, not notional value. One contract’s economic weight changes with price (especially on inverse contracts). Dividing both Volume and OI by Close:
- Puts them on a comparable notional footing.
- Prevents false spikes purely from price moves.
- Makes Turnover comparable across time even as price trends.
Advanced Tips
-------------
- Calibrate threshold: Start from the 80th–90th percentile of the last 60–90 bars of Turnover; set the threshold a touch below that to surface early heat.
- Add OI-delta: Layer an OI change histogram (current − prior) to separate new positioning from pure churn.
- Linear vs inverse: For linear (USDT-margined) contracts, the normalization still works and keeps visuals consistent; for inverse, it’s essential.
Limitations
-----------
- Data availability: Works only if your symbol exposes an _OI feed on TradingView; otherwise it errors out.
- Exchange conventions: Volume units differ by venue (contracts, coin, notional). Normalization mitigates, but cross-symbol comparisons still need caution.
- Intrabar gaps: OI is typically end-of-bar; rapid intrabar shifts won’t appear until the bar closes.
Notes
-----
- Designed primarily for crypto derivatives. For non-crypto, the script blanks OI to avoid misleading plots and uses a daily TF when needed.
Credit
------
- Concept & data: Built for TradingView data feeds.
- Acknowledgment: Credit to TradingView default indicator as requested.
- Source: This write-up reflects the logic present in your uploaded script.
Disclaimer
----------
Markets move; indicators simplify. Use with position sizing, hard stops, and catalyst awareness. The Turnover Rate flags activity, not direction.
TEWMA Supertrend - [JTCAPITAL]TEWMA Supertrend is a modified way to use Triple Exponential Weighted Moving Average inside Supertrend logic for Trend-Following
The indicator works by calculating in the following steps:
1. Calculate the Triple Exponential Moving Average with Weighted Moving Average as input.
2. Calculate the ATR over the Supertrend Length
3. Use the Triple Exponential Weighted Moving Average, and add the multiplier times the ATR for the upper limit, and subtract the multiplier times the ATR for the lower limit.
4. Define Buy and Sell conditions based on the price closing above or below the upper and lower limits.
--Buy and sell conditions--
- The buy and sell conditions are defined by the price going above/below the upper and lower limits, calculated by (TEWMA +/- multi * ATR).
- When this goes on the opposite direction of the current trend, the trend changes. If this goes in the same direction of the current trend, the line follows the price by moving up.
- When price gets closer to the limits the limits do not change. The upper limit only moves when the upper decreases, and the lower limit only moves when the lower increases.
- The ATR gets subtracted from the lows or added onto the highs to eliminate false signals in choppy markets, while enforcing fast entries and exits.
--Features and Parameters--
- Allows the usage of different sources
- Allows the changing of the length of the ATR
- Allows the changing of the length of the TEWMA
- Allows the changing of the multiplier to increase or decrease ATR usage
--Details--
This script is using TEWMA as input for the modified Supertrend. Using a TEWMA and getting a higher multiplier to the ATR is meant to decrease false signals. Which can be a problem when using a normal Supertrend. Using the TEWMA also ensures fast entries and exits from fast market moves after a calm period. Ensuring you don't stay left behind.
Be aware that lowering the multiplier for the ATR will allow for faster entries and exits but also allow for more false signals. It is recommended to change the parameters to fit your liking and to adjust to the timeframe you are working on.
Enjoy!
Supertrend Channel Histogram OscillatorThis histogram is based on the script "Supertrend Channels "
The idea of the indicator is to visually represent the interaction of price with several different supertrend channels of various lengths in an oscillator in order to make it much more clear to the trader how the longer trends are interacting with shorter trends of the price movement of an asset. I got this idea from the "Kurutoga Cloud" and "Kurutoga Histogram" by D7R which is based on the centerlines of 3 Donchian Channels, however after I started using the Supertrend Channel by LuxAlgo I found that it was a more reliable price range channel than a standard Donchian Channel and I made this indicator to accompany it.
This indicator plots a positive value above 0 when the price is above the centerline of the supertrend channel and a negative value below 0 when the price is below the centerline.
The first supertrend's length and multiple can be adjusted in the settings.
The given supertrend input is then doubled and quadrupled in both length and multiplication so that a supertrend histogram with the values of 3, 3 will be accompanied by 2 additional supertrend histograms with the values of 6, 6 and 12, 12.
The larger price trend histograms are clearly visible behind the short term supertrend channel's histogram, giving traders a balanced view of short and long term trends interacting. The less visible columns of the larger trend remain above or below the 0 line behind the more visible short term channel trend, helping to spot pullbacks within a larger trend.
Additionally, when the 3 separate histograms are all positive or all negative but the histogram columns are separating from each other this can indicate a potential trend exhaustion leading to reversal or pullback about to happen.
The overbought and oversold lines at 50 and -50 are representative primarily of the short term trend with above 50 or below -50 indicating that the price is pushing the boundary and potentially beginning a new short term supertrend in the opposite direction. If values do not noticably exceed these levels, then the current short term trend movement can be viewed as a pullback within a larger trend, with continuation potentially to follow.
I have had troubles converting the original code to v6 so this will be published here in v5 of pinescript to be used in conjunction with the original. I was intending to create a companion indicator for this oscillator that represents 3 supertrends with corresponding 2x and 4x calculations based on LuxAlgo's script, but I can't seem to get it to work correctly in v5.
For best visualization of the trends 3 LuxAlgo Supertrend channels with 2x and 4x values should be used in conjunction with each other to fully visualize the histogram.
Used in conjunction with other indicators this can be a very effective strategy to capture larger trend moves and pullbacks within trends, as well as warn of potential price trend exhaustion.
TURT Donchian Ladder v3.13How to trade TURT+ with the v3.13 script
1) Pick the system & arm the entry
• In the script, choose System = S1 (20D) or S2 (55D).
The HUD always shows both rails for reference, but the ladder (Entry/+Adds) uses the system you pick.
• Your Entry is shown as Pivot + 0.1×N (rounded).
• Place a stop-limit “parent” order at that Entry price. (Classic Turtle uses an entry stop; I suggest a tight limit offset so you don’t chase a blow-through.)
• Initial stop = N2 = Entry − 2×N (rounded). Put that in immediately.
If you like only confirming on a bar close, leave confirmClose = true and place the parent after the close that breaks out. If you want intrabar fills, set confirmClose = false and keep the stop-limit active intraday.
2) Size it the way you planned
• Set acctEquity / riskCapPct / posCapUSD / entryFrac / entryRiskFrac / sizingMode.
• HUD gives Rec Entry Qty (when flat) and, once in, it shows:
• Next Rung (price)
• Suggested AddShares (honors RiskCap & PosCap)
• Proj Stop if Add (ratcheted N2)
• A limiter note (RiskCap or PosCap) if you’re constrained.
3) After entry fills, stage the ADDs (only at fixed +N steps)
• Adds are NOT “every Donchian break.” You add only at:
• Add-1 = Entry + 0.5×N
• Add-2 = Entry + 1.0×N
• Add-3 = Entry + 1.5×N (optional)
• Use the HUD’s Suggested AddShares for each rung (it respects your RiskCap/PosCap).
• Place stop-limit orders for each add (either immediately as a contingent OTO chain that arms only after Entry fills, or you arm each add when price approaches—your choice).
• On each add fill, ratchet the catastrophic stop for the entire position to Last-Add − 2×N (the script and HUD show Proj Stop if Add so you know where it will land). Never move it lower.
Pro tip: If your broker supports OTO/OTOCO:
• OTO parent = Entry stop-limit.
• On fill, fire an OCO with the N2 stop (no target), and also stage child stop-limits for Add-1 / Add-2 / Add-3 with the correct sizes. If your broker can’t chain that deep, just use the script’s alerts (Entry/Add-1/Add-2/Add-3/Exits) to place/adjust orders quickly.
4) Exits (two layers)
• Catastrophic (always on): the N2 stop you’re ratcheting (Last-Add − 2×N).
• Trend exits (runner):
• S1: 10-low close (HUD shows it).
• S2: 20-low close (HUD shows it).
• Profit-taking (optional): sell ~50% at +2.5R to +3R vs current N2; let the runner trail with 10-low/20-low. You can keep N2 as a hard backstop.
5) Should you pre-set everything or buy live?
Both work; pick the style that fits you:
Preset (Turtle-pure, rules-based)
• ✅ You won’t miss the breakout; minimal discretion.
• ✅ Broker handles fills even if you’re away.
• ⚠️ You may get the occasional intraday “poke” (use confirmClose + place after close if you want fewer).
Buy on break manually
• ✅ Lets you check tape/volume or any extra gates before clicking.
• ⚠️ Higher chance of slippage or of simply missing the trigger.
A nice hybrid: place the Entry order, then arm Add-1/2/3 when price is nearing each rung and the HUD shows Suggested AddShares > 0 (green risk read).
⸻
6) Quick checklist per trade
1. System: S1 or S2?
2. Levels: Entry / Add-1 / Add-2 / Add-3 / 10-low / 20-low / N2 (rounded).
3. Sizing: confirm RiskCap/PosCap; HUD shows Suggested AddShares and limiter.
4. Orders:
• Parent Entry stop-limit.
• N2 stop (rounded).
• Stage adds (stop-limits) with sizes from HUD.
5. On fill: ratchet stop to Last-Add − 2×N; adjust remaining adds and sizes.
⸻
7) Example with your MU position (pattern)
• You’re already in: set entryQty and entryPman in the inputs to match your fill.
• HUD now focuses on Next Rung, Suggested AddShares, and Proj Stop if Add.
• If Suggested AddShares = 0 and limiter says RiskCap or PosCap, you’ll still see the next rung price and Proj Stop if Add so you can decide whether to override.
⸻
Bottom line
• Entry: buy the Donchian breakout + 0.1N with a stop-limit (Turtle style).
• Adds: only at +0.5N steps, sized by HUD; not on every future Donchian break.
• Stops: keep (and ratchet) the N2 catastrophic; trail runner on 10-low / 20-low.
If you want, tell me your broker/platform and I’ll map this to exact order ticket types (stop-limit/OTO/OCO) and a tiny checklist you can keep next to your screen.
Penguin Volatility State StrategyThe Penguin Volatility State Strategy is a comprehensive technical analysis framework designed to identify the underlying "state" or "regime" of the market. Instead of just providing simple buy or sell signals, its primary goal is to classify the market into one of four distinct states by combining trend, momentum, and volatility analysis.
The core idea is to trade only when these three elements align, focusing on periods of volatility expansion (a "squeeze breakout") that occur in the direction of a confirmed trend and are supported by strong momentum.
Key Components
The strategy is built upon two main engines
The Volatility Engine (Bollinger Bands vs. Keltner Channels)
This engine detects periods of rapidly increasing volatility. It measures the percentage difference (diff) between the upper bands of Bollinger Bands (which are based on standard deviation) and Keltner Channels (based on Average True Range). During a volatility "squeeze," both bands are close. When price breaks out, the Bollinger Band expands much faster than the Keltner Channel, causing the diff value to become positive. A positive diff signals a volatility breakout, which is the moment the strategy becomes active.
The Trend & Momentum Engine (Multi-EMA System)
This engine determines the market's direction and strength. It uses:
A Fast EMA (e.g., 12-period) and a Slow EMA (e.g., 26-period): The crossover of these two moving averages defines the primary, underlying trend (similar to a MACD).
An Ultra-Fast EMA (e.g., 2-period of ohlc4): This is used to measure the immediate, short-term momentum of the price.
The Four Market States
By combining the Trend and Momentum engines, the strategy categorizes the market into four visually distinct states, represented by the chart's background color. This is the most crucial aspect of the system.
💚 Green State: Strong Bullish
The primary trend is UP (Fast EMA > Slow EMA) AND the immediate momentum is STRONG (Price > Fast EMA).
Interpretation: This represents a healthy, robust uptrend where both the underlying trend and short-term price action are aligned. It is considered the safest condition for taking long positions.
❤️ Red State: Strong Bearish
Condition: The primary trend is DOWN (Fast EMA < Slow EMA) AND the immediate momentum is WEAK (Price < Fast EMA).
Interpretation: This represents a strong, confirmed downtrend. It is considered the safest condition for taking short positions.
💛 Yellow State: Weakening Bullish / Pullback
Condition: The primary trend is UP (Fast EMA > Slow EMA) BUT the immediate momentum is WEAK (Price < Fast EMA).
Interpretation: This is a critical warning signal for bulls. While the larger trend is still up, the short-term price action is showing weakness. This could be a minor pullback, a period of consolidation, or the very beginning of a trend reversal. Caution is advised.
💙 Blue State: Weakening Bearish / Relief Rally
Condition: The primary trend is DOWN (Fast EMA < Slow EMA) BUT the immediate momentum is STRONG (Price > Fast EMA).
Interpretation: This signals that a downtrend is losing steam. It often represents a short-covering rally (a "bear market rally") or the first potential sign of a market bottom. Bears should be cautious and consider taking profits.
How the Strategy Functions
The strategy uses these four states as its foundation for making trading decisions. The entry and exit arrows (Long, Short, Close) are generated based on a set of rules that can be customized by the user. For instance, a trader can configure the strategy to
Only take long trades during the Green State.
Require a confirmed volatility breakout (diff > 0) before entering a trade.
Use the "RSI on Diff" indicator to ensure that the breakout is supported by accelerating momentum.
Summary
In essence, the Penguin Volatility State Strategy provides a powerful "dashboard" for viewing the market. It moves beyond simple indicators to offer a contextual understanding of price action. By waiting for the alignment of Trend (the State), Volatility (the Breakout), and Momentum (the Acceleration), it helps traders to identify higher-probability setups and, just as importantly, to know when it is better to stay out of the market.
License / disclaimer
© waranyu.trkm — MIT License. Educational use only; not financial advice.
Dynamic Swing Anchored VWAP STRAT (Zeiierman/PineIndicators)Dynamic Swing Anchored VWAP STRATEGY — Zeiierman × PineIndicators (Pine Script v6)
A pivot-to-pivot Anchored VWAP strategy that adapts to volatility, enters long on bullish structure, and closes on bearish structure. Built for TradingView in Pine Script v6.
Full credits to zeiierman.
Repainting notice: The original indicator logic is repainting. Swing labels (HH/HL/LH/LL) are finalized after enough bars have printed, so labels do not occur in real time. It is not possible to execute at historical label points. Treat results as educational and validate with Bar Replay and paper trading before considering any discretionary use.
Concept
The script identifies swing highs/lows over a user-defined lookback ( Swing Period ). When structure flips (most recent swing low is newer than the most recent swing high, or vice versa), a new regime begins.
At each confirmed pivot, a fresh Anchored VWAP segment is started and updated bar-by-bar using an EWMA-style decay on price×volume and volume.
Responsiveness is controlled by Adaptive Price Tracking (APT) . Optionally, APT auto-adjusts with an ATR ratio so that high volatility accelerates responsiveness and low volatility smooths it.
Longs are opened/held in bullish regimes and closed when the regime turns bearish. No short positions are taken by design.
How it works (under the hood)
Swing detection: Uses ta.highestbars / ta.lowestbars over prd to update swing highs (ph) and lows (pl), plus their bar indices (phL, plL).
Regime logic: If phL > plL → bullish regime; else → bearish regime. A change in this condition triggers a re-anchor of the VWAP at the newest pivot.
Adaptive VWAP math: APT is converted to an exponential decay factor ( alphaFromAPT ), then applied to running sums of price×volume and volume, producing the current VWAP estimate.
Rendering: Each pivot-anchored VWAP segment is drawn as a polyline and color-coded by regime. Optional structure labels (HH/HL/LH/LL) annotate the swing character.
Orders: On bullish flips, strategy.entry("L") opens/maintains a long; on bearish flips, strategy.close("L") exits.
Inputs & controls
Swing Period (prd) — Higher values identify larger, slower swings; lower values catch more frequent pivots but add noise.
Adaptive Price Tracking (APT) — Governs the VWAP’s “half-life.” Smaller APT → faster/closer to price; larger APT → smoother/stabler.
Adapt APT by ATR ratio — When enabled, APT scales with volatility so the VWAP speeds up in turbulent markets and slows down in quiet markets.
Volatility Bias — Tunes the strength of APT’s response to volatility (above 1 = stronger effect; below 1 = milder).
Style settings — Colors for swing labels and VWAP segments, plus line width for visibility.
Trade logic summary
Entry: Long when the swing structure turns bullish (latest swing low is more recent than the last swing high).
Exit: Close the long when structure turns bearish.
Position size: qty = strategy.equity / close × 5 (dynamic sizing; scales with account equity and instrument price). Consider reducing the multiplier for a more conservative profile.
Recommended workflow
Apply to instruments with reliable volume (equities, futures, crypto; FX tick volume can work but varies by broker).
Start on your preferred timeframe. Intraday often benefits from smaller APT (more reactive); higher timeframes may prefer larger APT (smoother).
Begin with defaults ( prd=50, APT=20 ); then toggle “Adapt by ATR” and vary Volatility Bias to observe how segments tighten/loosen.
Use Bar Replay to watch how pivots confirm and how the strategy re-anchors VWAP at those confirmations.
Layer your own risk rules (stops/targets, max position cap, session filters) before any discretionary use.
Practical tips
Context filter: Consider combining with a higher-timeframe bias (e.g., daily trend) and using this strategy as an entry timing layer.
First pivot preference: Some traders prefer only the first bullish pivot after a bearish regime (and vice versa) to reduce whipsaw in choppy ranges.
Deviations: You can add VWAP deviation bands to pre-plan partial exits or re-entries on mean-reversion pulls.
Sessions: Session-based filters (RTH vs. ETH) can materially change behavior on futures and equities.
Extending the script (ideas)
Add stops/targets (e.g., ATR stop below last swing low; partial profits at k×VWAP deviation).
Introduce mirrored short logic for two-sided testing.
Include alert conditions for regime flips or for price-VWAP interactions.
Incorporate HTF confirmation (e.g., only long when daily VWAP slope ≥ 0).
Throttle entries (e.g., once per regime flip) to avoid over-trading in ranges.
Known limitations
Repainting: Swing labels and pivot confirmations depend on future bars; historical labels can look “perfect.” Treat them as annotations, not executable signals.
Execution realism: Strategy includes commission and slippage fields, yet actual fills differ by venue/liquidity.
No guarantees: Past behavior does not imply future results. This publication is for research/education only and not financial advice.
Defaults (backtest environment)
Initial capital: 10,000
Commission value: 0.01
Slippage: 1
Overlay: true
Max bars back: 5000; Max labels/polylines set for deep swing histories
Quick checklist
Add to chart and verify that the instrument has volume.
Use defaults, then tune APT and Volatility Bias with/without ATR adaptation.
Observe how each pivot re-anchors VWAP and how regime flips drive entries/exits.
Paper trade across several symbols/timeframes before any discretionary decisions.
Attribution & license
Original indicator concept and logic: Zeiierman — please credit the author.
Strategy wrapper and publication: PineIndicators .
License: CC BY-NC-SA 4.0 (Attribution-NonCommercial-ShareAlike). Respect the license when forking or publishing derivatives.
APC – Anti-Analysis-Paralysis Kompass APC – Anti-Analysis-Paralysis Compass (Pine v5).
Research/education indicator that compresses trend from 5 timeframes into one compass with Direction, Score, and Coherence (TF agreement). Non-repainting with a high-contrast breakdown table and in-chart help. No financial advice.
What it is
APC is a research/education tool that condenses trend information from five timeframes into a single compass. It shows Direction (↑/↓/→), a weighted Score, and Coherence (how strongly timeframes agree). The script is non-repainting (security(..., lookahead=off)) and includes a readable breakdown panel and example alerts.
How it works
• For each timeframe APC fits a linear regression to price, measures the slope change over k bars, optionally normalizes by ATR%, then maps it to +1 / 0 / −1 using a Deadzone (small slopes → neutral).
• A (weighted) sum of the five signs forms the Score.
• Coherence = |Score| / maxScore (0–100%), i.e., degree of TF alignment.
Quick start (suggested defaults)
• Timeframes: 15m · 1h · 4h · 1D · 1W • Weights: 1, 1, 1, 1.5, 2
• LinReg length: 100 • Slope Δ window: 10
• ATR normalization: ON • Deadzone: 0.03–0.05
• Coherence lock (for example alerts): 60%
Example research filters (non-advisory)
Many users test: Bullish bias when Score ≥ +3 and Coherence ≥ 60%; bearish bias when Score ≤ −3 and Coherence ≥ 60%. These are illustrative defaults only—configure and test your own thresholds.
Optional: pair with Kagi
Use APC for bias/conviction and Kagi turns for timing. Typical Kagi (swing): base 15m–1h, reversal ATR(14) × 1.5–2.5 or 1–3%.
Notes
Raise Deadzone in choppy markets; lower it for earlier flips. On very illiquid or young symbols, lengthen lenLR.
Disclaimer
APC is a research & educational indicator. It does not provide financial advice or recommendations. Use at your own risk. License: MIT.
Bullish & Bearish Once Bar PainterThe Bullish & Bearish First Bar Marker is a simple yet powerful indicator designed to highlight the first bullish and bearish bars in a sequence, helping traders identify key momentum shifts in the market. It marks:Bullish Bars: The first bar where the high and low are both higher than the previous bar (high > high and low > low ), painted green with a "Bullish" label.
Bearish Bars: The first bar where the high and low are both lower than the previous bar (high < high and low < low ), painted red with a "Bearish" label.
To avoid clutter, consecutive bullish or bearish bars are not marked until a non-bullish or non-bearish bar resets the sequence. This makes it ideal for spotting the start of strong upward or downward price movements.
TCI Key Institutional Levels v2.0This script is a modified version of the Smart Money Concepts (SMC) framework originally published by LuxAlgo here: Smart Money Concepts – LuxAlgo
.
All credit and ownership of the original code goes to LuxAlgo.
Original indicator Credits:
The purpose of this publication is not to copy-paste the LuxAlgo indicator, but to present a modified version adapted in line with the concepts taught by Trading Cafe India (TCI).
These modifications include adjustments and refinements to better reflect the methodology followed by TCI, while still acknowledging the foundation laid by LuxAlgo.
⚠️ Important Notes:
This script is not an official LuxAlgo product.
This script is not an official TCI product.
This pretty much aligns with the TCI theory.
It is an independent, educational adaptation created for users who wish to see SMC concepts in the context of TCI-style modifications.
The modifications are original contributions and the script has been republished with the intention of providing additional learning value to the TradingView community.
By publishing this indicator, I fully respect and acknowledge the original author (LuxAlgo), while making clear that the changes applied are my own interpretation of SMC principles influenced by TCI’s teachings.
🔧 Key Functionalities & Modifications
Market Structure Labels
The standard Break of Structure (BOS) is now presented as Breaker, aligning with TCI’s interpretation.
The standard Change of Character (CHoCH) is now presented as Trap, reflecting how false moves and liquidity traps are often observed in Indian indices like Nifty & Bank Nifty.
Order Block & Liquidity Concepts
Retains core order block, supply-demand, and liquidity zone logic from the SMC framework.
Visuals and labels have been adjusted for easier interpretation by intraday traders in Indian markets.
Custom Adaptation for Indian Audience
Naming conventions and alerts have been optimized so beginners and experienced traders in India can relate to the terminology taught by TCI.
Chart annotations have been simplified to reduce clutter, making it more practical for real-time option trading and scalping strategies.
ICT Daily 50% RangeThis indicator marks out the 50% daily range, ideal as Support & Resistance and for ICT Trading.
Euler-Lagrange Bands [AGP] Ver.1.0Euler-Lagrange Bands : A Modern Approach to Volatility and Trend Analysis
indicator is an innovative technical analysis tool that uses a Kalman Filter to create dynamic and price-sensitive volatility bands. Unlike traditional Bollinger Bands or Keltner Channels, which rely on moving averages, this approach applies advanced engineering and mathematical principles to intelligently smooth price data. This reduces market noise and provides a clearer view of an asset's boundaries and its fair value.
Key Features
Dynamic and Smoothed Bands: The upper and lower bands adapt in real time to market volatility, offering a fluid and precise channel for identifying overbought and oversold zones.
"Fair Value" Midpoint: The indicator calculates and displays a midpoint that serves as a "fair value" reference. This is crucial for assessing whether the current price is over- or undervalued.
Multidimensional Analysis: It integrates with RSI and volume analysis to provide a comprehensive market view. The floating RSI and volume labels change color, offering quick and effective visual alerts.
Clear Visual Signals: The indicator draws shapes on the chart to mark band crosses, potential reversals, and trend confirmations. Additionally, the candlestick color changes to indicate whether the price is above or below the midpoint.
Real-Time Information Panel: A table in the top corner displays the exact values of the bands and the midpoint, giving you all the crucial information at a glance without cluttering the chart. The table's cell colors also change to alert you to price crosses.
Logic and Adjustments
The elb_process_noise and elb_measurement_noise values are fixed in this code to optimize band performance.
The only parameter the user can change from the indicator's settings in TradingView is length_periods, which allows for adjusting the bands' lookback period without altering the algorithm's sophisticated filtering logic.
The default values have been selected to provide an optimal balance between the indicator's stability and responsiveness, aiming to avoid false signals and ensure accurate market tracking.
How to Use It
This indicator is ideal for traders looking for a more sophisticated alternative to conventional volatility bands. It can be used to:
Identify an asset's price range.
Detect potential reversals when the price reaches or crosses the bands.
Confirm trend strength with volume and RSI analysis.
Make decisions based on the price's relationship to its "Fair Value."
Disclaimer
WARNING: This indicator is provided for educational and technical analysis purposes only. It does not constitute, and should not be interpreted as, financial advice. The buying and selling of financial instruments involve significant risk, and losses may exceed deposits. The past performance of any indicator or strategy is not a guarantee of future results. Users must conduct their own research, exercise due diligence, and consider their personal financial situation before making any investment decisions. The code's creator is not responsible for any losses or damages that may arise from the use of this indicator.