Trailing Stoploss % BasedA minimalistic trend-following indicator that plots a single trailing line based on a user-defined percentage using price highs and lows.
The line:
Trails price in trends
Moves only in the direction of the trend
Flattens when price is not making new highs or lows
Acts as support in uptrends and resistance in downtrends
Useful on all instruments and all timeframes for clean trend tracking and trailing stop management.
Индикаторы и стратегии
Adaptive RSI [BOSWaves]Adaptive RSI - Percentile-Based Momentum Detection with Dynamic Regime Thresholds
Overview
Adaptive RSI is a self-calibrating momentum oscillator that identifies overbought and oversold conditions through historical percentile analysis, constructing dynamic threshold boundaries that adjust to evolving market volatility and momentum characteristics.
Instead of relying on traditional fixed RSI levels (30/70 or 20/80) or static overbought/oversold zones, regime detection, threshold placement, and signal generation are determined through rolling percentile calculation, smoothed momentum measurement, and divergence pattern recognition.
This creates adaptive boundaries that reflect actual momentum distribution rather than arbitrary fixed levels - tightening during low-volatility consolidation periods, widening during trending environments, and incorporating divergence analysis to reveal momentum exhaustion or continuation patterns.
Momentum is therefore evaluated relative to its own historical context rather than universal fixed thresholds.
Conceptual Framework
Adaptive RSI is founded on the principle that meaningful momentum extremes emerge relative to recent price behavior rather than at predetermined numerical levels.
Traditional RSI implementations identify overbought and oversold conditions using fixed thresholds that remain constant regardless of market regime, often generating premature signals in strong trends or missing reversals in range-bound markets. This framework replaces static threshold logic with percentile-driven adaptive boundaries informed by actual momentum distribution.
Three core principles guide the design:
Threshold placement should correspond to historical momentum percentiles, not fixed numerical levels.
Regime detection must adapt to current market volatility and momentum characteristics.
Divergence patterns reveal momentum exhaustion before price reversal becomes visible.
This shifts oscillator analysis from universal fixed levels into adaptive, context-aware regime boundaries.
Theoretical Foundation
The indicator combines smoothed RSI calculation, rolling percentile tracking, adaptive threshold construction, and multi-pattern divergence detection.
A Hull Moving Average (HMA) pre-smooths the price source to reduce noise before RSI computation, which then undergoes optional post-smoothing using configurable moving average types. Confirmed oscillator values populate a rolling historical buffer used for percentile calculation, establishing upper and lower thresholds that adapt to recent momentum distribution. Regime state persists until the oscillator crosses the opposing threshold, preventing whipsaw during consolidation. Pivot detection identifies swing highs and lows in both price and oscillator values, enabling regular divergence pattern recognition through comparative analysis.
Five internal systems operate in tandem:
Smoothed Momentum Engine : Computes HMA-preprocessed RSI with optional post-smoothing using multiple MA methodologies (SMA, EMA, HMA, WMA, DEMA, RMA, LINREG, TEMA).
Historical Buffer Management : Maintains a rolling array of confirmed oscillator values for percentile calculation with configurable lookback depth.
Percentile Threshold Calculation : Determines upper and lower boundaries by extracting specified percentile values from sorted historical distribution.
Persistent Regime Detection : Establishes bullish/bearish/neutral states based on threshold crossings with state persistence between signals.
Divergence Pattern Recognition : Identifies regular bullish and bearish divergences through synchronized pivot analysis of price and oscillator values with configurable range filtering.
This design allows momentum interpretation to adapt to market conditions rather than reacting mechanically to universal thresholds.
How It Works
Adaptive RSI evaluates momentum through a sequence of self-calibrating processes:
Source Pre-Smoothing: Input price undergoes 4-period HMA smoothing to reduce bar-to-bar noise before oscillator calculation.
RSI Calculation: Standard RSI computation applied to smoothed source over configurable length period.
Optional Post-Smoothing: Raw RSI value undergoes additional smoothing using selected MA type and length for cleaner regime detection.
Historical Buffer Population: Confirmed oscillator values accumulate in a rolling array with size limit determined by adaptive lookback parameter.
Percentile Threshold Extraction: Array sorts on each bar to calculate upper percentile (bullish threshold) and lower percentile (bearish threshold) values.
Regime State Persistence: Bullish regime activates when oscillator crosses above upper threshold, bearish regime activates when crossing below lower threshold, neutral regime persists until directional threshold breach.
Pivot Identification: Swing highs and lows detected in both oscillator and price using configurable left/right parameters.
Divergence Pattern Matching: Compares pivot relationships between price and oscillator within min/max bar distance constraints to identify regular bullish (price LL, oscillator HL) and bearish (price HH, oscillator LH) divergences.
Together, these elements form a continuously updating momentum framework anchored in statistical context.
Interpretation
Adaptive RSI should be interpreted as context-aware momentum boundaries:
Bullish Regime (Blue): Activated when oscillator crosses above upper percentile threshold, indicating momentum strength relative to recent distribution favors upside continuation.
Bearish Regime (Red): Established when oscillator crosses below lower percentile threshold, identifying momentum weakness relative to recent distribution favors downside continuation.
Upper Threshold Line (Blue)**: Dynamic resistance level calculated from upper percentile of historical oscillator distribution - adapts higher during trending markets, lower during ranging conditions.
Lower Threshold Line (Red): Dynamic support level calculated from lower percentile of historical oscillator distribution - adapts lower during downtrends, higher during consolidation.
Regime Fill: Gradient coloring between oscillator and baseline (50) visualizes current momentum intensity - stronger color indicates greater distance from neutral.
Extreme Bands (15/85): Upper and lower extreme zones with strength-modulated transparency reveal momentum extremity - darker shading during powerful moves, lighter during moderate momentum.
Divergence Lines: Connect price and oscillator pivots when divergence pattern detected, appearing on both price chart and oscillator pane for confluence identification.
Reversal Markers (✦): Diamond signals appear at 80+ (bearish extreme) and sub-15 (bullish extreme) levels, marking potential exhaustion zones independent of regime state.
Percentile context, divergence confirmation, and regime persistence outweigh isolated oscillator readings.
Signal Logic & Visual Cues
Adaptive RSI presents four primary interaction signals:
Regime Switch - Long : Oscillator crosses above upper percentile threshold after previously being in bearish or neutral regime, suggesting momentum strength shift favoring bullish continuation.
Regime Switch - Short : Oscillator crosses below lower percentile threshold after previously being in bullish or neutral regime, indicating momentum weakness shift favoring bearish continuation.
Regular Bullish Divergence (𝐁𝐮𝐥𝐥) : Price forms lower low while oscillator forms higher low, revealing positive momentum divergence during downtrends - often precedes reversal or consolidation.
Regular Bearish Divergence (𝐁𝐞𝐚𝐫) : Price forms higher high while oscillator forms lower high, revealing negative momentum divergence during uptrends - often precedes reversal or correction.
Alert generation covers regime switches, threshold crossings, and divergence detection for systematic monitoring.
Strategy Integration
Adaptive RSI fits within momentum-informed and mean-reversion trading approaches:
Adaptive Regime Following : Use threshold crossings as primary trend inception signals where momentum confirms directional breakouts within statistical context.
Divergence-Based Reversals : Enter counter-trend positions when divergence patterns appear at extreme oscillator levels (above 80 or below 20) for high-probability mean-reversion setups.
Threshold-Aware Scaling : Recognize that tighter percentile spreads (e.g., 45/50) generate more signals suitable for ranging markets, while wider spreads (e.g., 30/70) filter for stronger trend confirmation.
Extreme Zone Confluence : Combine reversal markers (✦) with divergence signals for maximum-conviction exhaustion entries.
Multi-Timeframe Regime Alignment : Apply higher-timeframe regime context to filter lower-timeframe entries, taking only setups aligned with dominant momentum direction.
Smoothing Optimization : Increase smoothing length in choppy markets to reduce false signals, decrease in trending markets for faster response.
Technical Implementation Details
Core Engine : HMA-preprocessed RSI with configurable smoothing (SMA, HMA, EMA, WMA, DEMA, RMA, LINREG, TEMA)
Adaptive Model : Rolling percentile calculation over confirmed oscillator values with size-limited historical buffer
Threshold Construction : Linear interpolation percentile extraction from sorted distribution array
Regime Detection : State-persistent threshold crossing logic with confirmed bar validation
Divergence Engine : Pivot-based pattern matching with range filtering and duplicate prevention
Visualization : Gradient-filled regime zones, adaptive threshold lines, strength-modulated extreme bands, dual-pane divergence lines
Performance Profile : Optimized for real-time execution with efficient array management and minimal computational overhead
Optimal Application Parameters
Timeframe Guidance:
1 - 5 min : Micro-structure momentum detection for scalping and intraday reversals
15 - 60 min : Intraday regime identification with divergence-validated turning points
4H - Daily : Swing and position-level momentum analysis with macro divergence context
Suggested Baseline Configuration:
RSI Length : 18
Source : Close
Smooth Oscillator : Enabled
Smoothing Length : 20
Smoothing Type : SMA
Adaptive Lookback : 1000
Upper Percentile : 50
Lower Percentile : 45
Divergence Pivot Left : 15
Divergence Pivot Right : 15
Min Pivot Distance : 5
Max Pivot Distance : 60
These suggested parameters should be used as a baseline; their effectiveness depends on the asset's volatility profile, momentum characteristics, and preferred signal frequency, so fine-tuning is expected for optimal performance.
Parameter Calibration Notes
Use the following adjustments to refine behavior without altering the core logic:
Too many whipsaw signals : Widen percentile spread (e.g., 40/60 instead of 45/50) to demand stronger momentum confirmation, or increase "Smoothing Length" to filter noise.
Missing legitimate regime changes : Tighten percentile spread (e.g., 48/52 instead of 45/50) for earlier detection, or decrease "Smoothing Length" for faster response.
Oscillator too choppy : Increase "Smoothing Length" for cleaner readings, or switch "Smoothing Type" to RMA/TEMA for heavier smoothing.
Thresholds not adapting properly : Reduce "Adaptive Lookback" to emphasize recent behavior (500-800 bars), or increase it for more stable thresholds (1500-2000 bars).
Too many divergence signals : Increase "Pivot Left/Right" values to demand stronger swing confirmation, or widen "Min Pivot Distance" to space out detections.
Missing significant divergences : Decrease "Pivot Left/Right" for faster pivot detection, or increase "Max Pivot Distance" to compare more distant swings.
Prefer different momentum sensitivity : Adjust "RSI Length" - lower values (10-14) for aggressive response, higher values (21-28) for smoother trend confirmation.
Divergences appearing too late : Reduce "Pivot Right" parameter to detect divergences closer to current price action.
Adjustments should be incremental and evaluated across multiple session types rather than isolated market conditions.
Performance Characteristics
High Effectiveness:
Markets with mean-reverting characteristics and consistent momentum cycles
Instruments where momentum extremes reliably precede reversals or consolidations
Ranging environments where percentile-based thresholds adapt to volatility contraction
Divergence-driven strategies targeting momentum exhaustion before price confirmation
Reduced Effectiveness:
Extremely strong trending markets where oscillator remains persistently extreme
Low-liquidity environments with erratic momentum readings
News-driven or gapped markets where momentum disconnects from price temporarily
Markets with regime shifts faster than adaptive lookback can recalibrate
Integration Guidelines
Confluence : Combine with BOSWaves structure, volume analysis, or traditional support/resistance
Threshold Respect : Trust signals that occur after clean threshold crossings with sustained momentum
Divergence Context : Prioritize divergences appearing at extreme oscillator levels (80+/15-) over those in neutral zones
Regime Awareness : Consider whether current market regime matches historical momentum patterns used for calibration
Multi-Pattern Confirmation : Seek divergence patterns coinciding with reversal markers or threshold rejections for maximum conviction
Disclaimer
Adaptive RSI is a professional-grade momentum and divergence analysis tool. It uses percentile-based threshold calculation that adapts to recent market behavior but cannot predict future regime shifts or guarantee reversal timing. Results depend on market conditions, parameter selection, lookback period appropriateness, and disciplined execution. BOSWaves recommends deploying this indicator within a broader analytical framework that incorporates price structure, volume context, and comprehensive risk management.
Neeson bitcoin Dynamic ATR Trailing SystemNeeson bitcoin Dynamic ATR Trailing System: A Comprehensive Guide to Volatility-Adaptive Trend Following
Introduction
The Dynamic ATR Trailing System (DATR-TS) represents a sophisticated approach to trend following that transcends conventional moving average or breakout-based methodologies. Unlike standard trend-following systems that rely on price pattern recognition or fixed parameter oscillators, this system operates on the principle of volatility-adjusted position management—a nuanced approach that dynamically adapts to changing market conditions rather than imposing rigid rules on market behavior.
Originality and Innovation
Distinct Methodological Approach
What sets DATR-TS apart from hundreds of existing trend-following systems is its dual-layered conditional execution framework. While most trend-following systems fall into one of three broad categories—moving average crossovers, channel breakouts, or momentum oscillators—this system belongs to the more specialized category of volatility-normalized trailing stop systems.
Key Original Contributions:
Volatility-Threshold Signal Filtering: Most trend systems generate signals continuously, leading to overtrading during low-volatility periods. DATR-TS implements a proprietary volatility filter that requires minimum market movement before generating signals, effectively separating high-probatility trend opportunities from market noise.
Self-Contained Position State Management: Unlike traditional systems that require external position tracking, DATR-TS maintains an internal position state that prevents contradictory signals and creates a closed-loop decision framework.
Dynamic Risk Parameter Adjustment: The system doesn't use fixed percentage stops or rigid ATR multiples. Instead, it implements a responsive adjustment mechanism that widens stops during high volatility and tightens them during low volatility, creating an optimal balance between risk protection and opportunity capture.
Trader-Centric Visualization Philosophy: Beyond mere signal generation, the system provides a comprehensive visual feedback system designed to align with human cognitive patterns, reducing emotional decision-making through consistent color coding and information hierarchy.
Technical Implementation and Functionality
Core Operational Mechanism
DATR-TS implements a volatility-adjusted trend persistence model that operates on the principle that trending markets exhibit characteristic volatility signatures. The system specifically targets medium-term directional movements (typically lasting 5-20 days) rather than short-term scalping opportunities or long-term position trades.
The Four-Pillar Architecture:
Volatility Measurement and Normalization
Calculates Average True Range (ATR) over a user-defined period
Converts absolute volatility to percentage terms relative to price
Compares current volatility against user-defined thresholds to filter suboptimal conditions
Dynamic Trailing Stop Algorithm
Establishes an initial stop distance based on current volatility
Implements a four-state adjustment mechanism that responds to price action
Maintains stop position during trend continuation while allowing for trend reversal detection
Conditional Signal Generation
Generates entry signals only when price action meets both directional and volatility criteria
Produces exit signals based on trailing stop penetration
Incorporates position state awareness to prevent conflicting signals
Comprehensive Feedback System
Provides multi-layer visual information including dynamic stop lines, signal labels, and color-coded price action
Displays real-time metrics through an integrated dashboard
Offers configurable visualization options for different trading styles
Specific Trend-Following Methodology
DATR-TS employs a volatility-normalized trailing stop breakout approach, which differs significantly from common trend identification methods:
Not a moving average crossover system (like MACD or traditional MA crosses)
Not a channel breakout system (like Bollinger Band or Donchian Channel breaks)
Not a momentum oscillator system (like RSI or Stochastic trend following)
Not a price pattern recognition system (like head-and-shoulders or triangle breaks)
Instead, it belongs to the more specialized category of volatility-adjusted stop-and-reverse systems that:
Wait for market volatility to reach actionable levels
Establish positions when price confirms directional bias through stop penetration
Manage risk dynamically based on evolving market conditions
Exit positions when the trend exhausts itself through stop violation
Practical Application and Usage
Market Environment Optimization
Ideal Conditions:
Trending markets with sustained directional movement
Medium volatility environments (neither excessively calm nor chaotic)
Timeframes: 4-hour to daily charts for optimal signal quality
Instruments: Forex majors, commodity futures, equity indices
Suboptimal Conditions:
Ranging or consolidating markets
Extreme volatility events or news-driven spikes
Very short timeframes (below 1-hour)
Illiquid or highly manipulated instruments
Parameter Configuration Strategy
Core Parameter Philosophy:
ATR Length (Default: 21 periods)
Controls the system's memory of volatility
Shorter lengths increase sensitivity but may cause overtrading
Longer lengths provide smoother signals but may lag during volatility shifts
ATR Multiplier (Default: 6.3x)
Determines the initial risk buffer
Lower values (4-5x) create tighter stops for conservative trading
Higher values (6-8x) allow for larger trends but increase drawdown risk
Volatility Threshold (Default: 1.5%)
Filters out low-quality trading environments
Adjust based on market characteristics (higher for volatile markets)
Acts as a quality control mechanism for signals
Trading Workflow and Execution
Signal Interpretation and Action:
Entry Protocol:
Wait for BLUE "BUY" signal label appearance
Confirm volatility conditions meet threshold requirements
Enter long position at market or next reasonable opportunity
Set initial stop at displayed dynamic stop level
Position Management:
Monitor dynamic stop line for position adjustment
Allow profits to run while stop protects capital
No manual adjustment required—system manages stop automatically
Exit Protocol:
Exit on ORANGE "SELL" signal label appearance
Alternative exit if price hits dynamic stop level
System will generate new entry signal if conditions warrant re-entry
Risk Management Integration:
Position sizing based on distance to dynamic stop
Volatility filter prevents trades during unfavorable conditions
Clear visual feedback on current risk exposure
Built-in protection against overtrading
Philosophical Foundation and Market Theory
Core Trading Principles
DATR-TS embodies several foundational market principles:
Volatility Defines Opportunity
Markets don't trend continuously—they alternate between trending and ranging phases
Volatility provides the energy for trends to develop and sustain
By measuring and filtering volatility, we can focus on high-probability trend phases
Risk Should Be Proportional
Fixed percentage stops ignore market context
Dynamic stops that adjust with volatility provide more appropriate risk management
Position sizing should reflect current market conditions, not arbitrary rules
Simplicity Through Sophistication
Complex systems often fail in real-world conditions
A simple core algorithm with intelligent filtering outperforms complex multi-indicator approaches
Clear visual feedback reduces cognitive load and emotional interference
Trends Persist Until Proven Otherwise
Markets exhibit momentum characteristics
Once a trend establishes itself, it tends to continue
The trailing stop methodology captures this persistence while providing exit mechanisms
Mathematical and Statistical Foundation
The system operates on several statistical market observations:
Volatility Clustering Phenomenon
High volatility periods tend to follow high volatility periods
Low volatility periods tend to follow low volatility periods
By filtering for adequate volatility, we increase the probability of capturing meaningful trends
Trend Magnitude Distribution
Most trends are small to medium in magnitude
Very large trends are rare but account for disproportionate returns
The dynamic stop methodology allows capture of varying trend magnitudes
Autocorrelation in Price Movements
Price movements exhibit short-term positive autocorrelation during trends
This persistence allows trailing stops to capture continued movement
The system leverages this characteristic without requiring explicit autocorrelation calculation
Performance Characteristics and Expectations
Typical System Behavior
Signal Frequency:
Low to moderate signal generation (prevents overtrading)
Signals concentrated during trending market phases
Extended periods without signals during ranging conditions
Risk-Reward Profile:
Win rate typically 40-60% in trending conditions
Average win larger than average loss
Risk-reward ratios of 1:2 to 1:3 achievable
Drawdown Patterns:
Controlled through volatility adjustment
Larger drawdowns during extended ranging periods
Recovery typically follows when trending conditions resume
Comparison with Alternative Approaches
Versus Moving Average Systems:
Less prone to whipsaws during ranging markets
Better adaptation to changing volatility conditions
Clearer exit signals through stop levels
Versus Channel Breakout Systems:
More responsive to emerging trends
Lower false breakout probability
Dynamic risk adjustment rather than fixed parameters
Versus Momentum Oscillator Systems:
Better trend persistence capture
Less susceptible to overbought/oversold false signals
Clearer position management rules
Educational Value and Skill Development
Learning Opportunities
DATR-TS serves as more than just a trading tool—it provides educational value through:
Market Condition Awareness
Teaches traders to distinguish between trending and ranging markets
Develops understanding of volatility's role in trading opportunities
Encourages patience and selectivity in trade execution
Risk Management Discipline
Demonstrates dynamic position sizing principles
Illustrates the importance of adaptive stops
Reinforces the concept of risk-adjusted returns
Psychological Skill Development
Reduces emotional trading through clear rules
Builds patience through conditional execution
Develops discipline through systematic approach
Customization and Evolution
The system provides a foundation for further development:
Beginner Level:
Use default parameters for initial learning
Focus on signal recognition and execution discipline
Develop understanding of system behavior across market conditions
Intermediate Level:
Adjust parameters based on specific market characteristics
Combine with complementary analysis techniques
Develop personal variations based on trading style
Advanced Level:
Integrate with portfolio management systems
Develop automated execution frameworks
Create derivative systems for specialized applications
Conclusion: The Modern Trend-Following Paradigm
The Dynamic ATR Trailing System represents a significant evolution in trend-following methodology. By moving beyond simple price pattern recognition or fixed parameter oscillators, it embraces the complex reality of financial markets where volatility, trend persistence, and risk management interact dynamically.
This system doesn't claim to predict market direction or identify tops and bottoms. Instead, it provides a systematic framework for participating in trends when they emerge, managing risk appropriately as conditions change, and preserving capital during unfavorable environments.
For traders seeking a methodology that combines mathematical rigor with practical execution, adapts to changing market conditions rather than fighting against them, and provides clear, actionable information without cognitive overload, DATR-TS offers a sophisticated yet accessible approach to modern trend following.
The true value lies not in any single signal or parameter setting, but in the comprehensive philosophy of volatility-aware, risk-adjusted, conditionally-executed trend participation that the system embodies—a philosophy that aligns with how markets actually behave rather than how we might wish them to behave.
EMA as Support/Resistance with Backtests (by Visual Sectors)Knowing what works for a specific stock is the game changer!
This script returns 3 years' backtest of EMA acting as Support or Resistance
Wins and Losses are defined as closing above/below the EMA 50. Settings can be changed to any EMA length.
Actionability is % of time EMA was within range, so a EMA 500 will have very low actionability, while EMA 5 - extremely high
ULTIMATE Multi-TF Previous CloseULTIMATE Multi-TF Previous Close displays previous close levels across multiple timeframes in one simple, non-repainting indicator.
These levels often act as key decision points, providing natural support, resistance, and directional bias.
Ideal for day traders, swing traders, and scalpers who want higher-timeframe context without clutter.
Features include:
Yearly → 5-minute timeframe coverage
Right-extended horizontal levels
Optional labels with exact prices
Tick-accurate rounding
Designed for clarity. Built for precision.
High-volume buy and sell signals with OB and FVGBuy and sell signals on ob
Pivot Point Usage: Instead of detecting each candle of an opposite color, the script uses `ta.pivothigh/low`. This means it only marks a Pivot Point if the price has actually made a significant high or low relative to the 10 preceding and following candles.
Dynamic Cleanup (Mitigation): As soon as the price returns to "fill" the area (depending on your choice: simple contact or close), the box disappears from the chart. This keeps your view clean and focused on the remaining untouched areas.
Period Setting: You can increase the "Detection Period" (e.g., from 10 to 20) in the settings to filter out even more noise and keep only the major areas.
How to use it?
H//@version=5
indicator("H", overlay=true)
// 設定計算的周期
length = input(30, title="Length")
// 計算最近的高點和低點
highestHigh = ta.highest(high, length)
lowestLow = ta.lowest(low, length)
// 畫出支撐和壓力線
line.new(x1=bar_index , y1=highestHigh, x2=bar_index, y2=highestHigh, color=color.red, width=2, extend=extend.right)
line.new(x1=bar_index , y1=lowestLow, x2=bar_index, y2=lowestLow, color=color.blue, width=2, extend=extend.right)
// --- SAR 計算與背景顏色 ---
sar = ta.sar(0.3, 0.3, 0.11)
bgcolor(close > sar ? color.new(color.red, 80) : color.new(color.green, 80))
// Hide the SAR plot by setting color with full transparency using `color.new`
plot(sar, style=plot.style_cross, color=color.new(color.blue, 100), linewidth=2)
// --- 定義時間範圍 ---
var int startHour = 8
var int startMinute = 45
var int endHour = 13
var int endMinute = 45
// 取得當前時間
currentTime = timestamp("GMT+8", year, month, dayofmonth, hour, minute)
startTime = timestamp("GMT+8", year, month, dayofmonth, startHour, startMinute)
endTime = timestamp("GMT+8", year, month, dayofmonth, endHour, endMinute)
// 價差計算
ix0001_price = request.security("IX0001", "1", close)
txf1_price = request.security("TXF1!", "1", close)
price_diff = (ix0001_price - txf1_price) / txf1_price
// 判斷條件:價差達到正或負0.004%且在指定時間範圍內
positive_condition = (price_diff >= 0.004) and (currentTime >= startTime) and (currentTime <= endTime)
negative_condition = (price_diff <= -0.004) and (currentTime >= startTime) and (currentTime <= endTime)
// 根據條件變更背景顏色
bgcolor(positive_condition ? color.new(color.red, 40) : na)
bgcolor(negative_condition ? color.new(color.green, 40) : na)
// --- KD Divergence Marker for 9,3 ---
k_9 = ta.sma(ta.stoch(close, high, low, 9), 3)
d_9 = ta.sma(k_9, 3)
var float lastHighPrice_9 = na
var float lastLowPrice_9 = na
var float lastHighKD_9 = na
var float lastLowKD_9 = na
isTopDivergence_9 = (k_9 > 93 and close < lastHighPrice_9 and k_9 < lastHighKD_9)
isBottomDivergence_9 = (k_9 < 15 and close > lastLowPrice_9 and k_9 > lastLowKD_9)
if ta.crossover(k_9, 97)
lastHighPrice_9 := high
lastHighKD_9 := k_9
if ta.crossunder(k_9, 15)
lastLowPrice_9 := close
lastLowKD_9 := k_9
plotshape(series=isTopDivergence_9, location=location.abovebar, color=color.orange, style=shape.labeldown, text="頂部轉折")
plotshape(series=isBottomDivergence_9, location=location.belowbar, color=color.green, style=shape.labelup, text="底部轉折")
// --- KD Divergence Marker for 14,3 ---
k_14 = ta.sma(ta.stoch(close, high, low, 14), 3)
d_14 = ta.sma(k_14, 3)
var float lastHighPrice_14 = na
var float lastLowPrice_14 = na
var float lastHighKD_14 = na
var float lastLowKD_14 = na
isTopDivergence_14 = (k_14 > 93 and close < lastHighPrice_14 and k_14 < lastHighKD_14)
isBottomDivergence_14 = (k_14 < 15 and close > lastLowPrice_14 and k_14 > lastLowKD_14)
if ta.crossover(k_14, 97)
lastHighPrice_14 := high
lastHighKD_14 := k_14
if ta.crossunder(k_14, 15)
lastLowPrice_14 := close
lastLowKD_14 := k_14
plotshape(series=isTopDivergence_14, location=location.abovebar, color=color.orange, style=shape.labeldown, text="頂部轉折")
plotshape(series=isBottomDivergence_14, location=location.belowbar, color=color.green, style=shape.labelup, text="底部轉折")
// --- Range Breakout ---
// Define the range
range_length = 23
highest_high = ta.highest(high, range_length)
lowest_low = ta.lowest(low, range_length)
// Determine if price is within the range
isInRange = (close >= lowest_low and close <= highest_high)
// Track when price re-enters the range after leaving it
var bool leftRange = false
if close < lowest_low or close > highest_high
leftRange := true
if leftRange and close >= lowest_low and close <= highest_high
leftRange := false
// Plot range only when price is within range
plot(isInRange and not leftRange ? highest_high : na, title="最高盤整區間", color=color.red, linewidth=1, style=plot.style_stepline)
plot(isInRange and not leftRange ? lowest_low : na, title="最低盤整區間", color=color.green, linewidth=1, style=plot.style_stepline)
// --- Volume Crossover Indicator ---
short_ma_length = 5
long_ma_length = 10
volume_multiplier = 3.5
short_ma_volume = ta.sma(volume, short_ma_length)
long_ma_volume = ta.sma(volume, long_ma_length)
current_volume_ratio = volume / short_ma_volume
crossover_condition = ta.crossover(short_ma_volume, long_ma_volume)
volume_condition = current_volume_ratio > volume_multiplier
plotshape(series=crossover_condition and volume_condition and isInRange, location=location.abovebar, color=color.red, style=shape.labelup, text="變盤")
Regression Slope Oscillator [BigBeluga]🔵 OVERVIEW
The Regression Slope Oscillator is a trend–momentum tool that applies multiple linear regression slope calculations over different lookback ranges, then averages them into a single oscillator line. This design helps traders visualize when price is extending beyond typical regression behavior, as well as when momentum is shifting up or down.
🔵 CONCEPTS
Regression Slope – Measures the steepness and direction of price trends over a selected length.
f_log_regression(src, length) =>
float sumX = 0.0
float sumY = 0.0
float sumXSqr = 0.0
float sumXY = 0.0
for i = 0 to length - 1
val = math.log(src )
per = i + 1.0
sumX += per
sumY += val
sumXSqr += per * per
sumXY += val * per
slope = (length * sumXY - sumX * sumY) / (length * sumXSqr - sumX * sumX)
slope*-1
Multi–Sample Averaging – Instead of relying on one regression slope, the indicator loops through many lengths (from Min Range to Max Range with Step increments) and averages their slopes.
multiSlope(length)=>
// Get regression slope
slope = f_log_regression(close, length)
slopAvg.push(slope)
for i = minRange to maxRange by step
multiSlope(i)
Color Gradient – The oscillator and candles are colored dynamically from oversold (orange) to overbought (aqua), based on slope extremes observed within the user–defined Color Range.
Trend Oscillation – When the oscillator rises, price trend is strengthening; when it falls, momentum weakens.
🔵 FEATURES
Calculates regression slopes across a user–defined range (e.g., 10–100 with steps of 5).
Averages all sampled slopes into a single oscillator line.
Dynamic coloring of oscillator and chart candles based on slope values.
User–controlled Color Range :
High values (e.g., 50–100) → interpret as overbought vs oversold zones.
Low values (e.g., 2–5) → interpret as slope rising vs falling momentum shifts.
Dashboard table (top–right) displaying number of slope samples and current averaged slope value.
Candle coloring mode (optional) – candles take on the oscillator gradient color for at–a–glance reading of trend bias.
Signal Line (SMA) – A moving average of the slope oscillator used to identify momentum reversals.
Bullish Reversal Signal – Triggered when the oscillator crosses above the signal line while below zero, indicating downside momentum exhaustion and potential trend recovery.
Bearish Reversal Signal – Triggered when the oscillator crosses below the signal line while above zero, indicating upside momentum exhaustion and potential trend rollover.
Dual Placement Signals – Reversal signals are plotted both:
On the oscillator pane (for momentum context)
On the price chart (for execution alignment)
Confirmation Logic – Signals are only printed on confirmed bars to reduce repainting and false triggers.
🔵 HOW TO USE
Watch the oscillator cross above/below zero: signals shifts in regression slope direction.
Use the signal line crossovers near zero to identify early trend reversals.
Use high Color Range settings to identify potential overbought/oversold extremes in trend slope.
Use low Color Range settings for a faster, momentum–driven color change that tracks slope rising/falling.
Candle coloring highlights short–term trend pressure in sync with the oscillator.
Combine reversal signals with structure, support/resistance, or volume for higher–probability entries.
🔵 CONCLUSION
The Regression Slope Oscillator transforms raw regression slope data into a smooth, color–coded oscillator. By averaging across multiple regression lengths, it avoids the noise of single–range analysis while still capturing trend extensions and momentum shifts.
With the addition of signal line crossovers and confirmed reversal markers, the indicator now provides both trend context and actionable momentum signals within a single regression-based framework.
Trading Sessions (London / New York / Tokyo / Sydney)Trading sessions for all assets with (time zone) adjustable trading sessions.
Single Year Historical ProjectionBasic year projection onto chart from a previous year, good for reference previous years movements.
Enjoy
Volume Profile: Date-Range ObservationI have refined the strategy developed by kv4coins , incorporating an additional option for the observation date range. Previously, when seeking a fixed date range—particularly to track data from the onset of an event-driven trigger up to the present—it was somewhat cumbersome. To address this, I added a new date selection feature to accommodate the need for observing specific time periods.
MB-MACD## Description
**MB-MACD** is a custom Pine Script indicator designed to enhance momentum analysis by combining a volume-based "Main Buy Ratio" (MB) calculation with a traditional MACD oscillator. The MB Ratio estimates institutional buying pressure by apportioning volume based on the candle's range and close position, providing a unique proxy for "smart money" flow. This smoothed MB value is then used as the source for MACD computation, allowing for divergence detection between price action, the MB line, and the MACD Histogram.
Key features include:
- **MB Line**: A histogram-style plot showing smoothed buy/sell ratio, colored bullishly (teal) or bearishly (pink) based on direction.
- **MACD Histogram**: Standard MACD applied to the MB source, with optional smoothing.
- **Divergence Detection**: Identifies bullish and bearish divergences on both the MB line and MACD Histogram, with configurable filters for momentum decay and zero-line alignment.
- **Visualization Options**: Display divergence lines and labels in the indicator pane or synced as an overlay on the main chart for better context.
- **Alerts**: Triggers for bullish or bearish divergences to notify users of potential reversal setups.
This indicator is particularly useful for swing traders and momentum followers looking to spot hidden divergences that may signal trend reversals or continuations. It emphasizes risk management by highlighting where price and momentum decouple, but remember: divergences are probabilistic signals and should be confirmed with other tools.
As this is a community-shared script, I encourage users to test it thoroughly and provide feedback. If you spot any bugs, calculation errors, or improvements (e.g., edge cases with low-volume symbols or performance issues on certain timeframes), please comment below or reach out—your input helps refine it for everyone!
## User Manual
### Introduction
The **MB-MACD** indicator integrates volume analysis with MACD to detect divergences in price and momentum. The core innovation is the "Main Buy Ratio" (MB), which approximates buying vs. selling volume within each bar based on its range and close position. This MB value is smoothed and fed into a MACD calculation, enabling divergence scans on both the MB line and the resulting MACD Histogram.
Divergences occur when price makes higher highs/lower lows, but the oscillator (MB or Histogram) fails to confirm—often signaling potential reversals. The script offers flexible display options, filters to reduce false positives, and alerts for real-time notifications.
**Important Notes:**
- This is not financial advice; use it for educational purposes and backtest on your symbols/timeframes.
- Works best on liquid stocks or indices with reliable volume data (e.g., daily or higher timeframes).
- Performance may vary on low-volume assets or during after-hours trading.
- If you encounter issues (e.g., no divergences detected or rendering errors), check your chart settings and report them in the comments for community debugging.
### Inputs Explanation
The inputs are grouped for ease of configuration. Adjust them via the indicator's settings panel in TradingView.
#### Core Parameters
- **Show MB Line** (Default: True): Enables/disables the MB Ratio histogram plot.
- **Show MACD Histogram** (Default: True): Enables/disables the MACD line and histogram plots.
- **MB Smoothing (SMA)** (Default: 10, Min: 1): Length for smoothing the raw MB Ratio using a Simple Moving Average (SMA). Higher values reduce noise but may lag.
- **Pivot Lookback Length** (Default: 5, Min: 2): Bars to look back/forward for detecting price pivots (highs/lows) used in divergence logic.
- **Max Lines Kept** (Default: 100, Min: 10): Limits the number of divergence lines/labels to prevent chart clutter.
#### Display Settings
- **Show Lines (Indicator Pane)** (Default: True): Draws divergence lines on the MB line in the indicator pane.
- **Show Labels (Indicator Pane)** (Default: True): Adds labels (e.g., "L" for line divergence) at divergence points in the pane.
- **Show Hist Divergence Lines** (Default: True): Draws dashed lines for MACD Histogram divergences in the pane.
- **Show Hist Divergence Labels** (Default: True): Adds labels (e.g., "H" for histogram divergence) in the pane.
- **Sync Lines to Main Chart (Overlay)** (Default: True): Mirrors divergence lines and labels onto the main price chart for context (slightly offset for visibility).
#### Filters & Tolerance
- **Peak Alignment Tolerance (Bars)** (Default: 5, Min: 0): Allows flexibility in matching oscillator peaks/valleys to price pivots (e.g., within ±5 bars).
- **Max Divergence Distance (Bars)** (Default: 20, Min: 5): Maximum bars between two pivots for a valid divergence; prevents detecting overly distant signals.
- **Enable Momentum Decay Filter** (Default: True): For Histogram divergences, requires the current peak/valley to have a smaller absolute value than the previous (indicating convergence/decay).
- **Enable Zero-Side Filter** (Default: False): Ensures both peaks/valleys in a divergence are on the same side of the zero line (e.g., both positive or both negative).
#### MACD Settings
- **MACD Fast Length** (Default: 12): Fast EMA length for MACD.
- **MACD Slow Length** (Default: 26): Slow EMA length for MACD.
- **MACD Signal Length** (Default: 9): Smoothing length for the MACD signal line.
- **MACD Source Smoothing** (Default: 3, Min: 1): Additional SMA smoothing applied to the MB Ratio before MACD calculation.
### How It Works
1. **MB Ratio Calculation**: For each bar, the script computes the position of the close within the high-low range (0-1). This scales the volume into "buy" and "sell" portions, then derives a net ratio (-100% to +100%). It's smoothed via SMA for the final MB line.
2. **MACD Application**: The (optionally smoothed) raw MB is used as the MACD source, producing a MACD line, signal line, and histogram.
3. **Pivot Detection**: Uses Pine's `ta.pivothigh`/`ta.pivotlow` to find price highs/lows over the lookback period.
4. **Divergence Scanning**:
- **Bearish (on Highs)**: Price makes a higher high, but MB/Hist makes a lower high.
- **Bullish (on Lows)**: Price makes a lower low, but MB/Hist makes a higher low (closer to zero).
- Scans nearby bars for oscillator matches and applies filters.
5. **Rendering**: Lines/labels are drawn in the indicator pane or overlaid on the chart. Colors: Teal for bullish, Pink/Maroon for bearish.
6. **Cleanup**: Automatically removes old lines/labels to stay under the max limit.
### Interpreting the Outputs
- **MB Line (Columns)**: Positive (teal) indicates net buying pressure; negative (pink) shows selling. Watch for crossovers above/below zero as momentum shifts.
- **MACD Histogram (Area)**: Green/teal for positive momentum; red/maroon for negative. Widening bars suggest strengthening trends; narrowing indicates weakening.
- **Divergence Lines/Labels**:
- Solid lines: MB line divergences (thicker, labeled "L").
- Dashed lines: Histogram divergences (thinner, labeled "H").
- Bullish: Teal lines sloping up (potential bottom reversal).
- Bearish: Pink lines sloping down (potential top reversal).
- **Overlay on Chart**: Lines connect price pivots (or offset slightly for Histogram). Use this to visualize how divergences align with candlesticks.
- **Zero Line**: Gray horizontal line; divergences filtered by side if enabled.
**Example Usage**:
- On a daily stock chart, enable overlays and watch for a bullish "L" or "H" label near a price low—could signal a buy if confirmed by volume breakout.
- In a downtrend, bearish divergences on highs might warn of further downside.
### Alerts
- **Bullish Divergence (L or H)**: Triggers on any detected bullish divergence (MB or Histogram).
- **Bearish Divergence (L or H)**: Triggers on bearish divergences.
- Set up via TradingView's alert menu: Select the indicator, choose the condition, and customize the message (e.g., includes ticker).
### Troubleshooting / Known Issues
- **No Divergences Shown**: Increase "Peak Alignment Tolerance" or reduce filters. Ensure pivot length suits your timeframe (shorter for intraday).
- **Too Many Lines/Labels**: Lower "Max Lines Kept" or increase "Max Divergence Distance" to filter distant signals.
- **Performance on Low-Volume Symbols**: MB Ratio may be unreliable; test on high-volume assets first.
- **Rendering Errors**: If lines don't appear, check chart zoom or ensure "force_overlay=true" isn't conflicting with other indicators.
- **NaN/Undefined Values**: Rare on live data but possible in historical backtests; report with symbol/timeframe for fixes.
### Feedback and Contributions
This script is open for community improvement! If you find bugs (e.g., false positives in divergences, calculation edge cases, or UI glitches), or have suggestions (like additional filters or visualizations), please share in the comments. Your feedback helps make it better—let's debug and enhance it together!
CVD-MACD### CVD-MACD (Research)
The CVD-MACD is a research-oriented indicator that combines Cumulative Volume Delta (CVD) with the classic MACD framework to provide insights into market momentum and potential reversals. Unlike a standard MACD based on price, this version uses CVD (the running total of buy vs. sell volume delta) as its input source, offering a volume-driven perspective on trend strength and divergences.
Key Features:
- **CVD-Based MACD Calculation**: Computes MACD using CVD instead of price, highlighting volume imbalances that may precede price moves.
- **Dual Divergence Detection**: Identifies bullish/bearish divergences on both the MACD line and histogram, with configurable pivot lookbacks and filters (e.g., momentum decay and zero-side consistency).
- **Visual Flexibility**: Toggle divergences in the indicator pane or overlaid on the main chart, with optional raw CVD line for reference.
- **Alerts**: Built-in conditions for bullish and bearish divergences to notify users of potential setups.
###This indicator is designed for research and experimentation—it's not financial advice. It performs best on liquid assets with reliable volume data (e.g., stocks, futures). I've shared this to gather community feedback: please test it thoroughly and point out any bugs, inefficiencies, or improvements! For example, if you spot issues with divergence detection on certain timeframes or symbols, let me know in the comments. Your input will help refine it.
Inspired by volume analysis techniques; open to collaborations or forks.
## User Manual for CVD-MACD (Research)
### Overview
The CVD-MACD indicator transforms traditional MACD by using Cumulative Volume Delta (CVD) as the base input. CVD accumulates the net delta between estimated buy and sell volume per bar, providing a volume-centric view of momentum. The indicator plots a MACD line, signal line, and histogram, while also detecting divergences on both the MACD line and histogram for potential reversal signals.
This manual covers setup, interpretation, and troubleshooting.
Note: This is a research tool—backtest and validate on your own data before using in live trading.
### Installation and Setup
1. **Add to Chart**: Search for "CVD-MACD (Research)" in TradingView's indicator library or paste the script into the Pine Editor and add it to your chart.
2. **Compatibility**: Works on any timeframe and symbol with volume data. Best on daily/intraday charts for stocks, forex, or futures. Avoid illiquid symbols where volume may be unreliable.
3. **Customization**: All inputs are configurable via the indicator's settings panel. Defaults are optimized for general use but can be tuned based on asset volatility.
### Input Parameters
The inputs are grouped for ease of use:
#### MACD Settings
- **Fast EMA (CVD)** (default: 12): Length of the fast EMA applied to CVD. Shorter values make it more responsive to recent volume changes.
- **Slow EMA (CVD)** (default: 26): Length of the slow EMA on CVD. Longer values smooth out noise for trend identification.
- **Signal EMA** (default: 9): Smoothing period for the signal line (EMA of the MACD line).
#### Divergence Logic (MACD Line)
- **Pivot Lookback (MACD Line)** (default: 5): Bars to look left/right for detecting pivots on the MACD line. Higher values detect larger swings but may miss smaller divergences.
- **Max Lookback Range (MACD Line)** (default: 50): Maximum bars between two pivots to consider a divergence valid. Prevents detecting outdated signals.
- **Enable Momentum Decay Filter (Histogram)** (default: false): When enabled, requires the histogram to show decaying momentum (absolute value decreasing) for MACD-line divergences to trigger.
#### Histogram Divergence
- **Pivot Lookback (Histogram)** (default: 5): Similar to above, but for histogram pivots.
- **Max Lookback Range (Histogram)** (default: 50): Max bars for histogram divergence detection.
- **Show Histogram Divergences in Indicator Pane** (default: true): Displays dashed lines and "H" labels for histogram divergences in the sub-window.
- **Show Histogram Divergences on Main Chart** (default: true): Overlays histogram divergences on the price chart with semi-transparent lines and labels.
- **Require Histogram to Stay on Same Side of Zero** (default: true): Filters divergences to only those where the histogram doesn't cross zero between pivots, ensuring consistent momentum direction.
#### Visuals (Dual View)
- **Show MACD-Line Divergences (Indicator Pane)** (default: true): Draws solid lines and "L" labels for MACD-line divergences in the sub-window.
- **Show MACD-Line Divergences (Main Chart)** (default: true): Overlays MACD-line divergences on the price chart.
- **Show Raw CVD Line** (default: false): Plots the underlying CVD as a faint gray line for reference.
### How to Interpret the Indicator
1. **Core Plots**:
- **MACD Line** (blue): Difference between fast and slow CVD EMAs. Above zero indicates building buy volume momentum; below zero shows sell dominance.
- **Signal Line** (orange): EMA of the MACD line. Crossovers can signal potential entries/exits (e.g., MACD above signal = bullish).
- **Histogram** (columns): MACD minus signal. Green shades for positive/expanding bars (bullish momentum); red for negative/contracting (bearish). Fading colors indicate weakening momentum.
- **Zero Line** (gray horizontal): Reference for bullish (above) vs. bearish (below) territory.
- **Raw CVD** (optional gray line): The cumulative buy-sell delta. Rising = net buying; falling = net selling.
2. **Divergences**:
- **Bullish (Green Lines/Labels)**: Occur when price makes lower lows, but MACD line or histogram makes higher lows. Suggests weakening downside momentum and potential reversal up. Look for "L" (MACD line) or "H" (histogram) labels.
- **Bearish (Red Lines/Labels)**: Price higher highs vs. MACD/histogram lower highs. Indicates fading upside and possible downturn.
- **Dual View**: Divergences appear in the indicator pane (sub-window) for clean analysis and overlaid on the main chart for price context. Histogram divergences use dashed lines to distinguish from MACD-line (solid).
- **Filters**: Momentum decay ensures only "hidden" or weakening divergences trigger. Zero-side filter prevents false signals from oscillating histograms.
3. **Alerts**:
- **Bullish Divergence (L or H)**: Triggers on either MACD-line or histogram bullish divergence. Message: "CVD-MACD Bullish Divergence detected on {{ticker}}".
- **Bearish Divergence (L or H)**: Similar for bearish. Use TradingView's alert setup to notify via email/SMS/webhook.
- Tip: Combine with price action (e.g., support/resistance) for confirmation.
### Usage Tips and Strategies
- **Trend Confirmation**: Use in uptrends for bullish divergences (pullback buys) or downtrends for bearish (short entries).
- **Timeframe Selection**: Higher timeframes (e.g., daily) for swing trading; lower (e.g., 15-min) for intraday. Adjust pivot lookbacks accordingly (shorter for faster charts).
- **Combination Ideas**: Pair with RSI for overbought/oversold confirmation or VWAP for intraday volume context.
- **Risk Management**: Divergences are probabilistic—not guarantees. Always use stop-losses based on recent swings.
- **Performance Notes**: Backtest on historical data via TradingView's Strategy Tester. CVD relies on accurate volume; test on exchanges like NYSE/NASDAQ.
### Known Limitations and Troubleshooting
- **Volume Dependency**: CVD estimation assumes linear buy/sell distribution based on bar position—may be less accurate on thin markets or during gaps.
- **Repainting**: Pivots and divergences can repaint as new data arrives (common in pivot-based indicators). Use on closed bars for reliability.
- **Resource Usage**: High max_bars_back (5000) ensures deep history; reduce if chart loads slowly.
- **No Signals on Low-Volume Bars**: If CVD flatlines, check symbol volume—some crypto/forex pairs have inconsistent data.
- **Community Feedback**: If you encounter bugs (e.g., false divergences on specific symbols/timeframes), missing alerts, or calculation errors, please comment below with details like symbol, timeframe, and screenshots. Suggestions for enhancements (e.g., more filters or visuals) are welcome!
If you have questions or find issues, drop a comment—let's improve this together!
Gold Pin Bar Pivot Alerts - FixedThis script is designed for the high volatility of Gold (XAU/USD). It identifies Pin Bars with body less than 30% of the candle's total range, and the candle occuring at a structural Pivot High or Pivot Low
Gtradingviewtradingviewtradingviewtradingviewtradingviewtradingviewtradingviewtradingviewtradingviewtradingviewtradingviewtradingviewtradingviewtradingviewtradingviewtradingviewtradingviewtradingviewtradingviewtradingviewtradingviewtradingviewtradingviewtradingviewtradingviewtradingviewtradingviewtradingviewtradingviewtradingviewtradingviewtradingviewtradingviewtradingviewtradingviewtradingviewtradingviewtradingviewtradingviewtradingviewtradingviewtradingviewtradingviewtradingviewtradingviewtradingviewtradingviewtradingviewtradingviewtradingviewtradingviewtradingviewtradingviewtradingviewtradingviewtradingviewtradingviewtradingviewtradingviewtradingviewtradingview















