ATR Stop-Loss with Fibonacci Take-Profit [jpkxyz]ATR Stop-Loss with Fibonacci Take-Profit Indicator
This comprehensive indicator combines Average True Range (ATR) volatility analysis with Fibonacci extensions to create dynamic stop-loss and take-profit levels. It's designed to help traders set precise risk management levels and profit targets based on market volatility and mathematical ratios.
Two Operating Modes
Default Mode (Rolling Levels)
In default mode, the indicator continuously plots evolving stop-loss and take-profit levels based on real-time price action. These levels update dynamically as new bars form, creating rolling horizontal lines across the chart. I use this mode primarily to plot the rolling ATR-Level which I use to trail my Stop-Loss into profit.
Characteristics:
Levels recalculate with each new bar
All selected Fibonacci levels display simultaneously
Uses plot() functions with trackprice=true for price tracking
Custom Anchor Mode (Fixed Levels)
This is the primary mode for precision trading. You select a specific timestamp (typically your entry bar), and the indicator locks all calculations to that exact moment, creating fixed horizontal lines that represent your actual trade levels.
Characteristics:
Entry line (blue) marks your anchor point
Stop-loss calculated using ATR from the anchor bar
Fibonacci levels projected from entry-to-stop distance
Lines terminate when price breaks through them
Includes comprehensive alert system
Core Calculation Logic
ATR Stop-Loss Calculation:
Stop Loss = Entry Price ± (ATR × Multiplier)
Long positions: SL = Entry - (ATR × Multiplier)
Short positions: SL = Entry + (ATR × Multiplier)
ATR uses your chosen smoothing method (RMA, SMA, EMA, or WMA)
Default multiplier is 1.5, adjustable to your risk tolerance
Fibonacci Take-Profit Projection:
The distance from entry to stop-loss becomes the base unit (1.0) for Fibonacci extensions:
TP Level = Entry + (Entry-to-SL Distance × Fibonacci Ratio)
Available Fibonacci Levels:
Conservative: 0.618, 1.0, 1.618
Extended: 2.618, 3.618, 4.618
Complete range: 0.0 to 4.764 (23 levels total)
Multi-Timeframe Functionality
One of the indicator's most powerful features is timeframe flexibility. You can analyze on one timeframe while using stop-loss and take-profit calculations from another.
Best Practices:
Identify your entry point on execution timeframe
Enable "Custom Anchor" mode
Set anchor timestamp to your entry bar
Select appropriate analysis timeframe
Choose relevant Fibonacci levels
Enable alerts for automated notifications
Example Scenario:
Analyse trend on 4-hour chart
Execute entry on 5-minute chart for precision
Set custom anchor to your 5-minute entry bar
Configure timeframe setting to "4h" for swing-level targets
Select appropriate Fibonacci Extension levels
Result: Precise entry with larger timeframe risk management
Visual Intelligence System
Line Behaviour in Custom Anchor Mode:
Active levels: Lines extend to the right edge
Hit levels: Lines terminate at the breaking bar
Entry line: Always visible in blue
Stop-loss: Red line, terminates when hit
Take-profits: Green lines (1.618 level in gold for emphasis)
Customisation Options:
Line width (1-4 pixels)
Show/hide individual Fibonacci levels
ATR length and smoothing method
ATR multiplier for stop-loss distance
Tìm kiếm tập lệnh với "track"
BackTestLibLibrary "BackTestLib"
Allows backtesting indicator performance. Tracks typical metrics such as won/loss, profit factor, draw down, etc. Trading View strategy library provides similar (and more comprehensive)
functionality but only works with strategies. This libary was created to address performance tracking within indicators.
Two primary outputs are generated:
1. Summary Table: Displays overall performance metrics for the indicator over the chart's loaded timeframe and history
2. Details Table: Displays a table of individual trade entries and exits. This table can grow larger than the available chart space. It does have a max number of rows supported. I haven't
found a way to add scroll bars or scroll bar equivalents yet.
f_init(data, _defaultStopLoss, _defaultTakeProfit, _useTrailingStop, _useTraingStopToBreakEven, _trailingStopActivation, _trailingStopOffset)
f_init Initialize the backtest data type. Called prior to using the backtester functions
Parameters:
data (backtesterData) : backtesterData to initialize
_defaultStopLoss (float) : Default trade stop loss to apply
_defaultTakeProfit (float) : Default trade take profit to apply
_useTrailingStop (bool) : Trailing stop enabled
_useTraingStopToBreakEven (bool) : When trailing stop active, trailing stop will increase no further than the entry price
_trailingStopActivation (int) : When trailing stop active, trailing will begin once price exceeds base stop loss by this number of points
_trailingStopOffset (int) : When trailing stop active, it will trail the max price achieved by this number of points
Returns: Initialized data set
f_buildResultStr(_resultType, _price, _resultPoints, _numWins, _pointsWon, _numLoss, _pointsLost)
f_buildResultStr Helper function to construct a string of resutling data for exit tooltip labels
Parameters:
_resultType (string)
_price (float)
_resultPoints (float)
_numWins (int)
_pointsWon (float)
_numLoss (int)
_pointsLost (float)
f_buildResultLabel(data, labelVertical, labelOffset, long)
f_buildResultLabel Helper function to construct an Exit label for display on the chart
Parameters:
data (backtesterData)
labelVertical (bool)
labelOffset (int)
long (bool)
f_updateTrailingStop(_entryPrice, _curPrice, _sl, _tp, trailingStopActivationInput, trailingStopOffsetInput, useTrailingStopToBreakEven)
f_updateTrailingStop Helper function to advance the trailing stop as price action dictates
Parameters:
_entryPrice (float)
_curPrice (float)
_sl (float)
_tp (float)
trailingStopActivationInput (float)
trailingStopOffsetInput (float)
useTrailingStopToBreakEven (bool)
Returns: Updated stop loss for current price action
f_enterShort(data, entryPrice, fixedStopLoss)
f_enterShort Helper function to enter a short and collect data necessary for tracking the trade entry
Parameters:
data (backtesterData)
entryPrice (float)
fixedStopLoss (float)
Returns: Updated backtest data
f_enterLong(data, entryPrice, fixedStopLoss)
f_enterLong Helper function to enter a long and collect data necessary for tracking the trade entry
Parameters:
data (backtesterData)
entryPrice (float)
fixedStopLoss (float)
Returns: Updated backtest data
f_exitTrade(data)
f_enterLong Helper function to exit a trade and update/reset tracking data
Parameters:
data (backtesterData)
Returns: Updated backtest data
f_checkTradeConditionForExit(data, condition, curPrice, enableRealTime)
f_checkTradeConditionForExit Helper function to determine if provided condition indicates an exit
Parameters:
data (backtesterData)
condition (bool) : When true trade will exit
curPrice (float)
enableRealTime (bool) : When true trade will evaluate if barstate is relatime or barstate is confirmed; otherwise just checks on is confirmed
Returns: Updated backtest data
f_checkTrade(data, curPrice, curLow, curHigh, enableRealTime)
f_checkTrade Helper function to determine if current price action dictates stop loss or take profit exit
Parameters:
data (backtesterData)
curPrice (float)
curLow (float)
curHigh (float)
enableRealTime (bool) : When true trade will evaluate if barstate is relatime or barstate is confirmed; otherwise just checks on is confirmed
Returns: Updated backtest data
f_fillCell(_table, _column, _row, _title, _value, _bgcolor, _txtcolor, _text_size)
f_fillCell Helper function to construct result table cells
Parameters:
_table (table)
_column (int)
_row (int)
_title (string)
_value (string)
_bgcolor (color)
_txtcolor (color)
_text_size (string)
Returns: Table cell
f_prepareStatsTable(data, drawTesterSummary, drawTesterDetails, summaryTableTextSize, detailsTableTextSize, displayRowZero, summaryTableLocation, detailsTableLocation)
f_fillCell Helper function to populate result table
Parameters:
data (backtesterData)
drawTesterSummary (bool)
drawTesterDetails (bool)
summaryTableTextSize (string)
detailsTableTextSize (string)
displayRowZero (bool)
summaryTableLocation (string)
detailsTableLocation (string)
Returns: Updated backtest data
backtesterData
backtesterData - container for backtest performance metrics
Fields:
tradesArray (array) : Array of strings with entries for each individual trade and its results
pointsBalance (series float) : Running sum of backtest points won/loss results
drawDown (series float) : Running sum of backtest total draw down points
maxDrawDown (series float) : Running sum of backtest total draw down points
maxRunup (series float) : Running sum of max points won over the backtest
numWins (series int) : Number of wins of current backtes set
numLoss (series int) : Number of losses of current backtes set
pointsWon (series float) : Running sum of points won to date
pointsLost (series float) : Running sum of points lost to date
entrySide (series string) : Current entry long/short
tradeActive (series bool) : Indicates if a trade is currently active
tradeComplete (series bool) : Indicates if a trade just exited (due to stop loss or take profit)
entryPrice (series float) : Current trade entry price
entryTime (series int) : Current trade entry time
sl (series float) : Current trade stop loss
tp (series float) : Current trade take profit
defaultStopLoss (series float) : Default trade stop loss to apply
defaultTakeProfit (series float) : Default trade take profit to apply
useTrailingStop (series bool) : Trailing stop enabled
useTrailingStopToBreakEven (series bool) : When trailing stop active, trailing stop will increase no further than the entry price
trailingStopActivation (series int) : When trailing stop active, trailing will begin once price exceeds base stop loss by this number of points
trailingStopOffset (series int) : When trailing stop active, it will trail the max price achieved by this number of points
resultType (series string) : Current trade won/lost
exitPrice (series float) : Current trade exit price
resultPoints (series float) : Current trade points won/lost
summaryTable (series table) : Table to deisplay summary info
tradesTable (series table) : Table to display per trade info
[Smith] VWAP Deviation + VWAP Deviation +
Short Description:
Advanced VWAP indicator with deviation bands, smart signal filtering, and session-based performance tracking. Features log-space scaling, RSI confirmation, volume filters, and market regime detection.
Full Description:
The VWAP Deviation + is a comprehensive trading indicator that combines Volume Weighted Average Price (VWAP) analysis with advanced signal filtering to identify high-probability trade opportunities. This indicator goes beyond basic VWAP by incorporating multiple confirmation layers and intelligent market analysis.
🎯 Key Features
Core VWAP Analysis:
- Custom volume-weighted mean calculation with deviation bands (2σ and 3σ)
- Optional log-space scaling for proportional price movements
- Real-time VWAP line with customizable visibility
Smart Signal Detection:
- RSI confirmation for all trade signals
- Volume filter requiring above-average trading activity
- Market regime detection (trending vs ranging markets)
- Optional RSI divergence analysis
Advanced Filtering:
- Multi-condition signal validation
- Session-based performance tracking (Asian, London, NY)
- Real-time win rate calculation
- Strong vs regular signal classification
Visual Features:
- Clean, professional interface with customizable colors
- Optional signal shapes and annotations
- Performance statistics table
- Filled deviation bands for easy visualization
📊 How It Works
The indicator identifies trade opportunities when:
1. Price touches VWAP deviation bands (2σ or 3σ)
2. RSI confirms oversold/overbought conditions
3. Volume exceeds the specified threshold
4. Market regime conditions are favorable
Signal Types:
- LONG : Price at lower bands + RSI oversold + volume confirmation
- SHORT : Price at upper bands + RSI overbought + volume confirmation
- STRONG : Same conditions but at 3σ bands for higher conviction trades
⚙️ Customization Options
Core Settings:
- VWAP length and source selection
- Adjustable deviation multipliers
- Log-space scaling toggle
Signal Filters:
- RSI length and threshold levels
- Volume filter with customizable multiplier
- Market type filtering options
Advanced Features:
- Session statistics tracking
- RSI divergence detection
- Market regime analysis
Visual Controls:
- Show/hide individual components
- Custom color schemes
- Signal display toggles
🔔 Alert System
Built-in alerts for:
- Long and short trade opportunities
- Strong signal confirmations
- RSI divergence signals
💡 Best Practices
- Use higher timeframes (15m+) for more reliable signals
- Combine with additional confirmation indicators
- Pay attention to session statistics for timing optimization
- Monitor market regime indicators for context
This indicator is suitable for day traders, swing traders, and anyone looking to improve their VWAP-based trading strategies with advanced filtering and market analysis.
Trend Impulse Channels (Zeiierman)█ Overview
Trend Impulse Channels (Zeiierman) is a precision-engineered trend-following system that visualizes discrete trend progression using volatility-scaled step logic. It replaces traditional slope-based tracking with clearly defined “trend steps,” capturing directional momentum only when price action decisively confirms a shift through an ATR-based trigger.
This tool is ideal for traders who prefer structured, stair-step progression over fluid curves, and value the clarity of momentum-based bands that reveal breakout conviction, pullback retests, and consolidation zones. The channel width adapts automatically to market volatility, while the step logic filters out noise and false flips.
⚪ The Structural Assumption
This indicator is built on a core market structure observation:
After each strong trend impulse, the market typically enters a “cooling-off” phase as profit-taking occurs and counter-trend participants enter. This often results in a shallow pullback or stall, creating a slight negative slope in an uptrend (or a positive slope in a downtrend).
These “cooling-off” phases don’t reverse the trend — they signal temporary pressure before the next leg continues. By tracking trend steps discretely and filtering for this behavior, Trend Impulse Channels helps traders align with the rhythm of impulse → pause → impulse.
█ How It Works
⚪ Step-Based Trend Engine
At the heart of this tool is a dynamic step engine that progresses only when price crosses a predefined ATR-scaled trigger level:
Trigger Threshold (× ATR) – Defines how far price must break beyond the current trend state to register a new trend step.
Step Size (Volatility-Guided) – Each trend continuation moves the trend line in discrete units, scaling with ATR and trend persistence.
Trend Direction State – Maintains a +1/-1 internal bias to support directional filters and step tracking.
⚪ Volatility-Adaptive Channel
Each step is wrapped inside a dynamic envelope scaled to current volatility:
Upper and Lower Bands – Derived from ATR and band multipliers to expand/contract as volatility changes.
⚪ Retest Signal System
Optional signal markers show when price re-tests the upper or lower band:
Upper Retest → Pullback into resistance during a bearish trend.
Lower Retest → Pullback into support during a bullish trend.
⚪ Trend Step Signals
Circular markers can be shown to mark each time the trend steps forward, making it easy to identify structurally significant moments of continuation within a larger trend.
█ How to Use
⚪ Trend Alignment
Use the Trend Line and Step Markers to visually confirm the direction of momentum. If multiple trend steps occur in sequence without reversal, this typically signals strong conviction and trend persistence.
⚪ Retest-Based Entries
Wait for pullbacks into the channel and monitor for triangle retest signals. When used in confluence with trend direction, these offer high-quality continuation setups.
⚪ Breakouts
Look for breakouts beyond the upper or lower band after a longer period of pause. For higher likelihood of success, look for breakouts in the direction of the trend.
█ Settings
Trigger Threshold (× ATR) - Defines how far price must move to register a new trend step. Controls sensitivity to trend flips.
Max Step Size (× ATR) - Caps how far each trend step can extend. Prevents runaway step expansion in high volatility.
Band Multiplier (× ATR) - Expands the upper and lower channels. Controls how much breathing room the bands allow.
Trend Hold (bars) - Minimum number of bars the trend must remain active before allowing a flip. Helps reduce noise.
Filter by Trend - Restrict retest signals to those aligned with the current trend direction.
-----------------
Disclaimer
The content provided in my scripts, indicators, ideas, algorithms, and systems is for educational and informational purposes only. It does not constitute financial advice, investment recommendations, or a solicitation to buy or sell any financial instruments. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
Balance of Power for US30 4H [PineIndicators]The Balance of Power (BoP) Strategy is a momentum-based trading system for the US30 index on a 4-hour timeframe. It measures the strength of buyers versus sellers in each candle using the Balance of Power (BoP) indicator and executes trades based on predefined threshold crossovers. The strategy includes dynamic position sizing, adjustable leverage, and visual trade tracking.
⚙️ Core Strategy Mechanics
Positive values indicate buying strength.
Negative values indicate selling strength.
Values close to 1 suggest strong bullish momentum.
Values close to -1 indicate strong bearish pressure.
The strategy uses fixed threshold crossovers to determine trade entries and exits.
📌 Trade Logic
Entry Conditions
Long Entry: When BoP crosses above 0.8, signaling strong buying pressure.
Exit Conditions
Position Close: When BoP crosses below -0.8, indicating a shift to selling pressure.
This threshold-based system filters out low-confidence signals and focuses on high-momentum shifts.
📏 Position Sizing & Leverage
Leverage: Adjustable by the user (default = 5x).
Risk Management: Position size adapts dynamically based on equity fluctuations.
📊 Trade Visualization & History Tracking
Trade Markers:
"Buy" labels appear when a long position is opened.
"Close" labels appear when a position is exited.
Trade History Boxes:
Green for profitable trades.
Red for losing trades.
These elements provide clear visual tracking of past trade execution.
⚡ Usage & Customization
1️⃣ Apply the script to a US30 4H chart in TradingView.
2️⃣ Adjust leverage settings as needed.
3️⃣ Review trade signals and historical performance with visual markers.
4️⃣ Enable backtesting to evaluate past performance.
This strategy is designed for momentum-based trading and is best suited for volatile market conditions.
EMA Crossover Backtest [BarScripts]This indicator lets you backtest an EMA crossover strategy with built-in risk management and trade tracking. It simulates long and short trades based on EMA crossovers, allowing you to fine-tune entry conditions, stop-loss placement, and reward/risk settings.
🔹 How It Works:
Long Entry: Fast EMA crosses above Slow EMA, and price closes above Fast EMA.
Short Entry: Fast EMA crosses below Slow EMA, and price closes below Fast EMA.
Stop Loss: Set based on previous bars or a fixed amount.
Take Profit: Adjustable reward/risk ratio.
Higher Timeframe Confluence: Confirms trades based on a larger timeframe.
Trade Hours Filter: Limits trades to specific time windows.
🔹 Key Features:
✅ Shows Entry & Exit Points with visual trade lines.
✅ Customizable EMA Lengths to fit any strategy.
✅ P&L Tracking & Statistics to measure performance.
✅ Position Sizing Options: Fixed position, fixed risk, or percentage of balance.
✅ Commissions Tracking (based on total trades, not contracts).
Use this tool to fine-tune your EMA crossover strategy and see how it performs over time! 🚀
💬 Let me know your feedback—suggest improvements, report issues, or request new features!
Futuristic Indicator v3 - Enhanced Glow & Strength MetersTo ensure candles are display by script go to trading view settings and uncheck default Candle, Body and Wick to prevent them from plotting over your modified candles.
Futuristic Indicator v3 - Enhanced Glow & Strength Meters: Detailed Breakdown
This Modern styled Pine Script indicator is designed to enhance technical analysis by providing a visually striking OLED-style dashboard with multiple market insights. It integrates trend detection, momentum analysis, volatility tracking, and strength meters into a single, streamlined interface for traders.
1️⃣ Customizable Features for Flexibility
The indicator offers multiple user-configurable settings, allowing traders to adjust the display based on their trading strategy and preferences. Users can toggle elements such as strength meters, volatility indicators, trend arrows, moving averages, and buy/sell alerts. Additionally, background and candle colors can be customized for better readability.
🔹 Why is this useful?
Traders can customize their charts to focus on the data they care about.
Reduces chart clutter by allowing users to toggle features on or off.
2️⃣ Trend Detection Using EMAs
This indicator detects market trends using two Exponential Moving Averages (EMA):
A "Fast" EMA (shorter period) for quick trend shifts.
A "Slow" EMA (longer period) to confirm trends.
Comparison of the two EMAs determines if the trend is bullish (uptrend) or bearish (downtrend).
The indicator colors the trend lines accordingly and adds a trend arrow 📈📉 for quick visual cues.
🔹 Why is this useful?
EMA crossovers are widely used to identify trend reversals.
Provides clear visual cues for traders to confirm entry & exit points.
3️⃣ RSI-Based Momentum Analysis
The indicator integrates the Relative Strength Index (RSI) to gauge market momentum. The momentum value changes color dynamically based on whether it's in bullish (>50) or bearish (<50) territory.
🔹 Why is this useful?
RSI helps identify overbought and oversold conditions.
Detects trend strength by measuring the speed of price movements.
4️⃣ Bullish & Bearish Strength Meters
The indicator quantifies bullish and bearish market strength based on RSI and converts it into a percentage-based meter:
Bullish Strength (Long Strength)
Bearish Strength (Short Strength)
Strength meters are displayed using OLED-styled bars, dynamically changing in real-time.
🔹 Why is this useful?
Allows traders to visually gauge market sentiment at a glance.
Helps confirm if a trend has strong momentum or is losing strength.
5️⃣ Market Volatility Indicator (ATR-Based)
The indicator includes a volatility tracker using the Average True Range (ATR):
ATR is scaled up to provide easier readability.
Higher ATR values indicate higher market volatility.
🔹 Why is this useful?
Helps traders identify potential breakout or consolidation phases.
Allows better risk management by understanding price fluctuations.
6️⃣ Trend Strength Calculation
The indicator calculates trend strength based on the difference between the EMAs:
A higher trend strength value suggests a stronger directional trend.
Displayed as a percentage for better clarity.
🔹 Why is this useful?
Helps traders differentiate between strong and weak trends.
Reduces the likelihood of entering weak or choppy markets.
7️⃣ OLED-Style Dashboard for Market Data
A futuristic OLED-styled table is used to display critical market data in a visually appealing way:
Trend direction (Bullish/Bearish with an arrow 📈📉).
Current price.
Momentum value.
Strength meters (Bullish/Bearish).
Trend strength percentage.
Volatility Meter
The dashboard uses high-contrast colors and neon glow effects, making it easier to read against dark backgrounds.
🔹 Why is this useful?
Provides a centralized view of key trading metrics.
Eliminates the need to manually calculate trend strength.
8️⃣ Modern Style Neon Glow Effects
To enhance visibility, the indicator applies glowing effects to:
Moving Averages (EMAs): Highlighted with layered glow effects.
Candlesticks: Borders and wicks dynamically change color based on trend direction.
🔹 Why is this useful?
Improves readability in low-contrast or dark-mode charts.
Helps traders spot trends faster without reading numerical data.
9️⃣ Automated Buy & Sell Alerts
The script triggers alerts when momentum crosses key levels:
Above 55 → Potential Long Setup
Below 45 → Potential Short Setup.
🔹 Why is this useful?
Alerts help traders react quickly without constantly monitoring the chart.
Reduces the risk of missing critical trade opportunities.
🔹 Final Summary: Why is This Indicator Useful?
This futuristic cyberpunk-styled trading tool enhances traditional market analysis by combining technical indicators with high-visibility visuals.
🔹 Key Benefits:
✅ Customizable Display – Toggle elements based on trading needs.
✅ Trend Detection – EMAs highlight uptrends & downtrends.
✅ Momentum Tracking – RSI-based momentum gauge identifies strong moves.
✅ Strength Meters – Bullish/Bearish power is clearly visualized.
✅ Volatility Insights – ATR-based metric highlights market turbulence.
✅ Trend Strength Analysis – Quantifies trend intensity.
✅ Dashboard – Provides a centralized, easy-to-read data panel.
✅ Cyberpunk Neon Glow – Enhances clarity with stylish aesthetics.
✅ Real-Time Alerts – Helps traders react to key opportunities.
This indicator is designed to be both functional and visually appealing, making market analysis more intuitive and efficient. 🚀
Smart Money Concepts (Advanced)Inspired and initially based on LuxAlgo's Smart Money Concepts Indicator I created a library lib_smc that started to convert every function and return objects. This allowed certain customizations like tracking the current fill level of FVGs or tracking the creation of Order Blocks, by monitoring consecutive bars against the current trend.
This indicator is provided as is, based on, but probably not always be up to date with my lib_smc that I am using for my projects.
WARNING: This indicator shows EXPERIMENTAL Order Blocks that are tracked LIVE. Unlike usual Order Blocks these are not just based on the last confirmed Swing Point (formed 50 bars before) but on consecutive candles opposing an unconfirmed trend. Blocks are confirmed by price movements relative to the unconfirmed block and unconfirmed swing points. This means that some Order Blocks will appear on pullbacks, as well as reversals.
Features
Swing Points (HH / LH / HL / LL), indicating support / resistance zones price might reject off of or want to push through
Market Structure (BOS / ChoCh), indicates confirmation for a continued / changing trend
live Order Blocks (OB), see warning above.
Fair Value Gaps (FVG), optional from higher timeframes
Equal Highs / Lows (EQH/EQL), indicates strong support / resistance zones, especially when the bars forming it have long wicks toward that zone
using my lib_no_delay all moving averages are working from bar 0, so it can be used on charts with limited bars
Ichimoku Cloud +Ichimoku Cloud Plus - Advanced Technical Analysis Indicator
Ichimoku Cloud Plus is an advanced technical analysis tool that combines the traditional Ichimoku Cloud system with Pearson correlation analysis and multi-timeframe momentum tracking. This innovative approach provides traders with a comprehensive view of market trends, momentum, and potential reversal points across multiple time frames.
Core Components
Enhanced Ichimoku Cloud Analysis
The traditional Ichimoku Cloud components have been preserved and enhanced with customizable visual parameters:
The indicator includes:
- Conversion Line (Tenkan-sen) - Short-term trend identifier
- Base Line (Kijun-sen) - Medium-term trend identifier
- Leading Span A and B (Senkou Span A and B) - Future cloud projections
- Lagging Span (Chikou Span) - Historical price momentum confirmation
The cloud (Kumo) formations provide dynamic support and resistance levels, with color-coding to instantly identify bullish and bearish market conditions.
Pearson Correlation Analysis
A sophisticated Pearson correlation coefficient calculation has been integrated to provide statistical validation of trend strength and direction. This component:
- Calculates correlation between price movement and time
- Provides real-time correlation coefficients
- Identifies trend strength through correlation thresholds
- Generates signals for trend changes and potential reversals
Multi-Timeframe Momentum Tracking
The indicator incorporates a unique multi-timeframe analysis system that:
- Displays momentum calculations across five timeframes (15m, 30m, 1h, 4h, 1d)
- Provides percentage-based momentum values
- Includes volatility adjustment capabilities
- Offers volume-weighted calculations for enhanced accuracy
Advanced Features
Statistical Analysis Panel
A comprehensive statistical panel provides real-time analysis including:
- Current Pearson coefficient value
- Correlation strength classification
- Trend direction identification
- Analysis period information
Dynamic Alert System
The indicator includes sophisticated alert conditions for:
- Bearish trend initiation (positive correlation threshold breach)
- Bullish trend initiation (negative correlation threshold breach)
- Trend direction changes (zero-line crossovers)
Visual Optimization
Advanced visualization features include:
- Customizable color schemes for all components
- Adjustable label sizes and positions
- Transparency controls for better chart visibility
- Warning indicators for potential trend weakening
Technical Implementation
The indicator combines multiple calculation methods:
- Donchian Channel calculations for Ichimoku components
- Pearson correlation coefficient computation with customizable periods
- EMA smoothing for momentum calculations
- Volume-weighted averaging capabilities
- Volatility adjustment mechanisms
Trading Applications
This indicator is particularly effective for:
1. Trend Direction Confirmation
- Multiple timeframe analysis provides comprehensive trend validation
- Pearson correlation adds statistical confidence to trend identification
- Ichimoku cloud formations confirm support and resistance levels
2. Entry and Exit Point Identification
- Cloud breakouts combined with correlation strength indicate potential entry points
- Multi-timeframe momentum alignment helps identify high-probability trades
- Warning indicators assist in timing market exits
3. Risk Management
- Dynamic support and resistance levels from the cloud
- Statistical trend strength measurement
- Multi-timeframe confirmation reduces false signals
Performance Considerations
The indicator uses efficient calculations to maintain good performance while providing comprehensive analysis. The smoothing parameters and analysis periods can be adjusted to balance between responsiveness and reliability.
Future Applications and Research
This combination of indicators opens possibilities for:
- Machine learning integration for pattern recognition
- Additional statistical measures for trend validation
- Enhanced alert systems based on multiple condition combinations
- Further optimization of calculation methods
The innovative combination of traditional Ichimoku analysis with modern statistical methods and multi-timeframe momentum tracking provides traders with a powerful tool for market analysis and decision-making.
Granular Candle-by-Candle VWAPGranular Candle-by-Candle VWAP is a customizable Volume Weighted Average Price (VWAP) indicator designed for TradingView. Unlike traditional VWAP indicators that operate on the chart's primary timeframe, this script enhances precision by incorporating lower timeframe (e.g., 1-minute) data into VWAP calculations. This granular approach provides traders with a more detailed and accurate representation of the average price, accounting for intra-bar price and volume movements. The indicator dynamically adjusts to the chart's current timeframe and offers a range of customization options, including price type selection, visual styling, and alert configurations.
Customizable Features
Users have extensive control over various aspects of the Granular Candle-by-Candle VWAP indicator. Below are the key features that can be customized to align with individual trading preferences:
🎛️ Customizable Features
Users have extensive control over various aspects of the Granular Candle-by-Candle VWAP indicator. Below are the key features that can be customized to align with individual trading preferences:
🔢 Lookback Period
Description: Defines the number of lower timeframe bars used in the VWAP calculation.
Customization:
Input: VWAP Lookback Period (Number of Lower Timeframe Bars)
Default Value: 20 bars
Range: Minimum of 1 bar
Purpose: Allows traders to adjust the sensitivity of the VWAP. A smaller lookback period makes the VWAP more responsive to recent price changes, while a larger period smoothens out fluctuations.
📈 Price Type Selection
Description: Determines which price metric is used in the VWAP calculation.
Customization:
Input: Price Type for VWAP Calculation
Options:
Open: Uses the opening price of each lower timeframe bar.
High: Uses the highest price of each lower timeframe bar.
Low: Uses the lowest price of each lower timeframe bar.
Close: Uses the closing price of each lower timeframe bar.
OHLC/4: Averages the Open, High, Low, and Close prices.
HL/2: Averages the High and Low prices.
Typical Price: (High + Low + Close) / 3
Weighted Close: (High + Low + 2 × Close) / 4
Default Value: Close
Purpose: Offers flexibility in how the average price is calculated, allowing traders to choose the price metric that best fits their analysis style.
🕒 Lower Timeframe Selection
Description: Specifies the lower timeframe from which data is fetched for granular VWAP calculations.
Customization:
Input: Lower Timeframe for Granular Data
Default Value: 1 minute ("1")
Options: Any valid TradingView timeframe (e.g., "1", "3", "5", "15", etc.)
Purpose: Enables traders to select the granularity of data used in the VWAP calculation, enhancing the indicator's precision on higher timeframe charts.
🎨 VWAP Line Customization
Description: Adjusts the visual appearance of the VWAP line based on price position relative to the VWAP.
Customizations:
Color When Price is Above VWAP:
Input: VWAP Color (Price Above)
Default Value: Green
Color When Price is Below VWAP:
Input: VWAP Color (Price Below)
Default Value: Red
Line Thickness:
Input: VWAP Line Thickness
Default Value: 2
Range: Minimum of 1
Line Style:
Input: VWAP Line Style
Options: Solid, Dashed, Dotted
Default Value: Solid
Purpose: Enhances visual clarity, allowing traders to quickly assess price positions relative to the VWAP through color coding and line styling.
🔔 Alerts and Notifications
Description: Provides real-time notifications when the price crosses the VWAP.
Customizations:
Enable/Disable Alerts:
Input: Enable Alerts for Price Crossing VWAP
Default Value: Enabled (true)
Alert Conditions:
Price Crossing Above VWAP:
Trigger: When the closing price crosses from below to above the VWAP.
Alert Message: "Price has crossed above the Granular VWAP."
Price Crossing Below VWAP:
Trigger: When the closing price crosses from above to below the VWAP.
Alert Message: "Price has crossed below the Granular VWAP."
Purpose: Keeps traders informed of significant price movements relative to the VWAP, facilitating timely trading decisions.
📊 Plotting and Visualization
Description: Displays the calculated Granular VWAP on the chart with user-defined styling.
Customization Options:
Color, Thickness, and Style: As defined in the VWAP Line Customization section.
Track Price Feature:
Parameter: trackprice=true
Function: Ensures that the VWAP line remains visible even when the price moves far from the VWAP.
Purpose: Provides a clear and persistent visual reference of the VWAP on the chart, aiding in trend analysis and support/resistance identification.
⚙️ Performance Optimizations
Description: Ensures the indicator runs efficiently, especially on higher timeframes with large datasets.
Strategies Implemented:
Minimized Security Calls: Utilizes two separate request.security calls to fetch necessary data, balancing functionality and performance.
Efficient Calculations: Employs built-in functions like ta.sum for rolling calculations to reduce computational load.
Conditional Processing: Alerts are processed only when enabled, preventing unnecessary computations.
Purpose: Maintains smooth chart performance and responsiveness, even when using lower timeframe data for granular calculations.
TradeTracker v33 - Interactive Journal [AR33_]TradeTracker v33 - Interactive Journal is a unique tool designed to enhance your trading experience by integrating an interactive journal directly onto your charts. Unlike traditional trading journals that require manual entries outside of TradingView, this script allows traders to document, track, and review their trades in real-time, right where the action happens.
What sets TradeTracker v33 apart from existing tools is its seamless blend of note-taking, task management, and performance tracking—all within a single, intuitive interface. With features like customizable checklists, due dates, and color-coded status indicators, this script provides a powerful and practical solution for traders who want to stay organized and disciplined.
2. Description
. TradeTracker v33 - Interactive Journal is designed to keep traders on track by allowing them to record trade-related notes, set tasks, and mark progress directly on their charts.
Here’s how it works:
• Purpose: The script serves as an all-in-one journal and task manager, helping traders document their trading strategies, track ongoing tasks, and review completed actions. It’s particularly useful for maintaining discipline and ensuring that every trade is executed according to a well-thought-out plan.
• How It Works:
• Interactive Notes and Tasks: Users can create and manage notes and tasks directly on their charts. Each note can be customized with a title, description, due date, and completion status.
• Status Indicators: Tasks are color-coded based on their status—green for completed, red for overdue, and default colors for pending tasks—allowing traders to quickly assess their progress.
• Dynamic Display: Notes are displayed in a clean, organized table on the chart, making it easy to review multiple tasks without cluttering the trading interface.
• Usage:
• Adding Notes: Simply fill in the note title, content, and optional due date within the script’s input settings, and the note will appear on your chart.
• Tracking Progress: Mark tasks as completed with a simple toggle, and the script will update their status in real-time.
• Customizing Your Workflow: Adjust the position, size, and visibility of notes to fit your trading style, ensuring that your journal supports rather than distracts from your trading activities.
3. Chart Presentation
To provide a clear and focused user experience, TradeTracker v33 - Interactive Journal is designed to be the sole feature on your chart when published. This ensures that users can easily identify and interact with their notes and tasks without any unnecessary distractions.
• Clean and Focused Display: The chart will exclusively display the interactive journal, showcasing how tasks and notes appear and update in real-time as you manage them.
• Useful Annotations: Annotations such as checkboxes and status indicators are clearly explained within the script’s description and are vital to understanding the functionality of the tool.
• Minimal Distractions: Only elements directly related to the script’s functionality are included on the chart, ensuring that users can easily follow along and implement the script in their own trading setup.
Split VolumeThe Split Volume indicator displays 'Upwards' and 'Downwards' volume with an additional method for distributing 'split' candle volume.
A 'split' candle is a candle whose direction is...'Split'...since the open and close are equal. (Ex. Doji)
Upwards and Downwards Volume is tracked by comparing the Open and Closes of the Lower Timeframes.
If the Close is Greater-than the Open, we track the Volume as 'Upwards' Volume.
If the Close is Less-than the Open, we track the Volume as 'Downwards' Volume.
If the Close and Open are Equal, we assume that the Volume is an even split 50/50, and track it as such.
The indicator pulls data from lower timeframes to achieve more granular Open,Close,& Volume Data
Specifically:
<5m Timeframe: 1 Second LTF
<60m Timeframe: 5 Second LTF
<1D Timeframe: 1 Minute LTF
>1D Timeframe: 60m LTF
We have also included some nice-to-have features
50% Volume Line: This line splits each columns in half, this is used as quick reference to see exactly which side the volume is on.
High Volume Candle Identification: We are detecting bars with high relative volume and coloring them on the upper chart for use as important zones.
Status Line Readouts: The Status line for this indicator is formatted for simple reading. It Reads(Left-to-Right):Total Volume, Downwards Volume, 50% Value, Upwards Volume
Multi-Timeframe Recursive Zigzag [Trendoscope®]🎲 Welcome to the Advanced World of Zigzag Analysis
Embark on a journey through the most comprehensive and feature-rich Zigzag implementation you’ll ever encounter. Our Multi-Timeframe Recursive Zigzag Indicator is not just another tool; it's a groundbreaking advancement in technical analysis.
🎯 Key Features
Multi Time-Frame Support - One of the rare open-source Zigzag indicators with robust multi-timeframe capabilities, this feature sets our tool apart, enabling a broader and more dynamic market analysis.
Innovative Recursive Zigzag Algorithm - At its core is our unique Recursive Zigzag Algorithm, a pioneering development that powers multiple Zigzag levels, offering an intricate view of market movements. This proprietary algorithm is the backbone of our advanced pattern recognition indicators.
Sub-Waves and Micro-Waves Analysis - Dive deeper into market trends with our Sub-Waves and Micro-Waves feature. Sub-Waves reveal the interconnectedness of various Zigzag levels, while Micro-Waves offer insight into the fundamental waves at the base level.
Enhanced Indicator Tracking - Integrate and track your custom indicators or oscillators with the zigzag, capturing their values at each Zigzag level, complete with retracement ratios. This offers a comprehensive view of market dynamics.
Curved Zigzag Visualization - Experience a new way of visualizing market movements with our Curved Zigzag Display, employing Pine Script’s polyline feature for a more intuitive and visually appealing representation.
Built-in Customizable Alerts - Stay ahead with built-in alerts that can be customized via user input settings.
🎯 Practical Applications
Our Zigzag Indicator is designed with an understanding of its inherent nature - the last unconfirmed pivot that consistently repaints. This characteristic, while by design, directs its usage more towards pattern recognition rather than direct identification of market tops and bottoms. Here's how you can leverage the Zigzag Indicator:
Harmonic Patterns - Ideal for those familiar with harmonic patterns, this tool simplifies the manual spotting of complex XABCD, ABC, and ABCD patterns on charts.
Chart Patterns - Effortlessly identify patterns like Double/Triple Taps, Head and Shoulders, Inverse Head and Shoulders, and Cup and Handle patterns with enhanced clarity. Navigate through challenging patterns such as Triangles, Wedges, Flags, and Price Channels, where the Zigzag Indicator adds a layer of precision to your breakout strategy.
Elliott Wave Components - The indicator's detailed pivot highlighting aids in identifying key Elliott Wave components, enhancing your wave analysis and decision-making process.
🎲 Deep Dive into Indicator Features
Join us as we explore the intricate features of our indicator in more detail.
🎯 Multi-Timeframe Capability
Our indicator comes equipped with an input option for selecting the desired resolution. This unique feature allows users to view higher timeframe Zigzag patterns directly on their lower timeframe charts.
🎯 Recursive Multi Level Zigzag
Our advanced recursive approach creates multi-level Zigzags from lower-level data. For instance, the level 0 Zigzag forms the base, calculated from specified length and depth parameters, while level 1 Zigzag is derived using level 0 as its foundation, and so forth.
The indicator not only displays multiple Zigzag levels but also offers settings to emphasize specific levels for more detailed analysis.
🎯 Sub-Components and Micro-Components of Zigzag Wave
Sub-components within a Zigzag wave consist of the previous level's Zigzag pivots. Meanwhile, the micro-components are composed of the base level (Level 0) Zigzag pivots encapsulated within the wave.
🎯 Curved Zigzag
Experience a new perspective with our curved Zigzag display. This innovative feature utilizes the polyline curved option to automatically generate sinusoidal waves based on multiple points.
🎯 Indicator Tracking
Default indicators such as RSI, MFI, and OBV are included, alongside the ability to track one external indicator at each Zigzag pivot.
🎯 Customizable Alerts
Our indicator employs the `alert()` function for alert creation. While this means the absence of a customization text box in the alert settings, we've included a custom text area for users to create their own alert templates.
Template placeholders include:
{alertType} - type of alert. Either Confirmed Pivot Update or Last Pivot Update. Depends on the alert type selected in the inputs.
When Last Pivot Update type is selected, the alerts are triggered whenever there is a new Zigzag Pivot. This may also be a repaint of last unconfirmed pivot.
When Confirmed Pivot Update type is selected, the alerts are triggered only when a pivot becomes a confirmed pivot.
{level} - Zigzag level on which the alert is triggered.
{pivot} - Details of the last pivot or confirmed pivot including price, ratio, indicator values and ratios, subcomponent and micro-component pivots.
🎲 User Settings Overview
🎯 Zigzag and Generic Settings
This involves some generic zigzag calculation settings such as length, depth, and timeframe. And few display options such as theme, Highlight Level and Curved Zigzag. By default, zigzag calculation is done based on the latest real time bar. An option is provided to disable this and use only confirmed bars for the calculation.
Indicator Settings
Allows users to track one or more oscillators or volume indicators. Option to add any indicator via external input is provided.
🎯 Alert Settings
Has input fields required to select and customize alerts.
TradeLibrary "Trade"
A Trade Tracking Library
Monitor conditions with less code by using Arrays. When your conditions are met in chronologically, a signal is returned and the scanning starts again.
Create trades automatically with Stop Loss, Take Profit and Entry. The trades will automatically track based on the market movement and update when the targets are hit.
Sample Usage
Enter a buy trade when RSI crosses below 70 then crosses above 80 before it crosses 40.
Note: If RSI crosses 40 before 80, No trade will be entered.
rsi = ta.rsi(close, 21)
buyConditions = array.new_bool()
buyConditions.push(ta.crossunder(rsi, 70))
buyConditions.push(ta.crossover(rsi, 80))
buy = Trade.signal(buyConditions, ta.crossunder(rsi, 40))
trade = Trade.new(close-(100*syminfo.mintick), close +(200*syminfo.mintick), condition=buy)
plot(trade.takeprofit, "TP", style=plot.style_circles, linewidth=4, color=color.lime)
alertcondition(trade.tp_hit, "TP Hit")
method signal(conditions, reset)
Signal Conditions
Namespace types: bool
Parameters:
conditions (bool )
reset (bool)
Returns: Boolean: True when all the conditions have occured
method update(this, stoploss, takeprofit, entry)
Update Trade Parameters
Namespace types: Trade
Parameters:
this (Trade)
stoploss (float)
takeprofit (float)
entry (float)
Returns: nothing
method clear(this)
Clear Trade Parameters
Namespace types: Trade
Parameters:
this (Trade)
Returns: nothing
method track(this, _high, _low)
Track Trade Parameters
Namespace types: Trade
Parameters:
this (Trade)
_high (float)
_low (float)
Returns: nothing
new(stoploss, takeprofit, entry, _high, _low, condition, update)
New Trade with tracking
Parameters:
stoploss (float)
takeprofit (float)
entry (float)
_high (float)
_low (float)
condition (bool)
update (bool)
Returns: a Trade with targets and updates if stoploss or takeprofit is hit
new()
New Empty Trade
Returns: an empty trade
Trade
Fields:
stoploss (series__float)
takeprofit (series__float)
entry (series__float)
sl_hit (series__bool)
tp_hit (series__bool)
open (series__integer)
Stochastic & MAThis trading system comes from the experience of having a "fast" signal for entry at low prices (such as the stoscastic) and then "following" the stock with a "slower" indicator such as the exponential moving average. Both the input and output signals are filtered.
The use of the trading system only carries out long operations and has been tested on shares and ETFs, including indices, on daily bases (End Of Day).
ENTRY CONDITION: when stochastic's k is higher than d (on the default value of 21 periods) we enter the lower part of the oversold, to which we apply a filter or the confirmation that the closing of the day of the crossing is higher than that of the n -th previous bar (the 2nd previous bar recommended).
Other default settings are k = 6 and d = 4; the oversold level is also customizable (recommended = 25).
EXIT CONDITIONS: once the entry has "gone well", we follow the upward trend of the stock not with a stochastic oscillator - which tends to exit too soon, especially in case of strong trends - but with a simple moving average exponential (by default at 38 periods). Also in this case a filter is added, that is, k must be> to a filter threshold (recommended = 65) which is used to distinguish the decline between a "physiological" tracking. "(k drops" slowly "together with the approach of prices to the moving average) from a more" violent "tracking (prices are below the moving average and k consequently fall" suddenly ", in a few bars).
MONEY MANAGEMENT: 13% stop loss inserted (the physiological level of tracking of the shares is generally max 8-12% so we also consider a 1% margin due to trading). For more volatile stocks, the level can be extended to 20%.
LEVERAGE: the default value is equal to 1, but it is advisable, for simulations on shares, to use higher levers (x2, x3, ...) if you trade the relative CFD or on the index in case of buying and selling of Leveraged ETFs (e.g. LEVMIB which is 2x leveraged ETFs on Italian index).
WWV_LB zigzag pivot fix jayyThis is a zigzag version of LazyBear's WWV_LB. In order to plot the WWV_LB as a zigzag, it made sense to me to set the zigzag pivot at the true WWV_LB low or high pivot bars as opposed to the "pivot" bars plotted by the original WWV_LB script. The pivot point identified in the WWV_LB script is actually the point at which a wave reversal is confirmed as opposed to the true script pivot point. Confirmation of a wave reversal can, at times, lag the true pivot by a few bars especially as trendDetectionLength values increase above "1". The WWV_LB script calculates cumulative volume from wave reversal confirmation bar to wave reversal confirmation bar as opposed to the actual/true WWV_LB reversal pivot bar to reversal pivot bar. As such the waves plotted by the original and this pivot fixed scripts not only look slightly different but can also have different cumulative volumes. Confirmation of a wave reversal can lag a few bars behind the true pivot point.
The following critical lines of the original WWV_LB script determine when a wave reverses, both the true pivot and the confirmation point:mov = close>close ? 1 : close
Multi SMA EMA WMA HMA BB (4x3 MAs Bollinger Bands) Pro MTF - RRBMulti SMA EMA WMA HMA 4x3 Moving Averages with Bollinger Bands Pro MTF by RagingRocketBull 2018
Version 1.0
This indicator shows multiple MAs of any type SMA EMA WMA HMA etc with BB and MTF support, can show MAs as dynamically moving levels.
There are 4 MA groups + 1 BB group. You can assign any type/timeframe combo to a group, for example:
- EMAs 50,100,200 x H1, H4, D1, W1 (4 TFs x 3 MAs x 1 type)
- EMAs 8,13,21,55,100,200 x M15, H1 (2 TFs x 6 MAs x 1 type)
- D1 EMAs and SMAs 12,26,50,100,200,400 (1 TF x 6 MAs x 2 types)
- H1 WMAs 7,77,231; H4 HMAs 50,100,200; D1 EMAs 144,169,233; W1 SMAs 50,100,200 (4 TFs x 3 MAs x 4 types)
- +1 extra MA type/timeframe for BB
compile time: 25-30 sec
full redraw time after parameter change in UI: 3 sec
There are several versions: Simple, MTF, Pro MTF, Advanced MTF and Ultimate MTF. This is the Pro MTF version. The Differences are listed below. All versions have BB
- Simple: you have 2 groups of MAs that can be assigned any type (5+5)
- MTF: +2 custom Timeframes for each group (2x5 MTF)
- Pro MTF: +4 custom Timeframes for each group (4x3 MTF), MA levels and show max bars back options
- Advanced MTF: +2 extra MAs/group (4x5 MTF), custom Ticker/Symbol, backreferences for type, TF and MA lengths in UI
- Ultimate MTF: +individual settings for each MA, custom Ticker/Symbols
Features:
- 4x3 = 12 MAs of any type including Hull Moving Average (HMA)
- 4x MTF groups with step line smoothing
- BB +1 extra TF/type for BB MAs
- 12 MA levels with adjustable group offsets, indents and shift
- show max bars back
- you can show/hide both groups of MAs/levels and individual MAs
Notes:
1. based on 3EmaBB, uses plot*, barssince and security functions
2. you can't set certain constants from input due to Pinescript limitations - change the code as needed, recompile and use as a private version
3. Levels = trackprice implementation
4. Show Max Bars Back = show_last implementation
5. uses timeframe textbox instead of input resolution to allow for 120 240 and other custom TFs. Also supports TFs in hours: 2H or H2
6. swma has a fixed length = 4, alma and linreg have additional offset and smoothing params
7. Smoothing is applied by default for visual aesthetics on MTF. To use exact ma mtf values (lines with stair stepping) - disable it
MTF Notes:
- uses simple timeframe textbox instead of input resolution dropdown to allow for 120, 240 and other custom TFs, also supports timeframes in H: 2H, H2
- Groups that are not assigned a Custom TF will use Current Timeframe (0).
- MTF will work for any MA type assigned to the group
- MTF works both ways: you can display a higher TF MA/BB on a lower TF or a lower TF MA/BB on a higher TF.
- MTF MA values are normally aligned at the boundary of their native timeframe. This produces stair stepping when a higher TF MA is viewed on a lower TF.
Therefore X Y Point Density/Smoothing is applied by default on MA MTF for visual aesthetics. Set both to 0 to disable and see exact ma mtf values (lines with stair stepping and original mtf alignment).
- Smoothing is disabled for BB MTF bands because fill doesn't work with smoothed MAs after duplicate values are replaced with na.
- MTF MA Value fluctuation is possible on the current bar due to default security lookahead
Smoothing:
- X,Y == 0 - X,Y smoothing disabled (stair stepping on high TFs)
- X == 0, Y > 0 - X,Y smoothing applied to all TFs
- Y == 0, X > 0 - X smoothing applied to all TFs < deltaX_max_tf, Y smoothing disabled
- X > 0, Y > 0 - Y smoothing applied to all TFs, then X smoothing applied to all TFs < deltaX_max_tf
X Smoothing with Y == 0 - shows only every deltaX-th point starting from the first bar.
X Smoothing with Y > 0 - shows only every deltaX-th point starting from the last shown Y point, essentially filling huge gaps remaining after Y Smoothing with points and preserving the curve's general shape
X Smoothing on high TFs with already scarce points produces weird curve shapes, it works best only on high density lower TFs
Y Smoothing reduces points on all TFs, removes adjacent points with prices within deltaY, while preserving the smaller curve details.
A combination of X,Y produces the most accurate smoothing. Higher delta value - larger range, more points removed.
Show Max Bars Back:
- can't set plot show_last from input -> implemented using a timenow based range check
- you can't delete/modify history once plotted, so essentially it just sets a start point for plotting (from num_bars bars back) that works only in realtime mode (not in replay)
Levels:
You can plot current MA value using plot trackprice=true or by checking Show Price Line in Style. Problem is:
- you can only change color (not the dashed line style, width), have both ma + price line (not just the line), and it's full screen wide
- you can't set plot trackprice from input => implemented using plotshape/plotchar with fixed text labels serving as levels
- there's no other way of creating a dynamic level: hline, plot, offset - nothing else works.
- you can't plot a text var - all text strings must be constants, so you can't change the style, width and text labels without recompiling.
- from input you can only adjust offset, indent and shift for each level group, and change color
- the dot below each level line is the exact MA value. If you want just the line swap plotshape with plotchar, recompile and save as your private version, adjust Y shift.
To speed up redraw times: reduce last_bars to ~2000, recompile and use as your own private version
Pinescript is a rudimentary language (should be called Painscript instead) that can basically only plot data. You can't do much else. Please see the code for tips and hints.
Certain things just can't be done or require shady workarounds and weeks of testing trying to resolve weird node.js compiler errors.
Feel free to learn from/reuse/change the code as needed and use as your own private version. See comments in code. Good Luck!
Volatility Shield ProConcept: Volatility Shield Pro is a multi-dimensional execution engine designed to filter high-probability entries by triangulating Trend, Institutional Volume, and Statistical Exhaustion.
Why this is original: Unlike standard indicators that look at price in a vacuum, this uses a Volume-Weighted ATR (VWATR) to distinguish between retail noise and institutional "Strikes." It integrates an ADR (Average Daily Range) Fuel gauge to prevent entries into exhausted moves, solving the common problem of buying the "top" of a trend.
Components & Logic:
Institutional Strike Engine: Uses VWATR normalized against a 50-period SMA to find momentum backed by volume.
ADR Fuel Gauge: Calculated by comparing current price travel to the 10-day ADR. A "State" of EXHAUSTED is triggered at 120% to warn of mean reversion.
HTF Anchor: A built-in Higher Time Frame EMA filter (default 4H) to ensure local trades align with the macro tide.
Live EDGE Tracker: A real-time backtesting module that calculates the win rate of the "Strike" signals on the current chart history using a 1.5:1 Reward-to-Risk ratio.
This combined tool addresses the three main reasons most trading systems fail by integrating higher-timeframe bias, daily range exhaustion, and volume confirmation into one framework:
Fighting the Tide (HTF Ribbon): Keeps traders aligned with the dominant higher-timeframe trend to avoid counter-trend entries.
Running Out of Gas (ADR Fuel): Measures a symbol’s average daily range to prevent chasing moves that have already reached their statistical limit.
Ghost Volume (RVOL/VWATR): Filters out low-quality, retail-driven activity by requiring institutional-level volume spikes before taking trades.
In essence, it combines trend alignment, range exhaustion detection, and real-volume filtering to eliminate the most common account-killing mistakes.
The "Triple-Threat" Trade Setup
This is the highest-probability setup the tool can produce. When these three things align, the "Edge" is at its peak:
The Anchor: HTF Ribbon is Bright Green.
The Local: Atlas Trend Bias is BULLISH and State is STRIKE.
The Value: ADR Fuel is Low (40-60%), meaning the stock has massive room to move before hitting daily resistance.
Session Volume Analyzer [JOAT]
Session Volume Analyzer — Global Trading Session and Volume Intelligence System
This indicator addresses the analytical challenge of understanding market participation patterns across global trading sessions. It combines precise session detection with comprehensive volume analysis to provide insights into when and how different market participants are active. The tool recognizes that different trading sessions exhibit distinct characteristics in terms of participation, volatility, and volume patterns.
Why This Combination Provides Unique Analytical Value
Traditional session indicators typically only show time boundaries, while volume indicators show raw volume data without session context. This creates analytical gaps:
1. **Session Context Missing**: Volume spikes without session context provide incomplete information
2. **Participation Patterns Hidden**: Different sessions have different participant types (retail, institutional, algorithmic)
3. **Comparative Analysis Lacking**: No easy way to compare volume patterns across sessions
4. **Timing Intelligence Absent**: Understanding WHEN volume occurs is as important as HOW MUCH volume occurs
This indicator's originality lies in creating an integrated session-volume analysis system that:
**Provides Session-Aware Volume Analysis**: Volume data is contextualized within specific trading sessions
**Enables Cross-Session Comparison**: Compare volume patterns between Asian, London, and New York sessions
**Delivers Participation Intelligence**: Understand which sessions are showing above-normal participation
**Offers Real-Time Session Tracking**: Know exactly which session is active and how current volume compares
Technical Innovation and Originality
While session detection and volume analysis exist separately, the innovation lies in:
1. **Integrated Session-Volume Architecture**: Simultaneous tracking of session boundaries and volume statistics creates comprehensive market participation analysis
2. **Multi-Session Volume Comparison System**: Real-time calculation and comparison of volume statistics across different global sessions
3. **Adaptive Volume Threshold Detection**: Automatic identification of above-average volume periods within session context
4. **Comprehensive Visual Integration**: Session backgrounds, volume highlights, and statistical dashboards provide complete market participation picture
How Session Detection and Volume Analysis Work Together
The integration creates a sophisticated market participation analysis system:
**Session Detection Logic**: Uses Pine Script's time functions to identify active sessions
// Session detection based on exchange time
bool inAsian = not na(time(timeframe.period, asianSession))
bool inLondon = not na(time(timeframe.period, londonSession))
bool inNY = not na(time(timeframe.period, nySession))
// Session transition detection
bool asianStart = inAsian and not inAsian
bool londonStart = inLondon and not inLondon
bool nyStart = inNY and not inNY
**Volume Analysis Integration**: Volume statistics are calculated within session context
// Session-specific volume accumulation
if asianStart
asianVol := 0.0
asianBars := 0
if inAsian
asianVol += volume
asianBars += 1
// Real-time session volume analysis
float asianAvgVol = asianBars > 0 ? asianVol / asianBars : 0
**Relative Volume Assessment**: Current volume compared to session-specific averages
float volMA = ta.sma(volume, volLength)
float volRatio = volMA > 0 ? volume / volMA : 1
// Volume classification within session context
bool isHighVol = volRatio >= 1.5 and volRatio < 2.5
bool isVeryHighVol = volRatio >= 2.5
This creates a system where volume analysis is always contextualized within the appropriate trading session, providing more meaningful insights than raw volume data alone.
Comprehensive Session Analysis Framework
**Default Session Definitions** (customizable based on broker timezone):
- **Asian Session**: 1800-0300 (exchange time) - Represents Asian market participation including Tokyo, Hong Kong, Singapore
- **London Session**: 0300-1200 (exchange time) - Represents European market participation
- **New York Session**: 0800-1700 (exchange time) - Represents North American market participation
**Session Overlap Analysis**: The system recognizes and highlights overlap periods:
- **London/New York Overlap**: 0800-1200 - Typically the highest volume period
- **Asian/London Overlap**: 0300-0300 (brief) - Transition period
- **New York/Asian Overlap**: 1700-1800 (brief) - End of NY, start of Asian
**Volume Intelligence Features**:
1. **Session-Specific Volume Accumulation**: Tracks total volume within each session
2. **Cross-Session Volume Comparison**: Compare current session volume to other sessions
3. **Relative Volume Detection**: Identify when current volume exceeds historical averages
4. **Participation Pattern Analysis**: Understand which sessions show consistent high/low participation
Advanced Volume Analysis Methods
**Relative Volume Calculation**:
float volMA = ta.sma(volume, volLength) // Volume moving average
float volRatio = volMA > 0 ? volume / volMA : 1 // Current vs average ratio
// Multi-tier volume classification
bool isNormalVol = volRatio < 1.5
bool isHighVol = volRatio >= 1.5 and volRatio < 2.5
bool isVeryHighVol = volRatio >= 2.5
bool isExtremeVol = volRatio >= 4.0
**Session Volume Tracking**:
// Cumulative session volume with bar counting
if londonStart
londonVol := 0.0
londonBars := 0
if inLondon
londonVol += volume
londonBars += 1
// Average volume per bar calculation
float londonAvgVol = londonBars > 0 ? londonVol / londonBars : 0
**Cross-Session Volume Comparison**:
The system maintains running totals for each session, enabling real-time comparison of participation levels across different global markets.
What the Display Shows
Session Backgrounds — Colored backgrounds indicating which session is active
- Pink: Asian session
- Blue: London session
- Green: New York session
Session Open Lines — Horizontal lines at each session's opening price
Session Markers — Labels (AS, LN, NY) when sessions begin
Volume Highlights — Bar coloring when volume exceeds thresholds
- Orange: High volume (1.5x+ average)
- Red: Very high volume (2.5x+ average)
Dashboard — Current session, cumulative volume, and averages
Color Scheme
Asian — #E91E63 (pink)
London — #2196F3 (blue)
New York — #4CAF50 (green)
High Volume — #FF9800 (orange)
Very High Volume — #F44336 (red)
Inputs
Session Times:
Asian Session window (default: 1800-0300)
London Session window (default: 0300-1200)
New York Session window (default: 0800-1700)
Volume Settings:
Volume MA Length (default: 20)
High Volume threshold (default: 1.5x)
Very High Volume threshold (default: 2.5x)
Visual Settings:
Session colors (customizable)
Show/hide backgrounds, lines, markers
Background transparency
How to Read the Display
Background color shows which session is currently active
Session open lines show where each session started
Orange/red bars indicate above-average volume
Dashboard shows cumulative volume for each session today
Alerts
Session opened (Asian, London, New York)
High volume bar detected
Very high volume bar detected
Important Limitations and Realistic Expectations
Session times are approximate and depend on your broker's server timezone—manual adjustment may be required for accuracy
Volume data quality varies significantly by broker, instrument, and market type
Cryptocurrency and some forex markets trade continuously, making traditional session boundaries less meaningful
High volume indicates participation level only—it does not predict price direction or market outcomes
Session participation patterns can change over time due to market structure evolution, holidays, and economic conditions
This tool displays historical and current market participation data—it cannot predict future volume or price movements
Volume spikes can occur for numerous reasons unrelated to directional price movement (news, algorithmic trading, etc.)
Different instruments exhibit different session sensitivity and volume patterns
Market holidays and special events can significantly alter normal session patterns
Appropriate Use Cases
This indicator is designed for:
- Market participation pattern analysis
- Session-based trading schedule planning
- Volume context and comparison across sessions
- Educational study of global market structure
- Supplementary analysis for session-based strategies
This indicator is NOT designed for:
- Standalone trading signal generation
- Volume-based price direction prediction
- Automated trading system triggers
- Guaranteed session pattern repetition
- Replacement of fundamental or sentiment analysis
Understanding Session Analysis Limitations
Session analysis provides valuable context but has inherent limitations:
- Session patterns can change due to economic conditions, holidays, and market structure evolution
- Volume patterns may not repeat consistently across different market conditions
- Global events can override normal session characteristics
- Different asset classes respond differently to session boundaries
- Technology and algorithmic trading continue to blur traditional session distinctions
— Made with passion by officialjackofalltrades
Solid Dynamic Corridors[AkmanBey]
Solid Dynamic Corridors: Technical Overview
The Solid Dynamic Corridors indicator is a sophisticated, multi-layered trend-following and volatility-channel system. Unlike standard indicators, it combines RSI-derived price projections, ATR-based volatility expansion, and a 20-level support/resistance matrix to identify high-probability trend zones.
1. RSI-Based Price Projection
The foundation of the indicator starts with an inverse calculation of RSI levels. By setting specific overbought (51) and oversold (49) thresholds, the script projects these momentum levels directly onto the price chart as dynamic bands. This allows the trader to see where the price would be if it reached those specific RSI exhaustion points.
2. The Multi-Layered Support & Resistance Matrix
The core strength of the script lies in its 20-level calculation engine. It computes 10 distinct resistance levels (H1-H10) and 10 distinct support levels (L1-L10) using a hybrid blend of:
* Exponential Moving Averages (EMA)
* Average True Range (ATR)
* Historical Extremes (High/Low Lookbacks)
* Price Action Ratios
These levels are then averaged to create the Final Resistance and Support Averages, providing a "solid" boundary that filters out market noise more effectively than a single moving average.
3. Volatility-Adjusted Dynamic Expansion
To adapt to changing market conditions, the indicator employs an ATR-based expansion mechanism. By applying a user-defined multiplier to the current ATR, the bands expand during high-volatility periods and contract during consolidation, ensuring the "Corridors" remain relevant regardless of market speed.
4. Trend Tracking & Persistence Logic
The system features a unique Signal Persistence logic. When a trend shift is detected (via an ATR-based trailing stop mechanism):
* Buy/Sell Signals: Triggered when the price breaks through the calculated trailing limits.
* Persistence Lines: Once a signal is generated, the indicator "locks" the support or resistance level at that moment and tracks it for an extended period (up to 19,999 bars). This helps traders identify long-term historical anchor points even after the immediate trend has passed.
5. Extreme Range Analysis (HH-LL)
Finally, the script calculates Extreme Upper and Lower Bounds based on the highest and lowest points of the signal tracking lines. This creates a "Master Range" that colors the chart dynamically, signaling whether the market is in a Red (Overextended High), Green (Overextended Low), or Blue (Neutral) state.
Summary of Key Features
* Hybrid Momentum/Volatility Engine: Combines RSI and ATR logic.
* Noise Reduction: Averages 20 different data points to find "True" support and resistance.
* Long-Term Reference: Unique tracking system that remembers signal levels for thousands of bars.
* Visual Clarity: Intuitive color coding for trend direction and extreme price zones.
Unmitigated MTF High Low - Cave Diving Plot
IntroductionThe Unmitigated MTF High Low -
Cave Diving Plot is a multi-timeframe (MTF) indicator designed for NQ and ES futures traders who want to identify high-probability entry and exit zones based on unmitigated price levels. The "Cave Diving" visualization helps you navigate between support (floor) and resistance (ceiling) zones, while the integrated Strat analysis provides directional context.
Who Is This For?
Futures traders (NQ, ES) trading during ETH and RTH sessions
Scalpers and day traders looking for precise entry/exit levels
Traders using The Strat methodology for directional analysis
Anyone seeking confluence between price action and key levels
Core Concepts
1. Unmitigated Level:
An unmitigated level is a price high or low that has been created but not yet tested (touched) by price. These levels act as magnets - price often returns to test them.Key Properties:
Resistance (Highs): Price has created a high but hasn't revisited it
Support (Lows): Price has created a low but hasn't revisited it
Mitigation: When price touches a level, it becomes "mitigated" and loses strength
2. The Cave Diving MetaphorThink of trading as cave diving between two zones:
┌─────────────────────────────────┐
│ CEILING (Upper Band) │ ← 1st & 2nd Unmitigated Highs
│ 🟥 Resistance Zone │
├─────────────────────────────────┤
│ │
│ THE TUNNEL │ ← Price navigates here
│ (Trading Channel) │
│ │
├─────────────────────────────────┤
│ 🟢 Support Zone │
│ FLOOR (Lower Band) │ ← 1st & 2nd Unmitigated Lows
└─────────────────────────────────┘
Trading Concept:
Ceiling: Formed by the 1st and 2nd most recent unmitigated highs
Floor: Formed by the 1st and 2nd most recent unmitigated lows
Tunnel: The space between ceiling and floor where price operates
Cave Diving: Navigating between these zones for entries and exits
3. Session-Based Age TrackingLevels are tracked by session age:
Session: 6:00 PM to 5:00 PM NY time (23-hour window)
Age 0: Created in the current session (today)
Age 1: Created 1 session ago (yesterday)
Age 2+: Older levels (more significant)
Why Age Matters:
Older unmitigated levels are typically stronger magnets
Fresh levels (Age 0) may be weaker and easier to break
Age 2+ levels often provide high-probability reversal zones
Indicator Components
Visual Elements
1. Colored Bands (Cave Zones)Upper Band (Pink/Maroon - 95% transparency)
Space between 1st and 2nd unmitigated highs
Acts as resistance zone
Price often hesitates or reverses here
Lower Band (Teal - 95% transparency)
Space between 1st and 2nd unmitigated lows
Acts as support zone
Price often finds buyers here
2. Information Table Located in your chosen corner (default: Bottom Right), the table displays:
5 most recent unmitigated highs (top section)
Tunnel row (middle separator)
5 most recent unmitigated lows (bottom section)
Reading the TableTable Structure
┌────────┬──────────┬────────┬───────┐
│ Level │ $ │ Points │ Age │
├────────┼──────────┼────────┼───────┤
│ ↑↑↑↑↑ │ 21,450.25│ +45.30 │ 3 │ ← 5th High (oldest)
│ ↑↑↑↑ │ 21,425.50│ +32.75 │ 2 │ ← 4th High
│ ↑↑↑ │ 21,410.00│ +25.00 │ 1 │ ← 3rd High
│ ↑↑ │ 21,400.75│ +18.50 │ 1 │ ← 2nd High
│ ↑ │ 21,395.25│ +12.00 │ 0 │ ← 1st High (newest)
├────────┼──────────┼────────┼───────┤
│ Tunnel │ 🟢 │ Δ 85.50│ 2U │ ← Current State
├────────┼──────────┼────────┼───────┤
│ ↓ │ 21,310.00│ -15.25 │ 0 │ ← 1st Low (newest)
│ ↓↓ │ 21,295.50│ -22.75 │ 1 │ ← 2nd Low
│ ↓↓↓ │ 21,280.25│ -30.00 │ 1 │ ← 3rd Low
│ ↓↓↓↓ │ 21,265.75│ -38.50 │ 2 │ ← 4th Low
│ ↓↓↓↓↓ │ 21,250.00│ -45.00 │ 3 │ ← 5th Low (oldest)
└────────┴──────────┴────────┴───────┘Column
Breakdown
Column 1: Level (Arrows)
Green arrows (↑): Resistance levels above current price
Red arrows (↓): Support levels below current price
Arrow count: Indicates recency (1 arrow = newest, 5 arrows = oldest)
Why This Matters:
More arrows = older level = stronger magnet for price
Column 2: $ (Price)
Exact price of the unmitigated level
Use this for limit orders and stop placement
Column 3: Points (Distance)
Positive (+) for highs: Points above current price
Negative (-) for lows: Points below current price
Helps gauge proximity to key levels
Trading Application:
If you're +2.50 points from resistance, a reversal may be imminent
If you're -45.00 points from support, you're far from the floor
Column 4: Age (Sessions)
Number of full 6pm-5pm sessions the level has survived
Age 0: Created today (current session)
Age 1+: Created in previous sessions
Significance Ladder:
Age 0: Weak, may break easily
Age 1-2: Medium strength
Age 3+: Strong, high-probability reaction zone
Tunnel Row (Critical Information)│ Tunnel │ 🟢 │ Δ 85.50│ 2U │
└─┬─┘ └─┬─┘ └──┬──┘ └─┬─┘
│ │ │ │
Label Direction Range Strat
1. Tunnel Label: Identifies the separator row
2. Direction Indicator (🟢/🔴)
🟢 Green Circle: Current 15m bar closed bullish (above previous close)
🔴 Red Circle: Current 15m bar closed bearish (below previous close)
3. Δ (Delta/Range)
Distance in points between 1st High and 1st Low
Shows the tunnel width (trading range)
Example: Δ 85.50 = 85.50 points between ceiling and floor
Trading Use:
Wide tunnel (>100 points): More room to trade, consider range strategies
Narrow tunnel (<50 points): Tight range, expect breakout
4. Strat Pattern
1: Inside bar (consolidation)
2U: 2 Up (bullish directional bar)
2D: 2 Down (bearish directional bar)
3: Outside bar (expansion/volatility)
Color Coding:
Green: 2U (bullish)
Red: 2D (bearish)
Yellow: 3 (expansion)
Gray: 1 (inside/neutral)
Session Highs and Lows🔑 Key Levels: Session Liquidity & Structure Mapper
The Key Levels indicator is an essential tool for traders as it automatically plots and projects critical Highs and Lows established during key trading sessions. These levels represent major liquidity pools and define the current market structure, serving as high-probability targets, support, or resistance for the remainder of the trading day.
⚙️ Core Functionality
The indicator operates in two distinct modes, tailored for different asset classes:
1. Asset Class Mode (Toggle)
You can switch between two predefined setups depending on the asset you are trading:
Stock Mode (RTH/ETH): Designed for US stocks and futures (e.g., NQ, ES, YM). It tracks and projects levels for Regular Trading Hours (RTH) (09:30-16:00) and Extended Hours (ETH) (16:00-09:30).
Forex/Default Mode (Asia/London/NY): Designed for global markets (e.g., currency pairs). It tracks and projects levels for the three major liquidity sessions: Asia (19:00-03:00), London (03:00-09:30), and New York (09:30-16:00).
🗺️ Key Levels Mapped
The script continuously tracks and plots the most significant structural levels:
Current Session High/Low: The running high and low of the currently active session.
Previous Session High/Low: The confirmed high and low from the most recently completed session. These are often targeted by market makers.
Previous Day High/Low (PDH/PDL): The high and low of the prior 24-hour day, acting as major structural boundaries and a crucial macro market filter.
🎛️ Advanced Liquidity Management
The indicator is built with specific controls for high-level liquidity analysis:
Extend Through Sweeps (Critical Setting):
OFF (Recommended): The projected line is automatically stopped or deleted the moment the price candle wicks or closes past it. This visually confirms that the liquidity at that level has been "swept" or "mitigated."
ON: The line extends indefinitely, treating the level as simple support/resistance, regardless of interaction.
Previous vs. Current View: You can select a checkbox (e.g., Use PREVIOUS London Level) to hide the current session's running levels and only display the static, confirmed high/low from the prior completed session. This helps declutter the chart and focus only on the confirmed structural levels.
Show Older History: Toggle to keep lines from prior days visible, allowing you to track multi-day structural context.
🎯 Trading Application
The lines plotted by the Key Levels indicator provide immediate, actionable information:
Bias Filter: Use the PDH/PDL to determine the overall market context. Trading above the PDH suggests a bullish bias, while trading below the PDL suggests a bearish bias.
Manipulation/Entry: Wait for price to aggressively sweep a Previous Session High/Low (line stops extending). This often signals a liquidity grab or "manipulation" phase. Look for entries in the opposite direction for the main move (Distribution).
Targets: Key levels (especially unmitigated ones) serve as excellent, objective take-profit targets for active trades.
Debt-Cycle vs Bitcoin-CycleDebt-Cycle vs Bitcoin-Cycle Indicator
The Debt-Cycle vs Bitcoin-Cycle indicator is a macro-economic analysis tool that compares traditional financial market cycles (debt/credit cycles) against Bitcoin market cycles. It uses Z-score normalization to track the relative positioning of global financial conditions versus cryptocurrency market sentiment, helping identify potential turning points and divergences between traditional finance and digital assets.
Key Features
Dual-Cycle Analysis: Simultaneously tracks traditional financial cycles and Bitcoin-specific cycles
Z-Score Normalization: Standardizes diverse data sources for meaningful comparison
Multi-Asset Coverage: Analyzes currencies, commodities, bonds, monetary aggregates, and on-chain metrics
Divergence Detection: Identifies when Bitcoin cycles move independently from traditional finance
21-Day Timeframe: Optimized for Long-term cycle analysis
What It Measures
Finance-Cycle (White Line)
Tracks traditional financial market health through:
Currencies: USD strength (DXY), global currency weights (USDWCU, EURWCU)
Commodities: Oil, gold, natural gas, agricultural products, and Bitcoin price
Corporate Bonds: Investment-grade spreads, high-yield spreads, credit conditions
Monetary Aggregates: M2 money supply, foreign exchange reserves (weighted by currency)
Treasury Bonds: Yield curve (2Y/10Y, 3M/10Y), term premiums, long-term rates
Bitcoin-Cycle (Orange Line)
Tracks Bitcoin market positioning through:
On-Chain Metrics:
MVRV Ratio (Market Value to Realized Value)
NUPL (Net Unrealized Profit/Loss)
Profit/Loss Address Distribution
Technical Indicators:
Bitcoin price Z-score
Moving average deviation
Relative Strength:
ETH/BTC ratio (altcoin strength indicator)
Visual Elements
White Line: Finance-Cycle indicator (positive = expansionary conditions, negative = contractionary)
Orange Line: Bitcoin-Cycle indicator (positive = bullish positioning, negative = bearish)
Zero Line: Neutral reference point
Interpretation
Cycle Alignment
Both positive: Risk-on environment, favorable for crypto
Both negative: Risk-off environment, caution warranted
Divergence: Potential opportunities or warning signals
Divergence Signals
Finance positive, Bitcoin negative: Bitcoin may be undervalued relative to macro conditions
Finance negative, Bitcoin positive: Bitcoin may be overextended or decoupling from traditional finance
Important Limitations
This indicator uses some technical and macro data but still has significant gaps:
⚠️ Limited monetary data - missing:
Funding rates (repo, overnight markets)
Comprehensive bond spread analysis
Collateral velocity and quality metrics
Central bank balance sheet details
⚠️ Basic economic coverage - missing:
GDP growth rates
Inflation expectations
Employment data
Manufacturing indices
Consumer confidence
⚠️ Simplified on-chain analysis - missing:
Exchange flow data
Whale wallet movements
Mining difficulty adjustments
Hash rate trends
Network fee dynamics
⚠️ No sentiment data - missing:
Fear & Greed Index
Options positioning
Futures open interest
Social media sentiment
The indicator provides a high-level cycle comparison but should be combined with comprehensive fundamental analysis, detailed on-chain research, and proper risk management.
Settings
Offset: Adjust the horizontal positioning of the indicators (default: 0)
Timeframe: Fixed at 21 days for optimal cycle detection
Use Cases
Macro-crypto correlation analysis: Understand when Bitcoin moves with or against traditional markets
Cycle timing: Identify potential tops and bottoms in both cycles
Risk assessment: Gauge overall market conditions across asset classes
Divergence trading: Spot opportunities when cycles diverge significantly
Portfolio allocation: Balance traditional and crypto assets based on cycle positioning
Technical Notes
Uses Z-score normalization with varying lookback periods (40-60 bars)
Applies HMA (Hull Moving Average) smoothing to reduce noise
Asymmetric multipliers for upside/downside movements in certain metrics
Requires access to FRED economic data, Glassnode, CoinMetrics, and IntoTheBlock feeds
21-day timeframe optimized for cycle analysis
Strategy Applications
This indicator is particularly useful for:
Cross-asset allocation - Decide between traditional finance and crypto exposure
Cycle positioning - Identify where we are in credit/debt cycles vs. Bitcoin cycles
Regime changes - Detect shifts in market leadership and correlation patterns
Risk management - Reduce exposure when both cycles turn negative
Disclaimer: This indicator is a cycle analysis tool and should not be used as the sole basis for investment decisions. It has limited coverage of monetary conditions, economic fundamentals, and on-chain metrics. The indicator provides directional insight but cannot predict exact timing or magnitude of market moves. Always conduct thorough research, consider multiple data sources, and maintain proper risk management in all investment decisions.






















