[astropark] Support Resistance Trendlines Swing PointDear Followers,
I'm very happy to publish this new tool, which will help you easily find
basic trend momentum (red if a bearish momentum is found, green viceversa)
Support Levels (where you can place your buy orders or short targets)
Resistance Levels (where you can place your sell orders or long targets)
Trendlines , known as diagonal supports and resistances (if price breaks a green one, then it's time to buy/long! otherwise if price breaks a red one, then it's time to sell/short)
Donchian Channel , which will memorize for you latest highs and lows, which may get retested for example
Swing Point , very useful point where to open a position while price holding above or below it
This script:
works on all timeframes
lets you edit each support-resistance cloud settings
lets you activate a third support-resistance cloud if you like
lets you choose if enable only one or disable all of them or whatever combination...
lets you choose to enable or disable trendlines, basic trend, donchian channel, swing point, etc... So very customizable user experience!
This is a premium indicator , so send me a private message in order to get access to this script.
חפש סקריפטים עבור "TRENDLINES"
[HT] Hiubris TrendlinesHOW IT WORKS
This script automatically draws the last 2 TrendLines based on pivot points on the chart (wick to wick)
- Users can adjust the lookback length of those pivot points
NOTES
This Script is meant to help traders easily identify Trends and Trendlines
* This indicator does NOT Repaint! None of our published indicators repaint!
HMA-Kahlman Trend, DifferenceFilter & TrendlinesThis update to the previous HMA-Kahlman Trend, Clipping & Trendlines script features the same structure with the three modules:
- Trendlines module,
- NEW Winsorizing submodule using difference-based filtering.
- HMA-Kahlman Trend module.
The Winsorizing submodule filters signals by a volume level, eliminating the ones with the volume below a threshold. This module substitutes the previous 'low-level' filtering implementation. This time it filters out based on difference between scaled volume and its moving average.
Tested with BTCUSD.
HMA-Kahlman Trend & TrendlinesThis script utilizes two modules, Trendlines module (by Joris Duyck) and HMA-Kahlman Trend module. Trendlines module produces crossovers predictive of the next local trend.
Fibonacci TrendlinesCOINBASE:ETHUSD
This indicator is bested with the 4 hour time frame.
This indicator shows 4 EMA trendlines based on the Fibonacci Sequence (8, 13, 21, 55). If the 8, 13, 21 trendlines crosses above the 55 and the volume is high, this is an indication for a long position. If the 8, 13, 21 crosses below the 55 (volume doesn't matter), this is an indication to exit the long position or an indication for a short position.
SMC + FVG + EMA + TrendlinesSMC + FVG + EMA + Trendlines legRange = math.abs(structureHigh - structureLow) // <-- เปลี่ยนชื่อจาก range -> legRange
if showCurrentStruct and not na(structureHigh) and not na(structureLow)
if na(curHighLine) == false
line.delete(curHighLine)
if na(curLowLine) == false
line.delete(curLowLine)
curHighLine := line.new(sHighIdx, structureHigh, bar_index, structureHigh, xloc.bar_index, color=currentStructColor, style=currentStructStyle, width=currentStructWidth)
curLowLine := line.new(sLowIdx, structureLow, bar_index, structureLow, xloc.bar_index, color=currentStructColor, style=currentStructStyle, width=currentStructWidth)
// ---------- Fibonacci on current leg ----------
if showFibo and legRange > 0
for k = 0 to array.size(fLevels) - 1
lvl = array.get(fLevels, k)
price = sDir == 1 ? structureHigh - (legRange - legRange * lvl)
: structureLow + (legRange - legRange * lvl)
l = line.new(sDir == 1 ? sHighIdx : sLowIdx, price, bar_index, price, xloc.bar_index, color=fiboColorMain, style=fiboStyle, width=fiboWidth)
label.new(bar_index + 10, price, str.tostring(lvl) + " (" + str.tostring(price) + ")", style=label.style_none, textcolor=fiboColorMain)
RSI Trendlines with BreakoutsA pivot-based breakout indicator that attempts to provide traders with a visual aid for finding breakouts on the RSI. Similar to how we use trendlines on our charts, using them on the Relative Strength Index can also give us a sense of direction in the markets.
This script uses its own pivot-based system that checks for real-time swing levels and triggers a new pivot event after every dip and nth bars. The breakout alerts that are given were not designed to be taken as signals since their purpose is to provide an extra bit of confluence. Because of this, I added no other conditions that try to make the alerts "perfect", but instead, print every breakout that is detected. Despite stating this, I did happen to add a condition that checks the difference in RSI and the breakout value, but that's as far as it'll go.
There are alerts built-in to the script, along with adjustable repainting options.
🔳 Settings
Lookback Range: Lookback period to trigger a new pivot point when conditions are met.
RSI Difference: The difference between the current RSI value and the breakout value. How much higher in value should the current RSI be compared to the breakout value in order to detect a breakout?
RSI Settings
Styling Options
🔳 Repaint Options
On: Allows repainting
Off - Bar Confirmation: Prevents repainting and generates alerts when the bar closes. (1 candle later)
🔳 How it Works
Before a trendline is drawn, the script retrieves the slope between the previous pivot point and the current. Then it adds or subtracts the slope x amount of times (based on the lookback range) from the current pivot value until the current x-axis is reached. By doing this we can get a trendline that will detect a breakout accurately.
The result
When using the RSI Difference condition, the script will print breakouts whenever the condition is true, because of this dotted lines were added to track where the alert was triggered.
🔳 Alerts
Support & Resistance Trendlines with PP + Fib. Channel█ Support & Resistance Trendlines with Pivot Points + Fibonacci Channel
This script automatically draw support and resistance trend lines based on pivot points and add a fibonacci channel.
It will show potential patterns with the help of support and resistance lines as well as breakout target and pullback entry with the fibonacci extension and retracement levels.
It is based on atolelole's script, I only made it more configurable so please check out his script.
I added the possibility to change values and add additional retracement and extension levels.
I also made it customizable with the possibility to change lines color, width and style.
[PX] Level & TrendlinesThe indicator identifies the intermediate fractal pattern, where neighboring fractals are either higher or lower. It plots horizontal level and trendlines based on those fractals and comes with a variety of settings.
If you are looking for someone to develop your on indicator or trading strategy, don't hesitate to get in touch with me here on TradingView or below.
Contact:
www.pascal-simon.de
info@pascal-simon.de
Fibonacci Trendlines 8-200In my opinion best EMA Trendlines there is, simple yet very reliable on any time frame, i found the version that had 8-13-21-55, so i decided to add 100 and 200 for higher time frames enjoy please share and like
Soriano TrendLinesSoriano TrendLines is charting system where you can buy once candles goes green and sell or short ones candles are red.
Auto Bull/Bear TrendlinesAutomated trendlines for easily identifying market trend continuation or reversals
Trend Line Trendlines are easily recognizable lines that traders draw on charts to connect a series of prices together or show some data's best fit. The resulting line is then used to give the trader a good idea of the direction in which an investment's value might move.
A trendline is a line drawn over pivot highs or under pivot lows to show the prevailing direction of price. Trendlines are a visual representation of support and resistance in any time frame. They show direction and speed of price, and also describe patterns during periods of price contraction.
Key Takeaways
Trendlines indicate the best fit of some data using a single line.
A single trendline can be applied to a chart to give a clearer picture of the trend.
The time period being analyzed and the exact points used to create a trendline vary from trader to trader.
The trendline is among the most important tools used by technical analysts. Instead of looking at past business performance or other fundamentals, technical analysts look for trends in price action. A trendline helps technical analysts determine the current direction in market prices. Technical analysts believe the trend is your friend, and identifying this trend is the first step in the process of making a good trade.
To create a trendline, an analyst must have at least two points on a price chart. Some analysts like to use different time frames such as one minute or five minutes. Others look at daily charts or weekly charts. Some analysts put aside time altogether, choosing to view trends based on tick intervals rather than intervals of time. What makes trendlines so universal in usage and appeal is they can be used to help identify trends regardless of the time period, time frame or interval used.
Trendlines StrategyUsing the clever calculations and code by BacktestRookies, here is a strategy that buys
when the price breaks above the trend line and sells (or shorts) when it crosses below.
This logic can be reversed, which seems to work better with recent market conditions.
True S/R Ultimate [Wonra]# True S/R Ultimate - TradingView Description
## Short Description (for script settings)
```
Volume-weighted Support & Resistance levels with buyer/seller pressure analysis. Shows the strongest levels based on historical price reactions and trading volume.
```
## Full Description
```
█ OVERVIEW
True S/R Ultimate identifies genuine support and resistance levels by analyzing historical pivot points weighted by trading volume. Unlike traditional S/R indicators that draw lines everywhere, this indicator filters and displays only the strongest levels where significant trading activity occurred.
The indicator uses a multi-factor approach:
• Volume accumulation at each price level
• Number of times price has touched/reacted to the level
• Buyer vs Seller pressure ratio at each zone
█ HOW IT WORKS
The indicator detects pivot highs and lows across your specified lookback period. When multiple pivots occur near the same price, they are grouped together, and their volumes are accumulated. This creates "volume clusters" that represent areas where traders have historically found value.
LEVEL NAMING:
• S1, S2, S3... = Support levels (below current price), ranked by volume strength
• R1, R2, R3... = Resistance levels (above current price), ranked by volume strength
• S1/R1 = Strongest level with highest accumulated volume
• S5/R5 = Weakest displayed level
█ READING THE LABELS
Each level displays:
┌─────────────────────────────────┐
│ R2 │ 1,789 │ ← Level name + Price
│ Vol: 21.8M │ 🟢 BUY 64% │ ← Volume + Dominant pressure
└─────────────────────────────────┘
VOLUME (Vol):
Shows the total accumulated trading volume at this level. Higher volume = stronger level.
• K = Thousands (1K = 1,000)
• M = Millions (1M = 1,000,000)
• B = Billions (1B = 1,000,000,000)
PRESSURE INDICATOR:
• 🟢 BUY XX% = Buyers were dominant at this level (bullish pressure)
• 🔴 SELL XX% = Sellers were dominant at this level (bearish pressure)
• Percentage shows the strength of the dominant side
█ COLOR CODING
The indicator uses smart color coding based on WHO was in control at each level:
GREEN/TEAL ZONES (🟢 BUY pressure > 50%):
• Buyers were more aggressive when price hit this level
• For SUPPORT: Strong buy interest, likely to bounce again
• For RESISTANCE: May break through as buyers are willing to pay higher
RED ZONES (🔴 SELL pressure > 50%):
• Sellers were more aggressive when price hit this level
• For RESISTANCE: Strong selling pressure, likely to reject again
• For SUPPORT: Weaker support, may break down
█ HOW TO USE
SCENARIO 1: Price approaching GREEN Support (e.g., S1 with 🟢 BUY 76%)
✓ This is a HIGH-PROBABILITY bounce zone
✓ Previous touches showed strong buyer absorption
✓ Consider LONG entries with stop below the zone
SCENARIO 2: Price approaching RED Resistance (e.g., R1 with 🔴 SELL 71%)
✓ This is a HIGH-PROBABILITY rejection zone
✓ Previous touches showed strong seller distribution
✓ Consider SHORT entries with stop above the zone
SCENARIO 3: Price approaching GREEN Resistance (e.g., R2 with 🟢 BUY 64%)
⚠ This resistance may be WEAK
⚠ Buyers were aggressive here before - may break through
⚠ Wait for confirmation before shorting
SCENARIO 4: Price approaching RED Support (e.g., S3 with 🔴 SELL 72%)
⚠ This support may be WEAK
⚠ Sellers were aggressive here - may break down
⚠ Be cautious with long entries
█ WHY LEVELS ABOVE PRICE CAN BE GREEN
When you see a RESISTANCE level (above current price) colored GREEN:
• It means when price was previously AT that level, BUYERS were dominant
• This doesn't mean the level is now support
• It means if price revisits this zone, it might break THROUGH (not reject)
• The buying pressure from before suggests demand at that price
Conversely, when you see a SUPPORT level (below price) colored RED:
• Previous touches showed sellers were in control
• This support may be weaker than it appears
• Consider tighter stop losses if going long at this level
█ SETTINGS
📊 MAIN SETTINGS
• Lookback Bars: How far back to analyze (default: 500)
• Minimum Touches: Required reactions to form a valid level (default: 2)
• Zone Width: Tolerance for grouping similar prices (default: 1%)
• Pivot Length: Sensitivity for detecting pivots (default: 5)
🎨 DISPLAY
• Max Levels: How many S/R levels to show per side (default: 5)
• Show Zone Boxes: Visual boxes around each level
🎨 COLORS
• Bullish/Buyers: Color for buy-dominated zones
• Bearish/Sellers: Color for sell-dominated zones
█ BEST PRACTICES
1. Use on higher timeframes (4H, Daily) for stronger levels
2. Combine with other confluence (trendlines, EMAs, Fibonacci)
3. Watch for volume confirmation when price approaches a level
4. S1/R1 are your primary levels - trade these with more size
5. S4/S5 or R4/R5 may be weaker - use confirmation
█ ALERTS
The indicator includes built-in alert conditions:
• "Near Support" - Price approaching strongest support
• "Near Resistance" - Price approaching strongest resistance
█ CREDITS
Developed by Wonra
Concept: Volume Profile meets Smart Money Concepts
```
## Tags (for TradingView)
```
support, resistance, volume, levels, zones, institutional, smart-money, supply-demand, order-flow, volume-profile
```
SIGNAL simpleThis tool displays trendlines that simply show singal buyer or seller strength based on a combined set of MA and EMA lines
Hulline AAAThis tool displays trendlines that simply show buyer or seller strength based on a combined set of MA and EMA lines
Ultimate RSI [captainua]Ultimate RSI
Overview
This indicator combines multiple RSI calculations with volume analysis, divergence detection, and trend filtering to provide a comprehensive RSI-based trading system. The script calculates RSI using three different periods (6, 14, 24) and applies various smoothing methods to reduce noise while maintaining responsiveness. The combination of these features creates a multi-layered confirmation system that reduces false signals by requiring alignment across multiple indicators and timeframes.
The script includes optimized configuration presets for instant setup: Scalping, Day Trading, Swing Trading, and Position Trading. Simply select a preset to instantly configure all settings for your trading style, or use Custom mode for full manual control. All settings include automatic input validation to prevent configuration errors and ensure optimal performance.
Configuration Presets
The script includes preset configurations optimized for different trading styles, allowing you to instantly configure the indicator for your preferred trading approach. Simply select a preset from the "Configuration Preset" dropdown menu:
- Scalping: Optimized for fast-paced trading with shorter RSI periods (4, 7, 9) and minimal smoothing. Noise reduction is automatically disabled, and momentum confirmation is disabled to allow faster signal generation. Designed for quick entries and exits in volatile markets.
- Day Trading: Balanced configuration for intraday trading with moderate RSI periods (6, 9, 14) and light smoothing. Momentum confirmation is enabled for better signal quality. Ideal for day trading strategies requiring timely but accurate signals.
- Swing Trading: Configured for medium-term positions with standard RSI periods (14, 14, 21) and moderate smoothing. Provides smoother signals suitable for swing trading timeframes. All noise reduction features remain active.
- Position Trading: Optimized for longer-term trades with extended RSI periods (24, 21, 28) and heavier smoothing. Filters are configured for highest-quality signals. Best for position traders holding trades over multiple days or weeks.
- Custom: Full manual control over all settings. All input parameters are available for complete customization. This is the default mode and maintains full backward compatibility with previous versions.
When a preset is selected, it automatically adjusts RSI periods, smoothing lengths, and filter settings to match the trading style. The preset configurations ensure optimal settings are applied instantly, eliminating the need for manual configuration. All settings can still be manually overridden if needed, providing flexibility while maintaining ease of use.
Input Validation and Error Prevention
The script includes comprehensive input validation to prevent configuration errors:
- Cross-Input Validation: Smoothing lengths are automatically validated to ensure they are always less than their corresponding RSI period length. If you set a smoothing length greater than or equal to the RSI length, the script automatically adjusts it to (RSI Length - 1). This prevents logical errors and ensures valid configurations.
- Input Range Validation: All numeric inputs have minimum and maximum value constraints enforced by TradingView's input system, preventing invalid parameter values.
- Smart Defaults: Preset configurations use validated default values that are tested and optimized for each trading style. When switching between presets, all related settings are automatically updated to maintain consistency.
Core Calculations
Multi-Period RSI:
The script calculates RSI using the standard Wilder's RSI formula: RSI = 100 - (100 / (1 + RS)), where RS = Average Gain / Average Loss over the specified period. Three separate RSI calculations run simultaneously:
- RSI(6): Uses 6-period lookback for high sensitivity to recent price changes, useful for scalping and early signal detection
- RSI(14): Standard 14-period RSI for balanced analysis, the most commonly used RSI period
- RSI(24): Longer 24-period RSI for trend confirmation, provides smoother signals with less noise
Each RSI can be smoothed using EMA, SMA, RMA (Wilder's smoothing), WMA, or Zero-Lag smoothing. Zero-Lag smoothing uses the formula: ZL-RSI = RSI + (RSI - RSI ) to reduce lag while maintaining signal quality. You can apply individual smoothing lengths to each RSI period, or use global smoothing where all three RSIs share the same smoothing length.
Dynamic Overbought/Oversold Thresholds:
Static thresholds (default 70/30) are adjusted based on market volatility using ATR. The formula: Dynamic OB = Base OB + (ATR × Volatility Multiplier × Base Percentage / 100), Dynamic OS = Base OS - (ATR × Volatility Multiplier × Base Percentage / 100). This adapts to volatile markets where traditional 70/30 levels may be too restrictive. During high volatility, the dynamic thresholds widen, and during low volatility, they narrow. The thresholds are clamped between 0-100 to remain within RSI bounds. The ATR is cached for performance optimization, updating on confirmed bars and real-time bars.
Adaptive RSI Calculation:
An adaptive RSI adjusts the standard RSI(14) based on current volatility relative to average volatility. The calculation: Adaptive Factor = (Current ATR / SMA of ATR over 20 periods) × Volatility Multiplier. If SMA of ATR is zero (edge case), the adaptive factor defaults to 0. The adaptive RSI = Base RSI × (1 + Adaptive Factor), clamped to 0-100. This makes the indicator more responsive during high volatility periods when traditional RSI may lag. The adaptive RSI is used for signal generation (buy/sell signals) but is not plotted on the chart.
Overbought/Oversold Fill Zones:
The script provides visual fill zones between the RSI line and the threshold lines when RSI is in overbought or oversold territory. The fill logic uses inclusive conditions: fills are shown when RSI is currently in the zone OR was in the zone on the previous bar. This ensures complete coverage of entry and exit boundaries. A minimum gap of 0.1 RSI points is maintained between the RSI plot and threshold line to ensure reliable polygon rendering in TradingView. The fill uses invisible plots at the threshold levels and the RSI value, with the fill color applied between them. You can select which RSI (6, 14, or 24) to use for the fill zones.
Divergence Detection
Regular Divergence:
Bullish divergence: Price makes a lower low (current low < lowest low from previous lookback period) while RSI makes a higher low (current RSI > lowest RSI from previous lookback period). Bearish divergence: Price makes a higher high (current high > highest high from previous lookback period) while RSI makes a lower high (current RSI < highest RSI from previous lookback period). The script compares current price/RSI values to the lowest/highest values from the previous lookback period using ta.lowest() and ta.highest() functions with index to reference the previous period's extreme.
Pivot-Based Divergence:
An enhanced divergence detection method that uses actual pivot points instead of simple lowest/highest comparisons. This provides more accurate divergence detection by identifying significant pivot lows/highs in both price and RSI. The pivot-based method uses a tolerance-based approach with configurable constants: 1% tolerance for price comparisons (priceTolerancePercent = 0.01) and 1.0 RSI point absolute tolerance for RSI comparisons (pivotTolerance = 1.0). Minimum divergence threshold is 1.0 RSI point (minDivergenceThreshold = 1.0). It looks for two recent pivot points and compares them: for bullish divergence, price makes a lower low (at least 1% lower) while RSI makes a higher low (at least 1.0 point higher). This method reduces false divergences by requiring actual pivot points rather than just any low/high within a period. When enabled, pivot-based divergence replaces the traditional method for more accurate signal generation.
Strong Divergence:
Regular divergence is confirmed by an engulfing candle pattern. Bullish engulfing requires: (1) Previous candle is bearish (close < open ), (2) Current candle is bullish (close > open), (3) Current close > previous open, (4) Current open < previous close. Bearish engulfing is the inverse: previous bullish, current bearish, current close < previous open, current open > previous close. Strong divergence signals are marked with visual indicators (🐂 for bullish, 🐻 for bearish) and have separate alert conditions.
Hidden Divergence:
Continuation patterns that signal trend continuation rather than reversal. Bullish hidden divergence: Price makes a higher low (current low > lowest low from previous period) but RSI makes a lower low (current RSI < lowest RSI from previous period). Bearish hidden divergence: Price makes a lower high (current high < highest high from previous period) but RSI makes a higher high (current RSI > highest RSI from previous period). These patterns indicate the trend is likely to continue in the current direction.
Volume Confirmation System
Volume threshold filtering requires current volume to exceed the volume SMA multiplied by the threshold factor. The formula: Volume Confirmed = Volume > (Volume SMA × Threshold). If the threshold is set to 0.1 or lower, volume confirmation is effectively disabled (always returns true). This allows you to use the indicator without volume filtering if desired.
Volume Climax is detected when volume exceeds: Volume SMA + (Volume StdDev × Multiplier). This indicates potential capitulation moments where extreme volume accompanies price movements. Volume Dry-Up is detected when volume falls below: Volume SMA - (Volume StdDev × Multiplier), indicating low participation periods that may produce unreliable signals. The volume SMA is cached for performance, updating on confirmed and real-time bars.
Multi-RSI Synergy
The script generates signals when multiple RSI periods align in overbought or oversold zones. This creates a confirmation system that reduces false signals. In "ALL" mode, all three RSIs (6, 14, 24) must be simultaneously above the overbought threshold OR all three must be below the oversold threshold. In "2-of-3" mode, any two of the three RSIs must align in the same direction. The script counts how many RSIs are in each zone: twoOfThreeOB = ((rsi6OB ? 1 : 0) + (rsi14OB ? 1 : 0) + (rsi24OB ? 1 : 0)) >= 2.
Synergy signals require: (1) Multi-RSI alignment (ALL or 2-of-3), (2) Volume confirmation, (3) Reset condition satisfied (enough bars since last synergy signal), (4) Additional filters passed (RSI50, Trend, ADX, Volume Dry-Up avoidance). Separate reset conditions track buy and sell signals independently. The reset condition uses ta.barssince() to count bars since the last trigger, returning true if the condition never occurred (allowing first signal) or if enough bars have passed.
Regression Forecasting
The script uses historical RSI values to forecast future RSI direction using four methods. The forecast horizon is configurable (1-50 bars ahead). Historical data is collected into an array, and regression coefficients are calculated based on the selected method.
Linear Regression: Calculates the least-squares fit line (y = mx + b) through the last N RSI values. The calculation: meanX = sumX / horizon, meanY = sumY / horizon, denominator = sumX² - horizon × meanX², m = (sumXY - horizon × meanX × meanY) / denominator, b = meanY - m × meanX. The forecast projects this line forward: forecast = b + m × i for i = 1 to horizon.
Polynomial Regression: Fits a quadratic curve (y = ax² + bx + c) to capture non-linear trends. The system of equations is solved using Cramer's rule with a 3×3 determinant. If the determinant is too small (< 0.0001), the system falls back to linear regression. Coefficients are calculated by solving: n×c + sumX×b + sumX²×a = sumY, sumX×c + sumX²×b + sumX³×a = sumXY, sumX²×c + sumX³×b + sumX⁴×a = sumX²Y. Note: Due to the O(n³) computational complexity of polynomial regression, the forecast horizon is automatically limited to a maximum of 20 bars when using polynomial regression to maintain optimal performance. If you set a horizon greater than 20 bars with polynomial regression, it will be automatically capped at 20 bars.
Exponential Smoothing: Applies exponential smoothing with adaptive alpha = 2/(horizon+1). The smoothing iterates from oldest to newest value: smoothed = alpha × series + (1 - alpha) × smoothed. Trend is calculated by comparing current smoothed value to an earlier smoothed value (at 60% of horizon): trend = (smoothed - earlierSmoothed) / (horizon - earlierIdx). Forecast: forecast = base + trend × i.
Moving Average: Uses the difference between short MA (horizon/2) and long MA (horizon) to estimate trend direction. Trend = (maShort - maLong) / (longLen - shortLen). Forecast: forecast = maShort + trend × i.
Confidence bands are calculated using RMSE (Root Mean Squared Error) of historical forecast accuracy. The error calculation compares historical values with forecast values: RMSE = sqrt(sumSquaredError / count). If insufficient data exists, it falls back to calculating standard deviation of recent RSI values. Confidence bands = forecast ± (RMSE × confidenceLevel). All forecast values and confidence bands are clamped to 0-100 to remain within RSI bounds. The regression functions include comprehensive safety checks: horizon validation (must not exceed array size), empty array handling, edge case handling for horizon=1 scenarios, division-by-zero protection, and bounds checking for all array access operations to prevent runtime errors.
Strong Top/Bottom Detection
Strong buy signals require three conditions: (1) RSI is at its lowest point within the bottom period: rsiVal <= ta.lowest(rsiVal, bottomPeriod), (2) RSI is below the oversold threshold minus a buffer: rsiVal < (oversoldThreshold - rsiTopBottomBuffer), where rsiTopBottomBuffer = 2.0 RSI points, (3) The absolute difference between current RSI and the lowest RSI exceeds the threshold value: abs(rsiVal - ta.lowest(rsiVal, bottomPeriod)) > threshold. This indicates a bounce from extreme levels with sufficient distance from the absolute low.
Strong sell signals use the inverse logic: RSI at highest point, above overbought threshold + rsiTopBottomBuffer (2.0 RSI points), and difference from highest exceeds threshold. Both signals also require: volume confirmation, reset condition satisfied (separate reset for buy vs sell), and all additional filters passed (RSI50, Trend, ADX, Volume Dry-Up avoidance).
The reset condition uses separate logic for buy and sell: resetCondBuy checks bars since isRSIAtBottom, resetCondSell checks bars since isRSIAtTop. This ensures buy signals reset based on bottom conditions and sell signals reset based on top conditions, preventing incorrect signal blocking.
Filtering System
RSI(50) Filter: Only allows buy signals when RSI(14) > 50 (bullish momentum) and sell signals when RSI(14) < 50 (bearish momentum). This filter ensures you're buying in uptrends and selling in downtrends from a momentum perspective. The filter is optional and can be disabled. Recommended to enable for noise reduction.
Trend Filter: Uses a long-term EMA (default 200) to determine trend direction. Buy signals require price above EMA, sell signals require price below EMA. The EMA slope is calculated as: emaSlope = ema - ema . Optional EMA slope filter additionally requires the EMA to be rising (slope > 0) for buy signals or falling (slope < 0) for sell signals. This provides stronger trend confirmation by requiring both price position and EMA direction.
ADX Filter: Uses the Directional Movement Index (calculated via ta.dmi()) to measure trend strength. Signals only fire when ADX exceeds the threshold (default 20), indicating a strong trend rather than choppy markets. The ADX calculation uses separate length and smoothing parameters. This filter helps avoid signals during sideways/consolidation periods.
Volume Dry-Up Avoidance: Prevents signals during periods of extremely low volume relative to average. If volume dry-up is detected and the filter is enabled, signals are blocked. This helps avoid unreliable signals that occur during low participation periods.
RSI Momentum Confirmation: Requires RSI to be accelerating in the signal direction before confirming signals. For buy signals, RSI must be consistently rising (recovering from oversold) over the lookback period. For sell signals, RSI must be consistently falling (declining from overbought) over the lookback period. The momentum check verifies that all consecutive changes are in the correct direction AND the cumulative change is significant. This filter ensures signals only fire when RSI momentum aligns with the signal direction, reducing false signals from weak momentum.
Multi-Timeframe Confirmation: Requires higher timeframe RSI to align with the signal direction. For buy signals, current RSI must be below the higher timeframe RSI by at least the confirmation threshold. For sell signals, current RSI must be above the higher timeframe RSI by at least the confirmation threshold. This ensures signals align with the larger trend context, reducing counter-trend trades. The higher timeframe RSI is fetched using request.security() from the selected timeframe.
All filters use the pattern: filterResult = not filterEnabled OR conditionMet. This means if a filter is disabled, it always passes (returns true). Filters can be combined, and all must pass for a signal to fire.
RSI Centerline and Period Crossovers
RSI(50) Centerline Crossovers: Detects when the selected RSI source crosses above or below the 50 centerline. Bullish crossover: ta.crossover(rsiSource, 50), bearish crossover: ta.crossunder(rsiSource, 50). You can select which RSI (6, 14, or 24) to use for these crossovers. These signals indicate momentum shifts from bearish to bullish (above 50) or bullish to bearish (below 50).
RSI Period Crossovers: Detects when different RSI periods cross each other. Available pairs: RSI(6) × RSI(14), RSI(14) × RSI(24), or RSI(6) × RSI(24). Bullish crossover: fast RSI crosses above slow RSI (ta.crossover(rsiFast, rsiSlow)), indicating momentum acceleration. Bearish crossover: fast RSI crosses below slow RSI (ta.crossunder(rsiFast, rsiSlow)), indicating momentum deceleration. These crossovers can signal shifts in momentum before price moves.
StochRSI Calculation
Stochastic RSI applies the Stochastic oscillator formula to RSI values instead of price. The calculation: %K = ((RSI - Lowest RSI) / (Highest RSI - Lowest RSI)) × 100, where the lookback is the StochRSI length. If the range is zero, %K defaults to 50.0. %K is then smoothed using SMA with the %K smoothing length. %D is calculated as SMA of smoothed %K with the %D smoothing length. All values are clamped to 0-100. You can select which RSI (6, 14, or 24) to use as the source for StochRSI calculation.
RSI Bollinger Bands
Bollinger Bands are applied to RSI(14) instead of price. The calculation: Basis = SMA(RSI(14), BB Period), StdDev = stdev(RSI(14), BB Period), Upper = Basis + (StdDev × Deviation Multiplier), Lower = Basis - (StdDev × Deviation Multiplier). This creates dynamic zones around RSI that adapt to RSI volatility. When RSI touches or exceeds the bands, it indicates extreme conditions relative to recent RSI behavior.
Noise Reduction System
The script includes a comprehensive noise reduction system to filter false signals and improve accuracy. When enabled, signals must pass multiple quality checks:
Signal Strength Requirement: RSI must be at least X points away from the centerline (50). For buy signals, RSI must be at least X points below 50. For sell signals, RSI must be at least X points above 50. This ensures signals only trigger when RSI is significantly in oversold/overbought territory, not just near neutral.
Extreme Zone Requirement: RSI must be deep in the OB/OS zone. For buy signals, RSI must be at least X points below the oversold threshold. For sell signals, RSI must be at least X points above the overbought threshold. This ensures signals only fire in extreme conditions where reversals are more likely.
Consecutive Bar Confirmation: The signal condition must persist for N consecutive bars before triggering. This reduces false signals from single-bar spikes or noise. The confirmation checks that the signal condition was true for all bars in the lookback period.
Zone Persistence (Optional): Requires RSI to remain in the OB/OS zone for N consecutive bars, not just touch it. This ensures RSI is truly in an extreme state rather than just briefly touching the threshold. When enabled, this provides stricter filtering for higher-quality signals.
RSI Slope Confirmation (Optional): Requires RSI to be moving in the expected signal direction. For buy signals, RSI should be rising (recovering from oversold). For sell signals, RSI should be falling (declining from overbought). This ensures momentum is aligned with the signal direction. The slope is calculated by comparing current RSI to RSI N bars ago.
All noise reduction filters can be enabled/disabled independently, allowing you to customize the balance between signal frequency and accuracy. The default settings provide a good balance, but you can adjust them based on your trading style and market conditions.
Alert System
The script includes separate alert conditions for each signal type: buy/sell (adaptive RSI crossovers), divergence (regular, strong, hidden), crossovers (RSI50 centerline, RSI period crossovers), synergy signals, and trend breaks. Each alert type has its own alertcondition() declaration with a unique title and message.
An optional cooldown system prevents alert spam by requiring a minimum number of bars between alerts of the same type. The cooldown check: canAlert = na(lastAlertBar) OR (bar_index - lastAlertBar >= cooldownBars). If the last alert bar is na (first alert), it always allows the alert. Each alert type maintains its own lastAlertBar variable, so cooldowns are independent per signal type. The default cooldown is 10 bars, which is recommended for noise reduction.
Higher Timeframe RSI
The script can display RSI from a higher timeframe using request.security(). This allows you to see the RSI context from a larger timeframe (e.g., daily RSI on an hourly chart). The higher timeframe RSI uses RSI(14) calculation from the selected timeframe. This provides context for the current timeframe's RSI position relative to the larger trend.
RSI Pivot Trendlines
The script can draw trendlines connecting pivot highs and lows on RSI(6). This feature helps visualize RSI trends and identify potential trend breaks.
Pivot Detection: Pivots are detected using a configurable period. The script can require pivots to have minimum strength (RSI points difference from surrounding bars) to filter out weak pivots. Lower minPivotStrength values detect more pivots (more trendlines), while higher values detect only stronger pivots (fewer but more significant trendlines). Pivot confirmation is optional: when enabled, the script waits N bars to confirm the pivot remains the extreme, reducing repainting. Pivot confirmation functions (f_confirmPivotLow and f_confirmPivotHigh) are always called on every bar for consistency, as recommended by TradingView. When pivot bars are not available (na), safe default values are used, and the results are then used conditionally based on confirmation settings. This ensures consistent calculations and prevents calculation inconsistencies.
Trendline Drawing: Uptrend lines connect confirmed pivot lows (green), and downtrend lines connect confirmed pivot highs (red). By default, only the most recent trendline is shown (old trendlines are deleted when new pivots are confirmed). This keeps the chart clean and uncluttered. If "Keep Historical Trendlines" is enabled, the script preserves up to N historical trendlines (configurable via "Max Trendlines to Keep", default 5). When historical trendlines are enabled, old trendlines are saved to arrays instead of being deleted, allowing you to see multiple trendlines simultaneously for better trend analysis. The arrays are automatically limited to prevent memory accumulation.
Trend Break Detection: Signals are generated when RSI breaks above or below trendlines. Uptrend breaks (RSI crosses below uptrend line) generate buy signals. Downtrend breaks (RSI crosses above downtrend line) generate sell signals. Optional trend break confirmation requires the break to persist for N bars and optionally include volume confirmation. Trendline angle filtering can exclude flat/weak trendlines from generating signals (minTrendlineAngle > 0 filters out weak/flat trendlines).
How Components Work Together
The combination of multiple RSI periods provides confirmation across different timeframes, reducing false signals. RSI(6) catches early moves, RSI(14) provides balanced signals, and RSI(24) confirms longer-term trends. When all three align (synergy), it indicates strong consensus across timeframes.
Volume confirmation ensures signals occur with sufficient market participation, filtering out low-volume false breakouts. Volume climax detection identifies potential reversal points, while volume dry-up avoidance prevents signals during unreliable low-volume periods.
Trend filters align signals with the overall market direction. The EMA filter ensures you're trading with the trend, and the EMA slope filter adds an additional layer by requiring the trend to be strengthening (rising EMA for buys, falling EMA for sells).
ADX filter ensures signals only fire during strong trends, avoiding choppy/consolidation periods. RSI(50) filter ensures momentum alignment with the trade direction.
Momentum confirmation requires RSI to be accelerating in the signal direction, ensuring signals only fire when momentum is aligned. Multi-timeframe confirmation ensures signals align with higher timeframe trends, reducing counter-trend trades.
Divergence detection identifies potential reversals before they occur, providing early warning signals. Pivot-based divergence provides more accurate detection by using actual pivot points. Hidden divergence identifies continuation patterns, useful for trend-following strategies.
The noise reduction system combines multiple filters (signal strength, extreme zone, consecutive bars, zone persistence, RSI slope) to significantly reduce false signals. These filters work together to ensure only high-quality signals are generated.
The synergy system requires alignment across all RSI periods for highest-quality signals, significantly reducing false positives. Regression forecasting provides forward-looking context, helping anticipate potential RSI direction changes.
Pivot trendlines provide visual trend analysis and can generate signals when RSI breaks trendlines, indicating potential reversals or continuations.
Reset conditions prevent signal spam by requiring a minimum number of bars between signals. Separate reset conditions for buy and sell signals ensure proper signal management.
Usage Instructions
Configuration Presets (Recommended): The script includes optimized preset configurations for instant setup. Simply select your trading style from the "Configuration Preset" dropdown:
- Scalping Preset: RSI(4, 7, 9) with minimal smoothing. Noise reduction disabled, momentum confirmation disabled for fastest signals.
- Day Trading Preset: RSI(6, 9, 14) with light smoothing. Momentum confirmation enabled for better signal quality.
- Swing Trading Preset: RSI(14, 14, 21) with moderate smoothing. Balanced configuration for medium-term trades.
- Position Trading Preset: RSI(24, 21, 28) with heavier smoothing. Optimized for longer-term positions with all filters active.
- Custom Mode: Full manual control over all settings. Default behavior matches previous script versions.
Presets automatically configure RSI periods, smoothing lengths, and filter settings. You can still manually adjust any setting after selecting a preset if needed.
Getting Started: The easiest way to get started is to select a configuration preset matching your trading style (Scalping, Day Trading, Swing Trading, or Position Trading) from the "Configuration Preset" dropdown. This instantly configures all settings for optimal performance. Alternatively, use "Custom" mode for full manual control. The default configuration (Custom mode) shows RSI(6), RSI(14), and RSI(24) with their default smoothing. Overbought/oversold fill zones are enabled by default.
Customizing RSI Periods: Adjust the RSI lengths (6, 14, 24) based on your trading timeframe. Shorter periods (6) for scalping, standard (14) for day trading, longer (24) for swing trading. You can disable any RSI period you don't need.
Smoothing Selection: Choose smoothing method based on your needs. EMA provides balanced smoothing, RMA (Wilder's) is traditional, Zero-Lag reduces lag but may increase noise. Adjust smoothing lengths individually or use global smoothing for consistency. Note: Smoothing lengths are automatically validated to ensure they are always less than the corresponding RSI period length. If you set smoothing >= RSI length, it will be auto-adjusted to prevent invalid configurations.
Dynamic OB/OS: The dynamic thresholds automatically adapt to volatility. Adjust the volatility multiplier and base percentage to fine-tune sensitivity. Higher values create wider thresholds in volatile markets.
Volume Confirmation: Set volume threshold to 1.2 (default) for standard confirmation, higher for stricter filtering, or 0.1 to disable volume filtering entirely.
Multi-RSI Synergy: Use "ALL" mode for highest-quality signals (all 3 RSIs must align), or "2-of-3" mode for more frequent signals. Adjust the reset period to control signal frequency.
Filters: Enable filters gradually to find your preferred balance. Start with volume confirmation, then add trend filter, then ADX for strongest confirmation. RSI(50) filter is useful for momentum-based strategies and is recommended for noise reduction. Momentum confirmation and multi-timeframe confirmation add additional layers of accuracy but may reduce signal frequency.
Noise Reduction: The noise reduction system is enabled by default with balanced settings. Adjust minSignalStrength (default 3.0) to control how far RSI must be from centerline. Increase requireConsecutiveBars (default 1) to require signals to persist longer. Enable requireZonePersistence and requireRsiSlope for stricter filtering (higher quality but fewer signals). Start with defaults and adjust based on your needs.
Divergence: Enable divergence detection and adjust lookback periods. Strong divergence (with engulfing confirmation) provides higher-quality signals. Hidden divergence is useful for trend-following strategies. Enable pivot-based divergence for more accurate detection using actual pivot points instead of simple lowest/highest comparisons. Pivot-based divergence uses tolerance-based matching (1% for price, 1.0 RSI point for RSI) for better accuracy.
Forecasting: Enable regression forecasting to see potential RSI direction. Linear regression is simplest, polynomial captures curves, exponential smoothing adapts to trends. Adjust horizon based on your trading timeframe. Confidence bands show forecast uncertainty - wider bands indicate less reliable forecasts.
Pivot Trendlines: Enable pivot trendlines to visualize RSI trends and identify trend breaks. Adjust pivot detection period (default 5) - higher values detect fewer but stronger pivots. Enable pivot confirmation (default ON) to reduce repainting. Set minPivotStrength (default 1.0) to filter weak pivots - lower values detect more pivots (more trendlines), higher values detect only stronger pivots (fewer trendlines). Enable "Keep Historical Trendlines" to preserve multiple trendlines instead of just the most recent one. Set "Max Trendlines to Keep" (default 5) to control how many historical trendlines are preserved. Enable trend break confirmation for more reliable break signals. Adjust minTrendlineAngle (default 0.0) to filter flat trendlines - set to 0.1-0.5 to exclude weak trendlines.
Alerts: Set up alerts for your preferred signal types. Enable cooldown to prevent alert spam. Each signal type has its own alert condition, so you can be selective about which signals trigger alerts.
Visual Elements and Signal Markers
The script uses various visual markers to indicate signals and conditions:
- "sBottom" label (green): Strong bottom signal - RSI at extreme low with strong buy conditions
- "sTop" label (red): Strong top signal - RSI at extreme high with strong sell conditions
- "SyBuy" label (lime): Multi-RSI synergy buy signal - all RSIs aligned oversold
- "SySell" label (red): Multi-RSI synergy sell signal - all RSIs aligned overbought
- 🐂 emoji (green): Strong bullish divergence detected
- 🐻 emoji (red): Strong bearish divergence detected
- 🔆 emoji: Weak divergence signals (if enabled)
- "H-Bull" label: Hidden bullish divergence
- "H-Bear" label: Hidden bearish divergence
- ⚡ marker (top of pane): Volume climax detected (extreme volume) - positioned at top for visibility
- 💧 marker (top of pane): Volume dry-up detected (very low volume) - positioned at top for visibility
- ↑ triangle (lime): Uptrend break signal - RSI breaks below uptrend line
- ↓ triangle (red): Downtrend break signal - RSI breaks above downtrend line
- Triangle up (lime): RSI(50) bullish crossover
- Triangle down (red): RSI(50) bearish crossover
- Circle markers: RSI period crossovers
All markers are positioned at the RSI value where the signal occurs, using location.absolute for precise placement.
Signal Priority and Interpretation
Signals are generated independently and can occur simultaneously. Higher-priority signals generally indicate stronger setups:
1. Multi-RSI Synergy signals (SyBuy/SySell) - Highest priority: Requires alignment across all RSI periods plus volume and filter confirmation. These are the most reliable signals.
2. Strong Top/Bottom signals (sTop/sBottom) - High priority: Indicates extreme RSI levels with strong bounce conditions. Requires volume confirmation and all filters.
3. Divergence signals - Medium-High priority: Strong divergence (with engulfing) is more reliable than regular divergence. Hidden divergence indicates continuation rather than reversal.
4. Adaptive RSI crossovers - Medium priority: Buy when adaptive RSI crosses below dynamic oversold, sell when it crosses above dynamic overbought. These use volatility-adjusted RSI for more accurate signals.
5. RSI(50) centerline crossovers - Medium priority: Momentum shift signals. Less reliable alone but useful when combined with other confirmations.
6. RSI period crossovers - Lower priority: Early momentum shift indicators. Can provide early warning but may produce false signals in choppy markets.
Best practice: Wait for multiple confirmations. For example, a synergy signal combined with divergence and volume climax provides the strongest setup.
Chart Requirements
For proper script functionality and compliance with TradingView requirements, ensure your chart displays:
- Symbol name: The trading pair or instrument name should be visible
- Timeframe: The chart timeframe should be clearly displayed
- Script name: "Ultimate RSI " should be visible in the indicator title
These elements help traders understand what they're viewing and ensure proper script identification. The script automatically includes this information in the indicator title and chart labels.
Performance Considerations
The script is optimized for performance:
- ATR and Volume SMA are cached using var variables, updating only on confirmed and real-time bars to reduce redundant calculations
- Forecast line arrays are dynamically managed: lines are reused when possible, and unused lines are deleted to prevent memory accumulation
- Calculations use efficient Pine Script functions (ta.rsi, ta.ema, etc.) which are optimized by TradingView
- Array operations are minimized where possible, with direct calculations preferred
- Polynomial regression automatically caps the forecast horizon at 20 bars (POLYNOMIAL_MAX_HORIZON constant) to prevent performance degradation, as polynomial regression has O(n³) complexity. This safeguard ensures optimal performance even with large horizon settings
- Pivot detection includes edge case handling to ensure reliable calculations even on early bars with limited historical data. Regression forecasting functions include comprehensive safety checks: horizon validation (must not exceed array size), empty array handling, edge case handling for horizon=1 scenarios, and division-by-zero protection in all mathematical operations
The script should perform well on all timeframes. On very long historical data, forecast lines may accumulate if the horizon is large; consider reducing the forecast horizon if you experience performance issues. The polynomial regression performance safeguard automatically prevents performance issues for that specific regression type.
Known Limitations and Considerations
- Forecast lines are forward-looking projections and should not be used as definitive predictions. They provide context but are not guaranteed to be accurate.
- Dynamic OB/OS thresholds can exceed 100 or go below 0 in extreme volatility scenarios, but are clamped to 0-100 range. This means in very volatile markets, the dynamic thresholds may not widen as much as the raw calculation suggests.
- Volume confirmation requires sufficient historical volume data. On new instruments or very short timeframes, volume calculations may be less reliable.
- Higher timeframe RSI uses request.security() which may have slight delays on some data feeds.
- Regression forecasting requires at least N bars of history (where N = forecast horizon) before it can generate forecasts. Early bars will not show forecast lines.
- StochRSI calculation requires the selected RSI source to have sufficient history. Very short RSI periods on new charts may produce less reliable StochRSI values initially.
Practical Use Cases
The indicator can be configured for different trading styles and timeframes:
Swing Trading: Select the "Swing Trading" preset for instant optimal configuration. This preset uses RSI periods (14, 14, 21) with moderate smoothing. Alternatively, manually configure: Use RSI(24) with Multi-RSI Synergy in "ALL" mode, combined with trend filter (EMA 200) and ADX filter. This configuration provides high-probability setups with strong confirmation across multiple RSI periods.
Day Trading: Select the "Day Trading" preset for instant optimal configuration. This preset uses RSI periods (6, 9, 14) with light smoothing and momentum confirmation enabled. Alternatively, manually configure: Use RSI(6) with Zero-Lag smoothing for fast signal detection. Enable volume confirmation with threshold 1.2-1.5 for reliable entries. Combine with RSI(50) filter to ensure momentum alignment. Strong top/bottom signals work well for day trading reversals.
Trend Following: Enable trend filter (EMA) and EMA slope filter for strong trend confirmation. Use RSI(14) or RSI(24) with ADX filter to avoid choppy markets. Hidden divergence signals are useful for trend continuation entries.
Reversal Trading: Focus on divergence detection (regular and strong) combined with strong top/bottom signals. Enable volume climax detection to identify capitulation moments. Use RSI(6) for early reversal signals, confirmed by RSI(14) and RSI(24).
Forecasting and Planning: Enable regression forecasting with polynomial or exponential smoothing methods. Use forecast horizon of 10-20 bars for swing trading, 5-10 bars for day trading. Confidence bands help assess forecast reliability.
Multi-Timeframe Analysis: Enable higher timeframe RSI to see context from larger timeframes. For example, use daily RSI on hourly charts to understand the larger trend context. This helps avoid counter-trend trades.
Scalping: Select the "Scalping" preset for instant optimal configuration. This preset uses RSI periods (4, 7, 9) with minimal smoothing, disables noise reduction, and disables momentum confirmation for faster signals. Alternatively, manually configure: Use RSI(6) with minimal smoothing (or Zero-Lag) for ultra-fast signals. Disable most filters except volume confirmation. Use RSI period crossovers (RSI(6) × RSI(14)) for early momentum shifts. Set volume threshold to 1.0-1.2 for less restrictive filtering.
Position Trading: Select the "Position Trading" preset for instant optimal configuration. This preset uses extended RSI periods (24, 21, 28) with heavier smoothing, optimized for longer-term trades. Alternatively, manually configure: Use RSI(24) with all filters enabled (Trend, ADX, RSI(50), Volume Dry-Up avoidance). Multi-RSI Synergy in "ALL" mode provides highest-quality signals.
Practical Tips and Best Practices
Getting Started: The fastest way to get started is to select a configuration preset that matches your trading style. Simply choose "Scalping", "Day Trading", "Swing Trading", or "Position Trading" from the "Configuration Preset" dropdown to instantly configure all settings optimally. For advanced users, use "Custom" mode for full manual control. The default configuration (Custom mode) is balanced and works well across different markets. After observing behavior, customize settings to match your trading style.
Reducing Repainting: All signals are based on confirmed bars, minimizing repainting. The script uses confirmed bar data for all calculations to ensure backtesting accuracy.
Signal Quality: Multi-RSI Synergy signals in "ALL" mode provide the highest-quality signals because they require alignment across all three RSI periods. These signals have lower frequency but higher reliability. For more frequent signals, use "2-of-3" mode. The noise reduction system further improves signal quality by requiring multiple confirmations (signal strength, extreme zone, consecutive bars, optional zone persistence and RSI slope). Adjust noise reduction settings to balance signal frequency vs. accuracy.
Filter Combinations: Start with volume confirmation, then add trend filter for trend alignment, then ADX filter for trend strength. Combining all three filters significantly reduces false signals but also reduces signal frequency. Find your balance based on your risk tolerance.
Volume Filtering: Set volume threshold to 0.1 or lower to effectively disable volume filtering if you trade instruments with unreliable volume data or want to test without volume confirmation. Standard confirmation uses 1.2-1.5 threshold.
RSI Period Selection: RSI(6) is most sensitive and best for scalping or early signal detection. RSI(14) provides balanced signals suitable for day trading. RSI(24) is smoother and better for swing trading and trend confirmation. You can disable any RSI period you don't need to reduce visual clutter.
Smoothing Methods: EMA provides balanced smoothing with moderate lag. RMA (Wilder's smoothing) is traditional and works well for RSI. Zero-Lag reduces lag but may increase noise. WMA gives more weight to recent values. Choose based on your preference for responsiveness vs. smoothness.
Forecasting: Linear regression is simplest and works well for trending markets. Polynomial regression captures curves and works better in ranging markets. Exponential smoothing adapts to trends. Moving average method is most conservative. Use confidence bands to assess forecast reliability.
Divergence: Strong divergence (with engulfing confirmation) is more reliable than regular divergence. Hidden divergence indicates continuation rather than reversal, useful for trend-following strategies. Pivot-based divergence provides more accurate detection by using actual pivot points instead of simple lowest/highest comparisons. Adjust lookback periods based on your timeframe: shorter for day trading, longer for swing trading. Pivot divergence period (default 5) controls the sensitivity of pivot detection.
Dynamic Thresholds: Dynamic OB/OS thresholds automatically adapt to volatility. In volatile markets, thresholds widen; in calm markets, they narrow. Adjust the volatility multiplier and base percentage to fine-tune sensitivity. Higher values create wider thresholds in volatile markets.
Alert Management: Enable alert cooldown (default 10 bars, recommended) to prevent alert spam. Each alert type has its own cooldown, so you can set different cooldowns for different signal types. For example, use shorter cooldown for synergy signals (high quality) and longer cooldown for crossovers (more frequent). The cooldown system works independently for each signal type, preventing spam while allowing different signal types to fire when appropriate.
Technical Specifications
- Pine Script Version: v6
- Indicator Type: Non-overlay (displays in separate panel below price chart)
- Repainting Behavior: Minimal - all signals are based on confirmed bars, ensuring accurate backtesting results
- Performance: Optimized with caching for ATR and volume calculations. Forecast arrays are dynamically managed to prevent memory accumulation.
- Compatibility: Works on all timeframes (1 minute to 1 month) and all instruments (stocks, forex, crypto, futures, etc.)
- Edge Case Handling: All calculations include safety checks for division by zero, NA values, and boundary conditions. Reset conditions and alert cooldowns handle edge cases where conditions never occurred or values are NA.
- Reset Logic: Separate reset conditions for buy signals (based on bottom conditions) and sell signals (based on top conditions) ensure logical correctness.
- Input Parameters: 60+ customizable parameters organized into logical groups for easy configuration. Configuration presets available for instant setup (Scalping, Day Trading, Swing Trading, Position Trading, Custom).
- Noise Reduction: Comprehensive noise reduction system with multiple filters (signal strength, extreme zone, consecutive bars, zone persistence, RSI slope) to reduce false signals.
- Pivot-Based Divergence: Enhanced divergence detection using actual pivot points for improved accuracy.
- Momentum Confirmation: RSI momentum filter ensures signals only fire when RSI is accelerating in the signal direction.
- Multi-Timeframe Confirmation: Optional higher timeframe RSI alignment for trend confirmation.
- Enhanced Pivot Trendlines: Trendline drawing with strength requirements, confirmation, and trend break detection.
Technical Notes
- All RSI values are clamped to 0-100 range to ensure valid oscillator values
- ATR and Volume SMA are cached for performance, updating on confirmed and real-time bars
- Reset conditions handle edge cases: if a condition never occurred, reset returns true (allows first signal)
- Alert cooldown handles na values: if no previous alert, cooldown allows the alert
- Forecast arrays are dynamically sized based on horizon, with unused lines cleaned up
- Fill logic uses a minimum gap (0.1) to ensure reliable polygon rendering in TradingView
- All calculations include safety checks for division by zero and boundary conditions. Regression functions validate that horizon doesn't exceed array size, and all array access operations include bounds checking to prevent out-of-bounds errors
- The script uses separate reset conditions for buy signals (based on bottom conditions) and sell signals (based on top conditions) for logical correctness
- Background coloring uses a fallback system: dynamic color takes priority, then RSI(6) heatmap, then monotone if both are disabled
- Noise reduction filters are applied after accuracy filters, providing multiple layers of signal quality control
- Pivot trendlines use strength requirements to filter weak pivots, reducing noise in trendline drawing. Historical trendlines are stored in arrays and automatically limited to prevent memory accumulation when "Keep Historical Trendlines" is enabled
- Volume climax and dry-up markers are positioned at the top of the pane for better visibility
- All calculations are optimized with conditional execution - features only calculate when enabled (performance optimization)
- Input Validation: Automatic cross-input validation ensures smoothing lengths are always less than RSI period lengths, preventing configuration errors
- Configuration Presets: Four optimized preset configurations (Scalping, Day Trading, Swing Trading, Position Trading) for instant setup, plus Custom mode for full manual control
- Constants Management: Magic numbers extracted to documented constants for improved maintainability and easier tuning (pivot tolerance, divergence thresholds, fill gap, etc.)
- TradingView Function Consistency: All TradingView functions (ta.crossover, ta.crossunder, ta.atr, ta.lowest, ta.highest, ta.lowestbars, ta.highestbars, etc.) and custom functions that depend on historical results (f_consecutiveBarConfirmation, f_rsiSlopeConfirmation, f_rsiZonePersistence, f_applyAllFilters, f_rsiMomentum, f_forecast, f_confirmPivotLow, f_confirmPivotHigh) are called on every bar for consistency, as recommended by TradingView. Results are then used conditionally when needed. This ensures consistent calculations and prevents calculation inconsistencies.
SuperTrend - Dynamic Lines and ChannelsSuperTrend Indicator: Comprehensive Description
Overview
The SuperTrend indicator is Pine Script V6 designed for TradingView to plot dynamic trend lines & channels across multiple timeframes (Daily, Weekly, Monthly, Quarterly, and Yearly/All-Time) to assist traders in identifying potential support, resistance, and trend continuation levels. The script calculates trendlines based on high and low prices over specified periods, projects these trendlines forward, and includes optional reflection channels and heartlines to provide additional context for price action analysis. The indicator is highly customizable, allowing users to toggle the visibility of trendlines, projections, and heartlines for each timeframe, with a focus on the DayTrade channel, which includes unique reflection channel features.
This description provides a detailed explanation of the indicator’s features, functionality, and display, with a specific focus on the DayTrade channel’s anchoring, the role of static and dynamic channels in projecting future price action, the heartline’s potential as a volume indicator, and how traders can use the indicator for line-to-line trading strategies.
Features and Functionality
1. Dynamic Trend Channels
The SuperTrend indicator calculates trend channels for five timeframes:
DayTrade Channel: Tracks daily highs and lows, updating before 12 PM each trading day.
Weekly Channel: Tracks highs and lows over a user-selected period (1, 2, or 3 weeks).
Monthly Channel: Tracks monthly highs and lows.
Quarterly Channel: Tracks highs and lows over a user-selected period (1 or 2 quarters).
Yearly/All-Time Channel: Tracks highs and lows over a user-selected period (1 to 10 years or All Time).
Each channel consists of:
Upper Trendline: Connects the high prices of the previous and current periods.
Lower Trendline: Connects the low prices of the previous and current periods.
Projections: Extends the trendlines forward based on the trend’s slope.
Heartline: A dashed line drawn at the midpoint between the upper and lower trendlines or their projections.
DayTrade Channel Anchoring
The DayTrade channel anchors its trendlines to the high and low prices of the previous and current trading days, with updates restricted to before 12 PM to capture significant price movements during the morning session, which is often more volatile due to market openings or news events. The "Show DayTrade Trend Lines" toggle enables this channel, and after 12 PM, the trendlines and projections remain static for the rest of the trading day. This static anchoring provides a consistent reference for potential support and resistance levels, allowing traders to anticipate price reactions based on historical highs and lows from the previous day and the morning session of the current day.
The static nature of the DayTrade channel after 12 PM ensures that the trendlines and projections do not shift mid-session, providing a stable framework for traders to assess whether price action respects or breaks these levels, potentially indicating trend continuation or reversal.
Static vs. Dynamic Channels
Static Channels: Once set (e.g., after 12 PM for the DayTrade channel or at the start of a new period for other timeframes), the trendlines remain fixed until the next period begins. This static behavior allows traders to use the channels as reference levels for potential price targets or reversal points, as they are based on historical price extremes.
Dynamic Projections: The projections extend the trendlines forward, providing a visual guide for potential future price action, assuming the trend’s momentum continues. When a trendline is broken (e.g., price closes above the upper projection or below the lower projection), it may suggest a breakout or reversal, prompting traders to reassess their positions.
2. Reflection Channels (DayTrade Only)
The DayTrade channel includes optional lower and upper reflection channels, which are additional trendlines positioned symmetrically around the main channel to provide extended support and resistance zones. These are controlled by the "Show Reflection Channel" dropdown.
Lower Reflection Channel:
Position: Drawn below the lower trendline at a distance equal to the range between the upper and lower trendlines.
Projection: Extends forward as a dashed line.
Heartline: A dashed line drawn at the midpoint between the lower trendline and the lower reflection trendline, controlled by the "Show Lower Reflection Heartline" toggle.
Upper Reflection Channel:
Position: Drawn above the upper trendline at the same distance as the main channel’s range.
Projection: Extends forward as a dashed line.
Heartline: A dashed line drawn at the midpoint between the upper trendline and the upper reflection trendline, controlled by the "Show Upper Reflection Heartline" toggle.
Display Control: The "Show Reflection Channel" dropdown allows users to select:
"None": No reflection channels are shown.
"Lower": Only the lower reflection channel is shown.
"Upper": Only the upper reflection channel is shown.
"Both": Both reflection channels are shown.
Purpose: Reflection channels extend the price range analysis by providing additional levels where price may react, acting as potential targets or reversal zones after breaking the main trendlines.
3. Heartlines
Each timeframe, including the DayTrade channel and its reflection channels, can display a heartline, which is a dashed line plotted at the midpoint between the upper and lower trendlines or their projections. For the DayTrade channel:
Main DayTrade Heartline: Midpoint between the upper and lower trendlines, controlled by the "Show DayTrade Heartline" toggle.
Lower Reflection Heartline: Midpoint between the lower trendline and the lower reflection trendline, controlled by the "Show Lower Reflection Heartline" toggle.
Upper Reflection Heartline: Midpoint between the upper trendline and the upper reflection trendline, controlled by the "Show Upper Reflection Heartline" toggle.
Independent Toggles: Visibility is controlled by:
"Show DayTrade Heartline": For the main DayTrade heartline.
"Show Lower Reflection Heartline": For the lower reflection heartline.
"Show Upper Reflection Heartline": For the upper reflection heartline.
Potential Volume Indicator: The heartline represents the average price level between the high and low of a period, which may correlate with areas of high trading activity or volume concentration, as these midpoints often align with price levels where buyers and sellers have historically converged. A break above or below the heartline, especially with strong momentum, may indicate a shift in market sentiment, potentially leading to accelerated price movement in the direction of the break. However, this is an observation based on the heartline’s position, not a direct measure of volume, as the script does not incorporate volume data.
4. Alerts
The script includes alert conditions for all timeframes, triggered when a candle closes fully above the upper projection or below the lower projection. For the DayTrade channel:
Upper Trend Break: Triggers when a candle closes fully above the upper projection.
Lower Trend Break: Triggers when a candle closes fully below the lower projection.
Alerts are combined across all timeframes, so a break in any timeframe triggers a general "Upper Trend Break" or "Lower Trend Break" alert with the message: "Candle closed fully above/below one or more projection lines." Alerts fire once per bar close.
5. Customization Options
The script provides extensive customization through input settings, grouped by timeframe:
DayTrade Channel:
"Show DayTrade Trend Lines": Toggle main trendlines and projections.
"Show DayTrade Heartline": Toggle main heartline.
"Show Lower Reflection Heartline": Toggle lower reflection heartline.
"Show Upper Reflection Heartline": Toggle upper reflection heartline.
"DayTrade Channel Color": Set color for trendlines.
"DayTrade Projection Channel Color": Set color for projections.
"Heartline Color": Set color for all heartlines.
"Show Reflection Channel": Dropdown to show "None," "Lower," "Upper," or "Both" reflection channels.
Other Timeframes (Weekly, Monthly, Quarterly, Yearly/All-Time):
Toggles for trendlines (e.g., "Show Weekly Trend Lines," "Show Monthly Trend Lines") and heartlines (e.g., "Show Weekly Heartline," "Show Monthly Heartline").
Period selection (e.g., "Weekly Period" for 1, 2, or 3 weeks; "Yearly Period" for 1 to 10 years or All Time).
Separate colors for trendlines (e.g., "Weekly Channel Color"), projections (e.g., "Weekly Projection Channel Color"), and heartlines (e.g., "Weekly Heartline Color").
Max Bar Difference: Limits the distance between anchor points to ensure relevance to recent price action.
Display
The indicator overlays the following elements on the chart:
Trendlines: Solid lines connecting the high and low anchor points for each timeframe, using user-specified colors (e.g., set via "DayTrade Channel Color").
Projections: Dashed lines extending from the current anchor points, indicating potential future price levels, using colors set via "DayTrade Projection Channel Color" or equivalent.
Heartlines: Dashed lines at the midpoint of each channel, using the color set via "Heartline Color" or equivalent.
Reflection Channels (DayTrade Only):
Lower reflection trendline and projection: Below the lower trendline, using the same colors as the main channel.
Upper reflection trendline and projection: Above the upper trendline, using the same colors.
Reflection heartlines: Midpoints between the main trendlines and their respective reflection trendlines, using the "Heartline Color."
Visual Clarity: Lines are only drawn if the relevant toggles (e.g., "Show DayTrade Trend Lines") are enabled and data is available. Lines are deleted when their conditions are not met to avoid clutter.
Trading Applications: Line-to-Line Trading
The SuperTrend indicator can be used to inform trading decisions by providing a framework for line-to-line trading, where traders use the trendlines, projections, and heartlines as reference points for entries, exits, and risk management. Below is a detailed explanation of how to use the DayTrade channel and its reflection channels for trading, focusing on their anchoring, static/dynamic behavior, and the heartline’s role.
1. Why DayTrade Channel Anchoring
The DayTrade channel’s anchoring to the previous day’s high/low and the current day’s high/low before 12 PM, controlled by the "Show DayTrade Trend Lines" toggle, captures significant price levels during high-volatility periods:
Previous Day High/Low: These represent key levels where price found resistance (high) or support (low) in the prior session, often acting as psychological or technical barriers in the current session.
Current Day High/Low Before 12 PM: The morning session (before 12 PM) often sees increased volatility due to market openings, news releases, or institutional activity. Anchoring to these early highs/lows ensures the channel reflects the most relevant price extremes, which are likely to influence intraday price action.
Static After 12 PM: By fixing the anchor points after 12 PM, the trendlines and projections become stable references for the afternoon session, allowing traders to anticipate price reactions at these levels without the lines shifting unexpectedly.
This anchoring makes the DayTrade channel particularly useful for intraday traders, as it provides a consistent framework based on recent price history, which can guide decisions on trend continuation or reversal.
2. Using Static Channels and Projections
The static nature of the DayTrade channel after 12 PM, enabled by "Show DayTrade Trend Lines," and the dynamic projections, set via "DayTrade Projection Channel Color," provide a structured approach to trading:
Support and Resistance:
The upper trendline and lower trendline act as dynamic support/resistance levels based on the previous and current day’s price extremes.
Traders may observe price reactions (e.g., bounces or breaks) at these levels. For example, if price approaches the lower trendline and bounces, it may indicate support, suggesting a potential long entry.
Projections as Price Targets:
The projections extend the trendlines forward, offering potential price targets if the trend continues. For instance, if price breaks above the upper trendline and continues toward the upper projection, traders might consider it a bullish continuation signal.
A candle closing fully above the upper projection or below the lower projection (triggering an alert) may indicate a breakout, prompting traders to enter in the direction of the break or reassess if the break fails.
Static Channels for Breakouts:
Because the trendlines are static after 12 PM, they serve as fixed reference points. A break above the upper trendline or its projection may suggest bullish momentum, while a break below the lower trendline or projection may indicate bearish momentum.
Traders can use these breaks to set entry points (e.g., entering a long position after a confirmed break above the upper projection) and place stop-losses below the broken level to manage risk.
3. Line-to-Line Trading Strategy
Line-to-line trading involves using the trendlines, projections, and reflection channels as sequential price targets or reversal zones:
Trading Within the Main Channel:
Long Setup: If price bounces off the lower trendline and moves toward the heartline (enabled by "Show DayTrade Heartline") or upper trendline, traders might enter a long position near the lower trendline, targeting the heartline or upper trendline for profit-taking. A stop-loss could be placed below the lower trendline to protect against a breakdown.
Short Setup: If price rejects from the upper trendline and moves toward the heartline or lower trendline, traders might enter a short position near the upper trendline, targeting the heartline or lower trendline, with a stop-loss above the upper trendline.
Trading to Reflection Channels:
If price breaks above the upper trendline and continues toward the upper reflection trendline or its projection (enabled by "Show Reflection Channel" set to "Upper" or "Both"), traders might treat this as a breakout trade, entering long with a target at the upper reflection level and a stop-loss below the upper trendline.
Similarly, a break below the lower trendline toward the lower reflection trendline or its projection (enabled by "Show Reflection Channel" set to "Lower" or "Both") could signal a short opportunity, with a target at the lower reflection level and a stop-loss above the lower trendline.
Reversal Trades:
If price reaches the upper reflection trendline and shows signs of rejection (e.g., a bearish candlestick pattern), traders might consider a short position, anticipating a move back toward the main channel’s upper trendline or heartline.
Conversely, a rejection at the lower reflection trendline could prompt a long position targeting the lower trendline or heartline.
Risk Management:
Use the heartline as a midpoint to gauge whether price is likely to continue toward the opposite trendline or reverse. For example, a failure to break above the heartline after bouncing from the lower trendline might suggest weakening bullish momentum, prompting a tighter stop-loss.
The static nature of the channels after 12 PM allows traders to set precise stop-loss and take-profit levels based on historical price levels, reducing the risk of chasing moving targets.
4. Heartline as a Volume Indicator
The heartline, controlled by toggles like "Show DayTrade Heartline," "Show Lower Reflection Heartline," and "Show Upper Reflection Heartline," may serve as an indirect proxy for areas of high trading activity:
Rationale: The heartline represents the average price between the high and low of a period, which often aligns with price levels where significant buying and selling have occurred, as these midpoints can correspond to areas of consolidation or high volume in the order book. While the script does not directly use volume data, the heartline’s position may reflect price levels where market participants have historically balanced supply and demand.
Breakout Potential: A break above or below the heartline, particularly with a strong candle (e.g., wide range or high momentum), may indicate a shift in market sentiment, potentially leading to accelerated price movement in the direction of the break. For example:
A close above the main DayTrade heartline could suggest buyers are overpowering sellers, potentially leading to a move toward the upper trendline or upper reflection channel.
A close below the heartline could indicate seller dominance, targeting the lower trendline or lower reflection channel.
Trading Application:
Traders might use heartline breaks as confirmation signals for trend continuation. For instance, after a bounce from the lower trendline, a close above the heartline could confirm bullish momentum, prompting a long entry.
The heartline can also act as a dynamic stop-loss or trailing stop level. For example, in a long trade, a trader might exit if price falls below the heartline, indicating a potential reversal.
For reflection heartlines, a break above the upper reflection heartline or below the lower reflection heartline could signal strong momentum, as these levels are further from the main channel and may require significant buying or selling pressure to breach.
5. Practical Trading Considerations
Timeframe Context: The DayTrade channel, enabled by "Show DayTrade Trend Lines," is best suited for intraday trading due to its daily anchoring and morning update behavior. Traders should consider higher timeframe channels (e.g., enabled by "Show Weekly Trend Lines" or "Show Monthly Trend Lines") for broader context, as breaks of the DayTrade channel may align with or be influenced by larger trends.
Confirmation Tools: Use additional indicators (e.g., RSI, MACD, or volume-based indicators) or candlestick patterns to confirm signals at trendlines, projections, or heartlines. The script’s alerts can help identify breakouts, but traders should verify with other technical or fundamental factors.
Risk Management: Always define risk-reward ratios before entering trades. For example, a 1:2 risk-reward ratio might involve risking a stop-loss below the lower trendline to target the heartline or upper trendline.
Market Conditions: The effectiveness of the channels and heartlines depends on market conditions (e.g., trending vs. ranging markets). In choppy markets, price may oscillate within the main channel, favoring range-bound strategies. In trending markets, breaks of projections or reflection channels may signal continuation trades.
Limitations: The indicator relies on historical price data and does not incorporate volume, news, or other external factors. Traders should use it as part of a broader strategy and avoid relying solely on its signals.
How to Use in TradingView
Add the Indicator: Copy the script into TradingView’s Pine Editor, compile it, and add it to your chart.
Configure Settings:
Enable "Show DayTrade Trend Lines" to display the main DayTrade trendlines and projections.
Use the "Show Reflection Channel" dropdown to select "Lower," "Upper," or "Both" to display reflection channels.
Toggle "Show DayTrade Heartline," "Show Lower Reflection Heartline," and "Show Upper Reflection Heartline" to control heartline visibility.
Adjust colors using "DayTrade Channel Color," "DayTrade Projection Channel Color," and "Heartline Color."
Enable other timeframes (e.g., "Show Weekly Trend Lines," "Show Monthly Trend Lines") for additional context, if desired.
Set Alerts: Configure alerts in TradingView for "Upper Trend Break" or "Lower Trend Break" to receive notifications when a candle closes fully above or below any timeframe’s projections.
Analyze the Chart:
Monitor price interactions with the trendlines, projections, and heartlines.
Look for bounces, breaks, or rejections at these levels to plan entries and exits.
Use the heartline breaks as potential confirmation of momentum shifts.
Test Strategies: Backtest line-to-line trading strategies in TradingView’s strategy tester or demo account to evaluate performance before trading with real capital.
Conclusion
The SuperTrend indicator provides a robust framework for technical analysis by plotting dynamic trend channels, projections, and heartlines across multiple timeframes, with advanced features for the DayTrade channel, including lower and upper reflection channels. The DayTrade channel’s anchoring to previous and current day highs/lows before 12 PM, enabled by "Show DayTrade Trend Lines," creates a stable reference for intraday trading, while static trendlines and dynamic projections guide traders in anticipating price movements. The heartlines, controlled by toggles like "Show DayTrade Heartline," offer potential insights into high-activity price levels, with breaks possibly indicating momentum shifts. Traders can use the indicator for line-to-line trading by targeting moves between trendlines, projections, and reflection channels, while managing risk with stop-losses and confirmations from other tools. The indicator should be used as part of a comprehensive trading plan.
Harish Algo 2The script "Harish Algo 2" is a Pine Script-based TradingView indicator that automatically identifies significant trendlines based on fractal points and tracks price interactions with those trendlines. Key features include:
Fractal Detection: The script identifies fractal highs and lows, using a configurable fractal period, to serve as pivot points for generating trendlines. Fractal highs are marked in blue, and fractal lows are marked in red.
Dynamic Trendlines: It draws trendlines between consecutive fractal points, with a limit on the maximum number of active trendlines. The trendlines can be extended either in both directions or to the right, as per user input. The line width can also be customized.
Support/Resistance Counting: Each trendline tracks how many times the price interacts with it. If the price approaches the line from above and touches or stays near it, the line is considered a support. If the price approaches from below, it is considered a resistance. These counts are used to modify the trendline's color and appearance.
Trendlines with 2 support interactions turn green.
Trendlines with 2 resistance interactions turn red.
Trendlines with 3 or more interactions turn black.
Trendline Styling: Trendlines that extend over a long period (more than 100 bars) change to a dotted style to highlight their persistence.
Break Detection: The script monitors if the price crosses a trendline, signaling a potential breakout or breakdown. Once a trendline is broken, it stops extending further.
Trendline Removal: The script ensures that only a limited number of trendlines are active at a time. If the maximum number of trendlines is reached, the oldest trendline is removed to make space for new ones.
This indicator is designed to help traders visualize important trendlines, spot potential support and resistance levels, and detect breakouts or breakdowns based on price movement.
Trendline Breakout Navigator [LuxAlgo]The Trendline Breakout Navigator indicator shows three trendlines, representing trends of different significance between Swing Points.
Dots highlight a Higher Low (HL) or Lower High (LH) that pierces through the Trendline without the closing price breaking the Trendline.
A bar color and background color option is included, which offers insights into the price against the trendlines.
🔶 USAGE
Trendlines (TL) are drawn, starting as a horizontal line from a Swing Point.
When an HL (in the case of a bullish TL) or an LH (bearish TL) is found, this Swing Point is connected to the first Swing Point. In both cases, the TL can be optimized when one or more historical close prices breach the TL (see DETAILS).
A solid-styled long-term trendline represents the overall market direction, while a dashed-styled medium-term trendline captures medium-term movements within the long-term trend. Finally, a dotted-styled short-term trendline tracks short-term fluctuations.
🔹 Swing Points vs. Trend
A "Higher High" (HH) or "Lower Low" (LL) will initialize a new trendline, respectively, starting from the previous "Swing Low" or Swing High".
To spot the trend shift, "HH/LL" labels and an optional background color are included. They can be enabled/disabled or set at "Long, Medium, or Short" term TL (Settings—"MS", "HH/LL" and "Background Color").
These features are linked to one Trendline of choice only.
Where the "HH/LL" labels can show a potential trend shift, the background color is:
Green from the moment the close price breaks above a bearish trendline or when an HH occurs
Red from the moment the close price breaks below a bullish trendline or when an LL occurs
🔹 Bar Color
The bar color will depend on the location of the closing price against the three trendlines. When a trendline is unavailable (for example, if the close price breaks the TL and there is no HH/LL), the last known trendline value will be considered.
All three trendlines influence the bar color.
If the close price is above the "Long Term" TL, the bar color will show a gradient of green, darker when the close price is below the "Medium Term" and/or "Short Term" TLs.
On the other hand, when the close price is below the "Long Term" TL, the bar color will show a gradient of red, which becomes darker when the close price is above the "Medium Term" and/or "Short Term" TLs.
To keep the above example simple, only the "Long Term" TL is considered. The white line (not included in the script) resembles the actual value of the TL at each bar, where you can see the effect on the bar color.
Combined with the trendlines and dots, the bar color can provide extra depth and insights into the underlying trends.
🔹 Tested Trendlines
If a new HL/LH pierces the Trendline without the close price breaking the Trendline, the Trendline will be updated.
The exact location where the price exceeded the Trendline is visualized by a dot, colored blue on a bullish trendline and orange when bearish.
These dots can be indicative of a potential trend continuation or reversal.
🔹 Higher TimeFrame Option
The "Period" setting enables users to visualize higher-timeframe trendlines as long as the line length doesn't exceed 5000 bars.
🔶 DETAILS
When a new trendline is drawn, the script first draws a preliminary line and then checks whether a historical close price exceeded this line above (in the case of a bearish TL) or below (in a bullish case).
Subsequently, the most valid point in between is chosen as the starting point of the Trendline.
🔶 SETTINGS
Period: Choose "chart" for trendlines from the current chart timeframe, or choose a higher timeframe
🔹 Swing Length
Toggle and Swing Length for three trendlines: Period used for the swing detection, with higher values returning longer-term Swing Levels.
🔹 Style
Trendline: color for bullish/bearish Trendline
Wick Dot: color for bullish/bearish trendline test
Term: Long-, medium- or short-term
HH/LL: Show HH/LL labels (with or without previous Swing High/Low) of chosen Term
Background Color: Green when the closing price is above the trendline of choice, red otherwise
Bar Color
Live Market - Performance MonitorLive Market — Performance Monitor
Study material (no code) — step-by-step training guide for learners
________________________________________
1) What this tool is — short overview
This indicator is a live market performance monitor designed for learning. It scans price, volume and volatility, detects order blocks and trendline events, applies filters (volume & ATR), generates trade signals (BUY/SELL), creates simple TP/SL trade management, and renders a compact dashboard summarizing market state, risk and performance metrics.
Use it to learn how multi-factor signals are constructed, how Greeks-style sensitivity is replaced by volatility/ATR reasoning, and how a live dashboard helps monitor trade quality.
________________________________________
2) Quick start — how a learner uses it (step-by-step)
1. Add the indicator to a chart (any ticker / timeframe).
2. Open inputs and review the main groups: Order Block, Trendline, Signal Filters, Display.
3. Start with defaults (OB periods ≈ 7, ATR multiplier 0.5, volume threshold 1.2) and observe the dashboard on the last bar.
4. Walk the chart back in time (use the last-bar update behavior) and watch how signals, order blocks, trendlines, and the performance counters change.
5. Run the hands-on labs below to build intuition.
________________________________________
3) Main configurable inputs (what you can tweak)
• Order Block Relevant Periods (default ~7): number of consecutive candles used to define an order block.
• Min. Percent Move for Valid OB (threshold): minimum percent move required for a valid order block.
• Number of OB Channels: how many past order block lines to keep visible.
• Trendline Period (tl_period): pivot lookback for detecting highs/lows used to draw trendlines.
• Use Wicks for Trendlines: whether pivot uses wicks or body.
• Extension Bars: how far trendlines are projected forward.
• Use Volume Filter + Volume Threshold Multiplier (e.g., 1.2): requires volume to be greater than multiplier × average volume.
• Use ATR Filter + ATR Multiplier: require bar range > ATR × multiplier to filter noise.
• Show Targets / Table settings / Colors for visualization.
________________________________________
4) Core building blocks — what the script computes (plain language)
Price & trend:
• Spot / LTP: current close price.
• EMA 9 / 21 / 50: fast, medium, slow moving averages to define short/medium trend.
o trend_bullish: EMA9 > EMA21 > EMA50
o trend_bearish: EMA9 < EMA21 < EMA50
o trend_neutral: otherwise
Volatility & noise:
• ATR (14): average true range used for dynamic target and filter sizing.
• dynamic_zone = ATR × atr_multiplier: minimum bar range required for meaningful move.
• Annualized volatility: stdev of price changes × sqrt(252) × 100 — used to classify volatility (HIGH/MEDIUM/LOW).
Momentum & oscillators:
• RSI 14: overbought/oversold indicator (thresholds 70/30).
• MACD: EMA(12)-EMA(26) and a 9-period signal line; histogram used for momentum direction and strength.
• Momentum (ta.mom 10): raw momentum over 10 bars.
Mean reversion / band context:
• Bollinger Bands (20, 2σ): upper, mid, lower.
o price_position measures where price sits inside the band range as 0–100.
Volume metrics:
• avg_volume = SMA(volume, 20) and volume_spike = volume > avg_volume × volume_threshold
o volume_ratio = volume / avg_volume
Support & Resistance:
• support_level = lowest low over 20 bars
• resistance_level = highest high over 20 bars
• current_position = percent of price between support & resistance (0–100)
________________________________________
5) Order Block detection — concept & logic
What it tries to find: a bar (the base) followed by N candles in the opposite direction (a classical order block setup), with a minimum % move to qualify. The script records the high/low of the base candle, averages them, and plots those levels as OB channels.
How learners should think about it (conceptual):
1. An order block is a signature area where institutions (theory) left liquidity — often seen as a large bar followed by a sequence of directional candles.
2. This indicator uses a configurable number of subsequent candles to confirm that the pattern exists.
3. When found, it stores and displays the base candle’s high/low area so students can see how price later reacts to those zones.
Implementation note for learners: the tool keeps a limited history of OB lines (ob_channels). When new OBs exceed the count, the oldest lines are removed — good practice to avoid clutter.
________________________________________
6) Trendline detection — idea & interpretation
• The script finds pivot highs and lows using a symmetric lookback (tl_period and half that as right/left).
• It then computes a trendline slope from successive pivots and projects the line forward (extension_bars).
• Break detection: Resistance break = close crosses above the projected resistance line; Support break = close crosses below projected support.
Learning tip: trendlines here are computed from pivot points and time. Watch how changing tl_period (bigger = smoother, fewer pivots) alters the trendlines and break signals.
________________________________________
7) Signal generation & filters — step-by-step
1. Primary triggers:
o Bullish trigger: order block bullish OR resistance trendline break.
o Bearish trigger: bearish order block OR support trendline break.
2. Filters applied (both must pass unless disabled):
o Volume filter: volume must be > avg_volume × volume_threshold.
o ATR filter: bar range (high-low) must exceed ATR × atr_multiplier.
o Not in an existing trade: new trades only start if trade_active is false.
3. Trend confirmation:
o The primary trigger is only confirmed if trend is bullish/neutral for buys or bearish/neutral for sells (EMA alignment).
4. Result:
o When confirmed, a long or short trade is activated with TP/SL calculated from ATR multiples.
________________________________________
8) Trade management — what the tool does after a signal
• Entry management: the script marks a trade as trade_active and sets long_trade or short_trade flags.
• TP & SL rules:
o Long: TP = high + 2×ATR ; SL = low − 1×ATR
o Short: TP = low − 2×ATR ; SL = high + 1×ATR
• Monitoring & exit:
o A trade closes when price reaches TP or SL.
o When TP/SL hit, the indicator updates win_count and total_pnl using a very simple calculation (difference between TP/SL and previous close).
o Visual lines/labels are drawn for TP and updated as the trade runs.
Important learner notes:
• The script does not store a true entry price (it uses close in its P&L math), so PnL is an approximation — treat this as a learning proxy, not a position accounting system.
• There’s no sizing, slippage, or fee accounted — students must manually factor these when translating to real trades.
• This indicator is not a backtesting strategy; strategy.* functions would be needed for rigorous backtest results.
________________________________________
9) Signal strength & helper utilities
• Signal strength is a composite score (0–100) made up of four signals worth 25 points each:
1. RSI extreme (overbought/oversold) → 25
2. Volume spike → 25
3. MACD histogram magnitude increasing → 25
4. Trend existence (bull or bear) → 25
• Progress bars (text glyphs) are used to visually show RSI and signal strength on the table.
Learning point: composite scoring is a way to combine orthogonal signals — study how changing weights changes outcomes.
________________________________________
10) Dashboard — how to read each section (walkthrough)
The dashboard is split into sections; here's how to interpret them:
1. Market Overview
o LTP / Change%: immediate price & daily % change.
2. RSI & MACD
o RSI value plus progress bar (overbought 70 / oversold 30).
o MACD histogram sign indicates bullish/bearish momentum.
3. Volume Analysis
o Volume ratio (current / average) and whether there’s a spike.
4. Order Block Status
o Buy OB / Sell OB: the average base price of detected order blocks or “No Signal.”
5. Signal Status
o 🔼 BUY or 🔽 SELL if confirmed, or ⚪ WAIT.
o No-trade vs Active indicator summarizing market readiness.
6. Trend Analysis
o Trend direction (from EMAs), market sentiment score (composite), volatility level and band/position metrics.
7. Performance
o Win Rate = wins / signals (percentage)
o Total PnL = cumulative PnL (approximate)
o Bull / Bear Volume = accumulated volumes attributable to signals
8. Support & Resistance
o 20-bar highest/lowest — use as nearby reference points.
9. Risk & R:R
o Risk Level from ATR/price as a percent.
o R:R Ratio computed from TP/SL if a trade is active.
10. Signal Strength & Active Trade Status
• Numeric strength + progress bar and whether a trade is currently active with TP/SL display.
________________________________________
11) Alerts — what will notify you
The indicator includes pre-built alert triggers for:
• Bullish confirmed signal
• Bearish confirmed signal
• TP hit (long/short)
• SL hit (long/short)
• No-trade zone
• High signal strength (score > 75%)
Training use: enable alerts during a replay session to be notified when the indicator would have signalled.
________________________________________
12) Labs — hands-on exercises for learners (step-by-step)
Lab A — Order Block recognition
1. Pick a 15–30 minute timeframe on a liquid ticker.
2. Use default OB periods (7). Mark each time the dashboard shows a Buy/Sell OB.
3. Manually inspect the chart at the base candle and the following sequence — draw the OB zone by hand and watch later price reactions to it.
4. Repeat with OB periods 5 and 10; note stability vs noise.
Lab B — Trendline break confirmation
1. Increase trendline period (e.g., 20), watch trendlines form from pivots.
2. When a resistance break is flagged, compare with MACD & volume: was momentum aligned?
3. Note false breaks vs confirmed moves — change extension_bars to see projection effects.
Lab C — Filter sensitivity
1. Toggle Use Volume Filter off, and record the number and quality of signals in a 2-day window.
2. Re-enable volume filter and change threshold from 1.2 → 1.6; note how many low-quality signals are filtered out.
Lab D — Trade management simulation
1. For each signalled trade, record the time, close entry approximation, TP, SL, and eventual hit/miss.
2. Compute actual PnL if you had entered at the open of the next bar to compare with the script’s PnL math.
3. Tabulate win rate and average R:R.
Lab E — Performance review & improvement
1. Build a spreadsheet of signals over 30–90 periods with columns: Date, Signal type, Entry price (real), TP, SL, Exit, PnL, Notes.
2. Analyze which filters or indicators contributed most to winners vs losers and adjust weights.
________________________________________
13) Common pitfalls, assumptions & implementation notes (things to watch)
• P&L simplification: total_pnl uses close as a proxy entry price. Real entry/exit prices and slippage are not recorded — so PnL is approximate.
• No position sizing or money management: the script doesn’t compute position size from equity or risk percent.
• Signal confirmation logic: composite "signal_strength" is a simple 4×25 point scheme — explore different weights or additional signals.
• Order block detection nuance: the script defines the base candle and checks the subsequent sequence. Be sure to verify whether the intended candle direction (base being bullish vs bearish) aligns with academic/your trading definition — read the code carefully and test.
• Trendline slope over time: slope is computed using timestamps; small differences may make lines sensitive on very short timeframes — using bar_index differences is usually more stable.
• Not a true backtester: to evaluate performance statistically you must transform the logic into a strategy script that places hypothetical orders and records exact entry/exit prices.
________________________________________
14) Suggested improvements for advanced learners
• Record true entry price & timestamp for accurate PnL.
• Add position sizing: risk % per trade using SL distance and account size.
• Convert to strategy. (Pine Strategy)* to run formal backtests with equity curves, drawdowns, and metrics (Sharpe, Sortino).
• Log trades to an external spreadsheet (via alerts + webhook) for offline analysis.
• Add statistics: average win/loss, expectancy, max drawdown.
• Add additional filters: news time blackout, market session filters, multi-timeframe confirmation.
• Improve OB detection: combine wick/body, volume spike at base bar, and liquidity sweep detection.
________________________________________
15) Glossary — quick definitions
• ATR (Average True Range): measure of typical range; used to size targets and stops.
• EMA (Exponential Moving Average): trend smoothing giving more weight to recent prices.
• RSI (Relative Strength Index): momentum oscillator; >70 overbought, <30 oversold.
• MACD: momentum oscillator using difference of two EMAs.
• Bollinger Bands: volatility bands around SMA.
• Order Block: a base candle area with subsequent confirmation candles; a zone of institutional interest (learning model).
• Pivot High/Low: local turning point defined by candles on both sides.
• Signal Strength: combined score from multiple indicators.
• Win Rate: proportion of signals that hit TP vs total signals.
• R:R (Risk:Reward): ratio of potential reward (TP distance) to risk (entry to SL).
________________________________________
16) Limitations & assumptions (be explicit)
• This is an indicator for learning — not a trading robot or broker connection.
• No slippage, fees, commissions or tie-in to real orders are considered.
• The logic is heuristic (rule-of-thumb), not a guarantee of performance.
• Results are sensitive to timeframe, market liquidity, and parameter choices.
________________________________________
17) Practical classroom / study plan (4 sessions)
• Session 1 — Foundations: Understand EMAs, ATR, RSI, MACD, Bollinger Bands. Run the indicator and watch how these numbers change on a single day.
• Session 2 — Zones & Filters: Study order blocks and trendlines. Test volume & ATR filters and note changes in false signals.
• Session 3 — Simulated trading: Manually track 20 signals, compute real PnL and compare to the dashboard.
• Session 4 — Improvement plan: Propose changes (e.g., better PnL accounting, alternative OB rule) and test their impact.
________________________________________
18) Quick reference checklist for each signal
1. Was an order block or trendline break detected? (primary trigger)
2. Did volume meet threshold? (filter)
3. Did ATR filter (bar size) show a real move? (filter)
4. Was trend aligned (EMA 9/21/50)? (confirmation)
5. Signal confirmed → mark entry approximation, TP, SL.
6. Monitor dashboard (Signal Strength, Volatility, No-trade zone, R:R).
7. After exit, log real entry/exit, compute actual PnL, update spreadsheet.
________________________________________
19) Educational caveat & final note
This tool is built for training and analysis: it helps you see how common technical building blocks combine into trade ideas, but it is not a trading recommendation. Use it to develop judgment, to test hypotheses, and to design robust systems with proper backtesting and risk control before risking capital.
________________________________________
20) Disclaimer (must include)
Training & Educational Only — This material and the indicator are provided for educational purposes only. Nothing here is investment advice or a solicitation to buy or sell financial instruments. Past simulated or historical performance does not predict future results. Always perform full backtesting and risk management, and consider seeking advice from a qualified financial professional before trading with real capital.
________________________________________
BTC Trendline Patterns with Signals BTC Trendline Patterns with Signals
This custom Pine Script indicator automatically detects key pivot points in Bitcoin price action and draws support and resistance trendlines. The indicator provides buy (long) and sell (short) signals when these trendlines are broken. This can help traders identify potential breakout opportunities and trend reversals based on established price levels.
Features:
Pivot Point Detection: Automatically identifies pivot highs and lows in the price chart, based on customizable parameters (Pivot Left and Pivot Right).
Support and Resistance Trendlines: Draws trendlines based on the identified pivot points. These lines represent significant price levels where price may experience support or resistance.
Breakout Signals: Provides buy (long) and sell (short) signals when the price breaks above the resistance trendline (for buy signals) or below the support trendline (for sell signals).
Customizable Pivot Lengths: Adjust the number of bars considered for determining pivot points using the Pivot Left and Pivot Right input parameters.
How it Works:
Pivot Detection: The script identifies the highest high (pivotHigh) and the lowest low (pivotLow) within a specific range of bars (defined by Pivot Left and Pivot Right).
Trendline Plotting: Once pivots are detected, the script draws resistance (red) and support (green) trendlines connecting the most recent pivots. These trendlines act as dynamic support and resistance levels.
Breakout Signals: The script generates signals:
BUY (Long): Triggered when the price breaks above the most recent resistance trendline.
SELL (Short): Triggered when the price breaks below the most recent support trendline.
Parameters:
Pivot Left: Number of bars to the left of the pivot point to consider.
Pivot Right: Number of bars to the right of the pivot point to consider.
Line Width: Customizable line width for drawing trendlines.
Ideal Use:
Timeframes: This indicator works well on timeframes ranging from 1-minute to daily charts. For best results, use it on 1-hour, 4-hour, or daily charts.
Strategy: Ideal for breakout traders or trend-following strategies. Use it to identify potential entry points when price breaks key levels of support or resistance.
Example Use Case:
Swing Traders: Traders looking for potential breakouts can use this script to identify key levels in the market and wait for the price to break through resistance for a long trade or support for a short trade.
Day Traders: For those looking to enter and exit trades in a single day, this indicator can help pinpoint areas of support and resistance, and provide actionable signals when price breaks those levels.
Disclaimer:
This script is not a guarantee of success and should be used in conjunction with other technical analysis tools. Always perform additional research and backtesting before live trading.
Important Notes:
The pivot points and trendlines may adjust dynamically as the price evolves. Adjust the pivot settings to suit the volatility and timeframe of the market you're trading.
This indicator works best when combined with other indicators such as volume, RSI, or MACD for confirmation.
How to Use:
Add the indicator to your chart.
Adjust the Pivot Left and Pivot Right parameters to fine-tune the pivot point detection.
Monitor for trendline breakouts. When the price breaks above the resistance line, a BUY signal will appear. When the price breaks below the support line, a SELL signal will appear.
Use the signals to enter trades at the right moment.
Final Notes:
If you're submitting to TradingView for publishing, keep your description clear and informative, but also concise. Traders need to quickly understand how your indicator works, what parameters they can adjust, and how it might fit into their trading strategy.






















