Ultimate ATR Extreme DetectorUltimate ATR Extreme Detector
Professional Volatility Analysis Tool for Strategic Trading
Discover Market Turning Points with Precision
Key Features
Smart Extremum Detection: Identifies when ATR reaches its highest or lowest point in your specified lookback period
Quad Visual Alert System:
▲ Green bottom triangles for low volatility signals
▼ Red top triangles for high volatility signals
Background color highlighting for instant state recognition
Status panel showing current volatility extremes
Dual Alert Modes:
TradingView native alerts ("ATR Low/High Signal")
Visual chart alerts with period details (e.g., "Alert: ATR Low (50 bars)")
4 Calculation Methods: RMA (Wilder's), SMA, EMA, and WMA
Fully Customizable:
Adjustable ATR period (default: 14)
Variable lookback window (default: 50)
Toggle features on/off via intuitive input settings
How It Works
The indicator scans volatility extremes using proprietary logic:
Calculates True Range using selected method (RMA/SMA/EMA/WMA)
Compares current ATR value against historical data
Flags critical moments when:
Volatility contracts to N-period lows (prepare for breakouts)
Volatility expands to N-period highs (watch for trend exhaustion)
Strategic Applications
markdown
复制
| SIGNAL | MARKET CONDITION | TRADING IMPLICATION |
|------------------|-----------------------|--------------------------------|
| Low Volatility | Contraction/Consolidation | Anticipate breakout moves |
| High Volatility | Expansion/Climax | Prepare for reversals or pauses |
Position Sizing: Use ATR values to determine optimal stop distances
Entry Timing: Combine with price action at key support/resistance
Risk Management: Adjust stops dynamically based on volatility regime
Optimization Guide
Day Trading: Short lookback (20-30 periods)
Swing Trading: Medium lookback (50-100 periods)
Position Trading: Long lookback (100-200 periods)
Volatility Analysis: Compare multiple timeframes simultaneously
Professional Setup Recommendations
Combine with:
Breakout Confirmation: Volume spikes, chart patterns
Reversal Signals: RSI divergence, candlestick reversals
Volatility Filters: Bollinger Band contraction, Keltner Channel breakout
Compatibility: Works flawlessly across FX, stocks, crypto, and commodities on all timeframes.
Why Traders Choose This Indicator
"Transforms complex volatility analysis into clear, actionable visual cues – the essential tool for breakout traders and risk managers alike."
Install Now to:
Spot consolidation before big moves
Identify exhaustion at trend extremes
Automate volatility-based position sizing
Receive instant alerts at critical volatility turns
Master market rhythms with professional-grade volatility intelligence!
Cari dalam skrip untuk "想象图:箱线图+折线组合,横轴为国家,纵轴为响应指数(0-100),箱线显示均值±标准差,叠加红色虚线标注各国确诊高峰时间点"
🏹 CCI+RSI+EMA Strategy (Enhanced with Oscillator Filters)This script is a multi-indicator trading strategy that combines trend-following and momentum signals using CCI, RSI, and EMA, enhanced with MACD and Stochastic filters for more reliable entries.
🧠 Core Concept
The strategy aims to:
Identify the trend using EMA(50) and a long-term comparison of EMA 35 vs EMA 169;
Spot momentum using CCI and RSI;
Filter entries through MACD and Stochastic confirmations to avoid false signals.
📌 Buy Conditions:
✅ Price is above EMA
✅ RSI is above a set threshold (default: 45)
✅ CCI is above a set threshold (default: 0)
✅ Uptrend confirmed by EMA 35 > EMA 169
✅ CCI has recently reached oversold levels (e.g. below -100)
✅ MACD shows bullish crossover
✅ Stochastic confirms exit from oversold zone
📌 Sell Conditions:
✅ Price is below EMA
✅ RSI is below a set threshold (default: 55)
✅ CCI is below 0
✅ Downtrend confirmed by EMA 35 < EMA 169
✅ CCI has recently reached overbought levels (e.g. above 100)
✅ MACD shows bearish crossover
✅ Stochastic confirms exit from overbought zone
🎯 Features:
Fully customizable inputs — adapt to your own trading style.
Trend background shading — green for uptrend, red for downtrend.
Enhanced entry logic — filters out weak signals.
CCI Cross and Trigger markers — additional confirmation tools.
🔔 Alerts
You can set alerts for ENHANCED BUY and ENHANCED SELL to never miss a quality signal.
📈 Use Case:
This tool is suitable for:
Manual trading entries and exits
Being a component of a broader trading system
Semi-automation with alert-based strategies
⚠️ Disclaimer:
This script is for educational and testing purposes only. It is not financial advice. Always backtest and demo trade before using on a live account.
Info TableOverview
The Info Table V1 is a versatile TradingView indicator tailored for intraday futures traders, particularly those focusing on MESM2 (Micro E-mini S&P 500 futures) on 1-minute charts. It presents essential market insights through two customizable tables: the Main Table for predictive and macro metrics, and the New Metrics Table for momentum and volatility indicators. Designed for high-activity sessions like 9:30 AM–11:00 AM CDT, this tool helps traders assess price alignment, sentiment, and risk in real-time. Metrics update dynamically (except weekly COT data), with optional alerts for key conditions like volatility spikes or momentum shifts.
This indicator builds on foundational concepts like linear regression for predictions and adapts open-source elements for enhanced functionality. Gradient code is adapted from TradingView's Color Library. QQE logic is adapted from LuxAlgo's QQE Weighted Oscillator, licensed under CC BY-NC-SA 4.0. The script is released under the Mozilla Public License 2.0.
Key Features
Two Customizable Tables: Positioned independently (e.g., top-right for Main, bottom-right for New Metrics) with toggle options to show/hide for a clutter-free chart.
Gradient Coloring: User-defined high/low colors (default green/red) for quick visual interpretation of extremes, such as overbought/oversold or high volatility.
Arrows for Directional Bias: In the New Metrics Table, up (↑) or down (↓) arrows appear in value cells based on metric thresholds (top/bottom 25% of range), indicating bullish/high or bearish/low conditions.
Consensus Highlighting: The New Metrics Table's title cells ("Metric" and "Value") turn green if all arrows are ↑ (strong bullish consensus), red if all are ↓ (strong bearish consensus), or gray otherwise.
Predicted Price Plot: Optional line (default blue) overlaying the ML-predicted price for visual comparison with actual price action.
Alerts: Notifications for high/low Frahm Volatility (≥8 or ≤3) and QQE Bias crosses (bullish/bearish momentum shifts).
Main Table Metrics
This table focuses on predictive, positional, and macro insights:
ML-Predicted Price: A linear regression forecast using normalized price, volume, and RSI over a customizable lookback (default 500 bars). Gradient scales from low (red) to high (green) relative to the current price ± threshold (default 100 points).
Deviation %: Percentage difference between current price and predicted price. Gradient highlights extremes (±0.5% default threshold), signaling potential overextensions.
VWAP Deviation %: Percentage difference from Volume Weighted Average Price (VWAP). Gradient indicates if price is above (green) or below (red) fair value (±0.5% default).
FRED UNRATE % Change: Percentage change in U.S. unemployment rate (via FRED data). Cell turns red for increases (economic weakness), green for decreases (strength), gray if zero or disabled.
Open Interest: Total open MESM2 futures contracts. Gradient scales from low (red) to high (green) up to a hardcoded 300,000 threshold, reflecting market participation.
COT Commercial Long/Short: Weekly Commitment of Traders data for commercial positions. Long cell green if longs > shorts (bullish institutional sentiment); Short cell red if shorts > longs (bearish); gray otherwise.
New Metrics Table Metrics
This table emphasizes technical momentum and volatility, with arrows for quick bias assessment:
QQE Bias: Smoothed RSI vs. trailing stop (default length 14, factor 4.236, smooth 5). Green for bullish (RSI > stop, ↑ arrow), red for bearish (RSI < stop, ↓ arrow), gray for neutral.
RSI: Relative Strength Index (default period 14). Gradient from oversold (red, <30 + threshold offset, ↓ arrow if ≤40) to overbought (green, >70 - offset, ↑ arrow if ≥60).
ATR Volatility: Score (1–20) based on Average True Range (default period 14, lookback 50). High scores (green, ↑ if ≥15) signal swings; low (red, ↓ if ≤5) indicate calm.
ADX Trend: Average Directional Index (default period 14). Gradient from weak (red, ↓ if ≤0.25×25 threshold) to strong trends (green, ↑ if ≥0.75×25).
Volume Momentum: Score (1–20) comparing current to historical volume (lookback 50). High (green, ↑ if ≥15) suggests pressure; low (red, ↓ if ≤5) implies weakness.
Frahm Volatility: Score (1–20) from true range over a window (default 24 hours, multiplier 9). Dynamic gradient (green/red/yellow); ↑ if ≥7.5, ↓ if ≤2.5.
Frahm Avg Candle (Ticks): Average candle size in ticks over the window. Blue gradient (or dynamic green/red/yellow); ↑ if ≥0.75 percentile, ↓ if ≤0.25.
Arrows trigger on metric-specific logic (e.g., RSI ≥60 for ↑), providing directional cues without strict color ties.
Customization Options
Adapt the indicator to your strategy:
ML Inputs: Lookback (10–5000 bars) and RSI period (2+) for prediction sensitivity—shorter for volatility, longer for trends.
Timeframes: Individual per metric (e.g., 1H for QQE Bias to match higher frames; blank for chart timeframe).
Thresholds: Adjust gradients and arrows (e.g., Deviation 0.1–5%, ADX 0–100, RSI overbought/oversold).
QQE Settings: Length, factor, and smooth for fine-tuned momentum.
Data Toggles: Enable/disable FRED, Open Interest, COT for focus (e.g., disable macro for pure intraday).
Frahm Options: Window hours (1+), scale multiplier (1–10), dynamic colors for avg candle.
Plot/Table: Line color, positions, gradients, and visibility.
Ideal Use Case
Perfect for MESM2 scalpers and trend traders. Use the Main Table for entry confirmation via predicted deviations and institutional positioning. Leverage the New Metrics Table arrows for short-term signals—enter bullish on green consensus (all ↑), avoid chop on low volatility. Set alerts to catch shifts without constant monitoring.
Why It's Valuable
Info Table V1 consolidates diverse metrics into actionable visuals, answering critical questions: Is price mispriced? Is momentum aligning? Is volatility manageable? With real-time updates, consensus highlights, and extensive customization, it enhances precision in fast markets, reducing guesswork for confident trades.
Note: Optimized for futures; some metrics (OI, COT) unavailable on non-futures symbols. Test on demo accounts. No financial advice—use at your own risk.
The provided script reuses open-source elements from TradingView's Color Library and LuxAlgo's QQE Weighted Oscillator, as noted in the script comments and description. Credits are appropriately given in both the description and code comments, satisfying the requirement for attribution.
Regarding significant improvements and proportion:
The QQE logic comprises approximately 15 lines of code in a script exceeding 400 lines, representing a small proportion (<5%).
Adaptations include integration with multi-timeframe support via request.security, user-customizable inputs for length, factor, and smooth, and application within a broader table-based indicator for momentum bias display (with color gradients, arrows, and alerts). This extends the original QQE beyond standalone oscillator use, incorporating it as one of seven metrics in the New Metrics Table for confluence analysis (e.g., consensus highlighting when all metrics align). These are functional enhancements, not mere stylistic or variable changes.
The Color Library usage is via official import (import TradingView/Color/1 as Color), leveraging built-in gradient functions without copying code, and applied to enhance visual interpretation across multiple metrics.
The script complies with the rules: reused code is minimal, significantly improved through integration and expansion, and properly credited. It qualifies for open-source publication under the Mozilla Public License 2.0, as stated.
Multi-Crypto Principal Component AnalysisVersion 0.2
## 📌 Multi-Crypto Principal Component Analysis (PCA) — Indicator Summary
### 🎯 Purpose
This indicator identifies **cryptocurrency assets that are behaving differently** from the rest of the market, using a simplified approach inspired by Principal Component Analysis (PCA). It’s designed to help traders spot **cross-market divergences**, detect outliers, and improve asset selection and correlation-based strategies.
### ⚙️ How It Works
The indicator analyzes the **log returns** of up to 7 user-defined assets over a configurable lookback period (default: 100 bars). It computes the **z-score** (standardized deviation) for each asset’s return series and compares it against the average behavior of the group.
If an asset’s behavior deviates significantly (beyond a threshold of 1.5 standard deviations), it’s flagged as an **outlier**.
- Each outlier is plotted as a **colored dot horizontally spaced** above the price bar
- Up to **3 dots per bar** are shown for visual clarity
This PCA-style detection works in real time, directly on the chart, and gives you a quick overview of which assets are breaking correlation.
### 🔧 Inputs
- 🕒 **Lookback Period**: Number of bars to analyze (default: 100)
- 🔢 **Assets 1–7**: Choose any 7 crypto symbols from any exchange
- 🎨 **Colors**: Predefined per asset (e.g. BTCUSDT = red, ETHUSDT = yellow)
- 📈 **Threshold**: Internal (1.5 std dev); adjustable in code if needed
### 📊 Outputs
- 🟢 Dots above candles representing assets that are acting as outliers
- 🧠 Real-time clustering insight based on statistical deviation
- 🧭 Spatially spaced dots to avoid visual overlap when multiple outliers appear
### ⚠️ Limitations
- This is a **PCA-inspired approximation**, not true matrix-based PCA
- It does **not compute principal components or eigenvectors**
- Sensitivity may vary with asset volatility or sparse trading data
- Real PCA requires external tools like Python or R for full dimensional analysis
This tool is ideal for traders who want real-time crypto correlation insights without needing external data science platforms. It’s lightweight, fast, and highly visual — and gives you a powerful lens into market dislocations across multiple assets.
Multi-Timeframe EMAs & WMAsMulti-Timeframe EMAs & WMAs (MTF EMAWMA)
The Multi-Timeframe EMAs & WMAs (MTF EMAWMA) indicator is a comprehensive tool designed to provide a multi-dimensional view of market trends by plotting various Exponential Moving Averages (EMAs) and Weighted Moving Averages (WMAs) from different timeframes onto your current chart. This allows traders to quickly assess confluent support and resistance levels, identify trend strength, and gain a broader market perspective without switching timeframes.
Key Features:
Multiple EMAs and WMAs:
This indicator includes:
- EMA 200: Plotted from H1 and M15 timeframes.
- EMA 100: Plotted from H1, M30, and M15 timeframes.
- EMA 50: Plotted from H4, H1, M30, and M15 timeframes.
- WMA 720: Plotted from H4, H1, M30, M15, and M1 timeframes.
Multi-Timeframe Analysis: By displaying moving averages from various timeframes, the indicator helps in understanding the interplay of different trends and their potential impact on price action.
Visual Distinction : Each moving average type and its timeframe representation are color-coded and styled (solid vs. dashed lines) for easy identification and clarity on the chart.
EMA 200: Dark Red
EMA 100: Cyan/Teal
EMA 50: SaddleBrown
WMA 720: Orange
Recommended Usage:
This indicator is specifically tailored for XAU/USD (Gold). It is intended to be used as a confluence tool to complement your existing trading strategies and indicators. It is not designed to be used solely as an entry or exit signal. Instead, leverage the information provided by these multi-timeframe moving averages to:
- Identify major trend directions: Observe the alignment and slope of longer-term moving averages.
- Spot potential support and resistance zones: Price often reacts to these key moving average levels from higher timeframes.
- Confirm trade bias: Use the higher timeframe moving averages to confirm the direction of your trades on lower timeframes.
- Enhance risk management: Understand where strong levels might exist to place stop-losses or take-profits.
Always combine this indicator with other forms of analysis, such as price action, chart patterns, volume analysis, or other technical indicators, to make informed trading decisions.
Remark: The script and description were created by AI.
NY Open ATR System - Tick Range Filter### **New York Open ATR System - Brief Overview**
#### **🎯 Core Purpose**
Identifies **high-potential breakout setups** at the New York open (13:30 UTC) by combining:
1. **Volatility filters** (dual ATR periods)
2. **Tick-based range analysis**
3. **Time-specific triggers**
---
### **⚙️ Key Components**
| **Feature** | **Function** |
|---------------------------|-----------------------------------------------------------------------------|
| **ATR Filters** | Dual volatility checks (short + long periods) at 13:25 UTC |
| **Tick Range Limit** | Highlights candles with range < user-defined ticks (default: 150) |
| **Time Precision** | Focuses exclusively on 13:30 UTC weekday candles |
| **Visual Markers** | Yellow highlight + tick count label (e.g., "147/150 ticks") |
| **Info Panel** | Real-time display of settings and current tick count |
---
### **📊 How It Works**
1. **Pre-Open Check (13:25 UTC)**
- Verifies market volatility using 2 ATR values
- Requires both to exceed user-defined thresholds
2. **Open Analysis (13:30 UTC)**
- Measures exact tick count: `(high - low) / instrument_mintick`
- Compares against your max tick limit (adjustable 1-5000)
3. **Visual Trigger**
- Highlights candle yellow if:
```tick_count < your_set_limit```
- Labels show exact performance vs limit (e.g., "142/150 ticks")
---
### **⚡ Trading Signals**
| **Condition** | **Visual Feedback** |
|----------------------------|---------------------------------------------|
| High volatility + tight range | Yellow candle + tick count label |
| All other scenarios | No marking |
---
### **🛠️ Customization**
```pine
// Key Adjustable Parameters:
maxTicks = input.int(150) // Set 1-5000 ticks
atrPeriod1 = input.int(14) // Short ATR (2-5000)
atrPeriod2 = input.int(161) // Long ATR (2-5000)
candleColor = input.color(color.yellow) // Highlight color
```
---
### **💡 Practical Use Cases**
1. **Breakout Anticipation**
- Tight ranges after volatility spikes often precede strong moves
2. **Session Scalping**
- Identify low-range opens for mean-reversion plays
3. **Volatility Filtering**
- Avoid trading when ATR thresholds aren't met
---
### **📈 Suggested Settings**
| **Market** | **Max Ticks** | **ATR Periods** |
|------------------|--------------|----------------|
| Forex (EUR/USD) | 100-200 | 14/161 |
| Stocks (SPY) | 50-120 | 10/200 |
| Crypto (BTC) | 300-500 | 20/100 |
---
### **✅ Benefits**
- **Precision Timing**: Focused on NY open liquidity surge
- **Quantitative Filtering**: Exact tick measurement + volatility thresholds
- **Clean Visuals**: No chart clutter - only marks qualifying candles
- **Adaptable**: Works across all markets and timeframes
This system helps traders spot high-probability breakout setups by combining volatility anticipation with precise range measurement at the market's most liquid opening window.
Digit Sum Mark (3/6/9 + Price ~33 ±15)This indicator highlights the price bars where the digit sum of high or low equals 3, 6, or 9, and the closing price is within a specific range (around ₹33 ±15, i.e., mod 100 ∈ ).
✨ Key Features:
Calculates digit sum of high and low values.
Adds +1 if the decimal portion > 0.50 (smart rounding logic).
Only activates when close price mod 100 is between 18 to 48, a zone inspired by the resonance around 33.
Marks the chart with green downward arrows (for high) and red upward arrows (for low) when digit sum = 3, 6, or 9.
📌 Inspired by Gann numerology and price vibration logic – especially the powerful influence of 3, 6, and 9 as noted by Nikola Tesla.
🚨 Best used on intraday or positional charts where price oscillates frequently around round figures.
🧠 Try pairing this with support/resistance tools for better accuracy!
Contrarian Market Structure BreakMarket Structure Break application was inspired and adapted from Market Structure Oscillator indicator developed by Lux Algo. So much credit to their work.
This indicator pairs nicely with the Contrarian 100 MA and can be located here:
Indicator Description: Contrarian Market Structure BreakOverview
The "Contrarian Market Structure Break" indicator is a versatile tool tailored for traders seeking to identify potential reversal opportunities by analyzing market structure across multiple timeframes. Built on Institutional Concepts of Structure (ICT), this indicator detects Break of Structure (BOS) and Change of Character (CHoCH) patterns across short-term, intermediate-term, and long-term swings, plotting them with customizable lines and labels. It generates contrarian buy and sell signals when price breaks key swing levels, with a unique "Blue Dot Tracker" to monitor consecutive buy signals for trend confirmation. Optimized for the daily timeframe, this indicator is adaptable to other timeframes with proper testing, making it ideal for traders of forex, stocks, or cryptocurrencies.
How It Works
The indicator combines three key components to provide a comprehensive view of market dynamics: Multi-Timeframe Market Structure Analysis: It identifies swing highs and lows across short-term, intermediate-term, and long-term periods, plotting BOS (continuation) and CHoCH (reversal) events with customizable line styles and labels.
Contrarian Signal Generation: Buy and sell signals are triggered when the price crosses below swing lows (buy) or above swing highs (sell), indicating potential reversals in overextended markets.
Blue Dot Tracker: A unique feature that counts consecutive buy signals ("blue dots") and highlights a "Hold Investment" state with a yellow background when three or more buy signals occur, suggesting a potential trend continuation.
Signals are visualized as small circles below (buy) or above (sell) price bars, and a table in the bottom-right corner displays the blue dot count and recommended action (Hold or Flip Investment), enhancing decision-making clarity.
Mathematical Concepts Swing Detection: The indicator identifies swing highs and lows by comparing price patterns over three bars, ensuring robust detection of pivot points. A swing high occurs when the middle bar’s high is higher than the surrounding bars, and a swing low occurs when the middle bar’s low is lower.
Market Structure Logic: BOS is detected when the price breaks a prior swing high (bullish) or low (bearish) in the direction of the current trend, while CHoCH signals a potential reversal when the price breaks a swing level against the trend. These are calculated across three timeframes for a multi-dimensional perspective.
Blue Dot Tracker: This feature counts consecutive buy signals and tracks the entry price. If three or more buy signals occur without a sell signal, the indicator enters a "Hold Investment" state, marked by a yellow background, until the price exceeds the entry price or a sell signal occurs.
Entry and Exit Rules Buy Signal (Blue Dot Below Bar): Triggered when the closing price crosses below a swing low on either the intermediate-term or long-term timeframe, suggesting an oversold condition and potential reversal upward. Short-term signals can be enabled but are disabled by default to reduce noise.
Sell Signal (White Dot Above Bar): Triggered when the closing price crosses above a swing high on either the intermediate-term or long-term timeframe, indicating an overbought condition and potential reversal downward.
Blue Dot Tracker Logic: After a buy signal, the indicator increments a blue dot counter and records the entry price. If three or more consecutive buy signals occur (blueDotCount ≥ 3), the indicator enters a "Hold Investment" state, highlighted with a yellow background, suggesting a potential trend continuation. The "Hold Investment" state ends when the price exceeds the entry price or a sell signal occurs, resetting the counter.
Exit Rules: Traders can exit buy positions when a sell signal appears, the price exceeds the entry price during a "Hold Investment" state, or based on additional confirmation from BOS/CHoCH patterns or other technical analysis tools. Always use proper risk management.
Recommended Usage
The indicator is optimized for the daily timeframe, where it effectively captures significant reversal and continuation patterns in trending or ranging markets. It can be adapted to other timeframes (e.g., 1H, 4H, 15M) with careful testing of settings, particularly enabling/disabling short-term structure analysis to suit market conditions. Backtesting is recommended to optimize performance for your chosen asset and timeframe.
Customization Options Market Structure Display: Toggle short-term, intermediate-term, and long-term structures on or off, with customizable line styles (solid, dashed, dotted) and colors for bullish and bearish breaks.
Labels: Enable or disable BOS/CHoCH labels for each timeframe to reduce chart clutter.
Signal Visibility: Hide buy/sell signals if desired for a cleaner chart.
Blue Dot Tracker: Monitor the blue dot count and action (Hold or Flip Investment) via the table display, which is fully customizable in terms of position and appearance.
Why Use This Indicator?
The "Contrarian Market Structure Break" indicator offers a robust framework for identifying high-probability reversal and continuation setups using ICT principles. Its multi-timeframe analysis, clear signal visualization, and innovative Blue Dot Tracker provide traders with actionable insights into market dynamics. Whether you're a swing trader or a day trader, this indicator’s flexibility and intuitive design make it a valuable addition to your trading arsenal.
Note for TradingView Moderators
This script complies with TradingView's House Rules by providing an educational and transparent description without performance claims or guarantees. It is designed to assist traders in technical analysis and should be used alongside proper risk management and personal research. The code is original, well-documented, and includes customizable inputs and clear visual outputs to enhance the user experience.
Tips for Users:
Backtest thoroughly on your chosen asset and timeframe to validate signal reliability. Combine with other indicators or price action analysis for confirmation of entries and exits. Adjust timeframe settings and enable/disable short-term structures to match market volatility and your trading style.
Hope the "Contrarian Market Structure Break" indicator enhances your trading strategy and helps you navigate the markets with confidence! Happy trading!
Normalized Fibonacci Retracement (MTF/LOG)A question: Instead of creating indicators that constantly plot Fibonacci Retracement levels in a visually overwhelming way, why don't we redefine them on a different scale? 🤨
Overview
The Normalized Fibonacci Retracement indicator converts price data to a 0-100 scale based on the selected timeframe's high-low range, displaying normalized candlesticks alongside standard Fibonacci levels (23.6%, 38.2%, 50%, 61.8%, 78.6%). This normalization reveals patterns that may be hidden in absolute price charts and allows consistent analysis across different instruments.
Originality
By normalizing prices to percentages, this indicator enables pattern recognition independent of absolute price levels. The same formation at $10-$20 and $1000-$2000 appears identical on the normalized scale, helping traders identify recurring structures across various assets and timeframes.
Concepts
The indicator uses a simple formula to transform price data into percentages. This creates a bounded scale where patterns become comparable regardless of the underlying asset's price range. The normalized view often reveals symmetries and relationships not visible in traditional price charts.
Mechanics
The system tracks highs and lows within the selected timeframe as anchor points. When a new period begins, fresh boundaries are established and prices recalculated. Trend direction is determined by timing of extremes. Linear scaling uses direct percentage calculation, while logarithmic scaling applies exponential interpolation for assets with large percentage moves.
Functions
Timeframe Selection: Higher timeframe analysis on any chart resolution
Normalized Display: OHLC data converted to 0-100 percentage scale
Fibonacci Levels: Standard retracement levels plotted automatically
Scaling Options: Linear or logarithmic calculation methods
Pattern Recognition: Reveals formations hidden in absolute price charts
Moving Average: Optional 20-period SMA overlay
Notes
Ensure chart data covers the full selected timeframe for accurate calculations. Use logarithmic scaling for volatile assets with large percentage moves. The normalized scale is effective at revealing patterns and structures that remain consistent across different price ranges, making it particularly useful for comparative analysis and pattern-based trading strategies.
I hope it helps everyone. Do not forget to manage your risk. And trade as safely as possible. Best of luck!
VoVix DEVMA🌌 VoVix DEVMA: A Deep Dive into Second-Order Volatility Dynamics
Welcome to VoVix+, a sophisticated trading framework that transcends traditional price analysis. This is not merely another indicator; it is a complete system designed to dissect and interpret the very fabric of market volatility. VoVix+ operates on the principle that the most powerful signals are not found in price alone, but in the behavior of volatility itself. It analyzes the rate of change, the momentum, and the structure of market volatility to identify periods of expansion and contraction, providing a unique edge in anticipating major market moves.
This document will serve as your comprehensive guide, breaking down every mathematical component, every user input, and every visual element to empower you with a profound understanding of how to harness its capabilities.
🔬 THEORETICAL FOUNDATION: THE MATHEMATICS OF MARKET DYNAMICS
VoVix+ is built upon a multi-layered mathematical engine designed to measure what we call "second-order volatility." While standard indicators analyze price, and first-order volatility indicators (like ATR) analyze the range of price, VoVix+ analyzes the dynamics of the volatility itself. This provides insight into the market's underlying state of stability or chaos.
1. The VoVix Score: Measuring Volatility Thrust
The core of the system begins with the VoVix Score. This is a normalized measure of volatility acceleration or deceleration.
Mathematical Formula:
VoVix Score = (ATR(fast) - ATR(slow)) / (StDev(ATR(fast)) + ε)
Where:
ATR(fast) is the Average True Range over a short period, representing current, immediate volatility.
ATR(slow) is the Average True Range over a longer period, representing the baseline or established volatility.
StDev(ATR(fast)) is the Standard Deviation of the fast ATR, which measures the "noisiness" or consistency of recent volatility.
ε (epsilon) is a very small number to prevent division by zero.
Market Implementation:
Positive Score (Expansion): When the fast ATR is significantly higher than the slow ATR, it indicates a rapid increase in volatility. The market is "stretching" or expanding.
Negative Score (Contraction): When the fast ATR falls below the slow ATR, it indicates a decrease in volatility. The market is "coiling" or contracting.
Normalization: By dividing by the standard deviation, we normalize the score. This turns it into a standardized measure, allowing us to compare volatility thrust across different market conditions and timeframes. A score of 2.0 in a quiet market means the same, relatively, as a score of 2.0 in a volatile market.
2. Deviation Analysis (DEV): Gauging Volatility's Own Volatility
The script then takes the analysis a step further. It calculates the standard deviation of the VoVix Score itself.
Mathematical Formula:
DEV = StDev(VoVix Score, lookback_period)
Market Implementation:
This DEV value represents the magnitude of chaos or stability in the market's volatility dynamics. A high DEV value means the volatility thrust is erratic and unpredictable. A low DEV value suggests the change in volatility is smooth and directional.
3. The DEVMA Crossover: Identifying Regime Shifts
This is the primary signal generator. We take two moving averages of the DEV value.
Mathematical Formula:
fastDEVMA = SMA(DEV, fast_period)
slowDEVMA = SMA(DEV, slow_period)
The Core Signal:
The strategy triggers on the crossover and crossunder of these two DEVMA lines. This is a profound concept: we are not looking at a moving average of price or even of volatility, but a moving average of the standard deviation of the normalized rate of change of volatility.
Bullish Crossover (fastDEVMA > slowDEVMA): This signals that the short-term measure of volatility's chaos is increasing relative to the long-term measure. This often precedes a significant market expansion and is interpreted as a bullish volatility regime.
Bearish Crossunder (fastDEVMA < slowDEVMA): This signals that the short-term measure of volatility's chaos is decreasing. The market is settling down or contracting, often leading to trending moves or range consolidation.
⚙️ INPUTS MENU: CONFIGURING YOUR ANALYSIS ENGINE
Every input has been meticulously designed to give you full control over the strategy's behavior. Understanding these settings is key to adapting VoVix+ to your specific instrument, timeframe, and trading style.
🌀 VoVix DEVMA Configuration
🧬 Deviation Lookback: This sets the lookback period for calculating the DEV value. It defines the window for measuring the stability of the VoVix Score. A shorter value makes the system highly reactive to recent changes in volatility's character, ideal for scalping. A longer value provides a smoother, more stable reading, better for identifying major, long-term regime shifts.
⚡ Fast VoVix Length: This is the lookback period for the fastDEVMA. It represents the short-term trend of volatility's chaos. A smaller number will result in a faster, more sensitive signal line that reacts quickly to market shifts.
🐌 Slow VoVix Length: This is the lookback period for the slowDEVMA. It represents the long-term, baseline trend of volatility's chaos. A larger number creates a more stable, slower-moving anchor against which the fast line is compared.
How to Optimize: The relationship between the Fast and Slow lengths is crucial. A wider gap (e.g., 20 and 60) will result in fewer, but potentially more significant, signals. A narrower gap (e.g., 25 and 40) will generate more frequent signals, suitable for more active trading styles.
🧠 Adaptive Intelligence
🧠 Enable Adaptive Features: When enabled, this activates the strategy's performance tracking module. The script will analyze the outcome of its last 50 trades to calculate a dynamic win rate.
⏰ Adaptive Time-Based Exit: If Enable Adaptive Features is on, this allows the strategy to adjust its Maximum Bars in Trade setting based on performance. It learns from the average duration of winning trades. If winning trades tend to be short, it may shorten the time exit to lock in profits. If winners tend to run, it will extend the time exit, allowing trades more room to develop. This helps prevent the strategy from cutting winning trades short or holding losing trades for too long.
⚡ Intelligent Execution
📊 Trade Quantity: A straightforward input that defines the number of contracts or shares for each trade. This is a fixed value for consistent position sizing.
🛡️ Smart Stop Loss: Enables the dynamic stop-loss mechanism.
🎯 Stop Loss ATR Multiplier: Determines the distance of the stop loss from the entry price, calculated as a multiple of the current 14-period ATR. A higher multiplier gives the trade more room to breathe but increases risk per trade. A lower multiplier creates a tighter stop, reducing risk but increasing the chance of being stopped out by normal market noise.
💰 Take Profit ATR Multiplier: Sets the take profit target, also as a multiple of the ATR. A common practice is to set this higher than the Stop Loss multiplier (e.g., a 2:1 or 3:1 reward-to-risk ratio).
🏃 Use Trailing Stop: This is a powerful feature for trend-following. When enabled, instead of a fixed stop loss, the stop will trail behind the price as the trade moves into profit, helping to lock in gains while letting winners run.
🎯 Trail Points & 📏 Trail Offset ATR Multipliers: These control the trailing stop's behavior. Trail Points defines how much profit is needed before the trail activates. Trail Offset defines how far the stop will trail behind the current price. Both are based on ATR, making them fully adaptive to market volatility.
⏰ Maximum Bars in Trade: This is a time-based stop. It forces an exit if a trade has been open for a specified number of bars, preventing positions from being held indefinitely in stagnant markets.
⏰ Session Management
These inputs allow you to confine the strategy's trading activity to specific market hours, which is crucial for day trading instruments that have defined high-volume sessions (e.g., stock market open).
🎨 Visual Effects & Dashboard
These toggles give you complete control over the on-chart visuals and the dashboard. You can disable any element to declutter your chart or focus only on the information that matters most to you.
📊 THE DASHBOARD: YOUR AT-A-GLANCE COMMAND CENTER
The dashboard centralizes all critical information into one compact, easy-to-read panel. It provides a real-time summary of the market state and strategy performance.
🎯 VOVIX ANALYSIS
Fast & Slow: Displays the current numerical values of the fastDEVMA and slowDEVMA. The color indicates their direction: green for rising, red for falling. This lets you see the underlying momentum of each line.
Regime: This is your most important environmental cue. It tells you the market's current state based on the DEVMA relationship. 🚀 EXPANSION (Green) signifies a bullish volatility regime where explosive moves are more likely. ⚛️ CONTRACTION (Purple) signifies a bearish volatility regime, where the market may be consolidating or entering a smoother trend.
Quality: Measures the strength of the last signal based on the magnitude of the DEVMA difference. An ELITE or STRONG signal indicates a high-conviction setup where the crossover had significant force.
PERFORMANCE
Win Rate & Trades: Displays the historical win rate of the strategy from the backtest, along with the total number of closed trades. This provides immediate feedback on the strategy's historical effectiveness on the current chart.
EXECUTION
Trade Qty: Shows your configured position size per trade.
Session: Indicates whether trading is currently OPEN (allowed) or CLOSED based on your session management settings.
POSITION
Position & PnL: Displays your current position (LONG, SHORT, or FLAT) and the real-time Profit or Loss of the open trade.
🧠 ADAPTIVE STATUS
Stop/Profit Mult: In this simplified version, these are placeholders. The primary adaptive feature currently modifies the time-based exit, which is reflected in how long trades are held on the chart.
🎨 THE VISUAL UNIVERSE: DECIPHERING MARKET GEOMETRY
The visuals are not mere decorations; they are geometric representations of the underlying mathematical concepts, designed to give you an intuitive feel for the market's state.
The Core Lines:
FastDEVMA (Green/Maroon Line): The primary signal line. Green when rising, indicating an increase in short-term volatility chaos. Maroon when falling.
SlowDEVMA (Aqua/Orange Line): The baseline. Aqua when rising, indicating a long-term increase in volatility chaos. Orange when falling.
🌊 Morphism Flow (Flowing Lines with Circles):
What it represents: This visualizes the momentum and strength of the fastDEVMA. The width and intensity of the "beam" are proportional to the signal strength.
Interpretation: A thick, steep, and vibrant flow indicates powerful, committed momentum in the current volatility regime. The floating '●' particles represent kinetic energy; more particles suggest stronger underlying force.
📐 Homotopy Paths (Layered Transparent Boxes):
What it represents: These layered boxes are centered between the two DEVMA lines. Their height is determined by the DEV value.
Interpretation: This visualizes the overall "volatility of volatility." Wider boxes indicate a chaotic, unpredictable market. Narrower boxes suggest a more stable, predictable environment.
🧠 Consciousness Field (The Grid):
What it represents: This grid provides a historical lookback at the DEV range.
Interpretation: It maps the recent "consciousness" or character of the market's volatility. A consistently wide grid suggests a prolonged period of chaos, while a narrowing grid can signal a transition to a more stable state.
📏 Functorial Levels (Projected Horizontal Lines):
What it represents: These lines extend from the current fastDEVMA and slowDEVMA values into the future.
Interpretation: Think of these as dynamic support and resistance levels for the volatility structure itself. A crossover becomes more significant if it breaks cleanly through a prior established level.
🌊 Flow Boxes (Spaced Out Boxes):
What it represents: These are compact visual footprints of the current regime, colored green for Expansion and red for Contraction.
Interpretation: They provide a quick, at-a-glance confirmation of the dominant volatility flow, reinforcing the background color.
Background Color:
This provides an immediate, unmistakable indication of the current volatility regime. Light Green for Expansion and Light Aqua/Blue for Contraction, allowing you to assess the market environment in a split second.
📊 BACKTESTING PERFORMANCE REVIEW & ANALYSIS
The following is a factual, transparent review of a backtest conducted using the strategy's default settings on a specific instrument and timeframe. This information is presented for educational purposes to demonstrate how the strategy's mechanics performed over a historical period. It is crucial to understand that these results are historical, apply only to the specific conditions of this test, and are not a guarantee or promise of future performance. Market conditions are dynamic and constantly change.
Test Parameters & Conditions
To ensure the backtest reflects a degree of real-world conditions, the following parameters were used. The goal is to provide a transparent baseline, not an over-optimized or unrealistic scenario.
Instrument: CME E-mini Nasdaq 100 Futures (NQ1!)
Timeframe: 5-Minute Chart
Backtesting Range: March 24, 2024, to July 09, 2024
Initial Capital: $100,000
Commission: $0.62 per contract (A realistic cost for futures trading).
Slippage: 3 ticks per trade (A conservative setting to account for potential price discrepancies between order placement and execution).
Trade Size: 1 contract per trade.
Performance Overview (Historical Data)
The test period generated 465 total trades , providing a statistically significant sample size for analysis, which is well above the recommended minimum of 100 trades for a strategy evaluation.
Profit Factor: The historical Profit Factor was 2.663 . This metric represents the gross profit divided by the gross loss. In this test, it indicates that for every dollar lost, $2.663 was gained.
Percent Profitable: Across all 465 trades, the strategy had a historical win rate of 84.09% . While a high figure, this is a historical artifact of this specific data set and settings, and should not be the sole basis for future expectations.
Risk & Trade Characteristics
Beyond the headline numbers, the following metrics provide deeper insight into the strategy's historical behavior.
Sortino Ratio (Downside Risk): The Sortino Ratio was 6.828 . Unlike the Sharpe Ratio, this metric only measures the volatility of negative returns. A higher value, such as this one, suggests that during this test period, the strategy was highly efficient at managing downside volatility and large losing trades relative to the profits it generated.
Average Trade Duration: A critical characteristic to understand is the strategy's holding period. With an average of only 2 bars per trade , this configuration operates as a very short-term, or scalping-style, system. Winning trades averaged 2 bars, while losing trades averaged 4 bars. This indicates the strategy's logic is designed to capture quick, high-probability moves and exit rapidly, either at a profit target or a stop loss.
Conclusion and Final Disclaimer
This backtest demonstrates one specific application of the VoVix+ framework. It highlights the strategy's behavior as a short-term system that, in this historical test on NQ1!, exhibited a high win rate and effective management of downside risk. Users are strongly encouraged to conduct their own backtests on different instruments, timeframes, and date ranges to understand how the strategy adapts to varying market structures. Past performance is not indicative of future results, and all trading involves significant risk.
🔧 THE DEVELOPMENT PHILOSOPHY: FROM VOLATILITY TO CLARITY
The journey to create VoVix+ began with a simple question: "What drives major market moves?" The answer is often not a change in price direction, but a fundamental shift in market volatility. Standard indicators are reactive to price. We wanted to create a system that was predictive of market state. VoVix+ was designed to go one level deeper—to analyze the behavior, character, and momentum of volatility itself.
The challenge was twofold. First, to create a robust mathematical model to quantify these abstract concepts. This led to the multi-layered analysis of ATR differentials and standard deviations. Second, to make this complex data intuitive and actionable. This drove the creation of the "Visual Universe," where abstract mathematical values are translated into geometric shapes, flows, and fields. The adaptive system was intentionally kept simple and transparent, focusing on a single, impactful parameter (time-based exits) to provide performance feedback without becoming an inscrutable "black box." The result is a tool that is both profoundly deep in its analysis and remarkably clear in its presentation.
⚠️ RISK DISCLAIMER AND BEST PRACTICES
VoVix+ is an advanced analytical tool, not a guarantee of future profits. All financial markets carry inherent risk. The backtesting results shown by the strategy are historical and do not guarantee future performance. This strategy incorporates realistic commission and slippage settings by default, but market conditions can vary. Always practice sound risk management, use position sizes appropriate for your account equity, and never risk more than you can afford to lose. It is recommended to use this strategy as part of a comprehensive trading plan. This was developed specifically for Futures
"The prevailing wisdom is that markets are always right. I take the opposite view. I assume that markets are always wrong. Even if my assumption is occasionally wrong, I use it as a working hypothesis."
— George Soros
— Dskyz, Trade with insight. Trade with anticipation.
Multy Dynamic POCThis script displays up to 4 independent Point of Control (POC) levels based on volume profile logic.
📌 Each POC can be configured individually:
Period options: Daily (D), Weekly (W), Monthly (M), or BARS (rolling bar window).
Dynamic recalculation when the period changes (e.g., new day/week/month or custom bar count).
Price-anchored lines for each POC level that scale correctly with the chart.
Customizable line color and thickness.
🔍 How it works:
For each active POC line, the script builds a simple volume distribution based on the candle’s average price (hl2) and volume.
The price range is split into 100 buckets. The one with the highest accumulated volume is selected as the Point of Control (POC).
In BARS mode, POC is recalculated every N bars. In D/W/M modes, it resets exactly at the beginning of a new period (according to TradingView’s time() function).
✅ Useful for:
Traders applying volume profile analysis without needing the full built-in volume profile tool.
Spotting dynamic high-volume zones in trends or ranges.
Strategy development or confirmation around high-interest price levels.
_______________________________________________________________________________
Данный индикатор отображает до 4 независимых уровней Point of Control (POC), рассчитанных по объёмам.
📌 Каждый POC можно настраивать отдельно:
Периоды: День (D), Неделя (W), Месяц (M) или BARS (скользящее окно по количеству баров).
Автоматический пересчёт при смене периода (например, новый день, неделя или месяц).
Линии POC привязаны к цене и масштабируются вместе с графиком.
Настраиваемый цвет и толщина линий.
🔍 Как работает:
Для каждой активной линии POC создаётся объёмное распределение: берется средняя цена свечи (hl2) и объем.
Диапазон цен делится на 100 уровней. Тот, где накоплено больше всего объёма, и есть POC.
В режиме BARS уровень пересчитывается каждые N баров. В режимах D/W/M — строго в начале нового периода.
✅ Подходит для:
Трейдеров, использующих объёмный анализ, но не имеющих платной подписки на Volume Profile.
Поиска уровней интереса и подтверждения сигналов.
Разработки стратегий с опорой на объём.
Position Size Calculator with Fees# Position Size Calculator with Portfolio Management - Manual
## Overview
The Position Size Calculator with Portfolio Management is an advanced Pine Script indicator designed to help traders calculate optimal position sizes based on their total portfolio value and risk management strategy. This tool automatically calculates your risk amount based on portfolio allocation percentages and determines the exact position size needed while accounting for trading fees.
## Key Features
- **Portfolio-Based Risk Management**: Calculates risk based on total portfolio value
- **Tiered Risk Allocation**: Separates trading allocation from total portfolio
- **Automatic Trade Direction Detection**: Determines long/short based on entry vs stop loss
- **Fee Integration**: Accounts for trading fees in position size calculations
- **Risk Factor Adjustment**: Allows scaling of position size up or down
- **Visual Display**: Shows all calculations in a clear, color-coded table
- **Automatic Risk Calculation**: No need to manually input risk amount
## Input Parameters
### Total Portfolio ($)
- **Purpose**: The total value of your investment portfolio
- **Default**: 0.0
- **Range**: Any positive value
- **Step**: 0.01
- **Example**: If your total portfolio is worth $100,000, enter 100000
### Trading Portfolio Allocation (%)
- **Purpose**: The percentage of your total portfolio allocated to active trading
- **Default**: 20.0%
- **Range**: 0.0% to 100.0%
- **Step**: 0.01
- **Example**: If you allocate 20% of your portfolio to trading, enter 20
### Risk from Trading (%)
- **Purpose**: The percentage of your trading allocation you're willing to risk per trade
- **Default**: 0.1%
- **Range**: Any positive value
- **Step**: 0.01
- **Example**: If you risk 0.1% of your trading allocation per trade, enter 0.1
### Entry Price ($)
- **Purpose**: The price at which you plan to enter the trade
- **Default**: 0.0
- **Range**: Any positive value
- **Step**: 0.01
### Stop Loss ($)
- **Purpose**: The price at which you will exit if the trade goes against you
- **Default**: 0.0
- **Range**: Any positive value
- **Step**: 0.01
### Risk Factor
- **Purpose**: A multiplier to scale your position size up or down
- **Default**: 1.0 (no scaling)
- **Range**: 0.0 to 10.0
- **Step**: 0.1
- **Examples**:
- 1.0 = Normal position size
- 2.0 = Double the position size
- 0.5 = Half the position size
### Fee (%)
- **Purpose**: The percentage fee charged per transaction
- **Default**: 0.01% (0.01)
- **Range**: 0.0% to 1.0%
- **Step**: 0.001
## How Risk Amount is Calculated
The script automatically calculates your risk amount using this formula:
```
Risk Amount = Total Portfolio × Trading Allocation (%) × Risk % ÷ 10,000
```
### Example Calculation:
- Total Portfolio: $100,000
- Trading Allocation: 20%
- Risk per Trade: 0.1%
**Risk Amount = $100,000 × 20 × 0.1 ÷ 10,000 = $20**
This means you would risk $20 per trade, which is 0.1% of your $20,000 trading allocation.
## Portfolio Structure Example
Let's say you have a $100,000 portfolio:
### Allocation Structure:
- **Total Portfolio**: $100,000
- **Trading Allocation (20%)**: $20,000
- **Long-term Investments (80%)**: $80,000
### Risk Management:
- **Risk per Trade (0.1% of trading)**: $20
- **Maximum trades at risk**: Could theoretically have 1,000 trades before risking entire trading allocation
## How Position Size is Calculated
### Trade Direction Detection
- **Long Trade**: Entry price > Stop loss price
- **Short Trade**: Entry price < Stop loss price
### Position Size Formulas
#### For Long Trades:
```
Position Size = -Risk Factor × Risk Amount / (Stop Loss × (1 - Fee) - Entry Price × (1 + Fee))
```
#### For Short Trades:
```
Position Size = -Risk Factor × Risk Amount / (Entry Price × (1 - Fee) - Stop Loss × (1 + Fee))
```
## Output Display
The indicator displays a comprehensive table with color-coded sections:
### Portfolio Information (Light Blue Background)
- **Portfolio (USD)**: Your total portfolio value
- **Trading Portfolio Allocation (%)**: Percentage allocated to trading
- **Risk as % of Trading**: Risk percentage per trade
### Trade Setup (Gray Background)
- **Entry Price**: Your specified entry price
- **Stop Loss**: Your specified stop loss price
- **Fee (%)**: Trading fee percentage
- **Risk Factor**: Position size multiplier
### Risk Analysis (Red Background)
- **Risk Amount**: Automatically calculated dollar risk
- **Effective Entry**: Actual entry cost including fees
- **Effective Exit**: Actual exit value including fees
- **Expected Loss**: Calculated loss if stop loss is hit
- **Deviation from Risk %**: Accuracy of risk calculation
### Final Result (Blue Background)
- **Position Size**: Number of shares/units to trade
## Usage Examples
### Example 1: Conservative Long Trade
- **Total Portfolio**: $50,000
- **Trading Allocation**: 15%
- **Risk per Trade**: 0.05%
- **Entry Price**: $25.00
- **Stop Loss**: $24.00
- **Risk Factor**: 1.0
- **Fee**: 0.01%
**Calculated Risk Amount**: $50,000 × 15% × 0.05% ÷ 100 = $3.75
### Example 2: Aggressive Short Trade
- **Total Portfolio**: $200,000
- **Trading Allocation**: 30%
- **Risk per Trade**: 0.2%
- **Entry Price**: $150.00
- **Stop Loss**: $155.00
- **Risk Factor**: 2.0
- **Fee**: 0.01%
**Calculated Risk Amount**: $200,000 × 30% × 0.2% ÷ 100 = $120
**Actual Risk**: $120 × 2.0 = $240 (due to risk factor)
## Color Coding System
- **Green/Red Header**: Trade direction (Long/Short)
- **Light Blue**: Portfolio management parameters
- **Gray**: Trade setup parameters
- **Red**: Risk-related calculations and results
- **Blue**: Final position size result
## Best Practices
### Portfolio Management
1. **Keep trading allocation reasonable** (typically 10-30% of total portfolio)
2. **Use conservative risk percentages** (0.05-0.2% per trade)
3. **Don't risk more than you can afford to lose**
### Risk Management
1. **Start with small risk factors** (1.0 or less) until comfortable
2. **Monitor your total exposure** across all open positions
3. **Adjust risk based on market conditions**
### Trade Execution
1. **Always validate calculations** before placing trades
2. **Account for slippage** in volatile markets
3. **Consider position size relative to liquidity**
## Risk Management Guidelines
### Conservative Approach
- Trading Allocation: 10-20%
- Risk per Trade: 0.05-0.1%
- Risk Factor: 0.5-1.0
### Moderate Approach
- Trading Allocation: 20-30%
- Risk per Trade: 0.1-0.15%
- Risk Factor: 1.0-1.5
### Aggressive Approach
- Trading Allocation: 30-40%
- Risk per Trade: 0.15-0.25%
- Risk Factor: 1.5-2.0
## Troubleshooting
### Common Issues
1. **Position Size shows 0**
- Verify all portfolio inputs are greater than 0
- Check that entry price differs from stop loss
- Ensure calculated risk amount is positive
2. **Very small position sizes**
- Increase risk percentage or risk factor
- Check if your risk amount is too small for the price difference
3. **Large risk deviation**
- Normal for very small positions
- Consider adjusting entry/stop loss levels
### Validation Checklist
- Total portfolio value is realistic
- Trading allocation percentage makes sense
- Risk percentage is conservative
- Entry and stop loss prices are valid
- Trade direction matches your intention
## Advanced Features
### Risk Factor Usage
- **Scaling up**: Use risk factors > 1.0 for high-confidence trades
- **Scaling down**: Use risk factors < 1.0 for uncertain trades
- **Never exceed**: Risk factors that would risk more than your comfort level
### Multiple Timeframe Analysis
- Use different risk factors for different timeframes
- Consider correlation between positions
- Adjust trading allocation based on market conditions
## Disclaimer
This tool is for educational and planning purposes only. Always verify calculations manually and consider market conditions, liquidity, and correlation between positions. The automated risk calculation assumes you're comfortable with the mathematical relationship between portfolio allocation and individual trade risk. Past performance doesn't guarantee future results, and all trading involves risk of loss.
WRAMA Channel (Weighted RSI ATR MA)OVERVIEW
The WRAMA Channel (Weighted RSI ATR MA) is an advanced technical analysis tool designed to react more quickly to price movements compared to indicators using conventional moving averages. It combines the Relative Strength Index (RSI), Average True Range (ATR), and a weighted moving average, resulting in the WRAMA. This indicator forms a dynamic price channel based on a weighted average that incorporates both trend strength (via RSI) and market volatility (via ATR). It helps traders identify trends, potential reversals, and breakout signals, while offering broad customization options.
Key Features
WRAMA Price Channel:
Generates a dynamic channel around the weighted moving average (WRAMA), adapting to market volatility and momentum, similar to Bollinger Bands. Users are encouraged to adjust channel width and length according to their strategy.
The upper and lower channel bands are calculated based on a percentage deviation from the baseline line.
The channel fill color changes depending on the price's position relative to the baseline (green above, red below), with an optional gradient for better visualization.
Weighted Moving Average (WRAMA):
WRAMA is a custom weighted moving average (MA1), where closing prices are weighted based on RSI and ATR, allowing it to dynamically adapt to market conditions.
Baseline: The WRAMA line calculated over a user-defined period.
WRAMA Calculation:
RSI Weight: Based on RSI value. When RSI is in extreme zones (below the lower threshold or above the upper threshold), an extreme weight is applied. Otherwise, the weight is based on the squared RSI value divided by 100, raised to a power defined by the rsi_weight_factor.
ATR Weight: Based on the ATR-to-average-ATR ratio. If ATR exceeds a threshold (atr_threshold × avg_atr), an extreme weight is applied. Otherwise, the weight is based on the squared ratio of ATR to average ATR, raised to the power of the atr_weight_factor.
Combined Weight: RSI and ATR weights are combined using a rsi_atr_balance parameter. Final weight = RSI weight × balance + ATR weight × (1 - balance).
WRAMA Calculation: The closing price is multiplied by the combined weight. The result is averaged over the ma_length period and divided by the average of the weights, forming the WRAMA line. For current WRAMA (ma_length = 1), the calculation simplifies to a single weighted price.
Additional Moving Averages:
For additional confirmations, the indicator supports up to five moving averages (MA1–MA5) with various types (SMA, EMA, WMA, HMA, ALMA) and customizable periods.
All additional MAs are calculated based on WRAMA or its baseline, ensuring consistency and enabling deeper analysis within a unified methodology. MA trend directions can be tracked in a built-in signal table.
Trading Signals:
Breakout Signals: Breakouts above/below the channel are optionally marked with triangle shapes (green for bullish, red for bearish).
MA Signals: Price position relative to MAs or their slope generates bullish/bearish signals. These are optionally visualized with default triangles (green up, red down).
A signal table in the top-right corner summarizes the status of each moving average – bullish, bearish, or neutral.
Customization Options
Channel Settings:
MA Period: Length of the WRAMA baseline (default: 100).
Channel Deviation : Percentage offset from the baseline for upper/lower bands (default: 1.5%).
RSI Settings:
RSI Period: Length of the RSI calculation (default: 14).
RSI Upper/Lower Threshold: Overbought/oversold levels (default: 70/30).
RSI Weight Factor: Influence of RSI on weighting (default: 2.0).
ATR Settings:
ATR Period: ATR calculation length (default: 14).
ATR Threshold: Volatility threshold as a multiple of average ATR (default: 1.5).
ATR Weight Factor: Influence of ATR on weighting (default: 2.0).
RSI & ATR Combined:
Extreme Weight: Weight applied in extreme RSI/ATR conditions (default: 3.0).
RSI/ATR Balance: Balance between RSI and ATR influence (default: 0.5).
Signal Settings:
Show Breakout Signals: Enable/disable breakout triangles.
Show MA Signals: Enable/disable MA-based signals.
MA Signal Source: Choose between current WRAMA or baseline.
MA Signal Analysis: Based on price position or slope.
Neutral Threshold : Minimum distance from MA for signal neutrality (default: 0.5%).
Minimum MA Slope : Minimum slope for trend direction signals (default: 0.01%).
Moving Averages (MA1–MA5):
Options to enable/disable, select type (SMA, EMA, WMA, HMA, ALMA), set period length, and choose color.
Style Settings:
Gradient Fill: Enable/disable gradient coloring within the channel.
Show Baseline: Enable/disable WRAMA baseline visibility.
Colors: Customize line, fill, and signal colors.
Use Cases
Trend Identification: The WRAMA channel highlights trend direction and potential reversal zones when price contacts the channel edges.
Breakout Signals: Channel breakouts may indicate trend shifts or momentum surges.
MA Analysis: The signal table provides a clear summary of market direction (bullish, bearish, or neutral) based on selected moving averages.
Trading Strategies: Suitable for trend-following, mean-reversion, and scalping strategies, depending on user preferences and settings.
Notes
The indicator offers a high degree of flexibility, making it adaptable to various trading styles, instruments, and timeframes.
It is recommended to adjust channel length and width to fit your trading strategy.
Backtesting settings on historical data is advised to optimize parameters for a specific strategy and market.
Candle Emotion Oscillator [CEO]Candle Emotion Oscillator (CEO) - Revolutionary User Guide
🧠 World's First Market Psychology Oscillator
The Candle Emotion Oscillator (CEO) is a groundbreaking indicator that measures market emotions through pure candle price action analysis. This is the first oscillator ever created that translates candle patterns into psychological states, giving you unprecedented insight into market sentiment.
🚀 Revolutionary Concept
What Makes CEO Unique
100% Pure Price Action: No volume, no external data - just candle analysis
Market Psychology: Measures actual emotions: Fear, Greed, Panic, Euphoria
Never Been Done Before: First oscillator to analyze market emotions
Exhaustion Prediction: Detects emotional fatigue before reversals
Fast Response: Perfect for your 2-5 minute scalping setup
The Four Core Emotions
🟢 GREED (Positive Values)
What it measures: Market conviction and decisiveness
Candle Pattern: Large bodies, small wicks
Psychology: Traders are confident and decisive
Oscillator: Positive values (0 to +100)
Trading Implication: Trend continuation likely
🔴 FEAR (Negative Values)
What it measures: Market uncertainty and indecision
Candle Pattern: Small bodies, large wicks
Psychology: Traders are uncertain and hesitant
Oscillator: Negative values (0 to -100)
Trading Implication: Consolidation or reversal likely
🚀 EUPHORIA (Extreme Positive)
What it measures: Excessive optimism and buying pressure
Candle Pattern: Large green bodies with upper wicks
Psychology: Extreme bullish sentiment
Oscillator: Values above +60
Trading Implication: Overbought, reversal warning
💥 PANIC (Extreme Negative)
What it measures: Capitulation and selling pressure
Candle Pattern: Large red bodies with lower wicks
Psychology: Extreme bearish sentiment
Oscillator: Values below -60
Trading Implication: Oversold, reversal opportunity
📊 Visual Elements Explained
Main Components
Thick Colored Line: Primary emotion oscillator
Green: Greed (positive emotions)
Red: Fear (negative emotions)
Bright Green: Euphoria (extreme positive)
Dark Red: Panic (extreme negative)
Thin Blue Line: Emotion trend (longer-term context)
Background Gradient: Emotional intensity
Darker = stronger emotions
Lighter = weaker emotions
Diamond Signals: 🔶 Emotional exhaustion detected
Rocket Signals: 🚀 Extreme euphoria warning
Explosion Signals: 💥 Extreme panic warning
Information Table (Top Right)
Volatility & Momentum Nexus (VMN)Volatility & Momentum Nexus (VMN)
This indicator was designed to solve a common trader's problem: chart clutter from dozens of indicators that often contradict each other. The Volatility & Momentum Nexus ( VMN ) is not just another indicator; it's a complete analysis system that synthesizes four essential market pillars into a single, clean, and intuitive visual signal.
The goal of VMN is to identify high-probability moments where a period of accumulation (low volatility) is about to erupt into an explosive move, confirmed by trend, momentum, and volume.
VMN analyzes the real-time confluence of four critical elements:
The Trend (The Main Filter): A 100-period Exponential Moving Average (EMA) sets the overall context. The indicator will only look for buy signals above this line (in an uptrend) and sell signals below it (in a downtrend). The line's color changes for quick visualization.
Volatility (Energy Accumulation): Using Bollinger Bands Width (BBW), the indicator identifies "Squeeze" periods—when the price contracts and builds up energy. These zones are marked with a yellow background on the chart, signaling that a major move is imminent.
Momentum (The Trigger): An RSI (Relative Strength Index) acts as the trigger. A signal is only validated if momentum confirms the direction of the breakout (e.g., RSI > 55 for a buy), ensuring we enter the market with force.
Volume (The Final Confirmation): No breakout move is credible without volume. VMN checks if the volume at the time of the signal is significantly higher than its recent average, adding a vital layer of confirmation.
Green Arrow (Buy Signal): Appears ONLY when ALL the following conditions are met simultaneously:
Price is above the 100 EMA (Bullish Trend).
The chart is exiting a Squeeze zone (yellow background on the previous bar).
Price breaks above the upper Bollinger Band.
RSI is above the buy threshold (default 55).
Volume is above average.
Red Arrow (Sell Signal): Appears ONLY when all the opposite conditions are met.
Do not treat signals as blind commands to trade. They are high-probability confirmations.
Look for signals near key Support/Resistance levels for an even higher success rate.
Always set a Stop Loss (e.g., below the low of the signal candle or below the lower Bollinger Band for a buy).
All parameters (EMA, RSI, Bollinger Bands lengths, thresholds, etc.) can be customized from the settings menu to adapt the indicator to any financial asset or timeframe.
Disclaimer: This indicator is a tool for educational and analytical purposes. It does not constitute and should not be interpreted as financial advice. Trading involves significant risk. Always perform your own analysis and backtesting before risking real capital.
Uptrick: Universal Z-Score ValuationOverview
The Uptrick: Universal Z-Score Valuation is a tool designed to help traders spot when the market might be overreacting—whether that’s on the upside or the downside. It does this by combining the Z-scores of multiple key indicators into a single average, letting you see how far the current market conditions have stretched away from “normal.” This average is shown as a smooth line, supported by color-coded visuals, signal markers, optional background highlights, and a live breakdown table that shows the contribution of each indicator in real time. The focus here is on spotting potential reversals, not following trends. The indicator works well across all timeframes and asset classes, from fast intraday charts like the 1-minute and 5-minute, to higher timeframes such as the 4-hour, daily, or even weekly. Its universal design makes it suitable for any market — whether you're trading crypto, stocks, forex, or commodities.
Introduction
To understand what this indicator does, let’s start with the idea of a Z-score. In simple terms, a Z-score tells you how far a number is from the average of its recent history, measured in standard deviations. If the price of an asset is two standard deviations above its mean, that means it’s statistically “rare” or extended. That doesn’t guarantee a reversal—but it suggests the move is unusual enough to pay attention.
This concept isn’t new, but what this indicator does differently is apply the Z-score to a wide set of market signals—not just price. It looks at momentum, volatility, volume, risk-adjusted performance, and even institutional price baselines. Each of those indicators is normalized using Z-scores, and then they’re combined into one average. This gives you a single, easy-to-read line that summarizes whether the entire market is behaving abnormally. Instead of reacting to one indicator, you’re reacting to a statistically balanced blend.
Purpose
The goal of this script is to catch turning points—places where the market may be topping out or bottoming after becoming overstretched. It’s built for traders who want to fade sharp moves rather than follow trends. Think of moments when price explodes upward and starts pulling away from every moving average, volume spikes, volatility rises, and RSI shoots up. This tool is meant to spot those situations—not just when price is stretched, but when multiple different indicators agree that something is overdone.
Originality and Uniqueness
Most indicators that use Z-scores only apply them to one thing—price, RSI, or maybe Bollinger Bands. This one is different because it treats each indicator as a contributor to the full picture. You decide which ones to include, and the script averages them out. This makes the tool flexible but also deeply informative.
It doesn’t rely on complex or hidden math. It uses basic Z-score formulas, applies them to well-known indicators, and shows you the result. What makes it unique is the way it brings those signals together—statistically, visually, and interactively—so you can see what’s happening in the moment with full transparency. It’s not trying to be flashy or predictive. It’s just showing you when things have gone too far, too fast.
Inputs and Parameters
This indicator includes a wide range of configurable inputs, allowing users to customize which components are included in the Z-score average, how each indicator is calculated, and how results are displayed visually. Below is a detailed explanation of each input:
General Settings
Z-Score Lookback (default: 100): Number of bars used to calculate the mean and standard deviation for Z-score normalization. Larger values smooth the Z-scores; smaller values make them more reactive.
Bar Color Mode (default: None): Determines how bars are visually colored. Options include: None: No candle coloring applied. - Heat: Smooth gradient based on the Z-score value. - Latest Signal: Applies a solid color based on the most recent buy or sell signal
Boolean - General
Plot Universal Valuation Line (default: true): If enabled, plots the average Z-score (zAvg) line in the separate pane.
Show Signals (default: true): Displays labels ("𝓤𝓹" for buy, "𝓓𝓸𝔀𝓷" for sell) when zAvg crosses above or below user-defined thresholds.
Show Z-Score Table (default: true): Displays a live table listing each enabled indicator's Z-score and the current average.
Select Indicators
These toggles enable or disable each indicator from contributing to the Z-score average:
Use VWAP Z-Score (default: true)
Use Sortino Z-Score (default: true)
Use ROC Z-Score (default: true)
Use Price Z-Score (default: true)
Use MACD Histogram Z-Score (default: false)
Use Bollinger %B Z-Score (default: false)
Use Stochastic K Z-Score (default: false)
Use Volume Z-Score (default: false)
Use ATR Z-Score (default: false)
Use RSI Z-Score (default: false)
Use Omega Z-Score (default: true)
Use Sharpe Z-Score (default: true)
Only enabled indicators are included in the average. This modular design allows traders to tailor the signal mix to their preferences.
Indicator Lengths
These inputs control how each individual indicator is calculated:
MACD Fast Length (default: 12)
MACD Slow Length (default: 26)
MACD Signal Length (default: 9)
Bollinger Basis Length (default: 20): Used to compute the Bollinger %B.
Bollinger Deviation Multiplier (default: 2.0): Standard deviation multiplier for the Bollinger Band calculation.
Stochastic Length (default: 14)
ATR Length (default: 14)
RSI Length (default: 14)
ROC Length (default: 10)
Zones
These thresholds define key signal levels for the Z-score average:
Neutral Line Level (default: 0): Baseline for the average Z-score.
Bullish Zone Level (default: -1): Optional intermediate zone suggesting early bullish conditions.
Bearish Zone Level (default: 1): Optional intermediate zone suggesting early bearish conditions.
Z = +2 Line Level (default: 2): Primary threshold for bearish signals.
Z = +3 Line Level (default: 3): Extreme bearish warning level.
Z = -2 Line Level (default: -2): Primary threshold for bullish signals.
Z = -3 Line Level (default: -3): Extreme bullish warning level.
These zone levels are used to generate signals, fill background shading, and draw horizontal lines for visual reference.
Why These Indicators Were Merged
Each indicator in this script was chosen for a specific reason. They all measure something different but complementary.
The VWAP Z-score helps you see when price has moved far from the volume-weighted average, often used by institutions.
Sortino Ratio Z-score focuses only on downside risk, which is often more relevant to traders than overall volatility.
ROC Z-score shows how fast price is changing—strong momentum may burn out quickly.
Price Z-score is the raw measure of how far current price has moved from its mean.
RSI Z-score shows whether momentum itself is stretched.
MACD Histogram Z-score captures shifts in trend strength and acceleration.
%B (Bollinger) Z-score indicates how close price is to the upper or lower volatility envelope.
Stochastic K Z-score gives a sense of how high or low price is relative to its recent range.
Volume Z-score shows when trading activity is unusually high or low.
ATR Z-score gives a read on volatility, showing if price movement is expanding or contracting.
Sharpe Z-score measures reward-to-risk performance, useful for evaluating trend quality.
Omega Z-score looks at the ratio of good returns to bad ones, offering a more nuanced view of efficiency.
By normalizing each of these using Z-scores and averaging only the ones you turn on, the script creates a flexible, balanced view of the market’s statistical stretch.
Calculations
The core formula is the standard Z-score:
Z = (current value - average) / standard deviation
Every indicator uses this formula after it’s calculated using your chosen settings. For example, RSI is first calculated as usual, then its Z-score is calculated over your selected lookback period. The script does this for every indicator you enable. Then it averages those Z-scores together to create a single value: zAvg. That value is plotted and used to generate visual cues, signals, table values, background color changes, and candle coloring.
Sequence
Each selected indicator is calculated using your custom input lengths.
The Z-score of each indicator is computed using the shared lookback period.
All active Z-scores are added up and averaged.
The resulting zAvg value is plotted as a line.
Signal conditions check if zAvg crosses user-defined thresholds (default: ±2).
If enabled, the script plots buy/sell signal labels at those crossover points.
The candle color is updated using your selected mode (heatmap or signal-based).
If extreme Z-scores are reached, background highlighting is applied.
A live table updates with each individual Z-score so you know what’s driving the signal.
Features
This script isn’t just about stats—it’s about making them usable in real time. Every feature has a clear reason to exist, and they’re all there to give you a better read on market conditions.
1. Universal Z-Score Line
This is your primary reference. It reflects the average Z-score across all selected indicators. The line updates live and is color-coded to show how far it is from neutral. The further it gets from 0, the brighter the color becomes—cyan for deeply oversold conditions, magenta for overbought. This gives you instant feedback on how statistically “hot” or “cold” the market is, without needing to read any numbers.
2. Signal Labels (“𝓤𝓹” and “𝓓𝓸𝔀𝓷”)
When the average Z-score drops below your lower bound, you’ll see a "𝓤𝓹" label below the bar, suggesting potential bullish reversal conditions. When it rises above the upper bound, a "𝓓𝓸𝔀𝓷" label is shown above the bar—indicating possible bearish exhaustion. These labels are visually clear and minimal so they don’t clutter your chart. They're based on clear crossover logic and do not repaint.
3. Real-Time Z-Score Table
The table shows each indicator's individual Z-score and the final average. It updates every bar, giving you a transparent breakdown of what’s happening under the hood. If the market is showing an extreme average score, this table helps you pinpoint which indicators are contributing the most—so you’re not just guessing where the pressure is coming from.
4. Bar Coloring Modes
You can choose from three modes:
None: Keeps your candles clean and untouched.
Heat: Applies a smooth gradient color based on Z-score intensity. As conditions become more extreme, candle color transitions from neutral to either cyan (bullish pressure) or magenta (bearish pressure).
Latest Signal: Applies hard coloring based on the most recent signal—greenish for a buy, purple for a sell. This mode is great for tracking market state at a glance without relying on a gradient.
Every part of the candle is colored—body, wick, and border—for full visibility.
5. Background Highlighting
When zAvg enters an extreme zone (typically above +2 or below -2), the background shifts color to reflect the market’s intensity. These changes aren’t overwhelming—they’re light fills that act as ambient warnings, helping you stay aware of when price might be reaching a tipping point.
6. Customizable Zone Lines and Fills
You can define what counts as neutral, overbought, and oversold using manual inputs. Horizontal lines show your thresholds, and shaded regions highlight the most extreme zones (+2 to +3 and -2 to -3). These lines give you visual structure to understand where price currently stands in relation to your personal reversal model.
7. Modular Indicator Control
You don’t have to use all the indicators. You can enable or disable any of the 12 with a simple checkbox. This means you can build your own “blend” of market context—maybe you only care about RSI, price, and volume. Or maybe you want everything on. The script adapts accordingly, only averaging what you select.
8. Fully Customizable Sensitivity and Lengths
You can adjust the Z-score lookback length globally (default 100), and tweak individual indicator lengths separately. This lets you tune the indicator’s responsiveness to suit your trading style—slower for longer swings, faster for scalping.
9. Clean Integration with Any Chart Layout
All visual elements are designed to be informative without taking over your chart. The coloring is soft but clear, the labels are readable without being huge, and you can turn off any feature you don’t need. The indicator can work as a full dashboard or as a simple line with a couple of alerts—it’s up to you.
10. Precise, Real-Time Signal Logic
The crossover logic for signals is exact and only fires when the Z-score moves across your defined boundary. No estimation, no delay. Everything is calculated based on current and previous bar data, and nothing repaints or back-adjusts.
Conclusion
The Universal Z-Score Valuation indicator is a tool for traders who want a clear, unbiased way to detect overextension. Instead of relying on a single signal, you get a composite of several market perspectives—momentum, volatility, volume, and more—all standardized into a single view. The script gives you the freedom to control the logic, the visuals, and the components. Whether you use it as a confirmation tool or a primary signal source, it’s designed to give you clarity when markets become chaotic.
Disclaimer
This indicator is for research and educational use only. It does not constitute financial advice or guarantees of performance. All trading involves risk, and users should test any strategy thoroughly before applying it to live markets. Use this tool at your own discretion.
TPO[Fixed Range, Anchored, Bars Back]TPO Bars Back, Fixed Range and Anchored
Overview
The TPO Profile (Time Price Opportunity Profile) is a powerful market profile indicator that displays the amount of time price spent at different levels during a specified period. Unlike traditional volume profile indicators that show volume distribution, TPO Profile shows time distribution , providing insights into where price has spent the most time and identifying key support and resistance levels.
Key Advantages Over TradingView's Built-in TPO
Simplified Composite Creation : Automatically creates TPO profiles for any time range without manual split/merge operations
Instant Value Area Calculation : Immediately shows Value Area, POC, VAH, and VAL for your selected period
No Manual Assembly Required : TradingView's native TPO requires you to manually split sessions and merge them to create composites - this indicator does it automatically
Flexible Time Ranges : Create composites for any custom time period (multiple days, weeks, specific events) with a few clicks
Real-time Composite Updates : Anchor mode creates live composites that update as new data arrives
Multiple Composite Analysis : Easily compare different time periods without the tedious manual process
Key Features
Core Functionality
Time-Based Analysis : Shows time spent at each price level rather than volume
Configurable Time Blocks : Use any timeframe for TPO counting (30min, 1H, 4H, etc.)
Multiple Price Levels : Adjustable from 5 to 200 levels for granular analysis
Point of Control (POC) : Automatically identifies the price level with highest time activity
Value Area Calculation : Shows the price range containing 70% (configurable) of time activity
Automatic Composite Generation : Creates multi-session composites without manual intervention
Three Operating Modes
1. Bars Back Mode
Analyzes the last N bars from the current bar
Perfect for recent market activity analysis
Range: 10-500 bars
Use Case : Intraday analysis, recent session review
2. Fixed Range Mode
Analyzes a specific time period between start and end times
Ideal for historical analysis of specific events
Creates perfect composites for multi-day periods
Use Case : Earnings periods, news events, specific trading sessions, weekly/monthly composites
3. Anchor Mode (NEW)
Starts from a specific time and extends to the current bar
Dynamically updates as new bars form
Perfect for building live composites from any starting point
Use Case : Live session monitoring, event-based analysis from a specific point, growing composites
Visual Elements
TPO Bars
Horizontal bars showing time distribution at each price level
Longer bars = more time spent at that level
Color-coded to distinguish Value Area from outlying levels
Point of Control (POC)
Red line marking the price level with highest time activity
Most significant support/resistance level
Configurable line style (Solid/Dashed/Dotted) and width
Value Area High/Low (VAH/VAL)
Green and Orange lines marking the boundaries of the Value Area
Shows the price range containing the specified percentage of time activity
Optional display with customizable line styles
Single Print Detection
Identifies price levels touched by only one time block
Display options: Lines or Boxes
Purple color highlighting these significant levels
Often act as strong support/resistance in future trading
Customization Options
Time Block Configuration
Block Time : Choose timeframe for TPO counting (30min, 1H, 4H, etc.)
Allows analysis at different time granularities
Higher timeframes = broader perspective, Lower timeframes = finer detail
Visual Styling
Line Styles : Solid, Dashed, or Dotted for all line elements
Line Widths : 1-5 pixels for POC, VAH, and VAL lines
Colors : Fully customizable colors for all elements
Transparency : Adjustable transparency for better chart readability
Label Management
Show/Hide Labels : Toggle POC, VAH, VAL labels
Font Sizes : Tiny, Small, Normal, Large, Huge
Label Positioning : 8 different position options relative to lines
Offset Controls : Fine-tune label positioning
Line Extension
Level Offset Right : Controls how far lines extend
Smart extension logic:
Value ≤ 0: Infinite extension (extend.right)
Value ≥ 1: Extends exactly N bars ahead
Trading Applications
Support & Resistance
POC often acts as strong support/resistance
Value Area boundaries provide key levels
Single prints frequently become significant levels
Market Structure Analysis
Identify areas of price acceptance (thick TPO bars)
Spot areas of price rejection (thin TPO bars)
Understand where market participants are comfortable trading
Composite Profile Analysis
Create multi-day, weekly, or monthly composites instantly
Compare different composite periods without manual work
Analyze longer-term price acceptance levels
Build composites around specific events or announcements
Session Analysis
Monitor intraday session development in real-time
Compare different sessions (London, New York, Asia)
Track how profiles change throughout the trading day
Build live composites across multiple sessions
Event Analysis
Use Fixed Range mode for earnings, news events
Use Anchor mode to track price development from specific events
Compare pre/post event price acceptance levels
Create event-based composites automatically
Input Parameters
Mode Selection
Mode : Bars Back | Fixed Range | Anchor
Bars Back : Number of bars to analyze (10-500)
Start Time : Beginning time for Fixed Range and Anchor modes
End Time : Ending time for Fixed Range mode only
Analysis Configuration
Block Time : Timeframe for TPO blocks (e.g., "30" for 30-minute blocks)
TPO Levels : Number of price levels (5-200)
Value Area % : Percentage for Value Area calculation (50-95%)
Display Options
Show POC : Display Point of Control line
Show Value Area : Display Value Area box
Show VAH/VAL Lines : Display Value Area boundary lines
Show Single Prints : Display single print detection
Single Print Style : Lines or Boxes
Styling Controls
Colors : TPO, POC, Value Area, VAH, VAL, Single Print colors
Line Styles : POC, VAH, VAL line styles
Line Widths : POC, VAH, VAL line widths
Labels : Show/hide, font size, position, offset controls
Technical Details
Calculation Method
Divides the price range into equal levels based on TPO Levels setting
For each time block, determines which price levels it crosses
Adds +1 count to each crossed level
Identifies POC as the level with highest count
Calculates Value Area by expanding from POC until target percentage is reached
Performance Considerations
Historical data limited to prevent buffer overflow errors
Smart bounds checking for different timeframes
Optimized cleanup routines to prevent drawing object accumulation
Pine Script Version
Built on Pine Script v6
Uses modern Pine Script best practices
Efficient array handling and drawing object management
Best Practices
Timeframe Selection
Block Time = Chart Timeframe : Traditional TPO approach
Block Time > Chart Timeframe : Smoother, broader perspective
Block Time < Chart Timeframe : More granular, detailed analysis
Level Count Guidelines
Low levels (10-20) : Better for swing trading, major levels
High levels (50-100) : Better for scalping, precise entries
Very high levels (100+) : For very detailed analysis
Mode Selection
Bars Back : Daily analysis, recent activity
Fixed Range : Historical events, specific periods, manual composites
Anchor : Live monitoring, event-based analysis, growing composites
Composite Creation Workflow
Select Fixed Range or Anchor mode
Set your desired start time (and end time for Fixed Range)
Adjust TPO Levels for desired granularity
Enable VAH/VAL lines to see Value Area boundaries
The composite profile generates automatically with all key levels
This indicator eliminates the tedious manual process of creating composite TPO profiles in TradingView. Instead of splitting sessions and manually merging them, you get instant composite analysis with automatic Value Area calculation, POC identification, and single print detection. The combination of time-based analysis, multiple operating modes, and extensive customization options makes it a powerful tool for understanding market structure and price acceptance levels across any time period.
KST Strategy [Skyrexio]Overview
KST Strategy leverages Know Sure Thing (KST) indicator in conjunction with the Williams Alligator and Moving average to obtain the high probability setups. KST is used for for having the high probability to enter in the direction of a current trend when momentum is rising, Alligator is used as a short term trend filter, while Moving average approximates the long term trend and allows trades only in its direction. Also strategy has the additional optional filter on Choppiness Index which does not allow trades if market is choppy, above the user-specified threshold. Strategy has the user specified take profit and stop-loss numbers, but multiplied by Average True Range (ATR) value on the moment when trade is open. The strategy opens only long trades.
Unique Features
ATR based stop-loss and take profit. Instead of fixed take profit and stop-loss percentage strategy utilizes user chosen numbers multiplied by ATR for its calculation.
Configurable Trading Periods. Users can tailor the strategy to specific market windows, adapting to different market conditions.
Optional Choppiness Index filter. Strategy allows to choose if it will use the filter trades with Choppiness Index and set up its threshold.
Methodology
The strategy opens long trade when the following price met the conditions:
Close price is above the Alligator's jaw line
Close price is above the filtering Moving average
KST line of Know Sure Thing indicator shall cross over its signal line (details in justification of methodology)
If the Choppiness Index filter is enabled its value shall be less than user defined threshold
When the long trade is executed algorithm defines the stop-loss level as the low minus user defined number, multiplied by ATR at the trade open candle. Also it defines take profit with close price plus user defined number, multiplied by ATR at the trade open candle. While trade is in progress, if high price on any candle above the calculated take profit level or low price is below the calculated stop loss level, trade is closed.
Strategy settings
In the inputs window user can setup the following strategy settings:
ATR Stop Loss (by default = 1.5, number of ATRs to calculate stop-loss level)
ATR Take Profit (by default = 3.5, number of ATRs to calculate take profit level)
Filter MA Type (by default = Least Squares MA, type of moving average which is used for filter MA)
Filter MA Length (by default = 200, length for filter MA calculation)
Enable Choppiness Index Filter (by default = true, setting to choose the optional filtering using Choppiness index)
Choppiness Index Threshold (by default = 50, Choppiness Index threshold, its value shall be below it to allow trades execution)
Choppiness Index Length (by default = 14, length used in Choppiness index calculation)
KST ROC Length #1 (by default = 10, value used in KST indicator calculation, more information in Justification of Methodology)
KST ROC Length #2 (by default = 15, value used in KST indicator calculation, more information in Justification of Methodology)
KST ROC Length #3 (by default = 20, value used in KST indicator calculation, more information in Justification of Methodology)
KST ROC Length #4 (by default = 30, value used in KST indicator calculation, more information in Justification of Methodology)
KST SMA Length #1 (by default = 10, value used in KST indicator calculation, more information in Justification of Methodology)
KST SMA Length #2 (by default = 10, value used in KST indicator calculation, more information in Justification of Methodology)
KST SMA Length #3 (by default = 10, value used in KST indicator calculation, more information in Justification of Methodology)
KST SMA Length #4 (by default = 15, value used in KST indicator calculation, more information in Justification of Methodology)
KST Signal Line Length (by default = 10, value used in KST indicator calculation, more information in Justification of Methodology)
User can choose the optimal parameters during backtesting on certain price chart.
Justification of Methodology
Before understanding why this particular combination of indicator has been chosen let's briefly explain what is KST, Williams Alligator, Moving Average, ATR and Choppiness Index.
The KST (Know Sure Thing) is a momentum oscillator developed by Martin Pring. It combines multiple Rate of Change (ROC) values, smoothed over different timeframes, to identify trend direction and momentum strength. First of all, what is ROC? ROC (Rate of Change) is a momentum indicator that measures the percentage change in price between the current price and the price a set number of periods ago.
ROC = 100 * (Current Price - Price N Periods Ago) / Price N Periods Ago
In our case N is the KST ROC Length inputs from settings, here we will calculate 4 different ROCs to obtain KST value:
KST = ROC1_smooth × 1 + ROC2_smooth × 2 + ROC3_smooth × 3 + ROC4_smooth × 4
ROC1 = ROC(close, KST ROC Length #1), smoothed by KST SMA Length #1,
ROC2 = ROC(close, KST ROC Length #2), smoothed by KST SMA Length #2,
ROC3 = ROC(close, KST ROC Length #3), smoothed by KST SMA Length #3,
ROC4 = ROC(close, KST ROC Length #4), smoothed by KST SMA Length #4
Also for this indicator the signal line is calculated:
Signal = SMA(KST, KST Signal Line Length)
When the KST line rises, it indicates increasing momentum and suggests that an upward trend may be developing. Conversely, when the KST line declines, it reflects weakening momentum and a potential downward trend. A crossover of the KST line above its signal line is considered a buy signal, while a crossover below the signal line is viewed as a sell signal. If the KST stays above zero, it indicates overall bullish momentum; if it remains below zero, it points to bearish momentum. The KST indicator smooths momentum across multiple timeframes, helping to reduce noise and provide clearer signals for medium- to long-term trends.
Next, let’s discuss the short-term trend filter, which combines the Williams Alligator and Williams Fractals. Williams Alligator
Developed by Bill Williams, the Alligator is a technical indicator that identifies trends and potential market reversals. It consists of three smoothed moving averages:
Jaw (Blue Line): The slowest of the three, based on a 13-period smoothed moving average shifted 8 bars ahead.
Teeth (Red Line): The medium-speed line, derived from an 8-period smoothed moving average shifted 5 bars forward.
Lips (Green Line): The fastest line, calculated using a 5-period smoothed moving average shifted 3 bars forward.
When the lines diverge and align in order, the "Alligator" is "awake," signaling a strong trend. When the lines overlap or intertwine, the "Alligator" is "asleep," indicating a range-bound or sideways market. This indicator helps traders determine when to enter or avoid trades.
The next indicator is Moving Average. It has a lot of different types which can be chosen to filter trades and the Least Squares MA is used by default settings. Let's briefly explain what is it.
The Least Squares Moving Average (LSMA) — also known as Linear Regression Moving Average — is a trend-following indicator that uses the least squares method to fit a straight line to the price data over a given period, then plots the value of that line at the most recent point. It draws the best-fitting straight line through the past N prices (using linear regression), and then takes the endpoint of that line as the value of the moving average for that bar. The LSMA aims to reduce lag and highlight the current trend more accurately than traditional moving averages like SMA or EMA.
Key Features:
It reacts faster to price changes than most moving averages.
It is smoother and less noisy than short-term EMAs.
It can be used to identify trend direction, momentum, and potential reversal points.
ATR (Average True Range) is a volatility indicator that measures how much an asset typically moves during a given period. It was introduced by J. Welles Wilder and is widely used to assess market volatility, not direction.
To calculate it first of all we need to get True Range (TR), this is the greatest value among:
High - Low
abs(High - Previous Close)
abs(Low - Previous Close)
ATR = MA(TR, n) , where n is number of periods for moving average, in our case equals 14.
ATR shows how much an asset moves on average per candle/bar. A higher ATR means more volatility; a lower ATR means a calmer market.
The Choppiness Index is a technical indicator that quantifies whether the market is trending or choppy (sideways). It doesn't indicate trend direction — only the strength or weakness of a trend. Higher Choppiness Index usually approximates the sideways market, while its low value tells us that there is a high probability of a trend.
Choppiness Index = 100 × log10(ΣATR(n) / (MaxHigh(n) - MinLow(n))) / log10(n)
where:
ΣATR(n) = sum of the Average True Range over n periods
MaxHigh(n) = highest high over n periods
MinLow(n) = lowest low over n periods
log10 = base-10 logarithm
Now let's understand how these indicators work in conjunction and why they were chosen for this strategy. KST indicator approximates current momentum, when it is rising and KST line crosses over the signal line there is high probability that short term trend is reversing to the upside and strategy allows to take part in this potential move. Alligator's jaw (blue) line is used as an approximation of a short term trend, taking trades only above it we want to avoid trading against trend to increase probability that long trade is going to be winning.
Almost the same for Moving Average, but it approximates the long term trend, this is just the additional filter. If we trade in the direction of the long term trend we increase probability that higher risk to reward trade will hit the take profit. Choppiness index is the optional filter, but if it turned on it is used for approximating if now market is in sideways or in trend. On the range bounded market the potential moves are restricted. We want to decrease probability opening trades in such condition avoiding trades if this index is above threshold value.
When trade is open script sets the stop loss and take profit targets. ATR approximates the current volatility, so we can make a decision when to exit a trade based on current market condition, it can increase the probability that strategy will avoid the excessive stop loss hits, but anyway user can setup how many ATRs to use as a stop loss and take profit target. As was said in the Methodology stop loss level is obtained by subtracting number of ATRs from trade opening candle low, while take profit by adding to this candle's close.
Backtest Results
Operating window: Date range of backtests is 2023.01.01 - 2025.05.01. It is chosen to let the strategy to close all opened positions.
Commission and Slippage: Includes a standard Binance commission of 0.1% and accounts for possible slippage over 5 ticks.
Initial capital: 10000 USDT
Percent of capital used in every trade: 60%
Maximum Single Position Loss: -5.53%
Maximum Single Profit: +8.35%
Net Profit: +5175.20 USDT (+51.75%)
Total Trades: 120 (56.67% win rate)
Profit Factor: 1.747
Maximum Accumulated Loss: 1039.89 USDT (-9.1%)
Average Profit per Trade: 43.13 USDT (+0.6%)
Average Trade Duration: 27 hours
These results are obtained with realistic parameters representing trading conditions observed at major exchanges such as Binance and with realistic trading portfolio usage parameters.
How to Use
Add the script to favorites for easy access.
Apply to the desired timeframe and chart (optimal performance observed on 1h BTC/USDT).
Configure settings using the dropdown choice list in the built-in menu.
Set up alerts to automate strategy positions through web hook with the text: {{strategy.order.alert_message}}
Disclaimer:
Educational and informational tool reflecting Skyrexio commitment to informed trading. Past performance does not guarantee future results. Test strategies in a simulated environment before live implementation.
Historical Volatility with HV Average & High/Low Trendlines
### 📊 **Indicator Title**: Historical Volatility with HV Average & High/Low Trendlines
**Version**: Pine Script v5
**Purpose**:
This script visualizes market volatility using **Historical Volatility (HV)** and enhances analysis by:
* Showing a **moving average** of HV to identify volatility trends.
* Marking **high and low trendlines** to highlight extremes in volatility over a selected period.
---
### 🔧 **Inputs**:
1. **HV Length (`length`)**:
Controls how many bars are used to calculate Historical Volatility.
*(Default: 10)*
2. **Average Length (`avgLength`)**:
Number of bars used for calculating the moving average of HV.
*(Default: 20)*
3. **Trendline Lookback Period (`trendLookback`)**:
Number of bars to look back for calculating the highest and lowest values of HV.
*(Default: 100)*
---
### 📈 **Core Calculations**:
1. **Historical Volatility (`hv`)**:
$$
HV = 100 \times \text{stdev}\left(\ln\left(\frac{\text{close}}{\text{close} }\right), \text{length}\right) \times \sqrt{\frac{365}{\text{period}}}
$$
* Measures how much the stock price fluctuates.
* Adjusts annualization factor depending on whether it's intraday or daily.
2. **HV Moving Average (`hvAvg`)**:
A simple moving average (SMA) of HV over the selected `avgLength`.
3. **HV High & Low Trendlines**:
* `hvHigh`: Highest HV value over the last `trendLookback` bars.
* `hvLow`: Lowest HV value over the last `trendLookback` bars.
---
### 🖍️ **Visual Plots**:
* 🔵 **HV**: Blue line showing raw Historical Volatility.
* 🔴 **HV Average**: Red line (thicker) indicating smoothed HV trend.
* 🟢 **HV High**: Green horizontal line marking volatility peaks.
* 🟠 **HV Low**: Orange horizontal line marking volatility lows.
---
### ✅ **Usage**:
* **High HV**: Indicates increased risk or potential breakout conditions.
* **Low HV**: Suggests consolidation or calm markets.
* **Cross of HV above Average**: May signal rising volatility (e.g., before breakout).
* **Touching High/Low Levels**: Helps identify volatility extremes and possible reversal zones.
Niveaux Dealers + Previous M W D📊 TradingView Script – Dealers Levels & Previous D/W/M
🔹 General Purpose:
This advanced script provides a clear view of key market levels used by professional traders for scalping, day trading, and technical analysis. It combines manual levels (Dealer) set by the user with automated levels based on the previous day, week, and month’s highs and lows.
⸻
🧩 1. Dealers Levels Module (Manual)
✅ Features:
• Displays 28 customizable levels, grouped into 4 categories:
• Maxima: Buyer Control, Max Day, Max Event, Max Extreme
• Minima: Seller Control, Min Day, Min Event, Min Extreme
• Call Resistance: 10 user-defined levels
• Pull Support: 10 user-defined levels
🎨 Customization:
• Each level’s value is manually entered
• Line color, style, and thickness can be customized
• Display includes transparent labels with a clean design
🔧 Options:
• Line extension configurable:
• To the left: from 1 to 499 bars
• To the right: from 1 to 100 bars
• Label display can be toggled on/off
⸻
🧩 2. Previous Daily / Weekly / Monthly Levels Module (Automatic)
✅ Features:
• Automatically detects and plots:
• Previous Daily High / Low
• Previous Weekly High / Low
• Previous Monthly High / Low
🎯 Technical Details:
• Accurate calculation based on closed periods
• Dynamically extended lines (past and future projection)
• Labels aligned with the right-hand extension of each line
🎨 Customization:
• Each level has configurable color, line style, and thickness
• Labels use rectangle style with transparent background
⸻
⚙ Global Script Settings:
• Toggle display of labels (✔/❌)
• Configurable left extension (1–499) and right extension (1–100)
• Settings panel organized into groups for clarity and ease of use
⸻
💡 Usefulness:
This script provides traders with a precise map of price reaction zones, combining fixed institutional zones (Dealer levels) with dynamic historical levels (D/W/M). It’s ideal for intraday strategies on indices (e.g., Nasdaq), crypto, or forex markets.
Super MTF Clouds (4x3 Pairs)Overview:
This script is based on Ripster's MTF clouds, which transcends the standard moving average cloud indicator by offering a powerful and deeply customizable Multi-Timeframe (MTF) analysis. Instead of being limited to the moving averages of your current charts from the current timeframe, this tool allows you to project and visualize the trend and key support/resistance zones from up to 4 different timeframes simultaneously. User can input up to 6 different EMA values which will form 3 pairs of EMA clouds, for each of the timeframes.
The primary purpose is to provide traders with immediate confluence. By observing how price interacts with moving average clouds from higher timeframes (e.g., Hourly, Daily, Weekly), you can make more informed decisions on your active trading timeframe (e.g., 10 Minute). It's designed as a complete MTF Cloud toolkit, allowing you to display all necessary MTFs in a single script to build a comprehensive view of the market structure without having to flick to different timeframe to look for cloud positions.
Key features:
Four Independent Multi-Timeframe Slots: Each slot can be assigned any timeframe available on TradingView (e.g., D, W, M, 4H).
Three MA Pairs Per Timeframe: For each timeframe, configure up to three separate MA clouds (e.g., a 9/12 EMA pair, a 20/50 EMA pair, and a 100/200 SMA pair).
Complete Customisation: For every single moving average (24 in total), you can independently control:
MA Type: Choose between EMA or SMA.
Length: Any period you require.
Line Color: Full colour selection.
Line Thickness: Adjust the visual weight of each line.
Cloud Control: For every pair (12 in total), you can set the fill colour and transparency.
How To Use This Script:
This tool is best used for confirmation and context. Here are some practical strategies that one can adopt:
Trend Confluence: Before taking a trade based on a signal on your current timeframe, glance at the higher timeframe clouds. If you see a buy signal on the 15-minute chart and the price is currently trading above a thick, bullish Daily cloud, the probability of that trade succeeding is significantly higher. Conversely, shorting into strong HTF support is a low-probability trade.
Dynamic Support & Resistance: The edges of the higher timeframe clouds often act as powerful, dynamic levels of support and resistance. A pullback to the 4-Hour 50 EMA on your 15-minute chart can be a prime area to look for entries in the direction of the larger trend.
Gauging Market Regimes: Use the toggles in the settings to quickly switch between different views. You can have a "risk-on" view with short-term clouds and a "macro" view with weekly and monthly clouds. This helps you adapt your trading style to the current market conditions.
Key Settings:
1. Global Setting
Source For All MAs: This determines the price data point used for every single moving average calculation.
Default: hl2 (an average of the High and Low of each bar). This gives a smooth midpoint price.
Options: You can change this to Close (the most common method), Open, High, Low, or ohlc4 (an average of the open, high, low, and close), among others.
Recommendation: For most standard trend analysis, the default hl2 is the common choice.
2. The Timeframe Group Structure
The rest of the settings are organized into four identical, collapsible groups: "Timeframe 1 Settings" through "Timeframe 4 Settings". Each group acts as a self-contained control panel for one multi-timeframe view.
Within each timeframe group, you have two master controls:
Enable Timeframe: This is the main power switch for the entire group. Uncheck this box to instantly hide all three clouds and lines associated with this timeframe. This is perfect for quickly decluttering your chart or focusing on a different set of analyses.
Timeframe: This dropdown menu is the heart of the MTF feature. Here, you select the higher timeframe you want to analyse (e.g., 1D for Daily, 1W for Weekly, 4H for 4-Hour). All calculations for the three pairs within this group will be based on the timeframe you select here.
3. Pair-Specific Controls
Inside each timeframe group, there are three sections for "Pair 1", "Pair 2", and "Pair 3". These control each individual moving average cloud.
Enable Pair: Just like the master switch for the timeframe, this checkbox turns a single cloud and its two MA lines on or off.
For each pair, the settings are further broken down:
Moving Average Lines (A and B): These two rows control the two moving averages that form the cloud. 'A' is typically used for the shorter-period MA and 'B' for the longer-period one.
Type (A/B): A dropdown menu to select either EMA (Exponential Moving Average) or SMA (Simple Moving Average). EMAs react more quickly to recent price changes, while SMAs are smoother and react more slowly.
Length (A/B): The lookback period for the moving average (e.g., 21, 50, 200).
Color (A/B): Sets the specific colour of the MA line itself on your chart.
Cloud Fill Settings
Fill Color: This controls the colour of the shaded area (the "cloud") between the two moving average lines. For a consistent look, you can set this to the same colour as your shorter MA line.
Transparency: Controls how see-through the cloud is, on a scale of 0 to 100. 0 is a solid, opaque colour, while 100 is completely invisible. The default of 85 provides a light, "cloud-like" appearance that doesn't obscure the price action.
----------------------------------------------------------------------
If anything is not clear please let me know!
Ticker Pulse Meter BasicPairs nicely with the Contrarian 100 MA located here:
and the Enhanced Stock Ticker with 50MA vs 200MA located here:
Description
The Ticker Pulse Meter Basic is a dynamic Pine Script v6 indicator designed to provide traders with a visual representation of a stock’s price position relative to its short-term and long-term ranges, enabling clear entry and exit signals for long-only trading strategies. By calculating three normalized metrics—Percent Above Long & Above Short, Percent Above Long & Below Short, and Percent Below Long & Below Short—this indicator offers a unique "pulse" of market sentiment, plotted as stacked area charts in a separate pane. With customizable lookback periods, thresholds, and signal plotting options, it empowers traders to identify optimal entry points and profit-taking levels. The indicator leverages Pine Script’s force_overlay feature to plot signals on either the main price chart or the indicator pane, making it versatile for various trading styles.
Key Features
Pulse Meter Metrics:
Computes three percentages based on short-term (default: 50 bars) and long-term (default: 200 bars) lookback periods:
Percent Above Long & Above Short: Measures price strength when above both short and long ranges (green area).
Percent Above Long & Below Short: Indicates mixed momentum (orange area).
Percent Below Long & Below Short: Signals weakness when below both ranges (red area).
Flexible Signal Plotting:
Toggle between plotting entry (blue dots) and exit (white dots) signals on the main price chart (location.abovebar/belowbar) or in the indicator pane (location.top/bottom) using the Plot Signals on Main Chart option.
Entry/Exit Logic:
Long Entry: Triggered when Percent Above Long & Above Short crosses above the high threshold (default: 20%) and Percent Below Long & Below Short is below the low threshold (default: 40%).
Long Exit: Triggered when Percent Above Long & Above Short crosses above the profit-taking level (default: 95%).
Visual Enhancements:
Plots stacked area charts with semi-transparent colors (green, orange, red) for intuitive trend analysis.
Displays threshold lines for entry (high/low) and profit-taking levels.
Includes a ticker and timeframe table in the top-right corner for quick reference.
Alert Conditions: Supports alerts for long entry and exit signals, integrable with TradingView’s alert system for automated trading.
Technical Innovation: Combines normalized price metrics with Pine Script v6’s force_overlay for seamless signal integration on the price chart or indicator pane.
Technical Details
Calculation Logic:
Uses confirmed bars (barstate.isconfirmed) to calculate metrics, ensuring reliability.
Short-term percentage: (close - lowest(low, lookback_short)) / (highest(high, lookback_short) - lowest(low, lookback_short)).
Long-term percentage: (close - lowest(low, lookback_long)) / (highest(high, lookback_long) - lowest(low, lookback_long)).
Derived metrics:
pct_above_long_above_short = (pct_above_long * pct_above_short) * 100.
pct_above_long_below_short = (pct_above_long * (1 - pct_above_short)) * 100.
pct_below_long_below_short = ((1 - pct_above_long) * (1 - pct_above_short)) * 100.
Signal Plotting:
Entry signals (long_entry) use ta.crossover to detect when pct_above_long_above_short crosses above entryThresholdhigh and pct_below_long_below_short is below entryThresholdlow.
Exit signals (long_exit) use ta.crossover for pct_above_long_above_short crossing above profitTake.
Signals are plotted as tiny circles with force_overlay=true for main chart or standard plotting for the indicator pane.
Performance Considerations: Optimized for efficiency by calculating metrics only on confirmed bars and using lightweight plotting functions.
How to Use
Add to Chart:
Copy the script into TradingView’s Pine Editor and apply it to your chart.
Configure Settings:
Short Lookback Period: Adjust the short-term lookback (default: 50 bars) for sensitivity.
Long Lookback Period: Set the long-term lookback (default: 200 bars) for broader context.
Entry Thresholds: Modify high (default: 20%) and low (default: 40%) thresholds for entry conditions.
Profit Take Level: Set the exit threshold (default: 95%) for profit-taking.
Plot Signals on Main Chart: Check to display signals on the price chart; uncheck for the indicator pane.
Interpret Signals:
Long Entry: Blue dots indicate a strong bullish setup when price is high relative to both lookback ranges and weakness is low.
Long Exit: White dots signal profit-taking when strength reaches overbought levels.
Use the stacked area charts to assess trend strength and momentum.
Set Alerts:
Create alerts for Long Entry and Long Exit conditions using TradingView’s alert system.
Customize Visuals:
Adjust colors and thresholds via TradingView’s settings for better visibility.
The ticker table displays the symbol and timeframe in the top-right corner.
Example Use Cases
Swing Trading: Use entry signals to capture short-term bullish moves within a broader uptrend, exiting at profit-taking levels.
Trend Confirmation: Monitor the green area (Percent Above Long & Above Short) for sustained bullish momentum.
Market Sentiment Analysis: Use the stacked areas to gauge bullish vs. bearish sentiment across timeframes.
Notes
Testing: Backtest the indicator on your chosen market and timeframe to validate its effectiveness.
Compatibility: Built for Pine Script v6 and tested on TradingView as of June 20, 2025.
Limitations: Signals are long-only; adapt the script for short strategies if needed.
Enhancements: Consider adding a histogram for the difference between metrics or additional thresholds for nuanced trading.
Acknowledgments
Inspired by public Pine Script examples and designed to simplify complex market dynamics into a clear, actionable tool. For licensing or support, contact Chuck Schultz (@chuckaschultz) on TradingView. Share feedback in the comments, and happy trading!
lib_core_utilsLibrary "lib_core_utils"
Core utility functions for Pine Script strategies
Provides safe mathematical operations, array management, and basic helpers
Version: 1.0.0
Author: NQ Hybrid Strategy Team
Last Updated: 2025-06-18
===================================================================
safe_division(numerator, denominator)
safe_division
@description Performs division with safety checks for zero denominators and invalid values
Parameters:
numerator (float) : (float) The numerator value
denominator (float) : (float) The denominator value
Returns: (float) Result of division, or 0.0 if invalid
safe_division_detailed(numerator, denominator)
safe_division_detailed
@description Enhanced division with detailed result information
Parameters:
numerator (float) : (float) The numerator value
denominator (float) : (float) The denominator value
Returns: (SafeCalculationResult) Detailed calculation result
safe_multiply(a, b)
safe_multiply
@description Performs multiplication with safety checks for overflow and invalid values
Parameters:
a (float) : (float) First multiplier
b (float) : (float) Second multiplier
Returns: (float) Result of multiplication, or 0.0 if invalid
safe_add(a, b)
safe_add
@description Performs addition with safety checks
Parameters:
a (float) : (float) First addend
b (float) : (float) Second addend
Returns: (float) Result of addition, or 0.0 if invalid
safe_subtract(a, b)
safe_subtract
@description Performs subtraction with safety checks
Parameters:
a (float) : (float) Minuend
b (float) : (float) Subtrahend
Returns: (float) Result of subtraction, or 0.0 if invalid
safe_abs(value)
safe_abs
@description Safe absolute value calculation
Parameters:
value (float) : (float) Input value
Returns: (float) Absolute value, or 0.0 if invalid
safe_max(a, b)
safe_max
@description Safe maximum value calculation
Parameters:
a (float) : (float) First value
b (float) : (float) Second value
Returns: (float) Maximum value, handling NA cases
safe_min(a, b)
safe_min
@description Safe minimum value calculation
Parameters:
a (float) : (float) First value
b (float) : (float) Second value
Returns: (float) Minimum value, handling NA cases
safe_array_get(arr, index)
safe_array_get
@description Safely retrieves value from array with bounds checking
Parameters:
arr (array) : (array) The array to access
index (int) : (int) Index to retrieve
Returns: (float) Value at index, or na if invalid
safe_array_push(arr, value, max_size)
safe_array_push
@description Safely pushes value to array with size management
Parameters:
arr (array) : (array) The array to modify
value (float) : (float) Value to push
max_size (int) : (int) Maximum array size
Returns: (bool) True if push was successful
safe_array_unshift(arr, value, max_size)
safe_array_unshift
@description Safely adds value to beginning of array with size management
Parameters:
arr (array) : (array) The array to modify
value (float) : (float) Value to add at beginning
max_size (int) : (int) Maximum array size
Returns: (bool) True if unshift was successful
get_array_stats(arr, max_size)
get_array_stats
@description Gets statistics about an array
Parameters:
arr (array) : (array) The array to analyze
max_size (int) : (int) The maximum allowed size
Returns: (ArrayStats) Statistics about the array
cleanup_array(arr, target_size)
cleanup_array
@description Cleans up array by removing old elements if it's too large
Parameters:
arr (array) : (array) The array to cleanup
target_size (int) : (int) Target size after cleanup
Returns: (int) Number of elements removed
is_valid_price(price)
is_valid_price
@description Checks if a price value is valid for trading calculations
Parameters:
price (float) : (float) Price to validate
Returns: (bool) True if price is valid
is_valid_volume(vol)
is_valid_volume
@description Checks if a volume value is valid
Parameters:
vol (float) : (float) Volume to validate
Returns: (bool) True if volume is valid
sanitize_price(price, default_value)
sanitize_price
@description Sanitizes price value to ensure it's within valid range
Parameters:
price (float) : (float) Price to sanitize
default_value (float) : (float) Default value if price is invalid
Returns: (float) Sanitized price value
sanitize_percentage(pct)
sanitize_percentage
@description Sanitizes percentage value to 0-100 range
Parameters:
pct (float) : (float) Percentage to sanitize
Returns: (float) Sanitized percentage (0-100)
is_session_active(session_string, timezone)
Parameters:
session_string (string)
timezone (string)
get_session_progress(session_string, timezone)
Parameters:
session_string (string)
timezone (string)
format_price(price, decimals)
Parameters:
price (float)
decimals (int)
format_percentage(pct, decimals)
Parameters:
pct (float)
decimals (int)
bool_to_emoji(condition, true_emoji, false_emoji)
Parameters:
condition (bool)
true_emoji (string)
false_emoji (string)
log_debug(message, level)
Parameters:
message (string)
level (string)
benchmark_start()
benchmark_end(start_time)
Parameters:
start_time (int)
get_library_info()
get_library_version()
SafeCalculationResult
SafeCalculationResult
Fields:
value (series float) : (float) The calculated value
is_valid (series bool) : (bool) Whether the calculation was successful
error_message (series string) : (string) Error description if calculation failed
ArrayStats
ArrayStats
Fields:
size (series int) : (int) Current array size
max_size (series int) : (int) Maximum allowed size
is_full (series bool) : (bool) Whether array has reached max capacity