ARSI – (VWAP & ATR) 3QKRAKThe ARSI Long & Short – Dynamic Risk Sizing (VWAP & ATR) indicator combines three core components—an adjusted RSI oscillator (ARSI), Volume‐Weighted Average Price (VWAP), and Average True Range (ATR)—so that entry/exit signals and position sizing are always tailored to current market conditions. ARSI, plotted from 0 to 100 with clearly marked overbought and oversold zones, is the primary signal driver: when ARSI falls below the lower threshold it indicates an excessive sell‐off and flags a long opportunity, whereas a break above the upper threshold signals overextended gains and foreshadows a short. A midpoint line at 50 can serve as an early exit or reduction signal when crossed against your position.
VWAP, showing the volume‐weighted average price over the chosen period, acts as a trend filter—long trades are only taken when price sits above VWAP, and shorts only when it’s below—ensuring each trade aligns with the prevailing market momentum. ATR measures current volatility and is used both to set safe stop‐loss levels and to dynamically size each position. In practice, this means positions automatically shrink in high‐volatility environments and grow in quieter markets, all while risking a fixed percentage of your capital.
Everything appears on a single chart: the ARSI pane below the price window with its reference levels; VWAP overlaid on the price; and the ATR‐based stop‐loss distances graphically displayed. Traders thus get a comprehensive, at-a-glance view of entries, exits, trend confirmation, and exactly how large a position they can safely take. The indicator runs in real time, removing the need for manual parameter calculations and letting you focus on strategic decision-making.
Indicatori e strategie
Two Poles Trend Finder MTF [BigBeluga]🔵 OVERVIEW
Two Poles Trend Finder MTF is a refined trend-following overlay that blends a two-pole Gaussian filter with a multi-timeframe dashboard. It provides a smooth view of price dynamics along with a clear summary of trend directions across multiple timeframes—perfect for traders seeking alignment between short and long-term momentum.
🔵 CONCEPTS
Two-Pole Filter: A smoothing algorithm that responds faster than traditional moving averages but avoids the noise of short-term fluctuations.
var float f = na
var float f_prev1 = na
var float f_prev2 = na
// Apply two-pole Gaussian filter
if bar_index >= 2
f := math.pow(alpha, 2) * source + 2 * (1 - alpha) * f_prev1 - math.pow(1 - alpha, 2) * f_prev2
else
f := source // Warm-up for first bars
// Shift state
f_prev2 := f_prev1
f_prev1 := f
Trend Detection Logic: Trend direction is determined by comparing the current filtered value with its value n bars ago (shifted comparison).
MTF Alignment Dashboard: Trends from 5 configurable timeframes are monitored and visualized as colored boxes:
• Green = Uptrend
• Magenta = Downtrend
Summary Arrow: An average trend score from all timeframes is used to plot an overall arrow next to the asset name.
🔵 FEATURES
Two-Pole Gaussian Filter offers ultra-smooth trend curves while maintaining responsiveness.
Multi-Timeframe Trend Detection:
• Default: 1H, 2H, 4H, 12H, 1D (fully customizable)
• Each timeframe is assessed independently using the same trend logic.
Visual Trend Dashboard positioned at the bottom-right of the chart with color-coded trend blocks.
Dynamic Summary Arrow shows overall market bias (🢁 / 🢃) based on majority of uptrends/downtrends.
Bold + wide trail plot for the filter value with gradient coloring based on directional bias.
🔵 HOW TO USE
Use the multi-timeframe dashboard to identify aligned trends across your preferred trading horizons.
Confirm trend strength or weakness by observing filter slope direction .
Look for dashboard consensus (e.g., 4 or more timeframes green] ) as confirmation for breakout, continuation, or trend reentry strategies.
Combine with volume or price structure to enhance entry timing.
🔵 CONCLUSION
Two Poles Trend Finder MTF delivers a clean and intuitive trend-following solution with built-in multi-timeframe awareness. Whether you’re trading intra-day or positioning for swing setups, this tool helps filter out market noise and keeps you focused on directional consensus.
Volume Data Table (Real-time & Historical Volume Analysis)Volume Data Table (Real-time & Historical Volume Analysis)
Overview:
The Volume Data Table indicator is a powerful tool designed to provide concise, real-time, and historical volume insights directly on your chart. It aggregates critical volume metrics into an organized, customizable table, making it incredibly easy to identify unusual volume activity, sudden surges, or sustained interest in a particular asset.
This indicator is perfect for traders who rely on volume analysis to confirm price movements, spot potential reversals, or gauge market conviction.
Key Features & How It Works:
Real-time Volume Metrics:
The table prominently displays the volume data for the current (last) candle, including:
Time: The precise time of the current candle's close, formatted in IST (Indian Standard Time - UTC+5:30) for your convenience.
Volume: The total volume for the current candle, smartly formatted in K (Thousands) or M (Millions) for readability.
Change % (Chg%): The percentage change in volume compared to the immediately preceding candle. This helps you quickly spot sudden increases or decreases in trading activity.
Vs 4-Avg % (vs4Avg%): The percentage change in volume compared to the average volume of the last 4 preceding candles. This is crucial for identifying volume surges or drops relative to recent historical activity, which can signal significant market events.
Configurable Historical Data:
Beyond the current candle, you can customize how many previous candles' volume data you wish to display. A simple input setting allows you to choose from 1 to 20 historical rows, giving you flexibility to review recent volume trends. Each historical row also provides its own "Change %" and "Vs 4-Avg %" for detailed analysis of past candle activity.
Intuitive Color-Coding:
Percentage change values are intuitively color-coded for instant visual cues:
Green: Indicates a positive (increase) in volume percentage.
Red: Indicates a negative (decrease) in volume percentage.
Clean & Organized Table Display:
The indicator presents all this data in a neat, easy-to-read table positioned at the top-right of your chart. The table automatically adjusts its height based on the number of historical rows you choose, ensuring a compact and efficient use of screen space.
Ideal Use Cases:
Volume Confirmation: Quickly confirm the conviction behind price movements. A strong price move on high "Vs 4-Avg %" volume often indicates higher reliability.
Spotting Abnormal Volume: Identify candles with unusually high or low volume compared to their recent average, which can precede or accompany significant price action.
Momentum Analysis: Understand if buying/selling pressure is increasing or decreasing over recent periods.
Scalping & Day Trading: The real-time updates and concise format make it highly effective for fast-paced short-term decision-making.
Complements Other Indicators: Use it alongside price action, candlestick patterns, or other technical indicators for a more robust analysis.
Customization Options:
Number of Historical Rows: Adjust Number of Historical Rows from 1 to 20 to tailor the depth of your historical volume review.
Important Disclaimer:
This indicator is a technical analysis tool and should be used as part of a comprehensive trading strategy. It is not financial advice. Trading in financial markets involves substantial risk, and you could lose money. Always perform your own research and risk management.
MACD Trend StatusOverview:
The Dynamic MACD Trend Status indicator is a sophisticated yet easy-to-interpret tool designed to provide instant, color-coded insights into the current MACD momentum and trend strength directly on your chart. Unlike traditional MACD indicators that clutter your main price panel, this indicator distills complex MACD calculations into a single, prominent text label, ideal for quick confirmations and fast-paced trading.
It features two distinct logic modes, allowing you to customize its sensitivity and confirmation level, making it adaptable to various market conditions and trading styles.
Key Features & How It Works:
Two Selectable Logic Modes:
This indicator offers a unique dropdown setting (Logic Selection) to switch between two powerful MACD interpretation algorithms:
a) Option 3 (Robust) - (Default)
This is the most stringent and reliable mode, designed to filter out market noise and highlight only strong, accelerating trends. It declares a "Bullish" or "Bearish" status when ALL of the following conditions are met:
Bullish: MACD Line is above Signal Line AND MACD Histogram is positive AND MACD Histogram is increasing (momentum is accelerating) AND both MACD Line and Signal Line are above the Zero Line (confirming an overall uptrend).
Bearish: MACD Line is below Signal Line AND MACD Histogram is negative AND MACD Histogram is decreasing (momentum is accelerating) AND both MACD Line and Signal Line are below the Zero Line (confirming an overall downtrend).
Neutral: If none of the above strong conditions are met, indicating sideways movement, weakening momentum, or a transition phase.
b) Option 4 (Simplified + Enhanced)
This mode offers a more responsive signal while still providing a clear distinction for exceptionally strong moves. It determines status based on:
"MACD Bullish +" (Super Bullish): If all the rigorous conditions of "Option 3 (Robust) - Bullish" are met. This provides an immediate visual cue of extreme bullish strength within the simpler logic.
"MACD Bearish +" (Super Bearish): If all the rigorous conditions of "Option 3 (Robust) - Bearish" are met. This highlights exceptional bearish strength.
"MACD Bullish": MACD Line is above Signal Line AND MACD Histogram is positive (basic bullish momentum).
"MACD Bearish": MACD Line is below Signal Line AND MACD Histogram is negative (basic bearish momentum).
"MACD Neutral": If none of the above conditions are met.
Instant Color-Coded Status:
The indicator provides clear visual feedback through dynamic text colors:
Green: "MACD Bullish" (Standard Bullish)
Red: "MACD Bearish" (Standard Bearish)
Gray: "MACD Neutral" (Choppy/Unclear)
Blue: "MACD Bullish +" (Enhanced Strong Bullish - when using Option 4)
Fuchsia/Purple: "MACD Bearish +" (Enhanced Strong Bearish - when using Option 4)
(Note: Colors for "+" signals are customizable in the code if you wish)
Unobtrusive Display:
The status is displayed in a transparent, discreet table positioned at the middle-right of your main chart panel. This avoids cluttering the top corners or the indicator sub-panel, keeping your price action clear.
Ideal Use Cases:
Quick Confirmation: Rapidly confirm your trade ideas with a glance at the MACD's underlying momentum.
Scalping & Day Trading: The instant visual feedback is invaluable for fast-paced short-term strategies.
Momentum Filtering: Use it to filter trades, ensuring you're entering when MACD momentum is in your favor.
Complementary Tool: Designed to work hand-in-hand with your primary analysis (price action, support/resistance, other indicators). It's not intended as a standalone signal but as a powerful re-confirmation tool.
Customization Options:
MACD Settings: Adjust Fast Length, Slow Length, and Signal Length.
Logic Selection: Toggle between "Option 3 (Robust)" and "Option 4 (Simplified)" for different sensitivities.
Show Status Text: Toggle the visibility of the status text On/Off.
Text Size: Choose from "tiny", "small", "normal", "large", "huge" for optimal visibility.
Important Disclaimer:
This indicator is a technical analysis tool and should be used as part of a comprehensive trading strategy. It is not financial advice. Trading in financial markets involves substantial risk, and you could lose money. Always perform your own research and risk management.
Adiyogi Trend🟢🔴 “Adiyogi” Trend — Market Alignment Visualizer
“Adiyogi” Trend is a powerful, non-intrusive trend detection system built for traders who seek clarity, discipline, and alignment with true market flow. Inspired by the meditative stillness of Adiyogi and the need for mindful, high-probability decisions, this tool offers a clean and intuitive visual guide to trending environments — without cluttering the chart or pushing forced trades.
This is not a buy/sell signal generator. Instead, it is designed as a background confirmation engine that helps you stay on the right side of the market by identifying moments of true directional strength.
🧠 Core Logic
The “Adiyogi” Trend indicator highlights the background of your chart in green or red when multiple layers of strength and structure align — including momentum, market positioning, and relative force. Only when these internal components agree does the system activate a directional state.
It’s built on three foundational energies of trend confirmation:
Strength of movement
Structure in price action
Conviction in momentum
By combining these into one visual background, the indicator filters out indecision and helps you stay focused during real trend phases — whether you're day trading, swing trading, or holding longer-term positions.
📌 Core Concepts Behind the Tool
The indicator integrates three essential market filters—each confirming a different dimension of trend strength:
ADX (Average Directional Index) – Measures trend momentum.
You’ve chosen a very responsive setting (ADX Length = 2), which helps catch the earliest possible signs of momentum emergence.
The threshold is ADX ≥ 22, ensuring that weak or sideways markets are filtered out.
SuperTrend (10,1) – Captures short-term trend direction.
This setup follows price closely and reacts quickly to reversals, making it ideal for fast-moving assets or intraday strategies.
SuperTrend acts as the structural confirmation of directional bias.
RSI (Relative Strength Index) – Measures strength based on recent price closes.
You’ve configured RSI > 50 for bullish zones and < 50 for bearish—a neutral midpoint standard often used by professional traders.
This ensures that only trades in sync with momentum and recent strength are highlighted.
🌈 How It Visually Works
Background turns GREEN when:
ADX ≥ 22, indicating strong momentum
Price is above the 20 EMA and above SuperTrend (10,1)
RSI > 50, confirming recent strength
Background turns RED when:
ADX ≥ 22, indicating strong momentum
Price is below the 20 EMA and below SuperTrend (10,1)
RSI < 50, confirming recent weakness
The background remains neutral (transparent) when trend conditions are not clearly aligned—this is the tool's way of keeping you out of indecisive markets.
A label (BULL / BEAR) appears only when the bias flips from the previous one. This helps avoid repeated or redundant alerts, focusing your attention only when something changes.
📊 Practical Uses & Benefits
✅ Stay with the trend: Perfectly filters out choppy or sideways markets by only activating when conditions align across momentum, structure, and strength.
✅ Pre-trade confirmation: Use this tool to confirm trade setups from other indicators or price action patterns.
✅ Avoid noise: Prevent overtrading by focusing only on high-quality trend conditions.
✅ Visual clarity: Unlike arrows or plots that clutter the chart, this tool subtly highlights trend conditions in the background, preserving your price action view.
📍 Important Notes
This is not a buy/sell signal generator. It is a trend-confirmation system.
Use it in conjunction with your existing entry setups—such as breakouts, order blocks, retests, or candlestick patterns.
The tool helps you stay in sync with the dominant direction, especially when combining multiple timeframes.
Can be used on any market (stocks, forex, crypto, indices) and on any timeframe.
ZLMA Keltner ChannelThe ZLMA Keltner Channel uses a Zero-Lag Moving Average (ZLMA) as the centerline with ATR-based bands to track trends and volatility.
The ZLMA’s reduced lag enhances responsiveness for breakouts and reversals, i.e. it's more sensitive to pivots and trend reversals.
Unlike Bollinger Bands, which use standard deviation and are more sensitive to price spikes, this uses ATR for smoother volatility measurement.
Background:
Built on John Ehlers’ lag-reduction techniques, this indicator adapts the classic Keltner Channel for dynamic markets. It excels in trending (low-entropy) markets for breakouts and range-bound (high-entropy) markets for reversals.
How to Read:
ZLMA (Blue): Tracks price trends. Above = bullish, below = bearish.
Upper Band (Green): ZLMA + (Multiplier × ATR). Cross above signals breakout or overbought.
Lower Band (Red): ZLMA - (Multiplier × ATR). Cross below signals breakout or oversold.
Channel Fill (Gray): Shows volatility. Narrow = low volatility, wide = high volatility.
Signals (Optional): Enable to show “Buy” (green) on upper band crossovers, “Sell” (red) on lower band crossunders.
Strategies: Trade breakouts in trending markets, reversals in ranges, or use bands as trailing stops.
Settings:
ZLMA Period (20): Adjusts centerline responsiveness.
ATR Period (20): Sets volatility period.
Multiplier (2.0): Controls band width.
If you are still confused between the ZLMA Keltner Channels and Bollinger Bands:
Keltner Channel (ZLMA): Uses ATR for bands, which smooths volatility and is less reactive to sudden price spikes. The ZLMA centerline reduces lag for faster trend detection.
Bollinger Bands: Uses standard deviation for bands, making them more sensitive to price volatility and prone to wider swings in high-entropy markets. Typically uses an SMA centerline, which lags more than ZLMA.
Your trading time period background fillThis script allows you to add background highlights to charts during any regional trading session, customize your own trading time, and is precise and customizable yet simple and easy to use, making it more convenient to review transactions.
Support global mainstream time zones: The drop-down list includes 30 commonly used IANA time zones (default is Asia/Shanghai) (such as Asia/Shanghai, America/New_York, Europe/London, etc.), one-click switching, no need to manually calculate the time difference.
Fully localized time input: "Start hour/minute" and "End hour/minute" are filled in with the local time of the selected time zone. The end hour defaults to 23:00 and can be adjusted to 0-23 at will.
Accurate time difference splitting: The script internally splits the time zone offset into whole hours and remainder minutes (supports half-hour zones, such as UTC+5:30), and ensures that all parameters are integers when calling timestamp to avoid errors.
Dynamic background rendering: Each K-line is judged according to the UTC timestamp whether it falls within the set range. If it meets the time period, it will be marked with a semi-transparent green background, and it will return to its original state after crossing the time period, helping you to identify the opening, closing or active period of any market at a glance.
Wide range of scenarios: It can be used for time-sharing highlighting of all-weather varieties of foreign exchange and cryptocurrency, and can also be used in conjunction with backtesting and timing strategies to only send signals during the active period of the target market, greatly improving trading efficiency and strategy accuracy.
Just select the region and set the time, and the script will automatically complete all complex time zone conversions and drawing, allowing you to focus on the transaction itself.
BANKNIFTY Contribution Table [GSK-VIZAG-AP-INDIA]1. Overview
This indicator provides a real-time visual contribution table of the 12 constituent stocks in the BANKNIFTY index. It displays key metrics for each stock that help traders quickly understand how each component is impacting the index at any given moment.
2. Purpose / Trading Use Case
The tool is designed for intraday and short-term traders who rely on index movement and its internal strength or weakness. By seeing which stocks are contributing positively or negatively, traders can:
Confirm trend strength or divergence within the index.
Identify whether a BANKNIFTY move is broad-based or driven by a few heavyweights.
Detect reversals when individual components decouple from index direction.
3. Key Features and Logic
Live LTP: Current price of each BANKNIFTY stock.
Price Change: Difference between current LTP and previous day’s close.
% Change: Percentage move from previous close.
Weight %: Static weight of each stock within the BANKNIFTY index (user-defined).
This estimates how much each stock contributes to the BANKNIFTY’s point change.
Sorted View: The stocks are sorted by their weight (descending), so high-impact movers are always at the top.
4. User Inputs / Settings
Table Position (tableLocationOpt):
Choose where the table appears on the chart:
top_left, top_right, bottom_left, or bottom_right.
This helps position the table away from your price action or indicators.
5. Visual and Plotting Elements
Table Layout: 6 columns
Stock | Contribution | Weight % | LTP | Change | % Change
Color Coding:
Green/red for positive/negative price changes and contributions.
Alternating background rows for better visibility.
BANKNIFTY row is highlighted separately at the top.
Text & Background Colors are chosen for both readability and direction indication.
6. Tips for Effective Use
Use this table on 1-minute or 5-minute intraday charts to see near real-time market structure.
Watch for:
A few heavyweight stocks pulling the index alone (can signal weak internal breadth).
Broad green/red across all rows (signals strong directional momentum).
Combine this with price action or volume-based strategies for confirmation.
Best used during market hours for live updates.
7. What Makes It Unique
Unlike other contribution tables that show only static data or require paid feeds, this script:
Updates in real time.
Uses dynamic calculated contributions.
Places BANKNIFTY at the top and presents the entire internal structure clearly.
Doesn’t repaint or rely on lagging indicators.
8. Alerts / Additional Features
No alerts are added in this version.
(Optional: Alerts can be added to notify when a certain stock contributes above/below a threshold.)
9. Technical Concepts Used
request.security() to pull both 1-minute and daily close data.
Conditional color formatting based on price change direction.
Dynamic table rendering using table.new() and table.cell().
Static weights assigned manually for BANKNIFTY stocks (can be updated if index weights change).
10. Disclaimer
This script is intended for educational and informational purposes only. It does not constitute financial advice or a buy/sell recommendation.
Users should test and validate the tool on paper or demo accounts before applying it to live trading.
📌 Note: Due to internet connectivity, data delays, or broker feeds, real-time values (LTP, change, contribution, etc.) may slightly differ from other platforms or terminals. Use this indicator as a supportive visual tool, not a sole decision-maker.
Script Title: BANKNIFTY Contribution Table -
Author: GSK-VIZAG-AP-INDIA
Version: Final Public Release
Faytterro Bands Breakout📌 Faytterro Bands Breakout 📌
This indicator was created as a strategy showcase for another script: Faytterro Bands
It’s meant to demonstrate a simple breakout strategy based on Faytterro Bands logic and includes performance tracking.
❓ What Is It?
This script is a visual breakout strategy based on a custom moving average and dynamic deviation bands, similar in concept to Bollinger Bands but with unique smoothing (centered regression) and performance features.
🔍 What Does It Do?
Detects breakouts above or below the Faytterro Band.
Plots visual trade entries and exits.
Labels each trade with percentage return.
Draws profit/loss lines for every trade.
Shows cumulative performance (compounded return).
Displays key metrics in the top-right corner:
Total Return
Win Rate
Total Trades
Number of Wins / Losses
🛠 How Does It Work?
Bullish Breakout: When price crosses above the upper band and stays above the midline.
Bearish Breakout: When price crosses below the lower band and stays below the midline.
Each trade is held until breakout invalidation, not a fixed TP/SL.
Trades are compounded, i.e., profits stack up realistically over time.
📈 Best Use Cases:
For traders who want to experiment with breakout strategies.
For visual learners who want to study past breakouts with performance metrics.
As a template to develop your own logic on top of Faytterro Bands.
⚠ Notes:
This is a strategy-like visual indicator, not an automated backtest.
It doesn't use strategy.* commands, so you can still use alerts and visuals.
You can tweak the logic to create your own backtest-ready strategy.
Unlike the original Faytterro Bands, this script does not repaint and is fully stable on closed candles.
Frahm Factor Position Size CalculatorThe Frahm Factor Position Size Calculator is a powerful evolution of the original Frahm Factor script, leveraging its volatility analysis to dynamically adjust trading risk. This Pine Script for TradingView uses the Frahm Factor’s volatility score (1-10) to set risk percentages (1.75% to 5%) for both Margin-Based and Equity-Based position sizing. A compact table on the main chart displays Risk per Trade, Frahm Factor, and Average Candle Size, making it an essential tool for traders aligning risk with market conditions.
Calculates a volatility score (1-10) using true range percentile rank over a customizable look-back window (default 24 hours).
Dynamically sets risk percentage based on volatility:
Low volatility (score ≤ 3): 5% risk for bolder trades.
High volatility (score ≥ 8): 1.75% risk for caution.
Medium volatility (score 4-7): Smoothly interpolated (e.g., 4 → 4.3%, 5 → 3.6%).
Adjustable sensitivity via Frahm Scale Multiplier (default 9) for tailored volatility response.
Position Sizing:
Margin-Based: Risk as a percentage of total margin (e.g., $175 for 1.75% of $10,000 at high volatility).
Equity-Based: Risk as a percentage of (equity - minimum balance) (e.g., $175 for 1.75% of ($15,000 - $5,000)).
Compact 1-3 row table shows:
Risk per Trade with Frahm score (e.g., “$175.00 (Frahm: 8)”).
Frahm Factor (e.g., “Frahm Factor: 8”).
Average Candle Size (e.g., “Avg Candle: 50 t”).
Toggles to show/hide Frahm Factor and Average Candle Size rows, with no empty backgrounds.
Four sizes: XL (18x7, large text), L (13x6, normal), M (9x5, small, default), S (8x4, tiny).
Repositionable (9 positions, default: top-right).
Customizable cell color, text color, and transparency.
Set Frahm Factor:
Frahm Window (hrs): Pick how far back to measure volatility (e.g., 24 hours). Shorter for fast markets, longer for chill ones.
Frahm Scale Multiplier: Set sensitivity (1-10, default 9). Higher makes the score jumpier; lower smooths it out.
Set Margin-Based:
Total Margin: Enter your account balance (e.g., $10,000). Risk auto-adjusts via Frahm Factor.
Set Equity-Based:
Total Equity: Enter your total account balance (e.g., $15,000).
Minimum Balance: Set to the lowest your account can go before liquidation (e.g., $5,000). Risk is based on the difference, auto-adjusted by Frahm Factor.
Customize Display:
Calculation Method: Pick Margin-Based or Equity-Based.
Table Position: Choose where the table sits (e.g., top_right).
Table Size: Select XL, L, M, or S (default M, small text).
Table Cell Color: Set background color (default blue).
Table Text Color: Set text color (default white).
Table Cell Transparency: Adjust transparency (0 = solid, 100 = invisible, default 80).
Show Frahm Factor & Show Avg Candle Size: Check to show these rows, uncheck to hide (default on).
Position Size CalculatorIt calculates the risk per trade using two methods: Margin-Based (percentage of total Account Balance) or Equity-Based (percentage of Total Balance minus minimum balance). Displayed as a compact, customizable label on the main chart, it’s perfect for traders seeking quick, precise risk calculations.
Key Features
Two Calculation Options:
Margin-Based: Risk as a percentage (0-5%) of your total account balance.
Equity-Based: Risk as a percentage (0-50%) of (Total balance - Minimum balance).
Flexible Risk Input: Manually enter any risk percentage with 0.01% precision (e.g., 1.75%).
Customizable Display:
Repositionable table (9 positions, e.g., top-right, middle-center).
Four table sizes (XL, L, M, S) with text scaling (large, normal, small, tiny).
Adjustable cell color, text color, and transparency
Margin-Based Risk Calculation:
Set “Total Margin” (e.g., $10,000).
Enter “Risk Percentage (%)” (0 to 5%, e.g., 1.75%).
Equity-Based Risk Calculation:
Set “Total Equity” (e.g., $15,000).
Set “Minimum Balance” (e.g., $5,000).
Enter “Equity Risk Percentage (%)” (0 to 50%, e.g., 1.75%).
Display Settings:
Choose “Calculation Method” (Margin-Based or Equity-Based).
Select “Table Position” (e.g., top_right).
Select “Table Size” (XL, L, M, S; default M).
Customize “Table Cell Color”, “Table Text Color”, and “Table Cell Transparency”.
Holy GrailThis is a long-only educational strategy that simulates what happens if you keep adding to a position during pullbacks and only exit when the asset hits a new All-Time High (ATH). It is intended for learning purposes only — not for live trading.
🧠 How it works:
The strategy identifies pullbacks using a simple moving average (MA).
When price dips below the MA, it begins monitoring for the first green candle (close > open).
That green candle signals a potential bottom, so it adds to the position.
If price goes lower, it waits for the next green candle and adds again.
The exit happens after ATH — it sells on each red candle (close < open) once a new ATH is reached.
You can adjust:
MA length (defines what’s considered a pullback)
Initial buy % (how much to pre-fill before signals start)
Buy % per signal (after pullback green candle)
Exit % per red candle after ATH
📊 Intended assets & timeframes:
This strategy is designed for broad market indices and long-term appreciating assets, such as:
SPY, NASDAQ, DAX, FTSE
Use it only on 1D or higher timeframes — it’s not meant for scalping or short-term trading.
⚠️ Important Limitations:
Long-only: The script does not short. It assumes the asset will eventually recover to a new ATH.
Not for all assets: It won't work on assets that may never recover (e.g., single stocks or speculative tokens).
Slow capital deployment: Entries happen gradually and may take a long time to close.
Not optimized for returns: Buy & hold can outperform this strategy.
No slippage, fees, or funding costs included.
This is not a performance strategy. It’s a teaching tool to show that:
High win rate ≠ high profitability
Patience can be deceiving
Many signals = long capital lock-in
🎓 Why it exists:
The purpose of this strategy is to demonstrate market psychology and risk overconfidence. Traders often chase strategies with high win rates without considering holding time, drawdowns, or opportunity cost.
This script helps visualize that phenomenon.
Chaikin Money Flow (CMF) [ParadoxAlgo]OVERVIEW
This indicator implements the Chaikin Money Flow oscillator as an overlay on the price chart, designed to help traders identify institutional money flow patterns. The Chaikin Money Flow combines price and volume data to measure the flow of money into and out of a security, making it particularly useful for detecting accumulation and distribution phases.
WHAT IS CHAIKIN MONEY FLOW?
Chaikin Money Flow was developed by Marc Chaikin and measures the amount of Money Flow Volume over a specific period. The indicator oscillates between +1 and -1, where:
Positive values indicate money flowing into the security (accumulation)
Negative values indicate money flowing out of the security (distribution)
Values near zero suggest equilibrium between buying and selling pressure
CALCULATION METHOD
Money Flow Multiplier = ((Close - Low) - (High - Close)) / (High - Low)
Money Flow Volume = Money Flow Multiplier × Volume
CMF = Sum of Money Flow Volume over N periods / Sum of Volume over N periods
KEY FEATURES
Big Money Detection:
Identifies significant institutional activity when CMF exceeds user-defined thresholds
Requires volume confirmation (volume above average) to validate signals
Uses battery icon (🔋) for institutional buying and lightning icon (⚡) for institutional selling
Visual Elements:
Background coloring based on money flow direction
Support and resistance levels calculated using Average True Range
Real-time dashboard showing current CMF value, volume strength, and signal status
Customizable Parameters:
CMF Period: Calculation period for the money flow (default: 20)
Signal Smoothing: EMA smoothing applied to reduce noise (default: 5)
Big Money Threshold: CMF level required to trigger institutional signals (default: 0.15)
Volume Threshold: Volume multiplier required for signal confirmation (default: 1.5x)
INTERPRETATION
Signal Types:
🔋 (Battery): Indicates strong institutional buying when CMF > threshold with high volume
⚡ (Lightning): Indicates strong institutional selling when CMF < -threshold with high volume
Background color: Green tint for positive money flow, red tint for negative money flow
Dashboard Information:
CMF Value: Current Chaikin Money Flow reading
Volume: Current volume as a multiple of 20-period average
Big Money: Status of institutional activity (BUYING/SELLING/QUIET)
Signal: Strength assessment (STRONG/MEDIUM/WEAK)
TRADING APPLICATIONS
Trend Confirmation: Use CMF direction to confirm price trends
Divergence Analysis: Look for divergences between price and money flow
Volume Validation: Confirm breakouts with corresponding money flow
Accumulation/Distribution: Identify phases of institutional activity
PARAMETER RECOMMENDATIONS
Day Trading: CMF Period 14-21, higher sensitivity settings
Swing Trading: CMF Period 20-30, moderate sensitivity
Position Trading: CMF Period 30-50, lower sensitivity for major trends
ALERTS
Optional alert system notifies users when:
Big money buying is detected (CMF above threshold with volume confirmation)
Big money selling is detected (CMF below negative threshold with volume confirmation)
LIMITATIONS
May generate false signals in low-volume conditions
Best used in conjunction with other technical analysis tools
Effectiveness varies across different market conditions and timeframes
EDUCATIONAL PURPOSE
This open-source indicator is provided for educational purposes to help traders understand money flow analysis. It demonstrates the practical application of the Chaikin Money Flow concept with visual enhancements for easier interpretation.
TECHNICAL SPECIFICATIONS
Overlay indicator (displays on price chart)
No repainting - all calculations are based on closed bar data
Suitable for all timeframes and asset classes
Minimal resource usage for optimal performance
DISCLAIMER
This indicator is for educational and informational purposes only. Past performance does not guarantee future results. Always conduct your own analysis and consider risk management before making trading decisions.
Machine Learning Key Levels [AlgoAlpha]🟠 OVERVIEW
This script plots Machine Learning Key Levels on your chart by detecting historical pivot points and grouping them using agglomerative clustering to highlight price levels with the most past reactions. It combines a pivot detection, hierarchical clustering logic, and an optional silhouette method to automatically select the optimal number of key levels, giving you an adaptive way to visualize price zones where activity concentrated over time.
🟠 CONCEPTS
Agglomerative clustering is a bottom-up method that starts by treating each pivot as its own cluster, then repeatedly merges the two closest clusters based on the average distance between their members until only the desired number of clusters remain. This process creates a hierarchy of groupings that can flexibly describe patterns in how price reacts around certain levels. This offers an advantage over K-means clustering, since the number of clusters does not need to be predefined. In this script, it uses an average linkage approach, where distance between clusters is computed as the average pairwise distance of all contained points.
The script finds pivot highs and lows over a set lookback period and saves them in a buffer controlled by the Pivot Memory setting. When there are at least two pivots, it groups them using agglomerative clustering: it starts with each pivot as its own group and keeps merging the closest pairs based on their average distance until the desired number of clusters is left. This number can be fixed or chosen automatically with the silhouette method, which checks how well each point fits in its cluster compared to others (higher scores mean cleaner separation). Once clustering finishes, the script takes the average price of each cluster to create key levels, sorts them, and draws horizontal lines with labels and colors showing their strength. A metrics table can also display details about the clusters to help you understand how the levels were calculated.
🟠 FEATURES
Agglomerative clustering engine with average linkage to merge pivots into level groups.
Dynamic lines showing each cluster’s price level for clarity.
Labels indicating level strength either as percent of all pivots or raw counts.
A metrics table displaying pivot count, cluster count, silhouette score, and cluster size data.
Optional silhouette-based auto-selection of cluster count to adaptively find the best fit.
🟠 USAGE
Add the indicator to any chart. Choose how far back to detect pivots using Pivot Length and set Pivot Memory to control how many are kept for clustering (more pivots give smoother levels but can slow performance). If you want the script to pick the number of levels automatically, enable Auto No. Levels ; otherwise, set Number of Levels . The colored horizontal lines represent the calculated key levels, and circles show where pivots occurred colored by which cluster they belong to. The labels beside each level indicate its strength, so you can see which levels are supported by more pivots. If Show Metrics Table is enabled, you will see statistics about the clustering in the corner you selected. Use this tool to spot areas where price often reacts and to plan entries or exits around levels that have been significant over time. Adjust settings to better match volatility and history depth of your instrument.
log.info() - 5 Exampleslog.info() is one of the most powerful tools in Pine Script that no one knows about. Whenever you code, you want to be able to debug, or find out why something isn’t working. The log.info() command will help you do that. Without it, creating more complex Pine Scripts becomes exponentially more difficult.
The first thing to note is that log.info() only displays strings. So, if you have a variable that is not a string, you must turn it into a string in order for log.info() to work. The way you do that is with the str.tostring() command. And remember, it's all lower case! You can throw in any numeric value (float, int, timestamp) into str.string() and it should work.
Next, in order to make your output intelligible, you may want to identify whatever value you are logging. For example, if an RSI value is 50, you don’t want a bunch of lines that just say “50”. You may want it to say “RSI = 50”.
To do that, you’ll have to use the concatenation operator. For example, if you have a variable called “rsi”, and its value is 50, then you would use the “+” concatenation symbol.
EXAMPLE 1
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
//@version=6
indicator("log.info()")
rsi = ta.rsi(close,14)
log.info(“RSI= ” + str.tostring(rsi))
Example Output =>
RSI= 50
Here, we use double quotes to create a string that contains the name of the variable, in this case “RSI = “, then we concatenate it with a stringified version of the variable, rsi.
Now that you know how to write a log, where do you view them? There isn’t a lot of documentation on it, and the link is not conveniently located.
Open up the “Pine Editor” tab at the bottom of any chart view, and you’ll see a “3 dot” button at the top right of the pane. Click that, and right above the “Help” menu item you’ll see “Pine logs”. Clicking that will open that to open a pane on the right of your browser - replacing whatever was in the right pane area before. This is where your log output will show up.
But, because you’re dealing with time series data, using the log.info() command without some type of condition will give you a fast moving stream of numbers that will be difficult to interpret. So, you may only want the output to show up once per bar, or only under specific conditions.
To have the output show up only after all computations have completed, you’ll need to use the barState.islast command. Remember, barState is camelCase, but islast is not!
EXAMPLE 2
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
//@version=6
indicator("log.info()")
rsi = ta.rsi(close,14)
if barState.islast
log.info("RSI=" + str.tostring(rsi))
plot(rsi)
However, this can be less than ideal, because you may want the value of the rsi variable on a particular bar, at a particular time, or under a specific chart condition. Let’s hit these one at a time.
In each of these cases, the built-in bar_index variable will come in handy. When debugging, I typically like to assign a variable “bix” to represent bar_index, and include it in the output.
So, if I want to see the rsi value when RSI crosses above 0.5, then I would have something like
EXAMPLE 3
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
//@version=6
indicator("log.info()")
rsi = ta.rsi(close,14)
bix = bar_index
rsiCrossedOver = ta.crossover(rsi,0.5)
if rsiCrossedOver
log.info("bix=" + str.tostring(bix) + " - RSI=" + str.tostring(rsi))
plot(rsi)
Example Output =>
bix=19964 - RSI=51.8449459867
bix=19972 - RSI=50.0975830828
bix=19983 - RSI=53.3529808079
bix=19985 - RSI=53.1595745146
bix=19999 - RSI=66.6466337654
bix=20001 - RSI=52.2191767466
Here, we see that the output only appears when the condition is met.
A useful thing to know is that if you want to limit the number of decimal places, then you would use the command str.tostring(rsi,”#.##”), which tells the interpreter that the format of the number should only be 2 decimal places. Or you could round the rsi variable with a command like rsi2 = math.round(rsi*100)/100 . In either case you’re output would look like:
bix=19964 - RSI=51.84
bix=19972 - RSI=50.1
bix=19983 - RSI=53.35
bix=19985 - RSI=53.16
bix=19999 - RSI=66.65
bix=20001 - RSI=52.22
This would decrease the amount of memory that’s being used to display your variable’s values, which can become a limitation for the log.info() command. It only allows 4096 characters per line, so when you get to trying to output arrays (which is another cool feature), you’ll have to keep that in mind.
Another thing to note is that log output is always preceded by a timestamp, but for the sake of brevity, I’m not including those in the output examples.
If you wanted to only output a value after the chart was fully loaded, that’s when barState.islast command comes in. Under this condition, only one line of output is created per tick update — AFTER the chart has finished loading. For example, if you only want to see what the the current bar_index and rsi values are, without filling up your log window with everything that happens before, then you could use the following code:
EXAMPLE 4
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
//@version=6
indicator("log.info()")
rsi = ta.rsi(close,14)
bix = bar_index
if barstate.islast
log.info("bix=" + str.tostring(bix) + " - RSI=" + str.tostring(rsi))
Example Output =>
bix=20203 - RSI=53.1103309071
This value would keep updating after every new bar tick.
The log.info() command is a huge help in creating new scripts, however, it does have its limitations. As mentioned earlier, only 4096 characters are allowed per line. So, although you can use log.info() to output arrays, you have to be aware of how many characters that array will use.
The following code DOES NOT WORK! And, the only way you can find out why will be the red exclamation point next to the name of the indicator. That, and nothing will show up on the chart, or in the logs.
// CODE DOESN’T WORK
//@version=6
indicator("MW - log.info()")
var array rsi_arr = array.new()
rsi = ta.rsi(close,14)
bix = bar_index
rsiCrossedOver = ta.crossover(rsi,50)
if rsiCrossedOver
array.push(rsi_arr, rsi)
if barstate.islast
log.info("rsi_arr:" + str.tostring(rsi_arr))
log.info("bix=" + str.tostring(bix) + " - RSI=" + str.tostring(rsi))
plot(rsi)
// No code errors, but will not compile because too much is being written to the logs.
However, after putting some time restrictions in with the i_startTime and i_endTime user input variables, and creating a dateFilter variable to use in the conditions, I can limit the size of the final array. So, the following code does work.
EXAMPLE 5
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// CODE DOES WORK
//@version=6
indicator("MW - log.info()")
i_startTime = input.time(title="Start", defval=timestamp("01 Jan 2025 13:30 +0000"))
i_endTime = input.time(title="End", defval=timestamp("1 Jan 2099 19:30 +0000"))
var array rsi_arr = array.new()
dateFilter = time >= i_startTime and time <= i_endTime
rsi = ta.rsi(close,14)
bix = bar_index
rsiCrossedOver = ta.crossover(rsi,50) and dateFilter // <== The dateFilter condition keeps the array from getting too big
if rsiCrossedOver
array.push(rsi_arr, rsi)
if barstate.islast
log.info("rsi_arr:" + str.tostring(rsi_arr))
log.info("bix=" + str.tostring(bix) + " - RSI=" + str.tostring(rsi))
plot(rsi)
Example Output =>
rsi_arr:
bix=20210 - RSI=56.9030578034
Of course, if you restrict the decimal places by using the rounding the rsi value with something like rsiRounded = math.round(rsi * 100) / 100 , then you can further reduce the size of your array. In this case the output may look something like:
Example Output =>
rsi_arr:
bix=20210 - RSI=55.6947486019
This will give your code a little breathing room.
In a nutshell, I was coding for over a year trying to debug by pushing output to labels, tables, and using libraries that cluttered up my code. Once I was able to debug with log.info() it was a game changer. I was able to start building much more advanced scripts. Hopefully, this will help you on your journey as well.
Dynamic VWAP: Fair Value & Divergence SuiteDynamic VWAP: Fair Value & Divergence Suite
Dynamic VWAP: Fair Value & Divergence Suite is a comprehensive tool for tracking contextual valuation, overextension, and potential reversal signals in trending markets. Unlike traditional VWAP that anchors to the start of a session or a fixed period, this indicator dynamically resets the VWAP anchor to the most recent swing low. This design allows you to monitor how far price has extended from the most recent significant low, helping identify zones of potential profit-taking or reversion.
Deviation bands (standard deviations above the anchored VWAP) provide a clear visual framework to assess whether price is in a fair value zone (±1σ), moderately extended (+2σ), or in zones of extreme extension (+3σ to +5σ). The indicator also highlights contextual divergence signals, including slope deceleration, weak-volume retests, and deviation failures—giving you actionable confluence around potential reversal points.
Because the anchor updates dynamically, this tool is particularly well suited for trend-following assets like BTC or stocks in sustained moves, where price rarely returns to deep negative deviation zones. For this reason, the indicator focuses on upside extension rather than symmetrical reversion to a long-term mean.
🎯 Key Features
✅ Dynamic Swing Low Anchoring
Continuously re-anchors VWAP to the most recent swing low based on your chosen lookback period.
Provides context for trend progression and overextension relative to structural lows.
✅ Standard Deviation Bands
Plots up to +5σ deviation bands to visualize levels of overextension.
Extended bands (+3σ to +5σ) can be toggled for simplicity.
✅ Conditional Zone Fills
Colored background fills show when price is inside each valuation zone.
Helps you immediately see if price is in fair value, moderately extended, or highly stretched territory.
✅ Divergence Detection
VWAP Slope Divergence: Flags when price makes a higher high but VWAP slope decelerates.
Low Volume Retest: Highlights weak re-tests of VWAP on low volume.
Deviation Failure: Identifies when price reverts back inside +1σ after closing beyond +3σ.
✅ Volume Fallback
If volume is unavailable, uses high-low range as a proxy.
✅ Highly Customizable
Adjust lookbacks, show/hide extended bands, toggle fills, and enable or disable divergences.
🛠️ How to Use
Identify Buy and Sell Zones
Price in the fair value band (±1σ) suggests equilibrium.
Reaching +2σ to +3σ signals increasing overextension and potential areas to take profits.
+4σ to +5σ zones can be used to watch for exhaustion or mean-reversion setups.
Monitor Divergence Signals
Use slope divergence and deviation failures to look for confluence with overextension.
Low volume retests can flag rallies lacking conviction.
Adapt Swing Lookback
30–50 bars: Faster re-anchoring for swing trading.
75–100 bars: More stable anchors for longer-term trends.
🧭 Best Practices
Combine the anchored VWAP with higher timeframe structure.
Confirm signals with other tools (momentum, volume profiles, or trend filters).
Use extended deviation zones as context, not as standalone signals.
⚠️ Disclaimer
This script is for educational and informational purposes only. It does not constitute financial advice or a recommendation to buy or sell any security or asset. Always do your own research and consult a qualified financial professional before making any trading decisions. Past performance does not guarantee future results.
Price Extension from 8 EMAOverview
This indicator can be used to see how far away the price is from the 8 EMA. It compares this to the Average Daily Range % to see if the stock may be overextended. The "Extension Multiplier" represents how far the stock is extended away from the 8 EMA.
Core Concept
This indicator is best used for breakout trades that are trying to make sure they are not chasing the stock.
How to Use This Indicator
This tool is primarily intended for analyzing daily charts of individual stocks and is often used by breakout traders to evaluate potential entry areas.
If the stock is far away from the 8 EMA, it is likely not ready to break out. If it is close to the 8ema, it could be ready to move higher.
This indicator can also be used in the opposite way. For example, shorting or puts.
Understanding the colors
Green (Not Extended): Indicates the price is close to the 8 EMA. This often corresponds to periods of consolidation.
Yellow (Slightly Extended): The price is beginning to move away from the 8 EMA.
Orange (Extended): The price has moved a considerable distance from the 8 EMA.
Red (Very Extended): The price is at an extreme distance from the 8 EMA, historically increasing the likelihood of a pullback or consolidation.
Settings
Info Row Position: Adjusts the vertical position of the display table on the chart. Useful when using other indicators.
ADR Length: Sets the lookback period for calculating the Average Daily Range. Or the average range % for different timeframes.
Timeframe: Determines the timeframe for the EMA and ADR calculation (the default is Daily).
RISK## Main Purpose
The indicator calculates and displays risk levels based on margin requirements and daily settlement prices, helping traders visualize their potential risk exposure.
## Key Features
**Inputs:**
- **Margin for Calculation**: The CME long margin requirement for the asset
- **HTF Margin Line**: An anchor point for higher timeframe margin calculations
**Core Calculations:**
1. **Settlement Price Tracking**: Captures daily settlement prices during specific session times (6:58-6:59 PM ET for close, 6:00-6:01 PM ET for new day open)
2. **Risk Percentage**: Calculates `margin / (point value × settlement price)` - with special handling for Micro contracts (symbols starting with "M") that uses 10× point value
3. **Risk Intervals**: Determines price intervals representing one margin unit of risk
## Visual Display
The indicator plots multiple risk levels on the chart:
- **Settlement price** (orange circles)
- **Globex open** (green circles)
- **Upper/Lower Risk levels** (red circles) - one and two risk intervals away
- **Subdivision levels** (blue crosses) - 25%, 50%, and 75% of each risk interval
- **MHP+ level** (black crosses) - HTF anchor adjusted by risk percentage
- **HTF Anchor** (black crosses)
## Practical Use
This helps futures traders:
- Visualize how far price can move before hitting margin calls
- See risk levels relative to daily settlements
- Plan position sizing and risk management
- Understand exposure in terms of actual margin requirements
The indicator essentially transforms abstract margin numbers into concrete price levels on the chart, making risk management more visual and intuitive.
+ ATR Table and BracketsHi, all. I'm back with a new indicator—one I firmly believe could be one of the most valuable indicators you keep in your indicator toolshed—based around true range.
This is a simple, streamlined indicator utilizing true range and average true range that will help any trader with stoploss, trailing stoploss, and take-profit placement—things that I know many traders use average true range for. It could also be useful for trade entries as well, depending on the trader's style.
Typically, most traders (or at least what I've seen recommended across websites, video tutorials on YouTube, etc.) are taught to simply take the ATR number and use that, and possibly some sort of multiplier, as your stoploss and take-profit. This is fine, but I thought that it might be possible to dive a bit deeper into these values. Because an average is a combination of values, some higher, some lower, and we often see ATR spikes during periods of high volatility, I thought wouldn't it be useful to know what value those ATR spikes are, and how do they relate to the ATR? Then I thought to myself, well, what about the most volatile candle within that ATR (the candle with the greatest true range)? Couldn't knowing that value be useful to a trader? So then the idea of a table displaying these values, along with the ATR and the ATR times some multiplier number, would be a useful, simple way to display this information. That's what we have here.
The table is made up of two columns, one with the name of the metric being measured, and the other with its value. That's it. Simple.
As nice as this was, I thought an additional, great, and perhaps better, way to visualize this information would be in the form of brackets extending from the current bar. These are simply lines/labels plotted at the price values of the ATR, ATR times X, highest ATR, highest ATR times X, and highest TR value. These labels supply the actual values of the ATR, etc., but may also display the price if you should choose (both of these values are toggleable in the 'Inputs' section of the indicator.). Additionally, you can choose to display none of these labels, or all five if you wish (leaves the chart a bit cluttered, as shown in the image below), though I suspect you'll determine your preferences for which information you'd like to see and which not.
Chart with all five lines/labels displayed. I adjusted the ATRX value to 3 just to make the screenshot as legible as possible. Default is set to 1.5. As you can see, the label doesn't show the multiplier number, but the table does.
Here's a screenshot of the labels showing the price in addition to the value of the ATR, set to "Previous Closing Price," (see next paragraph for what that means) and highest TR. Personally, I don't see the value in the displaying the price, but I thought some people might want that. It's not available in the table as of now, but perhaps if I get enough requests for it I will add it.
That's basically it, but one last detail I need to go over is the dropdown box labeled "Bar Value ATR Levels are Oriented To." Firstly, this has no effect on Highest ATR, Highest ATRX, and Highest TR levels. Those are based on the ATR up to the last closed candle, meaning they aren't including the value of the currently open candle (this would be useless). However, knowing that different traders trade different ways it seemed to me prudent to allow for traders to select which opening or closing value the trader wishes to have the ATR brackets based on. For example, as someone who has consumed much No Nonsense Forex content I know that traders are urged to enter their trades in the last fifteen minutes of the trading day because the ATR is unlikely to change significantly in that period (ATR being the centerpiece of NNFX money management), so one of three selections here is to plot the brackets based on the ATR's inclusion of this value (this of course means the brackets will move while the candle is still open). The other options are to set the brackets to the current opening price, or the previous closing price. Depending on what you're trading many times these prices are virtually identical, but sometimes price gaps (stocks in particular), so, wanting your brackets placed relative to the previous close as opposed to the current open might be preferable for some traders.
And that's it. I really hope you guys like this indicator. I haven't seen anything closely similar to it on TradingView, and I think it will be something you all will find incredibly handy.
Please enjoy!
Fibonacci Extension Distance Table## 🧾 **Script Name**: Fibonacci Extension Distance Table
### 🎯 Purpose:
This script helps traders visually track **key Fibonacci extension levels** on any chart and immediately see:
* The **price target** at each extension
* The **distance in percentage** from the current market price
It is especially helpful for:
* **Profit targets in trending trades**
* Monitoring **potential resistance zones** in uptrends
* Planning **entry/exit timing**
---
## 🧮 **How It Works**
1. **Swing Logic (A → B → C)**
* It automatically finds:
* `A`: the **lowest low** in the last `swingLen` bars
* `B`: the **highest high** in that same lookback
* `C`: current bar’s low is used as the **retracement point** (simplified)
2. **Extension Formula**
Using the Fibonacci formula:
```text
Extension Price = C + (B - A) × Fibonacci Ratio
```
The script calculates projected target prices at:
* **100%**
* **127.2%**
* **161.8%** (Golden Ratio)
* **200%**
* **261.8%**
3. **Distance Calculation**
For each level, it calculates:
* The **absolute difference** between current price and the extension level
* The **percentage difference**, which helps quickly assess how close or far the market is from that target
---
## 📋 **Table Output in Top Right**
| Level | Target ₹ | Dist % from current price |
| ------ | ---------- | ------------------------- |
| 100% | Calculated | % Above/Below |
| 127.2% | Calculated | % Above/Below |
| 161.8% | Calculated | % Above/Below |
| 200% | Calculated | % Above/Below |
| 261.8% | Calculated | % Above/Below |
* The table updates **live on each bar**
* It **highlights levels** where price is nearing
* Useful in **any time frame** and **any market** (stocks, crypto, forex)
---
## 🔔 Example Use Case
You bought a stock at ₹100, and recent swing shows:
* A = ₹80
* B = ₹110
* C = ₹100
The 161.8% extension = 100 + (110 − 80) × 1.618 = ₹148.54
If the current price is ₹144, the table will show:
* Golden Ratio Target: ₹148.54
* Distance: −4.54
* Distance %: −3.05%
You now know your **target is near** and can plan your **exit or trailing stop**.
---
## 🧠 Benefits
* No need to draw extensions manually
* Automatically adapts to new swing structures
* Supports **scalping**, **swing**, and **positional** strategies
Pivot Swings w Table Pivot Swings w Table — Intraday Structure & Range Analyzer
This indicator identifies key pivot highs and lows on the chart and highlights market structure shifts using a real-time table display. It helps traders visually confirm potential trade setups by tracking unbroken swing points and measuring the range between the most recent pivots.
🔍 Features:
🔹 Automatic Pivot Detection using configurable left/right bar logic.
🔹 Unbroken Pivot Filtering — only pivots that haven't been invalidated by price are displayed.
🔹 Dynamic Range Table with:
Latest valid Pivot High and Pivot Low
Total Range Width
Upper & Lower 25% range thresholds (useful for value/imbalance analysis)
🔹 Trend-Based Color Coding — the table background changes based on which pivot (high or low) occurred more recently:
🟥 Red: Downward bias (last pivot was a lower high)
🟩 Green: Upward bias (last pivot was a higher low)
🔹 Optional extension of pivot levels to the right of the chart for support/resistance confluence.
⚙️ How to Use:
Adjust the Left Bars and Right Bars inputs to fine-tune how swings are defined.
Look for price reacting near the Upper or Lower 25% zones to anticipate mean reversion or breakout setups.
Use the trend color of the table to confirm directional bias, especially useful during consolidation or retracement periods.
💡 Best For:
Intraday or short-term swing traders
Traders who use market structure, support/resistance, or trend-based strategies
Those looking to avoid low-quality trades in tight ranges
✅ Built for overlay use on price charts
📈 Works on all symbols and timeframes
🧠 No repainting — pivots are confirmed with completed bars
Momentum Regression [BackQuant]Momentum Regression
The Momentum Regression is an advanced statistical indicator built to empower quants, strategists, and technically inclined traders with a robust visual and quantitative framework for analyzing momentum effects in financial markets. Unlike traditional momentum indicators that rely on raw price movements or moving averages, this tool leverages a volatility-adjusted linear regression model (y ~ x) to uncover and validate momentum behavior over a user-defined lookback window.
Purpose & Design Philosophy
Momentum is a core anomaly in quantitative finance — an effect where assets that have performed well (or poorly) continue to do so over short to medium-term horizons. However, this effect can be noisy, regime-dependent, and sometimes spurious.
The Momentum Regression is designed as a pre-strategy analytical tool to help you filter and verify whether statistically meaningful and tradable momentum exists in a given asset. Its architecture includes:
Volatility normalization to account for differences in scale and distribution.
Regression analysis to model the relationship between past and present standardized returns.
Deviation bands to highlight overbought/oversold zones around the predicted trendline.
Statistical summary tables to assess the reliability of the detected momentum.
Core Concepts and Calculations
The model uses the following:
Independent variable (x): The volatility-adjusted return over the chosen momentum period.
Dependent variable (y): The 1-bar lagged log return, also adjusted for volatility.
A simple linear regression is performed over a large lookback window (default: 1000 bars), which reveals the slope and intercept of the momentum line. These values are then used to construct:
A predicted momentum trendline across time.
Upper and lower deviation bands , representing ±n standard deviations of the regression residuals (errors).
These visual elements help traders judge how far current returns deviate from the modeled momentum trend, similar to Bollinger Bands but derived from a regression model rather than a moving average.
Key Metrics Provided
On each update, the indicator dynamically displays:
Momentum Slope (β₁): Indicates trend direction and strength. A higher absolute value implies a stronger effect.
Intercept (β₀): The predicted return when x = 0.
Pearson’s R: Correlation coefficient between x and y.
R² (Coefficient of Determination): Indicates how well the regression line explains the variance in y.
Standard Error of Residuals: Measures dispersion around the trendline.
t-Statistic of β₁: Used to evaluate statistical significance of the momentum slope.
These statistics are presented in a top-right summary table for immediate interpretation. A bottom-right signal table also summarizes key takeaways with visual indicators.
Features and Inputs
✅ Volatility-Adjusted Momentum : Reduces distortions from noisy price spikes.
✅ Custom Lookback Control : Set the number of bars to analyze regression.
✅ Extendable Trendlines : For continuous visualization into the future.
✅ Deviation Bands : Optional ±σ multipliers to detect abnormal price action.
✅ Contextual Tables : Help determine strength, direction, and significance of momentum.
✅ Separate Pane Design : Cleanly isolates statistical momentum from price chart.
How It Helps Traders
📉 Quantitative Strategy Validation:
Use the regression results to confirm whether a momentum-based strategy is worth pursuing on a specific asset or timeframe.
🔍 Regime Detection:
Track when momentum breaks down or reverses. Slope changes, drops in R², or weak t-stats can signal regime shifts.
📊 Trade Filtering:
Avoid false positives by entering trades only when momentum is both statistically significant and directionally favorable.
📈 Backtest Preparation:
Before running costly simulations, use this tool to pre-screen assets for exploitable return structures.
When to Use It
Before building or deploying a momentum strategy : Test if momentum exists and is statistically reliable.
During market transitions : Detect early signs of fading strength or reversal.
As part of an edge-stacking framework : Combine with other filters such as volatility compression, volume surges, or macro filters.
Conclusion
The Momentum Regression indicator offers a powerful fusion of statistical analysis and visual interpretation. By combining volatility-adjusted returns with real-time linear regression modeling, it helps quantify and qualify one of the most studied and traded anomalies in finance: momentum.
Multi-Timeframe PivotDescription:
This script provides an advanced tool for multi-timeframe pivot point
analysis. It identifies swing points based on a candle's relationship to
its neighbors. The default strength settings of 1 align with the Inner
Circle Trader (ICT) concept of market structure.
The ICT concept defines a swing point based on a simple 3-candle pattern:
- A swing high is a candle where the candles to the immediate left and right
both have lower highs.
- A swing low is a candle where the candles to the immediate left and right
both have higher lows.
A key feature is its ability to accurately calculate and translate pivot
points from up to five higher timeframes (HTFs) and display them
precisely on a lower timeframe (LTF) chart.
NOTE: This indicator is designed to show HTF data on an LTF chart.
If you select a timeframe in the settings that is lower than your
current chart's timeframe, it will show pivots for the chart's
timeframe instead.
Core Features:
- Up to five independent higher timeframes.
- Per-timeframe customization for pivot strength (left/right bars) and color.
- Optional "Watchlines" that project the price of each pivot forward,
complete with a text label identifying the timeframe.
- An optional "Alignment Model" that colors the background when price is
aligned across all active timeframes (requires at least 2 TFs to be enabled).
Default State:
For a clean initial application, the Watchlines and Alignment Model features
are disabled by default but can be enabled in the settings.