Volume-Gated Trend Ribbon [QuantAlgo]🟢 Overview
The Volume-Gated Trend Ribbon employs a selective price-updating mechanism that filters market noise through volume validation, creating a trend-following system that responds exclusively to significant price movements. The indicator gates price updates to moving average calculations based on volume threshold crossovers, ensuring that only bars with significant participation influence the trend direction. By interpolating between fast and slow moving averages to create a multi-layered visual ribbon, the indicator provides traders and investors with an adaptive trend identification framework that distinguishes between volume-backed directional shifts and low-conviction price fluctuations across multiple timeframes and asset classes.
🟢 How It Works
The indicator first establishes a dynamic baseline by calculating the simple moving average of volume over a configurable lookback period, then applies a user-defined multiplier to determine the significance threshold:
avgVol = ta.sma(volume, volPeriod)
highVol = volume >= avgVol * volMult
The gated price mechanism employs conditional updating where the close price is only captured and stored when volume exceeds the threshold. During low-volume periods, the indicator maintains the last qualified price level rather than tracking every minor fluctuation:
var float gatedClose = close
if highVol
gatedClose := close
Dual moving averages are calculated using the gated price input, with the indicator supporting various MA types. The fast and slow periods create the outer boundaries of the trend ribbon:
fastMA = volMA(gatedClose, close, fastPeriod)
slowMA = volMA(gatedClose, close, slowPeriod)
Ribbon interpolation creates intermediate layers by blending the fast and slow moving averages using weighted combinations, establishing a gradient effect that visually represents trend strength and momentum distribution:
midFastMA = fastMA * 0.67 + slowMA * 0.33
midSlowMA = fastMA * 0.33 + slowMA * 0.67
Trend state determination compares the fast MA against the slow MA, establishing bullish regimes when the faster average trades above the slower average and bearish regimes during the inverse relationship. Signal generation triggers on state transitions, producing alerts when the directional bias shifts:
bullish = fastMA > slowMA
longSignal = trendState == 1 and trendState != 1
shortSignal = trendState == -1 and trendState != -1
The visualization architecture constructs a three-tiered opacity gradient where the ribbon's core (between mid-slow and slow MAs) displays the highest opacity, the inner layer (between mid-fast and mid-slow) shows medium opacity, and the outer layer (between fast and mid-fast) presents the lightest fill, creating depth perception that emphasizes the trend center while acknowledging edge uncertainty.
🟢 How to Use This Indicator
▶ Long and Short Signals: The indicator generates long/buy signals when the trend state transitions to bullish (fast MA crosses above slow MA) and short/sell signals when transitioning to bearish (fast MA crosses below slow MA). Because these crossovers only reflect volume-validated price movements, they represent significant level of participation rather than random noise, providing higher-conviction entry signals that filter out false breakouts occurring on thin volume.
▶ Ribbon Width Dynamics: The spacing between the fast and slow moving averages creates the ribbon width, which serves as a visual proxy for trend strength and volatility. Expanding ribbons indicate accelerating directional movement with increasing separation between short-term and long-term momentum, suggesting robust trend development. Conversely, contracting ribbons signal momentum deceleration, potential trend exhaustion, or impending consolidation as the fast MA converges toward the slow MA.
▶ Preconfigured Presets: Three optimized parameter sets accommodate different trading styles and market conditions. Default provides balanced trend identification suitable for swing trading on daily timeframes with moderate volume filtering and responsiveness. Fast Response delivers aggressive signal generation optimized for intraday scalping on 1-15 minute charts, using lower volume thresholds and shorter moving average periods to capture rapid momentum shifts. Smooth Trend offers conservative trend confirmation ideal for position trading on 4-hour to weekly charts, employing stricter volume requirements and extended periods to filter noise and identify only the most robust directional moves.
▶ Built-in Alerts: Three alert conditions enable automated monitoring: Bullish Trend Signal triggers when the fast MA crosses above the slow MA confirming uptrend initiation, Bearish Trend Signal activates when the fast MA crosses below the slow MA confirming downtrend initiation, and Trend Change alerts on any directional transition regardless of direction. These notifications allow you to respond to volume-validated regime shifts without continuous chart monitoring.
▶ Color Customization: Six visual themes (Classic, Aqua, Cosmic, Ember, Neon, plus Custom) accommodate different chart backgrounds and display preferences, ensuring optimal contrast and visual clarity across trading environments. The adjustable fill opacity control (0-100%) allows fine-tuning of ribbon prominence, with lower opacity values create subtle background context while higher values produce bold trend emphasis. Optional bar coloring extends the trend indication directly to the price bars, providing immediate directional reference without requiring visual cross-reference to the ribbon itself.
Indicatori e strategie
PMax - Asymmetric MultipliersDescription: This script is an enhanced version of the popular PMax (Profit Maximizer) indicator, originally developed by KivancOzbilgic. It has been converted into a full strategy with advanced customization options for backtesting and trend following.
Key Features & Modifications:
Asymmetric ATR Multipliers: Unlike the standard version, this script allows you to set different ATR multipliers for Upper (Short/Resistance) and Lower (Long/Support) bands.
Default Upper: 1.5 (Tighter trailing for Short positions)
Default Lower: 3.0 (Wider trailing for Long positions to avoid whipsaws)
Expanded MA Types: Added HULL (HMA) and VAR (Variable Index Dynamic Average) options.
VAR is highly recommended for filtering out noise in ranging markets.
HULL is ideal for scalping and faster reactions.
Built-in Risk Management: A fixed 5% Stop Loss mechanism is integrated into the strategy. It protects your capital by closing positions if the price moves 5% against you, even if the trend hasn't reversed yet.
Visibility Fix: Solved the issue where the PMax line would disappear or start at zero in the initial bars.
How to Use:
Use the VAR MA type for trend following in volatile markets.
Adjust the "Stop Loss Percent" input to fit your risk appetite.
The strategy employs an "Always In" logic (Long/Short) but respects the hard Stop Loss.
Credits: Original PMax logic by KivancOzbilgic.
Trend Break Targets [MarkitTick]Trend Break Targets
Trend Break Targets is a technical analysis tool designed to assist traders in identifying trendline breakouts and projecting potential price targets based on market geometry. Unlike fully automated indicators that guess trendlines, this tool provides you with precise control by allowing you to manually Pivot Point the trendline to specific points in time, while automating the complex math of target projection and structure mapping.
Theoretical Basis & Concepts
This indicator is grounded in classic technical analysis principles found in foundational trading literature. It automates the following methodology:
Drawing a trend line between two key points to represent dynamic support or resistance.
Identifying a breakout when the price closes above or below this line, potentially signaling a change in trend.
Calculating a price target by measuring the vertical distance between the breakout line and the last high/low (pivot), then projecting that same distance in the direction of the breakout.
This concept is based on methods and "Measured Move" theories explained in classic books such as "Technical Analysis of Stock Trends" by Edwards & Magee, "Technical Analysis of the Financial Markets" by John Murphy, and in Thomas Bulkowski's Price Pattern Studies.
How It Works
Pivot Pointed Trendline Construction The script draws a trendline between two user-defined points in time (Start Date and End Date). It calculates the slope between these points and extends the line infinitely to the right, allowing you to define the exact structure (e.g., a resistance trendline on a wedge).
Breakout Detection The script monitors the "Price Source" (High, Low, or Close) relative to the extended trendline.
A Bullish Breakout (BC) occurs when the Close crosses above a bearish trendline.
A Bearish Breakout (BC) occurs when the Close crosses below a bullish trendline.
Dynamic Target Projection (The Math) Upon a confirmed breakout, the script automatically calculates three distinct targets by identifying the most significant "Swing Point" (Pivot) prior to the breakout.
Distance (D): The vertical distance between the Trendline and the Pivot Price at the specific bar where the pivot occurred.
Target 1 (T1): The Breakout Price +/- (Distance × 1.0). This represents a classic 1:1 measured move.
Target 2 (T2): The Breakout Price +/- (Distance × 1.618). Based on the Golden Ratio extension.
Target 3 (T3): The Breakout Price +/- (Distance × 2.618).
Market Structure (CHOCH) The script includes an optional Change of Character (CHOCH) module. This runs independently of the trendline logic, identifying local Swing Highs and Swing Lows based on the "Swing Detection Length." It plots dashed lines and labels to visualize immediate shifts in market structure.
How to Use This Tool
This is an interactive tool that requires user input to define the setup.
Identify a Setup: Locate a clear trend, wedge, or flag pattern on your chart.
Set Pivot Points: Go to the Indicator Settings. Input the exact Start Date and End Date corresponding to the two main touches of your trendline.
Monitor for Breakout: The script will extend the line. Wait for a "BC" label to appear.
Trade Management: Once "BC" prints, the T1, T2, and T3 lines will instantly render. These can be used as potential take-profit zones or areas to tighten stop-losses.
Settings & Configuration
Indicator Settings
Start/End Date: The timestamp Pivot Points for your trendline.
Price Source: Determines what price (High or Low) Pivot Points the line and triggers the breakout.
Pivot Left/Right: Adjusts the sensitivity for finding the "Pivot Before Break" used for target calculations.
Extend Target Line: How far forward the target lines are drawn.
Visual Style
Colors: Fully customizable colors for the Trendline, Breakout Labels, and each Target level (T1, T2, T3).
Gold Bullish Reversal
This analysis dissects a confirmed bullish reversal on Gold using a custom Trend Break system. The setup identifies a transition from a bearish corrective phase to bullish momentum, validated by a structural break and a geometric target projection.
Trend Identification (The Pivot Points) The descending white trendline serves as the primary dynamic resistance, defining the bearish correction.
Pivot Points: The line is drawn connecting two significant swing highs, marked by Label 1 and Label 2.
Logic: These points represent the "lower highs" characteristic of the previous downtrend. As long as price remained below this trajectory, the bearish bias was intact.
The Trigger: Breakout & Confirmation The transition occurs at the candle marked BC (Breakout Candle).
Breakout Criteria: The indicator logic dictates that a signal is only valid when the bar closes above the trendline. This filters out intraday wicks and ensures genuine buyer commitment.
CHOCH Confluence: Immediately following the breakout, a CHOCH (Change of Character) label appears. This signals a shift in market structure, indicating that the internal lower-high/lower-low sequence has been violated, adding probability to the reversal.
Target Projection: The Measured Move The vertical green lines (T1, T2) represent profit objectives derived from the depth of the prior move. The logic calculates the distance between the breakout line and the lowest pivot prior to the break.
T1 (Standard Target): This is a 1:1 projection of the pre-breakout volatility. We see price action initially stalling near this level, confirming it as a zone of interest.
T2 (Golden Ratio Extension): The second target is calculated as the initial distance multiplied by 1.618 (Fibonacci Golden Ratio). The chart shows the price rallying aggressively through T1 to tap the T2 zone, often considered an exhaustion or major take-profit level in harmonic extensions.
Conclusion Gold has successfully invalidated the 4-hour bearish trendline. The confluence of a confirmed close above resistance (BC) and a structural shift (CHOCH) provided a high-probability long setup. The price has now fulfilled the T2 (1.618) extension, suggesting traders should watch for consolidation or a reaction at this key Fibonacci resistance level.
Bearish Trendline Breakdown
The image displays a Bearish Trendline Breakdown on the Gold (XAUUSD) 4-hour chart. The indicator is actually functioning in "Low" mode here (connecting swing lows to form support), which triggers the bearish logic found in the code. Here is the step-by-step breakdown:
The Setup: Pivot Points & Trendline
Visual: The Blue Labels "1" and "2" connected by a white diagonal line.
Code Logic: These are the user-defined start and end points.
Pivot Point 1 (startDate): The starting pivot of the trendline.
Pivot Point 2 (endDate): The ending pivot.
Trendline: The code draws a line between these two points and extends it to the right (extend.right). In this specific image, the line acts as a Support Trendline.
The Trigger: Break Candle (BC)
Visual: The Red Label "BC" appearing just below the white trendline.
Code Logic: This is the execution signal. The code detects a "Down Break" (dnBreak) because the Price Source was likely set to "Low" and the candle's Close was lower than the Trendline Price at that specific bar (close < currLinePrice). This confirms the support level has been breached.
The Projection: Targets (T1 & T2)
Visual: The Green Labels "T1" and "T2" with dotted horizontal lines projected downward.
Code Logic: These are profit targets based on a "Measured Move."
Pivot Calculation: The script looks back for a recent "Pivot High" (the peak before the crash) to calculate the volatility/distance (dist) between that peak and the trendline.
T1 (Conservative): The price is projected downward by 1x that distance (currLinePrice - dist).
T2 (Extended): The price is projected downward by 1.618x that distance (Golden Ratio extension).
Market Context: CHOCH
Visual: The small Red/Orange "CHOCH" labels appearing above the price action.
Code Logic: This is a secondary confirmation system running independently of the trendline. It detects a Change of Character (structural shift). The red labels indicate a "Bearish CHOCH," meaning the price broke below a significant prior swing low (last_swing_low). This supports the bearish bias of the trendline break.
Disclaimer This tool is for educational and technical analysis purposes only. Breakouts can fail (fake-outs), and past geometric patterns do not guarantee future price action. Always manage risk and use this tool in conjunction with other forms of analysis.
Precision Trend ScalpingThis indicator is used specifically for heiken ashi candles. It indicates a reversal signal and only appears when a high volume doji candle forms and should develop in real time.
Sideways Zone Breakout 📘 Sideways Zone Breakout – Indicator Description
Sideways Zone Breakout is a visual market-structure indicator designed to identify low-volatility consolidation zones and highlight potential breakout opportunities when price exits these zones.
This indicator focuses on detecting periods where price trades within a tight range, often referred to as sideways or consolidation phases, and visually marks these zones directly on the chart for clarity.
🔍 Core Concept
Markets often spend time moving sideways before making a directional move.
This indicator aims to:
Detect price compression
Visually highlight the sideways zone
Signal when price breaks above or below the zone boundaries
Instead of predicting direction, it simply reacts to range expansion after consolidation.
⚙️ How the Indicator Works
1️⃣ Sideways Zone Detection
The indicator looks back over a user-defined number of candles
It calculates the highest high and lowest low within that window
If the total price range remains within a defined percentage of the current price, the market is considered sideways
This helps filter out trending and highly volatile conditions.
2️⃣ Visual Zone Representation
When a sideways condition is detected:
A clear price zone is drawn between the recent high and low
The zone is displayed using a soft gradient fill for better visibility
Outer borders are added to enhance zone clarity without cluttering the chart
This makes consolidation areas easy to spot at a glance.
3️⃣ Breakout Identification
Once a sideways zone is active:
A bullish breakout is marked when price closes above the upper boundary
A bearish breakout is marked when price closes below the lower boundary
Directional arrows and labels are plotted directly on the chart to indicate these events.
📊 Visual Elements Included
Sideways consolidation zones with gradient fill
Upper and lower zone boundaries
Buy and Sell arrows on breakout
Optional text labels for clear interpretation
All visuals are designed to remain lightweight and readable on any chart theme.
🔧 User Inputs
Sideways Lookback (candles): Controls how many past candles are used to define the range
Max Range % (tightness): Determines how tight the range must be to qualify as sideways
Adjusting these inputs allows users to adapt the indicator to different instruments and timeframes.
📈 Usage Guidelines
Can be applied to any market or timeframe
Works well as a context or confirmation tool
Best used alongside volume, trend, or risk management tools
Signals should be validated with proper trade planning
⚠️ Disclaimer
This indicator is provided as open-source for educational and analytical purposes only.
It does not generate trade recommendations or guarantee outcomes.
Market conditions vary, and users are responsible for their own trading decisions.
Auto Trend [theUltimator5]The Auto Trend indicator was designed to be a unique pattern detection indicator without the use of standard pivot point logic or high/low lines. It is a study in pattern detection by using iterative best-fit logic.
The indicator automatically identifies and draws trend channels by analyzing price action across configurable lookback periods. It finds optimal high and low trendlines that contain price movement, with a middle line marking the trend's center.
Key Features:
Automatic Pattern Detection - Intelligently searches for the best lookback period where price stays within the channel boundaries
Dual Pattern Modes - Choose between Short (20-66 bars) for quick patterns or Long (50-500 bars) for extended trends. Note - the long pattern is fully configurable and can be set anywhere up to 5000 bars.
Smart Caching - Optimized performance that only recalculates when necessary
Customizable Starting Point - Click directly on the chart to set where the trend channel begins
Flexible Lookback Range - Set minimum and maximum lookback periods to match your trading style
Visual Debugging - Optional label displays the active lookback period and violation count
How It Works:
The indicator divides the lookback period into thirds, finds the highest and lowest closes in the first and last thirds, then draws trendlines connecting these points. It can automatically search through different lookback periods to find the one with the fewest price violations (closes outside the channel).
Settings:
Use Auto Lookback - Enable automatic optimal lookback detection
Pattern Length - Short (faster, 1-bar increments) or Long (broader, 5-bar increments)
Min/Max Lookback - Define the search range for the Long pattern
Manual Lookback - Override auto-detection with a fixed period
Custom Colors - Personalize the high, low, and middle line colors
Starting Point - Select where the trend analysis begins
Use Cases:
Identify dominant trend channels across different timeframes
Spot potential support and resistance levels
Determine trend strength and consistency
Time entries and exits based on channel position
The indicator supports up to 5000 bars of historical data for comprehensive trend analysis.
Bollinger Bands Forecast with Signals (Zeiierman)█ Overview
Bollinger Bands Forecast with Signals (Zeiierman) extends classic Bollinger Bands into a forward-looking framework. Instead of only showing where volatility has been, it projects where the basis (midline) and band width are likely to drift next, based on recent trend and volatility behavior.
The projection is built from the measured slopes of the Bollinger basis, the standard deviation (or ATR, depending on the mode), and a volatility “breathing” component. On top of that, the script includes an optional projected price path that can be blended with a deterministic random walk, plus rejection signals to highlight failed band breaks.
█ How It Works
⚪ Bollinger Core
The script first computes standard Bollinger Bands using the selected Source, Length, and Multiplier:
Basis = SMA(Source, Length)
Band width = Multiplier × StDev(Source, Length)
Upper/Lower = Basis ± Width
This remains the “live” (non-forecast) structure on the chart.
⚪ Trend & Volatility Slope Estimation
To project forward, the indicator measures directional drift and volatility drift using linear regression differences:
Basis slope from the Bollinger basis
StDev slope from the Bollinger deviation
ATR slope for ATR-based projection mode
These slopes drive the forecast bands forward, reflecting the market’s recent directional and volatility regime.
⚪ Projection Engine (Forecast Bands)
At the last bar, the indicator draws projected basis, upper, and lower lines out to Forecast Bars. The projected basis can be:
Trend (straight linear projection)
Curved (ease-in/out transition toward projected endpoints)
Smoothed (extra smoothing on projected basis/width)
⚪ Price Path Projection + Optional Random Walk
In addition to projecting the bands, the script can draw a price forecast path made of a small number of zigzag swings.
Each swing targets a point offset from the projected basis by a multiple of the projected half-width (“width units”).
Decay gradually reduces swing size as the forecast deepens.
The Optional Random Walk Blend adds a deterministic drift component to the zigzag path. It’s not true randomness; it’s a stable pseudo-random sequence, so the drawing doesn’t jump around on refresh, while still adding “natural” variation.
⚪ Rejection Signals
Signals are based on failed attempts to break a band:
Bear Signal (Down): price tries to push above the upper band, then falls back inside, while still closing above the basis.
Bull Signal (Up): price tries to push below the lower band, then returns back inside, while still closing below the basis.
█ How to Use
⚪ Forward Support/Resistance Corridors
Treat the projected upper/lower bands as a future volatility envelope, not a guarantee:
The upper projection ≈ is likely a resistance level if the regime persists
The lower projection ≈ is likely a support level if the regime persists
Best used for trade planning, targets, and “where price could travel” under similar conditions.
⚪ Regime Read: Trend + Volatility
The projection shape is informative:
Rising basis + expanding width → trend with increasing volatility (needs wider stops / more caution)
Flat basis + compressing width → contraction regime (often precedes expansion)
⚪ Signals for Mean-Reversion / Failed Breakouts
The rejection markers are useful for fade-style setups:
A Down signal near/after upper-band failure can imply rotation back toward the basis.
An Up signal near/after lower-band failure can imply snap-back toward the basis.
With MA filtering enabled, signals are constrained to align with the broader bias, helping reduce chop-driven noise.
█ Related Publications
Donchian Predictive Channel (Zeiierman)
█ Settings
⚪ Bollinger Band
Controls the live Bollinger Bands on the chart.
Source – Price used for calculations.
Length – Lookback period; higher = smoother, lower = more reactive.
Multiplier – Bandwidth; higher = wider bands, lower = tighter bands.
⚪ Forecast
Controls the forward projection of the Bollinger Bands.
Forecast Bars – How far into the future the bands are projected.
Trend Length – Lookback used to estimate trend and volatility slopes.
Forecast Band Mode – Defines projection behavior (linear, curved, breathing, ATR-based, or smoothed).
⚪ Price Forecast
Controls the projected price path inside the bands.
ZigZag Swings – Number of projected oscillations.
Amplitude – Distance from basis, measured in bandwidth units.
Decay – Shrinks swings further into the forecast.
⚪ Random-Walk
Adds controlled randomness to the price path.
Enable – Toggle random-walk influence.
Blend – Strength of randomness vs. zigzag.
Step Size – Size of random steps (band-width units).
Decay – Reduces randomness as the forecast deepens.
Seed – Changes the (stable) random sequence.
⚪ Signals
Controls rejection/mean-reversion signals.
Show Signals – Enable/disable signal markers.
MA Filter (Type/Length) – Filters signals by trend direction.
-----------------
Disclaimer
The content provided in my scripts, indicators, ideas, algorithms, and systems is for educational and informational purposes only. It does not constitute financial advice, investment recommendations, or a solicitation to buy or sell any financial instruments. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
SuperTrend Long/Short Signals With Fibonacci“By using the updated version of the previously published indicator with a Fibonacci extension, you can obtain multiple take-profit levels and make profitable trades.
Wishing you plenty of profits.
ORB Strategy + Backtesting (fixed timestamp) - Lines Adjusted⚡ ORB Strategy + Backtesting (Pine Script v5)
This script implements a complete Opening Range Breakout (ORB) strategy, featuring built-in backtesting, advanced TP/SL visualization, full style customization, and a performance dashboard. It is designed for traders who want to clearly evaluate breakout performance directly on the chart.
🕑 ORB Window Configuration
🔹 Session selection: choose between Market Timezone or Custom Session.
🔹 Timezone support: configurable from UTC-8 to UTC+12.
🔹 Daily limit: option to allow only one trade per day.
🔹 Risk/Reward (RR) settings:
Configurable TP1, TP2, and TP3 levels.
Stop Loss calculated dynamically from the ORB range.
📊 Backtesting Engine
🔹 Interactive dashboard showing trades, wins, losses, and win rate.
🔹 Adjustable partial exits for each TP (TP1, TP2, TP3).
🔹 Automatic calculation of percentage-based profit and loss.
🔹 Tracks total trades, total profit, and average profit per trade.
🎨 Visual Customization
🔹 Fully customizable colors:
ORB high/low lines and range fill.
Buy/Sell entry labels.
TP and SL lines with background zones.
🔹 Line style and thickness options (solid, dotted, dashed).
🔹 Visibility controls for each TP/SL level.
🔹 Clear profit and loss zones drawn directly on the chart.
🚀 Trading Logic
🔹 LONG entries: triggered when price breaks above the ORB high.
🔹 SHORT entries: triggered when price breaks below the ORB low.
🔹 Automatic calculation of Stop Loss and TP1, TP2, TP3 based on ORB range and RR.
🔹 Customizable BUY / SELL labels displayed at entry.
✅ TP / SL Detection
🔹 Real-time detection of TP1, TP2, TP3, and SL hits.
🔹 Prevents double counting of the same level.
🔹 Extended TP/SL lines with shaded zones for better clarity.
📈 Backtesting Dashboard
🔹 Displayed in the top-right corner of the chart.
🔹 Shows:
Total trades
Wins / Losses
Win rate (%)
Total profit (%)
Average profit per trade
🔹 Fully customizable panel color.
✨ Summary
This script combines:
Opening Range detection
Breakout trading logic with advanced risk management
Professional-grade visualizations
Integrated historical performance tracking
High customization for sessions, styles, and colors
💡 Ideal for traders who want to trade ORB setups with clarity, structure, and measurable results.
Index & Stock Options Reference Tool-(ISORT) [Arjo]The Index & Stock Options Reference Tool-(ISORT) is an indicator that helps users observe price trend direction together with commonly used option strike levels for selected indices and stocks in Indian market .
The indicator integrates a smoothed trend framework with structured option-related data to help users observe how price direction aligns with commonly referenced option strike levels .
It does not generate trading signals, does not provide buy or sell recommendations, and does not evaluate profitability .
Key Features
1. Trend Context Engine
Uses a Super-Smoother filter combined with EMA smoothing
Highlights directional context through color-based trend states
Designed to reduce short-term noise
2. Dynamic ATM & Strike Reference
Automatically computes ATM strike and offset strike levels to select OTM strike
Strike intervals adapt to the selected index or stock
Supports both NSE and BSE instruments, including SENSEX
3. Expiry Awareness
User-selectable expiry date inputs
Displays a visual warning if the selected expiry has already passed
Helps avoid referencing outdated option contracts
4. Option Price Reference Panel
Displays last observed CALL and PUT prices (when available)
Allows optional manual entry values for analytical comparison
All price values are shown strictly as references
5. Informational Table Overlay
Customizable on-chart table layout
Displays strike, timestamp, price reference, and arithmetic P&L values
Table values are informational only, not predictive or advisory
How to Use
1. Select the Underlying Instrument
Choose whether to reference the current chart symbol or a custom index/stock from the input settings
Supported instruments include major NSE indices, selected stocks, and SENSEX
2. Configure Expiry Parameters
Enter the option expiry date using the Day, Month, and Year inputs
If an expired date is selected, the indicator will display a visual warning
This helps ensure option references remain time-relevant
3. Observe Trend Context
The smoothed trend line provides directional context only
Color changes reflect shifts in price structure, not trade instructions
This trend is intended for contextual analysis, not timing entries
4. Review Strike References
The indicator automatically calculates ATM and offset strike levels
Strike spacing adjusts based on the selected index or stock
These values serve as reference levels commonly observed in options markets
5. Interpret the Information Table
The on-chart table displays:
Strike level
Timestamp of the most recent context change
Last observed option price (when available)
Arithmetic price difference values
All values are informational references only and do not represent performance or outcomes
6. Optional Manual Inputs
Manual price fields can be used to compare external reference values
These inputs do not trigger signals or automated calculations
Important Notes
This indicator is not a trading system
It does not generate buy or sell signals
It does not provide financial or trading advice
It is intended for learning, observation, and market study
Disclaimer
This script is provided for educational and analytical purposes only. It does not constitute investment advice, trading advice. The author assumes no responsibility for decisions made using this indicator.
Happy Trading (Arjo)
Double&Triple Pattern[TS_Indie]📌 Description – Double & Triple Pattern Indicator
The Double & Triple Pattern Indicator is developed to help traders systematically and clearly identify Double Top, Double Bottom, Triple Top, and Triple Bottom chart patterns.
⚙️ Core Logic & Working Mechanism
The Double & Triple Pattern Indicator is built on the concept of price swing formation, based on the logic of Trend Entry_0 , which focuses on structured market analysis and price action behavior.
The indicator detects three main swing points (Swing 1, Swing 2, and Swing 3). A Fibonacci Box is then created using Swing A and Swing B as reference points to define the swing detection zone.
When all three swings remain inside the defined Fibonacci Box, the structure is considered a valid Price Action setup.
The indicator then plots key lines on the chart:
➩ Break Line – used to confirm the signal (confirmation)
➩ Cancel Line – used to invalidate the price action if price moves against the conditions
➛ When price breaks the Break Line , the structure is confirmed and a Pending Order is placed at Swing B , with the Stop Loss set at Swing 1.
➛ If price breaks the Cancel Line first, the price action structure is immediately invalidated.
⚙️ Fibonacci Entry Zone & Change SL Settings
➩ When Fibo Entry Zone is set to 0, the Pending Order is placed directly at Swing B.
➩ When the value is greater than 0, the Pending Order is calculated using Fibonacci levels drawn from Swing B to the Stop Loss level.
➩ Change SL allows switching the Stop Loss reference between Swing 1 and Swing A.
⚙️ Min & Max Control for Swing Size : xATR
When enabling Control Size Swing : xATR , the indicator filters Swing B based on the defined Min and Max range.
This allows traders to selectively test larger or smaller swing-based price actions , depending on their trading strategy.
⭐ Pending Order Cancellation Conditions
A Pending Order will be canceled under the following conditions:
1.A new Price Action signal appears on either the Buy or Sell side.
2.When Time Session is enabled, the Pending Order is canceled once price exits the selected session.
🕹 Order Management Rule
When there is an active open position, the indicator restricts the creation of new Pending Orders to prevent overlapping positions.
💡 Double Pattern Example
💡 Triple Pattern Example
⚠️ Disclaimer
This indicator is designed for technical analysis purposes only and does not constitute investment advice.
Users should apply proper risk management and make decisions at their own discretion.
🥂 Community Sharing
If you find parameter settings that work well or produce strong statistical results, feel free to share them with the community so we can improve and develop this indicator together.
Volatility Targeting: Single Asset [BackQuant]Volatility Targeting: Single Asset
An educational example that demonstrates how volatility targeting can scale exposure up or down on one symbol, then applies a simple EMA cross for long or short direction and a higher timeframe style regime filter to gate risk. It builds a synthetic equity curve and compares it to buy and hold and a benchmark.
Important disclaimer
This script is a concept and education example only . It is not a complete trading system and it is not meant for live execution. It does not model many real world constraints, and its equity curve is only a simplified simulation. If you want to trade any idea like this, you need a proper strategy() implementation, realistic execution assumptions, and robust backtesting with out of sample validation.
Single asset vs the full portfolio concept
This indicator is the single asset, long short version of the broader volatility targeted momentum portfolio concept. The original multi asset concept and full portfolio implementation is here:
That portfolio script is about allocating across multiple assets with a portfolio view. This script is intentionally simpler and focuses on one symbol so you can clearly see how volatility targeting behaves, how the scaling interacts with trend direction, and what an equity curve comparison looks like.
What this indicator is trying to demonstrate
Volatility targeting is a risk scaling framework. The core idea is simple:
If realized volatility is low relative to a target, you can scale position size up so the strategy behaves like it has a stable risk budget.
If realized volatility is high relative to a target, you scale down to avoid getting blown around by the market.
Instead of always being 1x long or 1x short, exposure becomes dynamic. This is often used in risk parity style systems, trend following overlays, and volatility controlled products.
This script combines that risk scaling with a simple trend direction model:
Fast and slow EMA cross determines whether the strategy is long or short.
A second, longer EMA cross acts as a regime filter that decides whether the system is ACTIVE or effectively in CASH.
An equity curve is built from the scaled returns so you can visualize how the framework behaves across regimes.
How the logic works step by step
1) Returns and simple momentum
The script uses log returns for the base return stream:
ret = log(price / price )
It also computes a simple momentum value:
mom = price / price - 1
In this version, momentum is mainly informational since the directional signal is the EMA cross. The lookback input is shared with volatility estimation to keep the concept compact.
2) Realized volatility estimation
Realized volatility is estimated as the standard deviation of returns over the lookback window, then annualized:
vol = stdev(ret, lookback) * sqrt(tradingdays)
The Trading Days/Year input controls annualization:
252 is typical for traditional markets.
365 is typical for crypto since it trades daily.
3) Volatility targeting multiplier
Once realized vol is estimated, the script computes a scaling factor that tries to push realized volatility toward the target:
volMult = targetVol / vol
This is then clamped into a reasonable range:
Minimum 0.1 so exposure never goes to zero just because vol spikes.
Maximum 5.0 so exposure is not allowed to lever infinitely during ultra low volatility periods.
This clamp is one of the most important “sanity rails” in any volatility targeted system. Without it, very low volatility regimes can create unrealistic leverage.
4) Scaled return stream
The per bar return used for the equity curve is the raw return multiplied by the volatility multiplier:
sr = ret * volMult
Think of this as the return you would have earned if you scaled exposure to match the volatility budget.
5) Long short direction via EMA cross
Direction is determined by a fast and slow EMA cross on price:
If fast EMA is above slow EMA, direction is long.
If fast EMA is below slow EMA, direction is short.
This produces dir as either +1 or -1. The scaled return stream is then signed by direction:
avgRet = dir * sr
So the strategy return is volatility targeted and directionally flipped depending on trend.
6) Regime filter: ACTIVE vs CASH
A second EMA pair acts as a top level regime filter:
If fast regime EMA is above slow regime EMA, the system is ACTIVE.
If fast regime EMA is below slow regime EMA, the system is considered CASH, meaning it does not compound equity.
This is designed to reduce participation in long bear phases or low quality environments, depending on how you set the regime lengths. By default it is a classic 50 and 200 EMA cross structure.
Important detail, the script applies regime_filter when compounding equity, meaning it uses the prior bar regime state to avoid ambiguous same bar updates.
7) Equity curve construction
The script builds a synthetic equity curve starting from Initial Capital after Start Date . Each bar:
If regime was ACTIVE on the previous bar, equity compounds by (1 + netRet).
If regime was CASH, equity stays flat.
Fees are modeled very simply as a per bar penalty on returns:
netRet = avgRet - (fee_rate * avgRet)
This is not realistic execution modeling, it is just a simple turnover penalty knob to show how friction can reduce compounded performance. Real backtesting should model trade based costs, spreads, funding, and slippage.
Benchmark and buy and hold comparison
The script pulls a benchmark symbol via request.security and builds a buy and hold equity curve starting from the same date and initial capital. The buy and hold curve is based on benchmark price appreciation, not the strategy’s asset price, so you can compare:
Strategy equity on the chart symbol.
Buy and hold equity for the selected benchmark instrument.
By default the benchmark is TVC:SPX, but you can set it to anything, for crypto you might set it to BTC, or a sector index, or a dominance proxy depending on your study.
What it plots
If enabled, the indicator plots:
Strategy Equity as a line, colored by recent direction of equity change, using Positive Equity Color and Negative Equity Color .
Buy and Hold Equity for the chosen benchmark as a line.
Optional labels that tag each curve on the right side of the chart.
This makes it easy to visually see when volatility targeting and regime gating change the shape of the equity curve relative to a simple passive hold.
Metrics table explained
If Show Metrics Table is enabled, a table is built and populated with common performance statistics based on the simulated daily returns of the strategy equity curve after the start date. These include:
Net Profit (%) total return relative to initial capital.
Max DD (%) maximum drawdown computed from equity peaks, stored over time.
Win Rate percent of positive return bars.
Annual Mean Returns (% p/y) mean daily return annualized.
Annual Stdev Returns (% p/y) volatility of daily returns annualized.
Variance of annualized returns.
Sortino Ratio annualized return divided by downside deviation, using negative return stdev.
Sharpe Ratio risk adjusted return using the risk free rate input.
Omega Ratio positive return sum divided by negative return sum.
Gain to Pain total return sum divided by absolute loss sum.
CAGR (% p/y) compounded annual growth rate based on time since start date.
Portfolio Alpha (% p/y) alpha versus benchmark using beta and the benchmark mean.
Portfolio Beta covariance of strategy returns with benchmark returns divided by benchmark variance.
Skewness of Returns actually the script computes a conditional value based on the lower 5 percent tail of returns, so it behaves more like a simple CVaR style tail loss estimate than classic skewness.
Important note, these are calculated from the synthetic equity stream in an indicator context. They are useful for concept exploration, but they are not a substitute for professional backtesting where trade timing, fills, funding, and leverage constraints are accurately represented.
How to interpret the system conceptually
Vol targeting effect
When volatility rises, volMult falls, so the strategy de risks and the equity curve typically becomes smoother. When volatility compresses, volMult rises, so the system takes more exposure and tries to maintain a stable risk budget.
This is why volatility targeting is often used as a “risk equalizer”, it can reduce the “biggest drawdowns happen only because vol expanded” problem, at the cost of potentially under participating in explosive upside if volatility rises during a trend.
Long short directional effect
Because direction is an EMA cross:
In strong trends, the direction stays stable and the scaled return stream compounds in that trend direction.
In choppy ranges, the EMA cross can flip and create whipsaws, which is where fees and regime filtering matter most.
Regime filter effect
The 50 and 200 style filter tries to:
Keep the system active in sustained up regimes.
Reduce exposure during long down regimes or extended weakness.
It will always be late at turning points, by design. It is a slow filter meant to reduce deep participation, not to catch bottoms.
Common applications
This script is mainly for understanding and research, but conceptually, volatility targeting overlays are used for:
Risk budgeting normalize risk so your exposure is not accidentally huge in high vol regimes.
System comparison see how a simple trend model behaves with and without vol scaling.
Parameter exploration test how target volatility, lookback length, and regime lengths change the shape of equity and drawdowns.
Framework building as a reference blueprint before implementing a proper strategy() version with trade based execution logic.
Tuning guidance
Lookback lower values react faster to vol shifts but can create unstable scaling, higher values smooth scaling but react slower to regime changes.
Target volatility higher targets increase exposure and drawdown potential, lower targets reduce exposure and usually lower drawdowns, but can under perform in strong trends.
Signal EMAs tighter EMAs increase trade frequency, wider EMAs reduce churn but react slower.
Regime EMAs slower regime filters reduce false toggles but will miss early trend transitions.
Fees if you crank this up you will see how sensitive higher turnover parameter sets are to friction.
Final note
This is a compact educational demonstration of a volatility targeted, long short single asset framework with a regime gate and a synthetic equity curve. If you want a production ready implementation, the correct next step is to convert this concept into a strategy() script, add realistic execution and cost modeling, test across multiple timeframes and market regimes, and validate out of sample before making any decision based on the results.
tejajmr01tejajmr01Scalping PRO: INSTITUTIONAL ULTIMATE (v3.6 Fixed Settings)3Scalping PRO: INSTITUTIONAL ULTIMATE (v3.6 Fixed Settings)33Scalping PRO: INSTITUTIONAL ULTIMATE (v3.6 Fixed Settings)3Scalping PRO: INSTITUTIONAL ULTIMATE (v3.6 Fixed Settings)33Scalping PRO: INSTITUTIONAL ULTIMATE (v3.6 Fixed Settings)Scalping PRO: INSTITUTIONAL ULTIMATE (v3.6 Fixed Settings)Scalping PRO: INSTITUTIONAL ULTIMATE (v3.6 Fixed Settings)Scalping PRO: INSTITUTIONAL ULTIMATE (v3.6 Fixed Settings)Scalping PRO: INSTITUTIONAL ULTIMATE (v3.6 Fixed Settings)Scalping PRO: INSTITUTIONAL ULTIMATE (v3.6 Fixed Settings)Scalping PRO: INSTITUTIONAL ULTIMATE (v3.6 Fixed Settings)Scalping PRO: INSTITUTIONAL ULTIMATE (v3.6 Fixed Settings)Scalping PRO: INSTITUTIONAL ULTIMATE (v3.6 Fixed Settings)Scalping PRO: INSTITUTIONAL ULTIMATE (v3.6 Fixed Settings)Scalping PRO: INSTITUTIONAL ULTIMATE (v3.6 Fixed Settings)Scalping PRO: INSTITUTIONAL ULTIMATE (v3.6 Fixed Settings)Scalping PRO: INSTITUTIONAL ULTIMATE (v3.6 Fixed Settings)Scalping PRO: INSTITUTIONAL ULTIMATE (v3.6 Fixed Settings)Scalping PRO: INSTITUTIONAL ULTIMATE (v3.6 Fixed Settings)Scalping PRO: INSTITUTIONAL ULTIMATE (v3.6 Fixed Settings)Scalping PRO: INSTITUTIONAL ULTIMATE (v3.6 Fixed Settings)Scalping PRO: INSTITUTIONAL ULTIMATE (v3.6 Fixed Settings)Scalping PRO: INSTITUTIONAL ULTIMATE (v3.6 Fixed Settings)Scalping PRO: INSTITUTIONAL ULTIMATE (v3.6 Fixed Settings)Scalping PRO: INSTITUTIONAL ULTIMATE (v3.6 Fixed Settings)Scalping PRO: INSTITUTIONAL ULTIMATE (v3.6 Fixed Settings)Scalping PRO: INSTITUTIONAL ULTIMATE (v3.6 Fixed Settings)Scalping PRO: INSTITUTIONAL ULTIMATE (v3.6 Fixed Settings)Scalping PRO: INSTITUTIONAL ULTIMATE (v3.6 Fixed Settings)Scalping PRO: INSTITUTIONAL ULTIMATE (v3.6 Fixed Settings)Scalping PRO: INSTITUTIONAL ULTIMATE (v3.6 Fixed Settings)Scalping PRO: INSTITUTIONAL ULTIMATE (v3.6 Fixed Settings)Scalping PRO: INSTITUTIONAL ULTIMATE (v3.6 Fixed Settings)Scalping PRO: INSTITUTIONAL ULTIMATE (v3.6 Fixed Settings)Scalping PRO: INSTITUTIONAL ULTIMATE (v3.6 Fixed Settings)Scalping PRO: INSTITUTIONAL ULTIMATE (v3.6 Fixed Settings)Scalping PRO: INSTITUTIONAL ULTIMATE (v3.6 Fixed Settings)Scalping PRO: INSTITUTIONAL ULTIMATE (v3.6 Fixed Settings)Scalping PRO: INSTITUTIONAL ULTIMATE (v3.6 Fixed Settings)Scalping PRO: INSTITUTIONAL ULTIMATE (v3.6 Fixed Settings)Scalping PRO: INSTITUTIONAL ULTIMATE (v3.6 Fixed Settings)Scalping PRO: INSTITUTIONAL ULTIMATE (v3.6 Fixed Settings)Scalping PRO: INSTITUTIONAL ULTIMATE (v3.6 Fixed Settings)
VEGA (Velocity of Efficient Gain Adaptation)VEGA (Velocity of Efficient Gain Adaptation)
VEGA is a momentum oscillator that measures the velocity of an efficiency-weighted adaptive moving average. Unlike traditional momentum indicators that react uniformly to all price movements, VEGA intelligently adapts its sensitivity based on market conditions—responding quickly during trending periods and filtering noise during consolidation.
--------------------------------
What Makes VEGA Different
Efficiency-Driven Adaptation
At its core, VEGA uses the Efficiency Ratio (ER) to distinguish between trending and choppy markets. When price moves efficiently in one direction, VEGA's underlying adaptive MA speeds up to capture the move. When price chops sideways, it slows down to avoid whipsaws. This creates a momentum reading that's inherently cleaner than fixed-period alternatives.
Linear Regression Smoothed Source
VEGA offers an optional LinReg-smoothed price source that blends regular candles with linear regression values. This pre-smoothing reduces noise before it ever enters the calculation, resulting in a histogram that's easier to read without sacrificing responsiveness. The mix ratio lets you dial in exactly how much smoothing you want.
Z-Score Normalization with Dead Zone
Rather than arbitrary oscillator bounds, VEGA normalizes output as standard deviations from the mean. This gives statistically meaningful levels: readings above +2σ or below -2σ represent genuinely extreme momentum. The configurable dead zone (with Snap, Soft Fade, or None modes) filters out insignificant movements near zero, keeping you focused on signals that matter.
--------------------------------
How It Works
1. Source Preparation — Price is smoothed via a LinReg/regular candle blend
2. Efficiency Ratio — Measures directional movement vs total movement over the lookback period
3. Adaptive MA — Applies variable smoothing based on efficiency (fast during trends, slow during chop)
4. Velocity — Calculates the rate of change of the adaptive MA
5. Normalization — Converts to Z-Score (standard deviations) or ATR-normalized percentage
6. Dead Zone — Optionally filters near-zero values to reduce noise
--------------------------------
How To Read VEGA
Signal and Interpretation
Histogram above zero | Bullish momentum
Histogram below zero | Bearish momentum
Bright color | Momentum accelerating
Faded color | Momentum decelerating
Beyond ±1σ bands | Above-average momentum
Beyond ±2σ bands | Extreme momentum (potential reversal zone)
Zero line cross*| Momentum shift
--------------------------------
Key Settings
ER Length — Lookback for efficiency ratio calculation. Higher = smoother, slower adaptation.
Fast/Slow Smoothing — Controls the adaptive MA's responsiveness range. The MA blends between these based on efficiency.
LinReg Settings — Enable smoothed candles and adjust the blend ratio (0 = regular candles, 1 = full LinReg, 0.5 = 50/50 mix).
Z-Score Lookback — Period for calculating mean and standard deviation. Shorter = more reactive normalization.
Dead Zone Type — How to handle near-zero values:
Snap — Hard cutoff to zero
Soft Fade — Gradual reduction toward zero
None — No filtering
Dead Zone Threshold — Values within this Z-Score range are affected by the dead zone setting.
VEGA works on any timeframe and any market. For best results, adjust the ER Length and LinReg settings to match your trading style and the volatility characteristics of your instrument.
Absorption BubblesSUMMARY
This indicator visualizes absorption events by plotting bubbles on candle wicks where volume activity suggests one side of the market is absorbing the other’s pressure. Instead of raw volume, the script normalizes activity against a rolling standard deviation defined by the Lookback Period. Bubbles appear on upper or lower wicks depending on whether buyers or sellers are absorbing pressure. The goal is to highlight whether aggressive orders are being accepted or absorbed at key price points.
METHODOLOGY
Absorption occurs when one side of the market absorbs aggressive orders from the other, preventing continuation. The script measures normalized volume against a user‑defined threshold to filter out weaker signals.
Green bubbles on upper wicks → Selling absorption (buyers push price up, sellers absorb the buying).
Red bubbles on lower wicks → Buying absorption (sellers push price down, buyers absorb the selling).
Red‑colored bars highlight candles where large volume is concentrated inside the body, signifying aggressive selling activity.
Green‑colored bars highlight candles where large volume is concentrated inside the body, signifying aggressive buying activity.
The Lookback Period controls how many bars are used to calculate the rolling standard deviation of volume, letting traders adjust sensitivity to recent vs. longer‑term activity. Optional significant volume lines extend forward, marking areas where absorption was strongest.
FUNCTIONS
Normalized volume detection using rolling standard deviation
Adjustable Lookback Period for volume normalization
Dynamic bubble plotting on candle wicks (size scales with absorption strength)
Separate visualization for buying vs. selling absorption
Alerts for buying absorption, selling absorption, or any absorption event (only at bar close)
Bar coloring when large absorption occurs inside candle bodies
APPLICATION
Setup: Add the script to any chart and timeframe. Adjust the Absorption Threshold to filter out weaker bubbles and the Lookback Period to control how volume normalization is calculated. Red bubbles highlight buying absorption, often signalling potential price pivots - price can often go upwards from this. Green bubbles mark selling absorption, reflecting resistance to upward moves - price may go downwards from this.
Interpretation:
Green bubbles on upper wicks = sellers absorbing buying pressure.
Red bubbles on lower wicks = buyers absorbing selling pressure.
Larger bubbles = stronger absorption relative to recent volume.
Settings & Use:
Raising the Absorption Threshold filters out smaller bubbles, leaving only significant absorption events.
Changing the Lookback Period alters how “normal” volume is defined — shorter periods make the script more sensitive, longer periods smooth out noise.
Alerts can be set for buying absorption, selling absorption, or any absorption event, and they only trigger at bar close to avoid noise.
Commodity Channel IndexThe Commodity Channel Index (CCI) is a technical indicator that measures the strength of the momentum in the market, it is calculated using a Moving average (default 20 SMA, users can change the legth and the type of the MA from dashboard) using formula: cci = (src - ma) / (0.015 * ta.dev(src, ccilength)).
When CCI is under -100 that indicates a strong downtrend, and above +100 level a strong uptrend, above 0 level a bullish trend start and bellow 0 level bearish momentum.
Crossing back above -100 and bellow + 100 levels not means it is a reversal of the trend, could be just a pullback or a bounce before trend continuation.
The indicator display on the main chart a color coded moving average with the length and type selected by users for CCI calculation.
The CCI Moving average and the CCI lines in oscillator are both color coded :
1. CCI and MA both red = > Bearish trend
2. CCI and MA both green = > Bullish trend
3. MA color turn yellow or the CCI turn blue that means a possible consolidation will be next or trend change.
4 type of Divergences are detected by the script Bullish, Bearish, Hidden Bullish and Hidden bearish divergences, users can setup alarms for them, by default the divergences ae not displayed, users need to select them to be displayed on the oscillator.
A table displaying the vurrent timeframe and 2 higher timeframes of the stats of CCI and its MA.
There are 13 alerts that users can setup akarms:
Alert for Regular Bullish Divergence
Alert for Hidden Bullish Divergence
Alert for Regular Bearish Divergence
Alert for Hidden Bearish Divergence
Alert for CCI Back Above -100
Alert for CCI Back Bellow 100
Alert for CCI Extreme Overbought
Alert for CCI Extreme Oversold
Alert for trend change by CCI MA => Moving Average Color turned to yellow, that means sideways or possible trend change
Alert for CCI Crossing Above CCI MA
Alert for CCI Crossing Bellow CCI MA
Alert for cci Crossing Above 0
Alert for CCI Crossing Bellow 0
USDT Market Cap Change [Alpha Extract]A sophisticated stablecoin market analysis tool that tracks USDT market capitalization changes across daily and 60-day periods with statistical normalization and gradient intensity visualization. Utilizing z-score methodology for overbought/oversold detection and dynamic color gradients reflecting change magnitude, this indicator delivers institutional-grade market liquidity assessment through stablecoin flow analysis. The system's dual-timeframe approach combined with statistical normalization provides comprehensive market sentiment measurement based on capital inflows and outflows from the dominant stablecoin.
🔶 Advanced Market Cap Tracking Framework
Implements daily USDT market capitalization monitoring with dual-period change calculations measuring both 1-day and 60-day net capital flows. The system retrieves real-time CRYPTOCAP:USDT data on daily timeframe resolution, calculating absolute dollar changes to quantify stablecoin supply expansion or contraction as primary market liquidity indicator.
// Core Market Cap Analysis
USDT = request.security("CRYPTOCAP:USDT", "D", close)
USDT_60D_Change = USDT - USDT
USDT_1D_Change = USDT - USDT
🔶 Dynamic Gradient Intensity System
Features sophisticated color gradient engine that intensifies visual representation based on change magnitude relative to recent extremes. The system normalizes current 60-day change against configurable lookback period maximum, applying gradient strength calculation to transition colors from neutral tones through progressively intense blues (negative) or reds (positive) based on flow direction and magnitude.
🔶 Statistical Z-Score Normalization Engine
Implements comprehensive z-score calculation framework that normalizes 60-day market cap changes using rolling mean and standard deviation for objective overbought/oversold determination. The system applies statistical normalization over configurable periods, enabling cross-temporal comparison and threshold-based regime identification independent of absolute market cap levels.
// Z-Score Normalization
Change_Mean = ta.sma(USDT_60D_Change, Normalization_Length)
Change_StdDev = ta.stdev(USDT_60D_Change, Normalization_Length)
Z_Score = Change_StdDev > 0 ? (USDT_60D_Change - Change_Mean) / Change_StdDev : 0.0
🔶 Multi-Tier Threshold Detection System
Provides four-level regime classification including standard overbought (+1.5σ), standard oversold (-1.5σ), extreme overbought (+2.5σ), and extreme oversold (-2.5σ) thresholds with configurable adjustment. The system identifies market liquidity extremes when stablecoin inflows or outflows reach statistically significant levels, indicating potential market turning points or trend exhaustion.
🔶 Dual-Timeframe Flow Visualization
Features layered area plots displaying both 60-day strategic flows and 1-day tactical movements with distinct color coding for instant flow direction assessment. The system overlays short-term daily changes on longer-term 60-day trends, enabling traders to identify divergences between tactical and strategic capital flows into or out of stablecoin reserves.
🔶 Gradient Color Psychology Framework
Implements intuitive color scheme where red gradients indicate capital inflow (bullish for crypto as USDT supply expands for buying) and blue gradients show capital outflow (bearish as USDT is redeemed). The intensity progression from pale to vivid colors communicates flow magnitude, with extreme colors signaling statistically significant liquidity events requiring attention.
🔶 Background Zone Highlighting System
Provides subtle background coloring when z-score breaches overbought or oversold thresholds, creating visual alerts without obscuring primary data. The system applies translucent red backgrounds during overbought conditions and blue during oversold states, enabling instant regime recognition across chart timeframes.
🔶 Configurable Normalization Architecture
Features adjustable gradient lookback and statistical normalization periods enabling optimization across different market cycles and trading timeframes. The system allows traders to calibrate sensitivity by modifying the window used for maximum change detection (gradient) and mean/standard deviation calculation (z-score), adapting to volatile or stable market regimes.
🔶 Market Liquidity Interpretation Framework
Tracks USDT supply changes as proxy for overall cryptocurrency market liquidity conditions, where expanding market cap indicates fresh capital entering crypto markets and contracting cap suggests capital flight. The system provides leading indicator properties as large stablecoin inflows often precede major market rallies while outflows may signal distribution phases.
🔶 Why Choose USDT Market Cap Change ?
This indicator delivers sophisticated stablecoin flow analysis through statistical normalization and gradient visualization of USDT market capitalization changes. Unlike traditional market sentiment indicators that rely on price action alone, this tool measures actual capital flows through the dominant stablecoin, providing objective assessment of market liquidity conditions. The combination of dual-timeframe tracking, z-score normalization for overbought/oversold detection, and intensity-based gradient coloring makes it essential for traders seeking macro-level market assessment and regime change detection across cryptocurrency markets. The indicator excels at identifying liquidity extremes that often precede major market reversals or trend accelerations.
Bottom & Top ReversalBottom & Top Reversal
Bottom Reversal (Bullish):
Opens gap down but recovers strongly
Makes new low but closes above previous close
Lime green arrow + label
Top Reversal (Bearish):
Opens gap up but fails
Makes new high but closes below previous close
Red arrow + label
Extra features:
Status table showing active patterns
Toggle each pattern on/off
Background highlights
Alert system
Liquidity Buy SignalLiquidity Buy Signal is an indicator designed to detect BUY entries based on liquidity (swing lows) combined with a bullish reversal candle pattern. It automatically marks recent swing-low zones/levels, tracks the transition from solid → dashed when a level gets broken, and then confirms a signal when price sweeps/cuts the correct level and a bullish candle pattern appears.
OANDA:EURUSD
BUY signal (green triangle) triggers when:
A bullish reversal candle pattern (based on a set of rules) is detected, and
The Liquidity chain conditions are satisfied using the most recent swing lows:
Price crosses the level with the lower wick, or
The level is within the lower 30% range of the previous candle (n-1), and
The level does not pass through the bodies of older candles (filtered by lookback).
Key settings:
Pivot Lookback: controls swing-low detection sensitivity.
Swing Area: Wick Extremity / Full Range for zone definition.
Filter lookback older bodies: filters out levels that intersect older candle bodies (skips n-2).
Style: toggle Swing Low display + zone/line colors.
Alerts:
Includes a built-in alertcondition for BUY signals (useful for notifications/webhooks).
This indicator is especially well-suited for identifying potential bottoms in a downtrend.
Note: This tool provides trading signals and should be combined with context (trend/HTF/volume/risk management) before entering trades. Not financial advice.
Razzere Cloned! EzAlgo V.8.1showBuySell = input(true, "Show Buy & Sell", group="BUY & SELL SIGNALS")
hassasiyet = input.float(3, "Hassasiyet (1-6)", 0.1, 99999, group="BUY & SELL SIGNALS")
percentStop = input.float(1, "Stop Loss % (0 to Disable)", 0, group="BUY & SELL SIGNALS")
offsetSignal = input.float(5, "Signals Offset", 0, group="BUY & SELL SIGNALS")
showRibbon = input(true, "Show Trend Ribbon", group="TREND RIBBON")
smooth1 = input.int(5, "Smoothing 1", 1, group="TREND RIBBON")
smooth2 = input.int(8, "Smoothing 2", 1, group="TREND RIBBON")
showreversal = input(true, "Show Reversals", group="REVERSAL SIGNALS")
showPdHlc = input(false, "Show P.D H/L/C", group="PREVIOUS DAY HIGH LOW CLOSE")
lineColor = input.color(color.yellow, "Line Colors", group="PREVIOUS DAY HIGH LOW CLOSE")
lineWidth = input.int(1, "Width Lines", group="PREVIOUS DAY HIGH LOW CLOSE")
lineStyle = input.string("Solid", "Line Style", )
labelSize = input.string("normal", "Label Text Size", )
labelColor = input.color(color.yellow, "Label Text Colors")
showEmas = input(false, "Show EMAs", group="EMA")
srcEma1 = input(close, "Source EMA 1")
lenEma1 = input.int(7, "Length EMA 1", 1)
srcEma2 = input(close, "Source EMA 2")
lenEma2 = input.int(21, "Length EMA 2", 1)
srcEma3 = input(close, "Source EMA 3")
lenEma3 = input.int(144, "Length EMA 3", 1)
showSwing = input(false, "Show Swing Points", group="SWING POINTS")
prdSwing = input.int(10, "Swing Point Period", 2, group="SWING POINTS")
colorPos = input(color.new(color.green, 50), "Positive Swing Color")
colorNeg = input(color.new(color.red, 50), "Negative Swing Color")
showDashboard = input(true, "Show Dashboard", group="TREND DASHBOARD")
locationDashboard = input.string("Middle Right", "Table Location", , group="TREND DASHBOARD")
tableTextColor = input(color.white, "Table Text Color", group="TREND DASHBOARD")
tableBgColor = input(#2A2A2A, "Table Background Color", group="TREND DASHBOARD")
sizeDashboard = input.string("Normal", "Table Size", , group="TREND DASHBOARD")
showRevBands = input.bool(true, "Show Reversal Bands", group="REVERSAL BANDS")
lenRevBands = input.int(30, "Length", group="REVERSAL BANDS")
// Fonksiyonlar
smoothrng(x, t, m) =>
wper = t * 2 - 1
avrng = ta.ema(math.abs(x - x ), t)
smoothrng = ta.ema(avrng, wper) * m
rngfilt(x, r) =>
rngfilt = x
rngfilt := x > nz(rngfilt ) ? x - r < nz(rngfilt ) ? nz(rngfilt ) : x - r : x + r > nz(rngfilt ) ? nz(rngfilt ) : x + r
percWidth(len, perc) => (ta.highest(len) - ta.lowest(len)) * perc / 100
securityNoRep(sym, res, src) => request.security(sym, res, src, barmerge.gaps_off, barmerge.lookahead_on)
swingPoints(prd) =>
pivHi = ta.pivothigh(prd, prd)
pivLo = ta.pivotlow (prd, prd)
last_pivHi = ta.valuewhen(pivHi, pivHi, 1)
last_pivLo = ta.valuewhen(pivLo, pivLo, 1)
hh = pivHi and pivHi > last_pivHi ? pivHi : na
lh = pivHi and pivHi < last_pivHi ? pivHi : na
hl = pivLo and pivLo > last_pivLo ? pivLo : na
ll = pivLo and pivLo < last_pivLo ? pivLo : na
f_chartTfInMinutes() =>
float _resInMinutes = timeframe.multiplier * (
timeframe.isseconds ? 1 :
timeframe.isminutes ? 1. :
timeframe.isdaily ? 60. * 24 :
timeframe.isweekly ? 60. * 24 * 7 :
timeframe.ismonthly ? 60. * 24 * 30.4375 : na)
f_kc(src, len, hassasiyet) =>
basis = ta.sma(src, len)
span = ta.atr(len)
wavetrend(src, chlLen, avgLen) =>
esa = ta.ema(src, chlLen)
d = ta.ema(math.abs(src - esa), chlLen)
ci = (src - esa) / (0.015 * d)
wt1 = ta.ema(ci, avgLen)
wt2 = ta.sma(wt1, 3)
f_top_fractal(src) => src < src and src < src and src > src and src > src
f_bot_fractal(src) => src > src and src > src and src < src and src < src
f_fractalize (src) => f_top_fractal(src) ? 1 : f_bot_fractal(src) ? -1 : 0
f_findDivs(src, topLimit, botLimit) =>
fractalTop = f_fractalize(src) > 0 and src >= topLimit ? src : na
fractalBot = f_fractalize(src) < 0 and src <= botLimit ? src : na
highPrev = ta.valuewhen(fractalTop, src , 0)
highPrice = ta.valuewhen(fractalTop, high , 0)
lowPrev = ta.valuewhen(fractalBot, src , 0)
lowPrice = ta.valuewhen(fractalBot, low , 0)
bearSignal = fractalTop and high > highPrice and src < highPrev
bullSignal = fractalBot and low < lowPrice and src > lowPrev
// Bileşen...
source = close
smrng1 = smoothrng(source, 27, 1.5)
smrng2 = smoothrng(source, 55, hassasiyet)
smrng = (smrng1 + smrng2) / 2
filt = rngfilt(source, smrng)
up = 0.0, up := filt > filt ? nz(up ) + 1 : filt < filt ? 0 : nz(up )
dn = 0.0, dn := filt < filt ? nz(dn ) + 1 : filt > filt ? 0 : nz(dn )
bullCond = bool(na), bullCond := source > filt and source > source and up > 0 or source > filt and source < source and up > 0
bearCond = bool(na), bearCond := source < filt and source < source and dn > 0 or source < filt and source > source and dn > 0
lastCond = 0, lastCond := bullCond ? 1 : bearCond ? -1 : lastCond
bull = bullCond and lastCond == -1
bear = bearCond and lastCond == 1
countBull = ta.barssince(bull)
countBear = ta.barssince(bear)
trigger = nz(countBull, bar_index) < nz(countBear, bar_index) ? 1 : 0
ribbon1 = ta.sma(close, smooth1)
ribbon2 = ta.sma(close, smooth2)
rsi = ta.rsi(close, 21)
rsiOb = rsi > 70 and rsi > ta.ema(rsi, 10)
rsiOs = rsi < 30 and rsi < ta.ema(rsi, 10)
dHigh = securityNoRep(syminfo.tickerid, "D", high )
dLow = securityNoRep(syminfo.tickerid, "D", low )
dClose = securityNoRep(syminfo.tickerid, "D", close )
ema1 = ta.ema(srcEma1, lenEma1)
ema2 = ta.ema(srcEma2, lenEma2)
ema3 = ta.ema(srcEma3, lenEma3)
= swingPoints(prdSwing)
ema = ta.ema(close, 144)
emaBull = close > ema
equal_tf(res) => str.tonumber(res) == f_chartTfInMinutes() and not timeframe.isseconds
higher_tf(res) => str.tonumber(res) > f_chartTfInMinutes() or timeframe.isseconds
too_small_tf(res) => (timeframe.isweekly and res=="1") or (timeframe.ismonthly and str.tonumber(res) < 10)
securityNoRep1(sym, res, src) =>
bool bull_ = na
bull_ := equal_tf(res) ? src : bull_
bull_ := higher_tf(res) ? request.security(sym, res, src, barmerge.gaps_off, barmerge.lookahead_on) : bull_
bull_array = request.security_lower_tf(syminfo.tickerid, higher_tf(res) ? str.tostring(f_chartTfInMinutes()) + (timeframe.isseconds ? "S" : "") : too_small_tf(res) ? (timeframe.isweekly ? "3" : "10") : res, src)
if array.size(bull_array) > 1 and not equal_tf(res) and not higher_tf(res)
bull_ := array.pop(bull_array)
array.clear(bull_array)
bull_
TF1Bull = securityNoRep1(syminfo.tickerid, "1" , emaBull)
TF3Bull = securityNoRep1(syminfo.tickerid, "3" , emaBull)
TF5Bull = securityNoRep1(syminfo.tickerid, "5" , emaBull)
TF15Bull = securityNoRep1(syminfo.tickerid, "15" , emaBull)
TF30Bull = securityNoRep1(syminfo.tickerid, "30" , emaBull)
TF60Bull = securityNoRep1(syminfo.tickerid, "60" , emaBull)
TF120Bull = securityNoRep1(syminfo.tickerid, "120" , emaBull)
TF240Bull = securityNoRep1(syminfo.tickerid, "240" , emaBull)
TF480Bull = securityNoRep1(syminfo.tickerid, "480" , emaBull)
TFDBull = securityNoRep1(syminfo.tickerid, "1440", emaBull)
= f_kc(close, lenRevBands, 3)
= f_kc(close, lenRevBands, 4)
= f_kc(close, lenRevBands, 5)
= f_kc(close, lenRevBands, 6)
= wavetrend(hlc3, 9, 12)
= f_findDivs(wt2, 15, -40)
= f_findDivs(wt2, 45, -65)
wtDivBull = wtDivBull1 or wtDivBull2
wtDivBear = wtDivBear1 or wtDivBear2
// Renkler
cyan = #00DBFF, cyan30 = color.new(cyan, 70)
pink = #E91E63, pink30 = color.new(pink, 70)
red = #FF5252, red30 = color.new(red , 70)
// Plotlar
off = percWidth(300, offsetSignal)
plotshape(showBuySell and bull ? low - off : na, "Buy Label" , shape.labelup , location.absolute, cyan, 0, "Buy" , color.white, size=size.normal)
plotshape(showBuySell and bear ? high + off : na, "Sell Label", shape.labeldown, location.absolute, pink, 0, "Sell", color.white, size=size.normal)
plotshape(ta.crossover(wt1, wt2) and wt2 <= -53, "Mild Buy" , shape.xcross, location.belowbar, cyan, size=size.tiny)
plotshape(ta.crossunder(wt1, wt2) and wt2 >= 53, "Mild Sell", shape.xcross, location.abovebar, pink, size=size.tiny)
plotshape(wtDivBull, "Divergence Buy ", shape.triangleup , location.belowbar, cyan, size=size.tiny)
plotshape(wtDivBear, "Divergence Sell", shape.triangledown, location.abovebar, pink, size=size.tiny)
barcolor(up > dn ? cyan : pink)
plotshape(showreversal and rsiOs, "Reversal Buy" , shape.diamond, location.belowbar, cyan30, size=size.tiny)
plotshape(showreversal and rsiOb, "Reversal Sell", shape.diamond, location.abovebar, pink30, size=size.tiny)
lStyle = lineStyle == "Solid" ? line.style_solid : lineStyle == "Dotted" ? line.style_dotted : line.style_dashed
lSize = labelSize == "small" ? size.small : labelSize == "normal" ? size.normal : size.large
dHighLine = showPdHlc ? line.new(bar_index, dHigh, bar_index + 1, dHigh , xloc.bar_index, extend.both, lineColor, lStyle, lineWidth) : na, line.delete(dHighLine )
dLowLine = showPdHlc ? line.new(bar_index, dLow , bar_index + 1, dLow , xloc.bar_index, extend.both, lineColor, lStyle, lineWidth) : na, line.delete(dLowLine )
dCloseLine = showPdHlc ? line.new(bar_index, dClose, bar_index + 1, dClose, xloc.bar_index, extend.both, lineColor, lStyle, lineWidth) : na, line.delete(dCloseLine )
dHighLabel = showPdHlc ? label.new(bar_index + 100, dHigh , "P.D.H", xloc.bar_index, yloc.price, #000000, label.style_none, labelColor, lSize) : na, label.delete(dHighLabel )
dLowLabel = showPdHlc ? label.new(bar_index + 100, dLow , "P.D.L", xloc.bar_index, yloc.price, #000000, label.style_none, labelColor, lSize) : na, label.delete(dLowLabel )
dCloseLabel = showPdHlc ? label.new(bar_index + 100, dClose, "P.D.C", xloc.bar_index, yloc.price, #000000, label.style_none, labelColor, lSize) : na, label.delete(dCloseLabel )
plot(showEmas ? ema1 : na, "EMA 1", color.green , 2)
plot(showEmas ? ema2 : na, "EMA 2", color.purple, 2)
plot(showEmas ? ema3 : na, "EMA 3", color.yellow, 2)
plotshape(showSwing ? hh : na, "", shape.triangledown, location.abovebar, color.new(color.green, 50), -prdSwing, "HH", colorPos, false)
plotshape(showSwing ? hl : na, "", shape.triangleup , location.belowbar, color.new(color.green, 50), -prdSwing, "HL", colorPos, false)
plotshape(showSwing ? lh : na, "", shape.triangledown, location.abovebar, color.new(color.red , 50), -prdSwing, "LH", colorNeg, false)
plotshape(showSwing ? ll : na, "", shape.triangleup , location.belowbar, color.new(color.red , 50), -prdSwing, "LL", colorNeg, false)
srcStop = close
atrBand = srcStop * (percentStop / 100)
atrStop = trigger ? srcStop - atrBand : srcStop + atrBand
lastTrade(src) => ta.valuewhen(bull or bear, src, 0)
entry_y = lastTrade(srcStop)
stop_y = lastTrade(atrStop)
tp1_y = (entry_y - lastTrade(atrStop)) * 1 + entry_y
tp2_y = (entry_y - lastTrade(atrStop)) * 2 + entry_y
tp3_y = (entry_y - lastTrade(atrStop)) * 3 + entry_y
labelTpSl(y, txt, color) =>
label labelTpSl = percentStop != 0 ? label.new(bar_index + 1, y, txt, xloc.bar_index, yloc.price, color, label.style_label_left, color.white, size.normal) : na
label.delete(labelTpSl )
labelTpSl(entry_y, "Entry: " + str.tostring(math.round_to_mintick(entry_y)), color.gray)
labelTpSl(stop_y , "Stop Loss: " + str.tostring(math.round_to_mintick(stop_y)), color.red)
labelTpSl(tp1_y, "Take Profit 1: " + str.tostring(math.round_to_mintick(tp1_y)), color.green)
labelTpSl(tp2_y, "Take Profit 2: " + str.tostring(math.round_to_mintick(tp2_y)), color.green)
labelTpSl(tp3_y, "Take Profit 3: " + str.tostring(math.round_to_mintick(tp3_y)), color.green)
lineTpSl(y, color) =>
line lineTpSl = percentStop != 0 ? line.new(bar_index - (trigger ? countBull : countBear) + 4, y, bar_index + 1, y, xloc.bar_index, extend.none, color, line.style_solid) : na
line.delete(lineTpSl )
lineTpSl(entry_y, color.gray)
lineTpSl(stop_y, color.red)
lineTpSl(tp1_y, color.green)
lineTpSl(tp2_y, color.green)
lineTpSl(tp3_y, color.green)
var dashboard_loc = locationDashboard == "Top Right" ? position.top_right : locationDashboard == "Middle Right" ? position.middle_right : locationDashboard == "Bottom Right" ? position.bottom_right : locationDashboard == "Top Center" ? position.top_center : locationDashboard == "Middle Center" ? position.middle_center : locationDashboard == "Bottom Center" ? position.bottom_center : locationDashboard == "Top Left" ? position.top_left : locationDashboard == "Middle Left" ? position.middle_left : position.bottom_left
var dashboard_size = sizeDashboard == "Large" ? size.large : sizeDashboard == "Normal" ? size.normal : sizeDashboard == "Small" ? size.small : size.tiny
var dashboard = showDashboard ? table.new(dashboard_loc, 2, 15, tableBgColor, #000000, 2, tableBgColor, 1) : na
dashboard_cell(column, row, txt, signal=false) => table.cell(dashboard, column, row, txt, 0, 0, signal ? #000000 : tableTextColor, text_size=dashboard_size)
dashboard_cell_bg(column, row, col) => table.cell_set_bgcolor(dashboard, column, row, col)
if barstate.islast and showDashboard
dashboard_cell(0, 0 , "EzAlgo")
dashboard_cell(0, 1 , "Current Position")
dashboard_cell(0, 2 , "Current Trend")
dashboard_cell(0, 3 , "Volume")
dashboard_cell(0, 4 , "Timeframe")
dashboard_cell(0, 5 , "1 min:")
dashboard_cell(0, 6 , "3 min:")
dashboard_cell(0, 7 , "5 min:")
dashboard_cell(0, 8 , "15 min:")
dashboard_cell(0, 9 , "30 min:")
dashboard_cell(0, 10, "1 H:")
dashboard_cell(0, 11, "2 H:")
dashboard_cell(0, 12, "4 H:")
dashboard_cell(0, 13, "8 H:")
dashboard_cell(0, 14, "Daily:")
dashboard_cell(1, 0 , "V.8.1")
dashboard_cell(1, 1 , trigger ? "Buy" : "Sell", true), dashboard_cell_bg(1, 1, trigger ? color.green : color.red)
dashboard_cell(1, 2 , emaBull ? "Bullish" : "Bearish", true), dashboard_cell_bg(1, 2, emaBull ? color.green : color.red)
dashboard_cell(1, 3 , str.tostring(volume))
dashboard_cell(1, 4 , "Trends")
dashboard_cell(1, 5 , TF1Bull ? "Bullish" : "Bearish", true), dashboard_cell_bg(1, 5 , TF1Bull ? color.green : color.red)
dashboard_cell(1, 6 , TF3Bull ? "Bullish" : "Bearish", true), dashboard_cell_bg(1, 6 , TF3Bull ? color.green : color.red)
dashboard_cell(1, 7 , TF5Bull ? "Bullish" : "Bearish", true), dashboard_cell_bg(1, 7 , TF5Bull ? color.green : color.red)
dashboard_cell(1, 8 , TF15Bull ? "Bullish" : "Bearish", true), dashboard_cell_bg(1, 8 , TF15Bull ? color.green : color.red)
dashboard_cell(1, 9 , TF30Bull ? "Bullish" : "Bearish", true), dashboard_cell_bg(1, 9 , TF30Bull ? color.green : color.red)
dashboard_cell(1, 10, TF60Bull ? "Bullish" : "Bearish", true), dashboard_cell_bg(1, 10, TF60Bull ? color.green : color.red)
dashboard_cell(1, 11, TF120Bull ? "Bullish" : "Bearish", true), dashboard_cell_bg(1, 11, TF120Bull ? color.green : color.red)
dashboard_cell(1, 12, TF240Bull ? "Bullish" : "Bearish", true), dashboard_cell_bg(1, 12, TF240Bull ? color.green : color.red)
dashboard_cell(1, 13, TF480Bull ? "Bullish" : "Bearish", true), dashboard_cell_bg(1, 13, TF480Bull ? color.green : color.red)
dashboard_cell(1, 14, TFDBull ? "Bullish" : "Bearish", true), dashboard_cell_bg(1, 14, TFDBull ? color.green : color.red)
plot(showRevBands ? upperKC1 : na, "Rev.Zone Upper 1", red30)
plot(showRevBands ? upperKC2 : na, "Rev.Zone Upper 2", red30)
plot(showRevBands ? upperKC3 : na, "Rev.Zone Upper 3", red30)
plot(showRevBands ? upperKC4 : na, "Rev.Zone Upper 4", red30)
plot(showRevBands ? lowerKC4 : na, "Rev.Zone Lower 4", cyan30)
plot(showRevBands ? lowerKC3 : na, "Rev.Zone Lower 3", cyan30)
plot(showRevBands ? lowerKC2 : na, "Rev.Zone Lower 2", cyan30)
plot(showRevBands ? lowerKC1 : na, "Rev.Zone Lower 1", cyan30)
fill(plot(showRibbon ? ribbon1 : na, "", na, editable=false), plot(showRibbon ? ribbon2 : na, "", na, editable=false), ribbon1 > ribbon2 ? cyan30 : pink30, "Ribbon Fill Color")
// Alarmlar
alert01 = ta.crossover(ribbon1, ribbon2)
alert02 = bull
alert03 = wtDivBull
alert04 = wtDivBear
alert05 = bull or bear
alert06 = ta.crossover(wt1, wt2) and wt2 <= -53
alert07 = ta.crossunder(wt1, wt2) and wt2 >= 53
alert08 = ta.crossunder(ribbon1, ribbon2)
alert09 = rsiOb or rsiOs
alert10 = bear
alert11 = ta.cross(ribbon1, ribbon2)
alerts(sym) =>
if alert02 or alert03 or alert04 or alert06 or alert07 or alert10
alert_text = alert02 ? "Buy Signal EzAlgo" : alert03 ? "Strong Buy Signal EzAlgo" : alert04 ? "Strong Sell Signal EzAlgo" : alert06 ? "Mild Buy Signal EzAlgo" : alert07 ? "Mild Sell Signal EzAlgo" : "Sell Signal EzAlgo"
alert(alert_text, alert.freq_once_per_bar_close)
alerts(syminfo.tickerid)
alertcondition(alert01, "Blue Trend Ribbon Alert", "Blue Trend Ribbon, TimeFrame={{interval}}")
alertcondition(alert02, "Buy Signal", "Buy Signal EzAlgo")
alertcondition(alert03, "Divergence Buy Alert", "Strong Buy Signal EzAlgo, TimeFrame={{interval}}")
alertcondition(alert04, "Divergence Sell Alert", "Strong Sell Signal EzAlgo, TimeFrame={{interval}}")
alertcondition(alert05, "Either Buy or Sell Signal", "EzAlgo Signal")
alertcondition(alert06, "Mild Buy Alert", "Mild Buy Signal EzAlgo, TimeFrame={{interval}}")
alertcondition(alert07, "Mild Sell Alert", "Mild Sell Signal EzAlgo, TimeFrame={{interval}}")
alertcondition(alert08, "Red Trend Ribbon Alert", "Red Trend Ribbon, TimeFrame={{interval}}")
alertcondition(alert09, "Reversal Signal", "Reversal Signal")
alertcondition(alert10, "Sell Signal", "Sell Signal EzAlgo")
alertcondition(alert11, "Trend Ribbon Color Change Alert", "Trend Ribbon Color Change, TimeFrame={{interval}}")
Z-Score & StatsThis is an advanced indicator that measures price deviation from its mean using statistical z-scores, combined with multiple analytical features for trading signals.
Core Functionality-
Z-Score Calculation Engine:
The indicator uses a custom standardization function that calculates how many standard deviations the current price is from its rolling mean. Unlike simple moving averages, this provides a normalized view of price extremes. The calculation maintains a sliding window of data points, efficiently updating mean and variance values as new data arrives while removing old data points. This approach handles missing values gracefully and uses sample variance (rather than population variance) for more accurate statistical measurements.
Statistical Zones & Visual Framework:
The indicator creates a visual representation of statistical probability zones:
±1 Standard Deviation: Encompasses about 68% of normal price behavior (green zone)
±2 Standard Deviations: Covers approximately 95% of price movements (orange zone)
±3 Standard Deviations: Represents 99.7% probability range (red zone)
±3.5 and ±4 Thresholds: Extreme outlier levels that trigger special alerts
The z-score line changes color dynamically based on which zone it occupies, making it easy to identify the current market extremity at a glance.
Advanced Features:
Volume Contraction Analysis
The script monitors volume patterns to identify periods of reduced trading activity. It compares current volume against a moving average and flags when volume drops below a specified threshold (default 70%). Volume contraction often precedes significant price moves and is factored into the optimal entry detection system.
Momentum-Based Direction Model:
Rather than just showing current z-score levels, the indicator projects where the z-score is likely to move based on recent momentum. It calculates the rate of change in the z-score and extrapolates forward for a specified number of bars. This creates a directional arrow that indicates whether conditions are bullish (negative z-score with upward momentum) or bearish (positive z-score with downward momentum).
Divergence Detection System:
The script automatically identifies four types of divergences between price action and z-score behavior :-
Regular Bullish Divergence: Price makes lower lows while z-score makes higher lows, suggesting weakening downward pressure
Regular Bearish Divergence: Price makes higher highs while z-score makes lower highs, indicating exhaustion in the uptrend
Hidden Bullish Divergence: Price makes higher lows while z-score makes lower lows, confirming trend continuation in an uptrend
Hidden Bearish Divergence: Price makes lower highs while z-score makes higher highs, confirming downtrend continuation
The system uses pivot detection with configurable lookback periods and distance requirements, then draws connecting lines and labels directly on the chart when divergences occur.
Yearly Statistics Tracking:
The indicator maintains historical records of maximum z-score deviations over yearly periods (configurable bar count). This provides context by showing whether current extremes are unusual compared to typical annual ranges. The average yearly maximum helps traders understand if the current market is exhibiting normal volatility or exceptional conditions.
Mean Reversion Probability:
Based on the current z-score magnitude, the indicator calculates and displays the statistical probability that price will revert toward the mean. Higher absolute z-scores indicate stronger mean reversion probabilities, ranging from 38% at ±0.5 standard deviations to 99.7% at ±3 standard deviations.
Comprehensive Statistics Table:
A customizable on-chart table displays real-time statistics including:
Current z-score value with directional indicator
Predicted z-score based on momentum
Current year's maximum absolute z-score
Historical average yearly maximum
Mean reversion probability percentage
Zone status classification (Normal, Moderate, High, Extreme)
Directional bias (Bullish, Bearish, Neutral)
Active divergence status
Volume contraction status with ratio
Optimal setup detection (combining extreme z-scores with volume contraction)
Optimal Entry Setup Detection:
The most sophisticated feature identifies high-probability trading setups by combining multiple factors. An "Optimal Long" signal triggers when z-score reaches -3.5 or below AND volume is contracted. An "Optimal Short" signal appears when z-score exceeds +3.5 AND volume is contracted. This combination suggests extreme price deviation occurring on low volume, often preceding strong reversals.
Alert System:
The script includes a unified alert mechanism that triggers when z-score crosses specific thresholds:
Crossing above/below ±3.5 standard deviations (extreme levels)
Crossing above/below ±4 standard deviations (critical levels)
Alerts fire once per bar with confirmation (previous bar must be on opposite side of threshold) to avoid false signals.
Practical Application:
This indicator is designed for mean reversion traders who seek statistically significant price extremes. The combination of z-score measurement, volume analysis, momentum projection, and divergence detection creates a multi-layered confirmation system. Traders can use extreme z-scores as potential reversal zones, while the direction model and divergence signals help time entries more precisely. The volume contraction filter adds an additional layer of confluence, identifying moments when reduced participation may precede explosive moves back toward the mean.
Chart Attached: NSE GMR Airports, EoD 12/12/25
DISCLAIMER: This information is provided for educational purposes only and should not be considered financial, investment, or trading advice.Happy Trading
INSTITUTIONAL VOLUME PROFILE + FIBONACCI + ENHANCED SIGNALS🎯 INSTITUTIONAL VOLUME PROFILE + FIBONACCI + ENHANCED SIGNALS
A professional-grade indicator combining Volume Profile analysis, Fibonacci retracements, Anchored VWAP, and intelligent signal filtering to identify high-probability institutional positioning and trade setups.
📊 CORE FEATURES
▸ Volume Profile with POC (Point of Control)
- Visualizes where institutional volume accumulated
- Identifies High Volume Nodes (HVN) as key support/resistance
- Shows Value Area (70% volume zone) for market equilibrium
▸ Dynamic Fibonacci Levels
- Auto-detects swing high/low for retracement levels
- Golden Pocket (0.618-0.65) highlight zone
- Bull/bear direction recognition
▸ Anchored VWAP
- Anchored to swing range start
- Institutional mean reversion baseline
- Real-time trend bias indicator
▸ Graded Signal System (A+/B/C)
- A+ Signals: High probability setups (VWAP cross + POC alignment)
- B Signals: Above-average quality (VWAP cross above POC)
- C Signals: Lower probability (counter-trend setups)
🎮 DISPLAY MODES
⚡ TRADING LIVE MODE
- Clean chart showing only A+ signals
- Minimal visual noise for active trading
- Perfect for intraday execution
📈 FULL OVERVIEW MODE
- Complete analysis with all zones visible
- Volume Profile + Fibonacci + Value Area
- All signal grades displayed
- Statistics dashboard
🔬 ADVANCED SIGNAL FILTERS
✓ Volume Confirmation
- Requires above-average volume on signals
- Filters out weak institutional participation
- Configurable volume multiple (default 1.2x)
✓ Momentum Filter
- Ensures price momentum aligns with signal direction
- Prevents counter-trend entries
- Configurable lookback period
✓ SR Proximity Upgrade ⭐ GAME CHANGER
- Automatically upgrades B/C signals to A+ when near key levels
- Detects proximity to POC and HVN zones
- Combines technical confluence for best setups
🔔 SMART ALERTS
▸ Configurable alerts for A+, B, or C signals
▸ Real-time notifications to your device
▸ No need to watch charts constantly
▸ "Once per bar close" prevents repainting
💡 HOW TO USE
FOR DAY TRADING:
1. Switch to "Trading Live" mode
2. Enable only A+ alerts
3. Set filters: Volume 1.5x, Momentum ON, Proximity 0.3%
4. Trade only A+ signals at key levels
FOR SWING TRADING:
1. Use "Full Overview" mode
2. Analyze Value Area and Fibonacci confluence
3. Set filters: Volume 1.2x, Momentum ON, Proximity 0.8%
4. Enter on A+ signals with multi-timeframe confirmation
FOR ANALYSIS:
1. Full Overview mode with all visuals enabled
2. Disable filters to see all raw signals
3. Study how institutions positioned at key zones
4. Plan trades around POC and Value Area
⚙️ RECOMMENDED SETTINGS
5-15 MIN CHARTS (Scalping):
- Lookback: 200-300 bars
- Volume: 1.5x, Momentum: 5 bars, Proximity: 0.3%
- Trading Live mode + A+ alerts only
1 HOUR CHARTS (Intraday):
- Lookback: 300 bars
- Volume: 1.3x, Momentum: 3 bars, Proximity: 0.5%
- Full Overview or Trading Live
4 HOUR CHARTS (Swing):
- Lookback: 300-500 bars
- Volume: 1.2x, Momentum: 3 bars, Proximity: 0.8%
- Full Overview mode
DAILY CHARTS (Position):
- Lookback: 300-500 bars
- Volume: 1.1x, Momentum: 2 bars, Proximity: 1.0%
- Full Overview mode
📈 KEY CONCEPTS
POC (Point of Control): Price level with highest volume - acts as magnet
Value Area: Zone containing 70% of volume - equilibrium range
HVN: High Volume Nodes - institutional accumulation zones
AVWAP: Anchored VWAP - institutional average entry price
Golden Pocket: 0.618-0.65 Fib zone - highest probability reversal area
🎯 TRADING STRATEGY TIPS
1. Wait for A+ signals - quality over quantity
2. Best setups occur at POC or Value Area boundaries
3. Use multiple timeframes for confirmation
4. Combine with your own risk management rules
5. Signals are high probability, not guaranteed - always use stops






















