Support and Resistance LinesDraw the last 5 support and resistance lines. It works on the current timeframe. You can adjust the sensibility by changing the diff variable.
Cerca negli script per "support"
Support, Resistance, MA, and ADXSummary
This comprehensive script provides traders with a tool that highlights critical levels of support and resistance, detects significant price breakouts with volume confirmation, identifies potential reversals with wick analysis, and plots a moving average that changes color based on trend strength as indicated by the ADX. It is useful for spotting entry and exit points, confirming breakouts, and identifying trend direction and strength.
SOLARIZED PERSISTENT S/R LINESSupport and Resistance Lines Persist until new S/R lines are established.
Support and ResistanceThis script uses pivot point calculations to determine support and resistance areas.
Hilbert Sine Wave Support and ResistanceSupport and Resistance plotted to match John Ehler's Hilbert Sine Wave
ZigZag█ Overview
This Pine Script™ library provides a comprehensive implementation of the ZigZag indicator using advanced object-oriented programming techniques. It serves as a developer resource rather than a standalone indicator, enabling Pine Script™ programmers to incorporate sophisticated ZigZag calculations into their own scripts.
Pine Script™ libraries contain reusable code that can be imported into indicators, strategies, and other libraries. For more information, consult the Libraries section of the Pine Script™ User Manual.
█ About the Original
This library is based on TradingView's official ZigZag implementation .
The original code provides a solid foundation with user-defined types and methods for calculating ZigZag pivot points.
█ What is ZigZag?
The ZigZag indicator filters out minor price movements to highlight significant market trends.
It works by:
1. Identifying significant pivot points (local highs and lows)
2. Connecting these points with straight lines
3. Ignoring smaller price movements that fall below a specified threshold
Traders typically use ZigZag for:
- Trend confirmation
- Identifying support and resistance levels
- Pattern recognition (such as Elliott Waves)
- Filtering out market noise
The algorithm identifies pivot points by analyzing price action over a specified number of bars, then only changes direction when price movement exceeds a user-defined percentage threshold.
█ My Enhancements
This modified version extends the original library with several key improvements:
1. Support and Resistance Visualization
- Adds horizontal lines at pivot points
- Customizable line length (offset from pivot)
- Adjustable line width and color
- Option to extend lines to the right edge of the chart
2. Support and Resistance Zones
- Creates semi-transparent zone areas around pivot points
- Customizable width for better visibility of important price levels
- Separate colors for support (lows) and resistance (highs)
- Visual representation of price areas rather than just single lines
3. Zig Zag Lines
- Separate colors for upward and downward ZigZag movements
- Visually distinguishes between bullish and bearish price swings
- Customizable colors for text
- Width customization
4. Enhanced Settings Structure
- Added new fields to the Settings type to support the additional features
- Extended Pivot type with supportResistance and supportResistanceZone fields
- Comprehensive configuration options for visual elements
These enhancements make the ZigZag more useful for technical analysis by clearly highlighting support/resistance levels and zones, and providing clearer visual cues about market direction.
█ Technical Implementation
This library leverages Pine Script™'s user-defined types (UDTs) to create a robust object-oriented architecture:
- Settings : Stores configuration parameters for calculation and display
- Pivot : Represents pivot points with their visual elements and properties
- ZigZag : Manages the overall state and behavior of the indicator
The implementation follows best practices from the Pine Script™ User Manual's Style Guide and uses advanced language features like methods and object references. These UDTs represent Pine Script™'s most advanced feature set, enabling sophisticated data structures and improved code organization.
For newcomers to Pine Script™, it's recommended to understand the language fundamentals before working with the UDT implementation in this library.
█ Usage Example
//@version=6
indicator("ZigZag Example", overlay = true, shorttitle = 'ZZA', max_bars_back = 5000, max_lines_count = 500, max_labels_count = 500, max_boxes_count = 500)
import andre_007/ZigZag/1 as ZIG
var group_1 = "ZigZag Settings"
//@variable Draw Zig Zag on the chart.
bool showZigZag = input.bool(true, "Show Zig-Zag Lines", group = group_1, tooltip = "If checked, the Zig Zag will be drawn on the chart.", inline = "1")
// @variable The deviation percentage from the last local high or low required to form a new Zig Zag point.
float deviationInput = input.float(5.0, "Deviation (%)", minval = 0.00001, maxval = 100.0,
tooltip = "The minimum percentage deviation from a previous pivot point required to change the Zig Zag's direction.", group = group_1, inline = "2")
// @variable The number of bars required for pivot detection.
int depthInput = input.int(10, "Depth", minval = 1, tooltip = "The number of bars required for pivot point detection.", group = group_1, inline = "3")
// @variable registerPivot (series bool) Optional. If `true`, the function compares a detected pivot
// point's coordinates to the latest `Pivot` object's `end` chart point, then
// updates the latest `Pivot` instance or adds a new instance to the `ZigZag`
// object's `pivots` array. If `false`, it does not modify the `ZigZag` object's
// data. The default is `true`.
bool allowZigZagOnOneBarInput = input.bool(true, "Allow Zig Zag on One Bar", tooltip = "If checked, the Zig Zag calculation can register a pivot high and pivot low on the same bar.",
group = group_1, inline = "allowZigZagOnOneBar")
var group_2 = "Display Settings"
// @variable The color of the Zig Zag's lines (up).
color lineColorUpInput = input.color(color.green, "Line Colors for Up/Down", group = group_2, inline = "4")
// @variable The color of the Zig Zag's lines (down).
color lineColorDownInput = input.color(color.red, "", group = group_2, inline = "4",
tooltip = "The color of the Zig Zag's lines")
// @variable The width of the Zig Zag's lines.
int lineWidthInput = input.int(1, "Line Width", minval = 1, tooltip = "The width of the Zig Zag's lines.", group = group_2, inline = "w")
// @variable If `true`, the Zig Zag will also display a line connecting the last known pivot to the current `close`.
bool extendInput = input.bool(true, "Extend to Last Bar", tooltip = "If checked, the last pivot will be connected to the current close.",
group = group_1, inline = "5")
// @variable If `true`, the pivot labels will display their price values.
bool showPriceInput = input.bool(true, "Display Reversal Price",
tooltip = "If checked, the pivot labels will display their price values.", group = group_2, inline = "6")
// @variable If `true`, each pivot label will display the volume accumulated since the previous pivot.
bool showVolInput = input.bool(true, "Display Cumulative Volume",
tooltip = "If checked, the pivot labels will display the volume accumulated since the previous pivot.", group = group_2, inline = "7")
// @variable If `true`, each pivot label will display the change in price from the previous pivot.
bool showChgInput = input.bool(true, "Display Reversal Price Change",
tooltip = "If checked, the pivot labels will display the change in price from the previous pivot.", group = group_2, inline = "8")
// @variable Controls whether the labels show price changes as raw values or percentages when `showChgInput` is `true`.
string priceDiffInput = input.string("Absolute", "", options = ,
tooltip = "Controls whether the labels show price changes as raw values or percentages when 'Display Reversal Price Change' is checked.",
group = group_2, inline = "8")
// @variable If `true`, the Zig Zag will display support and resistance lines.
bool showSupportResistanceInput = input.bool(true, "Show Support/Resistance Lines",
tooltip = "If checked, the Zig Zag will display support and resistance lines.", group = group_2, inline = "9")
// @variable The number of bars to extend the support and resistance lines from the last pivot point.
int supportResistanceOffsetInput = input.int(50, "Support/Resistance Offset", minval = 0,
tooltip = "The number of bars to extend the support and resistance lines from the last pivot point.", group = group_2, inline = "10")
// @variable The width of the support and resistance lines.
int supportResistanceWidthInput = input.int(1, "Support/Resistance Width", minval = 1,
tooltip = "The width of the support and resistance lines.", group = group_2, inline = "11")
// @variable The color of the support lines.
color supportColorInput = input.color(color.red, "Support/Resistance Color", group = group_2, inline = "12")
// @variable The color of the resistance lines.
color resistanceColorInput = input.color(color.green, "", group = group_2, inline = "12",
tooltip = "The color of the support/resistance lines.")
// @variable If `true`, the support and resistance lines will be drawn as zones.
bool showSupportResistanceZoneInput = input.bool(true, "Show Support/Resistance Zones",
tooltip = "If checked, the support and resistance lines will be drawn as zones.", group = group_2, inline = "12-1")
// @variable The color of the support zones.
color supportZoneColorInput = input.color(color.new(color.red, 70), "Support Zone Color", group = group_2, inline = "12-2")
// @variable The color of the resistance zones.
color resistanceZoneColorInput = input.color(color.new(color.green, 70), "", group = group_2, inline = "12-2",
tooltip = "The color of the support/resistance zones.")
// @variable The width of the support and resistance zones.
int supportResistanceZoneWidthInput = input.int(10, "Support/Resistance Zone Width", minval = 1,
tooltip = "The width of the support and resistance zones.", group = group_2, inline = "12-3")
// @variable If `true`, the support and resistance lines will extend to the right of the chart.
bool supportResistanceExtendInput = input.bool(false, "Extend to Right",
tooltip = "If checked, the lines will extend to the right of the chart.", group = group_2, inline = "13")
// @variable References a `Settings` instance that defines the `ZigZag` object's calculation and display properties.
var ZIG.Settings settings =
ZIG.Settings.new(
devThreshold = deviationInput,
depth = depthInput,
lineColorUp = lineColorUpInput,
lineColorDown = lineColorDownInput,
textUpColor = lineColorUpInput,
textDownColor = lineColorDownInput,
lineWidth = lineWidthInput,
extendLast = extendInput,
displayReversalPrice = showPriceInput,
displayCumulativeVolume = showVolInput,
displayReversalPriceChange = showChgInput,
differencePriceMode = priceDiffInput,
draw = showZigZag,
allowZigZagOnOneBar = allowZigZagOnOneBarInput,
drawSupportResistance = showSupportResistanceInput,
supportResistanceOffset = supportResistanceOffsetInput,
supportResistanceWidth = supportResistanceWidthInput,
supportColor = supportColorInput,
resistanceColor = resistanceColorInput,
supportResistanceExtend = supportResistanceExtendInput,
supportResistanceZoneWidth = supportResistanceZoneWidthInput,
drawSupportResistanceZone = showSupportResistanceZoneInput,
supportZoneColor = supportZoneColorInput,
resistanceZoneColor = resistanceZoneColorInput
)
// @variable References a `ZigZag` object created using the `settings`.
var ZIG.ZigZag zigZag = ZIG.newInstance(settings)
// Update the `zigZag` on every bar.
zigZag.update()
//#endregion
The example code demonstrates how to create a ZigZag indicator with customizable settings. It:
1. Creates a Settings object with user-defined parameters
2. Instantiates a ZigZag object using these settings
3. Updates the ZigZag on each bar to detect new pivot points
4. Automatically draws lines and labels when pivots are detected
This approach provides maximum flexibility while maintaining readability and ease of use.
Volumetric Volatility Breaker Blocks [UAlgo]The "Volumetric Volatility Breaker Blocks " indicator is designed for traders who want a comprehensive understanding of market volatility combined with volume analysis. This indicator provides a clear visualization of significant volatility areas (or blocks), characterized by price movements that exceed a specific volatility threshold, as calculated using the ATR (Average True Range). The concept is enhanced by integrating volume-based insights, offering a view of market activity that helps users to recognize when significant price changes are being supported by an appropriate level of market participation.
The indicator calculates breaker blocks for both bullish and bearish market conditions, providing distinct visual elements that identify periods of high volatility and substantial volume divergence. The focus on both volume and volatility makes this tool versatile, allowing traders to assess the strength of price movements as well as areas where price might break above or below previously established levels.
It supports adjustable parameters, such as volatility length, smoothness factor, and volume display, allowing traders to fine-tune the indicator according to their trading strategy and market environment. The highlighted breaker blocks assist in identifying zones of potential price reversal or continuation, which can be critical for making informed trading decisions.
🔶 Key Features
Volatility-Based Block Identification: The indicator uses the Average True Range (ATR) to determine the volatility of the market. When the ATR exceeds a specified threshold (smooth ATR multiplied by a user-defined multiplier), it highlights these areas as volatility blocks. The idea is to mark periods where price activity is significantly divergent from normal conditions, which often signals market opportunities.
Volume Integrated Analysis: In addition to tracking volatility, the indicator incorporates volume data, allowing traders to see the amount of activity that occurs during these high-volatility periods. This helps in identifying whether a price movement is likely sustainable or whether it lacks market support.
User Adjustable Parameters: The indicator offers customization options for the volatility length (using ATR), smooth length, and multiplier for sensitivity adjustment. These settings enable users to modify the indicator’s responsiveness to market conditions.
The option to display the last few volatility blocks allows traders to manage clutter on their charts and focus only on the most recent significant data.
Mitigation Method: Users can select between different mitigation methods ("Close" or "Wick") to determine how blocks are broken. This adds an extra layer of adaptability, allowing traders to modify the indicator's response based on different price action strategies.
Dynamic Visual Representation: The indicator dynamically draws boxes for volatility blocks and shades them according to market direction, with split areas showing the bullish and bearish strength contributions. It also provides percentage volume for each block, helping traders understand the relative market participation during these moves.
🔶 Interpreting the Indicator
Identifying High Volatility Areas: When a new volatility block appears, it signifies that the market is experiencing higher-than-usual volatility, driven by increased ATR values. Traders should pay attention to these blocks, as they often indicate that a significant price move is occurring. Bullish blocks suggest upward pressure, whereas bearish blocks indicate downward pressure.
Volume Insights: The volume associated with each volatility block provides an insight into how much market participation accompanies these moves. Higher volume within a block implies that the market is actively supporting the price change, which may be a sign of continuation. Low volume suggests that the movement may lack the strength to persist.
Bullish vs. Bearish Strength Analysis: Each block is split into bullish and bearish strength, giving a clearer picture of what’s happening within the volatility period. If the bullish portion dominates, it indicates strong upward sentiment during that period. Conversely, if the bearish side is more prominent, there is more selling pressure. This breakdown helps in understanding intra-block market dynamics.
Volume Percentage Display: The indicator also displays the volume percentage in each block, which provides context for the strength of the move relative to recent market activity. Higher percentages mean more market engagement, which could confirm the legitimacy of a trend or a significant breakout.
🔶 Disclaimer
Use with Caution: This indicator is provided for educational and informational purposes only and should not be considered as financial advice. Users should exercise caution and perform their own analysis before making trading decisions based on the indicator's signals.
Not Financial Advice: The information provided by this indicator does not constitute financial advice, and the creator (UAlgo) shall not be held responsible for any trading losses incurred as a result of using this indicator.
Backtesting Recommended: Traders are encouraged to backtest the indicator thoroughly on historical data before using it in live trading to assess its performance and suitability for their trading strategies.
Risk Management: Trading involves inherent risks, and users should implement proper risk management strategies, including but not limited to stop-loss orders and position sizing, to mitigate potential losses.
No Guarantees: The accuracy and reliability of the indicator's signals cannot be guaranteed, as they are based on historical price data and past performance may not be indicative of future results.
Clean Pivot Lines with AlertsTechnical Overview
This Script is designed for detecting untouched pivot highs and lows. It draws horizontal levels only when those pivots remain unviolated within a configurable lookback window and removes them automatically upon price breaches or sweeps.
Key components include:
Pivot detection logic : Utilizes ta.pivothigh()/ta.pivotlow() (or equivalent via request.security for HTF) with parameterized pivotLength to ensure flexibility and adaptability to different timeframes.
Cleanliness filtering : Checks lookbackBars prior to line creation to skip levels already violated, ensuring only uncontaminated pivots are used.
Dynamic level tracking : Stores active levels in arrays (highLines, lowLines) for continuous real-time monitoring.
Violation logic : Detects both close-based breaks (breakAbove/breakBelow) and wick-based sweeps (sweepAbove/sweepBelow), triggering alerts and automatic teardown.
Periodic housekeeping : Every N (10) confirmed bars, re-verifies “clean” status and removes silently invalidated levels—maintaining chart hygiene and avoiding stale overlays.
Customization options : Supports pivot timeframe override, colors, line width/style, lookback length, and alert toggling.
Utility
This overlay script provides a disciplined workflow for drawing meaningful support/resistance levels, filtering out contaminated pivot points, and signaling validations (breaks/sweeps) with alerts. Its modular design and HTF support facilitate integration into systematic workflows, offering far more utility than mere static pivot plots.
Usage Instructions
1. Adjust `pivot_timeframe`, `pivot_length`, and `lookback_bars` to suit your strategy timeframe and volatility structure.
2. Customize visual parameters as required.
3. Enable alerts to receive in-platform messages upon pivot violations.
4. Use HTF override only if analyzing multi-timeframe pivot behavior; otherwise, leave empty to default to chart timeframe.
Performance & Limitations
- Pivot lines confirmation lags by `pivot_length` bars; real-time signals may be delayed.
- Excessive active lines may impact performance on low-TF charts.
- The “clean” logic is contingent on the `lookback_bars` parameter; choose sufficiently high values to avoid false cleanliness.
- Alerts distinguish between closes beyond and wick-only breaches to aid strategic nuance.
Malaysian SnR [by DanielM]The Malaysian SnR (Support and Resistance) levels are a popular trading concept that identifies specific price levels on charts which are considered significant for trading decisions. Here's a breakdown of the concepts:
A Levels and V Levels: These refer to specific types of SNR levels:
A Levels: These are formed at the highest points of price movements. The indicator highlights these levels with a red line.
V Levels: These are formed at the lowest points of price movements, typically observed as valleys in chart patterns. The indicator highlights these levels with a green line.
Fresh and Unfresh Levels:
Fresh Levels: These are price levels that have not been touched by a wick since their formation. They are considered more significant because they might provide a stronger reaction when the price touches these levels again.
Unfresh Levels: These are levels that have been touched by a wick since their formation. Each time a level is tested, it is considered less significant because it might offer weaker resistance or support. A level that has been tested can become fresh again if it's crossed by a candle body.
Gaps:
A gap occurs when you have two bullish candles or two bearish candles. It is defined as the area between the close of the first candle and the open of the next one. It is marked by drawing a line at the closing price of the first candle, thus representing the level where the gap was initially observed. The indicator highlights these levels with a blue lines for bullish gaps and violet lines for bearish gaps.
Fresh vs. Unfresh Gaps:
Similar to A and V levels, gaps can be classified as fresh or unfresh. A fresh gap is one that hasn't been touched by a wick after it was created. These are often considered more significant because they may hold stronger as potential support or resistance. Unfresh gaps have been touched by a wick, and they may be considered less significant. A gap that has been tested can become fresh again if it's crossed by a candle body.
Inputs:
Number of bars to look back to detect A levels, V levels, and Gaps.
Allows users to toggle the visibility of only fresh A and V levels.
Allows users to decide whether to display gap levels or not.
Allows users to decide whether to display only fresh gaps.
Allows the users to set the maximum number of A levels, V levels and gaps on the chart.
Smart MTF S/R Levels[BullByte]
Smart MTF S/R Levels
Introduction & Motivation
Support and Resistance (S/R) levels are the backbone of technical analysis. However, most traders face two major challenges:
Manual S/R Marking: Drawing S/R levels by hand is time-consuming, subjective, and often inconsistent.
Multi-Timeframe Blind Spots: Key S/R levels from higher or lower timeframes are often missed, leading to surprise reversals or missed opportunities.
Smart MTF S/R Levels was created to solve these problems. It is a fully automated, multi-timeframe, multi-method S/R detection and visualization tool, designed to give traders a complete, objective, and actionable view of the market’s most important price zones.
What Makes This Indicator Unique?
Multi-Timeframe Analysis: Simultaneously analyzes up to three user-selected timeframes, ensuring you never miss a critical S/R level from any timeframe.
Multi-Method Confluence: Integrates several respected S/R detection methods—Swings, Pivots, Fibonacci, Order Blocks, and Volume Profile—into a single, unified system.
Zone Clustering: Automatically merges nearby levels into “zones” to reduce clutter and highlight areas of true market consensus.
Confluence Scoring: Each zone is scored by the number of methods and timeframes in agreement, helping you instantly spot the most significant S/R areas.
Reaction Counting: Tracks how many times price has recently interacted with each zone, providing a real-world measure of its importance.
Customizable Dashboard: A real-time, on-chart table summarizes all key S/R zones, their origins, confluence, and proximity to price.
Smart Alerts: Get notified when price approaches high-confluence zones, so you never miss a critical trading opportunity.
Why Should a Trader Use This?
Objectivity: Removes subjectivity from S/R analysis by using algorithmic detection and clustering.
Efficiency: Saves hours of manual charting and reduces analysis fatigue.
Comprehensiveness: Ensures you are always aware of the most relevant S/R zones, regardless of your trading timeframe.
Actionability: The dashboard and alerts make it easy to act on the most important levels, improving trade timing and risk management.
Adaptability: Works for all asset classes (stocks, forex, crypto, futures) and all trading styles (scalping, swing, position).
The Gap This Indicator Fills
Most S/R indicators focus on a single method or timeframe, leading to incomplete analysis. Manual S/R marking is error-prone and inconsistent. This indicator fills the gap by:
Automating S/R detection across multiple timeframes and methods
Objectively scoring and ranking zones by confluence and reaction
Presenting all this information in a clear, actionable dashboard
How Does It Work? (Technical Logic)
1. Level Detection
For each selected timeframe, the script detects S/R levels using:
SW (Swing High/Low): Recent price pivots where reversals occurred.
Pivot: Classic floor trader pivots (P, S1, R1).
Fib (Fibonacci): Key retracement levels (0.236, 0.382, 0.5, 0.618, 0.786) over the last 50 bars.
Bull OB / Bear OB: Institutional price zones based on bullish/bearish engulfing patterns.
VWAP / POC: Volume Weighted Average Price and Point of Control over the last 50 bars.
2. Level Clustering
Levels within a user-defined % distance are merged into a single “zone.”
Each zone records which methods and timeframes contributed to it.
3. Confluence & Reaction Scoring
Confluence: The number of unique methods/timeframes in agreement for a zone.
Reactions: The number of times price has touched or reversed at the zone in the recent past (user-defined lookback).
4. Filtering & Sorting
Only zones within a user-defined % of the current price are shown (to focus on actionable areas).
Zones can be sorted by confluence, reaction count, or proximity to price.
5. Visualization
Zones: Shaded boxes on the chart (green for support, red for resistance, blue for mixed).
Lines: Mark the exact level of each zone.
Labels: Show level, methods by timeframe (e.g., 15m (3 SW), 30m (1 VWAP)), and (if applicable) Fibonacci ratios.
Dashboard Table: Lists all nearby zones with full details.
6. Alerts
Optional alerts trigger when price approaches a zone with confluence above a user-set threshold.
Inputs & Customization (Explained for All Users)
Show Timeframe 1/2/3: Enable/disable analysis for each timeframe (e.g., 15m, 30m, 1h).
Show Swings/Pivots/Fibonacci/Order Blocks/Volume Profile: Select which S/R methods to include.
Show levels within X% of price: Only display zones near the current price (default: 3%).
How many swing highs/lows to show: Number of recent swings to include (default: 3).
Cluster levels within X%: Merge levels close together into a single zone (default: 0.25%).
Show Top N Zones: Limit the number of zones displayed (default: 8).
Bars to check for reactions: How far back to count price reactions (default: 100).
Sort Zones By: Choose how to rank zones in the dashboard (Confluence, Reactions, Distance).
Alert if Confluence >=: Set the minimum confluence score for alerts (default: 3).
Zone Box Width/Line Length/Label Offset: Control the appearance of zones and labels.
Dashboard Size/Location: Customize the dashboard table.
How to Read the Output
Shaded Boxes: Represent S/R zones. The color indicates type (green = support, red = resistance, blue = mixed).
Lines: Mark the precise level of each zone.
Labels: Show the level, methods by timeframe (e.g., 15m (3 SW), 30m (1 VWAP)), and (if applicable) Fibonacci ratios.
Dashboard Table: Columns include:
Level: Price of the zone
Methods (by TF): Which S/R methods and how many, per timeframe (see abbreviation key below)
Type: Support, Resistance, or Mixed
Confl.: Confluence score (higher = more significant)
React.: Number of recent price reactions
Dist %: Distance from current price (in %)
Abbreviations Used
SW = Swing High/Low (recent price pivots where reversals occurred)
Fib = Fibonacci Level (key retracement levels such as 0.236, 0.382, 0.5, 0.618, 0.786)
VWAP = Volume Weighted Average Price (price level weighted by volume)
POC = Point of Control (price level with the highest traded volume)
Bull OB = Bullish Order Block (institutional support zone from bullish price action)
Bear OB = Bearish Order Block (institutional resistance zone from bearish price action)
Pivot = Pivot Point (classic floor trader pivots: P, S1, R1)
These abbreviations appear in the dashboard and chart labels for clarity.
Example: How to Read the Dashboard and Labels (from the chart above)
Suppose you are trading BTCUSDT on a 15-minute chart. The dashboard at the top right shows several S/R zones, each with a breakdown of which timeframes and methods contributed to their detection:
Resistance zone at 119257.11:
The dashboard shows:
5m (1 SW), 15m (2 SW), 1h (3 SW)
This means the level 119257.11 was identified as a resistance zone by one swing high (SW) on the 5-minute timeframe, two swing highs on the 15-minute timeframe, and three swing highs on the 1-hour timeframe. The confluence score is 6 (total number of method/timeframe hits), and there has been 1 recent price reaction at this level. This suggests 119257.11 is a strong resistance zone, confirmed by multiple swing highs across all selected timeframes.
Mixed zone at 118767.97:
The dashboard shows:
5m (2 SW), 15m (2 SW)
This means the level 118767.97 was identified by two swing points on both the 5-minute and 15-minute timeframes. The confluence score is 4, and there have been 19 recent price reactions at this level, indicating it is a highly reactive zone.
Support zone at 117411.35:
The dashboard shows:
5m (2 SW), 1h (2 SW)
This means the level 117411.35 was identified as a support zone by two swing lows on the 5-minute timeframe and two swing lows on the 1-hour timeframe. The confluence score is 4, and there have been 2 recent price reactions at this level.
Mixed zone at 118291.45:
The dashboard shows:
15m (1 SW, 1 VWAP), 5m (1 VWAP), 1h (1 VWAP)
This means the level 118291.45 was identified by a swing and VWAP on the 15-minute timeframe, and by VWAP on both the 5-minute and 1-hour timeframes. The confluence score is 4, and there have been 12 recent price reactions at this level.
Support zone at 117103.10:
The dashboard shows:
15m (1 SW), 1h (1 SW)
This means the level 117103.10 was identified by a single swing low on both the 15-minute and 1-hour timeframes. The confluence score is 2, and there have been no recent price reactions at this level.
Resistance zone at 117899.33:
The dashboard shows:
5m (1 SW)
This means the level 117899.33 was identified by a single swing high on the 5-minute timeframe. The confluence score is 1, and there have been no recent price reactions at this level.
How to use this:
Zones with higher confluence (more methods and timeframes in agreement) and more recent reactions are generally more significant. For example, the resistance at 119257.11 is much stronger than the resistance at 117899.33, and the mixed zone at 118767.97 has shown the most recent price reactions, making it a key area to watch for potential reversals or breakouts.
Tip:
“SW” stands for Swing High/Low, and “VWAP” stands for Volume Weighted Average Price.
The format 15m (2 SW) means two swing points were detected on the 15-minute timeframe.
Best Practices & Recommendations
Use with Other Tools: This indicator is most powerful when combined with your own price action analysis and risk management.
Adjust Settings: Experiment with timeframes, clustering, and methods to suit your trading style and the asset’s volatility.
Watch for High Confluence: Zones with higher confluence and more reactions are generally more significant.
Limitations
No Future Prediction: The indicator does not predict future price movement; it highlights areas where price is statistically more likely to react.
Not a Standalone System: Should be used as part of a broader trading plan.
Historical Data: Reaction counts are based on historical price action and may not always repeat.
Disclaimer
This indicator is a technical analysis tool and does not constitute financial advice or a recommendation to buy or sell any asset. Trading involves risk, and past performance is not indicative of future results. Always use proper risk management and consult a financial advisor if needed.
VWAP Volume Profile [BigBeluga]🔵 OVERVIEW
VWAP Volume Profile is an advanced hybrid of the VWAP and volume profile concepts. It visualizes how volume accumulates relative to VWAP movement—separating rising (+VWAP) and declining (−VWAP) activity into two mirrored horizontal profiles. It highlights the dominant price bins (POCs) where volume peaked during each directional phase, helping traders spot hidden accumulation or distribution zones.
🔵 CONCEPTS
VWAP-Driven Profiling: Unlike standard volume profiles, this tool segments volume based on VWAP movement—accumulating positive or negative volume depending on VWAP slope.
Dual-Sided Profiles: Profiles expand horizontally to the right of price. Separate bins show rising (+) and falling (−) VWAP volume.
Bin Logic: Volume is accumulated into defined horizontal bins based on VWAP’s position relative to price ranges.
Gradient Coloring: Volume bars are colored with a dynamic gradient to emphasize intensity and direction.
POC Highlighting: The highest-volume bin in each profile type (+/-) is marked with a transparent box and label.
Contextual VWAP Line: VWAP is plotted and dynamically colored (green = rising, orange = falling) for instant trend context.
Candle Overlay: Price candles are recolored to match the VWAP slope for full visual integration.
🔵 FEATURES
Dual-sided horizontal volume profiles based on VWAP slope.
Supports rising VWAP , falling VWAP , or both simultaneously.
Customizable number of bins and lookback period.
Dynamically colored VWAP line to show rising/falling bias.
POC detection and labeling with volume values for +VWAP and −VWAP.
Candlesticks are recolored to match VWAP bias for intuitive momentum tracking.
Optional background boxes with customizable styling.
Adaptive volume scaling to normalize bar length across markets.
🔵 HOW TO USE
Use POC zones to identify high-volume consolidation areas and potential support/resistance levels.
Watch for shifts in VWAP direction and observe how volume builds differently during uptrends and downtrends.
Use the gradient profile shape to detect accumulation (widening volume below price) or distribution (above price).
Use candle coloring for real-time confirmation of VWAP bias.
Adjust the profile period or bin count to fit your trading style (e.g., intraday scalping or swing trading).
🔵 CONCLUSION
VWAP Volume Profile merges two essential concepts—volume and VWAP—into a single, high-precision tool. By visualizing how volume behaves in relation to VWAP movement, it uncovers hidden dynamics often missed by traditional profiles. Perfect for intraday and swing traders who want a more nuanced read on market structure, trend strength, and volume flow.
Psych LevelWhat it shows:
This indicator will show a horizontal line at a psychological value which can be user defined. (Psychological values are round numbers, like 10,50,100,1000 and so on...)
At these Psychological value there are often limit orders placed for both buying and selling and can often act as support and resistances.
Therefore it is useful to pre-draw these levels beforehand and this indicator will speed up the process doing so by adjusting few different settings and draw them automatically.
How to use it:
At these Psychological value there are often limit orders placed for both buying and selling and can often act as support and resistances. This is often the case when you look at limit orders at such levels on bookmap or level 2 data.
At these psychological levels it can be set as a target of your trade or as risk levels when taking a trade in either of direction. Obviously this alone shouldn't dictate the trade you should take but can be a valuable info to supplement your trade.
On the chart it is clear to see these psychological level lines are acting as resistances/supports.
Key settings:
Interval: Interval levels will be drawn for, between the minimum and maximum values inputted by the user. Minimum value allowed is 1.
Min. value: Minimum value of Psychological level that will be drawn. Minimum value allowed is 1.
Max value: Maximum value of Psychological level that will be drawn. Minimum value allowed is 1.
Line colour: Colour of line drawn.
Line width: Width of line drawn.
Line style: Style of line drawn, either solid, dotted or dashed.
Label offset: Offset of where where label will be, measured from current bar. Offset of 0 will be drawn at current bar location, any positive number will move to the right by the set amount.
Text Colour: Colour of label text
Text size: Size of label text
Example: Chart here shows setting for minimum value as 100, maximum value as 140 and interval as 5. In this setting lines will be automatically drawn at: 100,105,110,115,120,125,130,145 and 140.
The flexibility of user defined max/min and interval values allows to be accommodated for price with different price tags, including stocks under $10.
----------------------------------------------------------------------
If anything is not clear please let me know!
Comprehensive Trading Toolkit [BigBeluga]Trading Toolkit is a comprehensive indicator inspired by the trading strategies of the renowned crypto influencer Michaël van de Poppe . This tool combines RSI divergences, correction zones, and advanced support/resistance levels to provide traders with a robust framework for analyzing market movements.
🔵 Key Features:
RSI Divergences on Chart:
Automatically identifies and plots RSI divergences (bullish and bearish) directly on the main price chart.
Green lines indicate bullish divergences, suggesting potential upward reversals.
Red lines indicate bearish divergences, signaling possible downward movements.
Correction Boxes:
Traders typically define a correction as a drop in value of 10% or more. This drop can happen over a few hours or a few days. Also, it can last for less than 24 hours or many months.
This indicator visualizes corrections with blue shaded boxes, triggered by a percentage decline defined in the settings.
The boxes highlight sharp price drops, helping traders identify significant market movements quickly.
Advanced Support and Resistance Levels:
Dynamically detects key support and resistance levels based on price pivots.
When the price is above a level, it plots a green shaded area from the cross point, marking support.
When the price drops below a level, it plots a red shaded area, highlighting resistance.
Dashed lines indicate weaker levels, while solid lines represent stronger, more reliable levels.
🔵 Usage:
Identify Divergences: Use plotted RSI divergences to detect potential market reversals and align them with price action.
Analyze Correction Zones: Utilize correction boxes to evaluate significant price declines and find potential buying opportunities during these corrections.
Leverage Support and Resistance Levels: Confirm breakouts, reversals, or consolidation zones with the color-coded areas.
Enhance Risk Management: Combine divergences and correction zones to set informed stop-loss or take-profit levels.
Trading Toolkit empowers traders with actionable insights into market trends, corrections, and support/resistance dynamics, making it an invaluable tool for crypto and forex markets.
Dollar Cost Averaging (YavuzAkbay)The Dollar Cost Averaging (DCA) indicator is designed to support long-term investors following a Dollar Cost Averaging strategy. The core aim of this tool is to provide insights into overbought and oversold levels, assisting investors in managing buy and sell decisions with a clear visual cue system. Specifically developed for use in trending or fluctuating markets, this indicator leverages support and resistance levels to give structure to investors' buying strategies. Here’s a detailed breakdown of the indicator’s key features and intended usage:
Key Features and Color Coding
Overbought/Oversold Detection:
The indicator shades candles from light green to dark green when an asset becomes increasingly overbought. Dark green signals indicate a peak, where the asset is overbought, suggesting a potential opportunity to take partial profits.
Conversely, candles turn from light red to dark red when the market is oversold. Dark red signifies a heavily oversold condition, marking an ideal buying window for initiating or adding to a position. This color scheme provides a quick visual reference for investors to manage entries and exits effectively.
Support and Resistance Levels:
To address the risk of assets falling further after an overbought signal, the DCA indicator dynamically calculates support and resistance levels. These levels guide investors on key price areas to watch for potential price reversals, allowing them to make more informed buying or selling decisions.
Support levels help investors assess whether they should divide their capital across multiple buy orders, starting at the current oversold zone and extending to anticipated support zones for maximum flexibility.
Usage Methodology
This indicator is intended for Dollar Cost Averaging, a method where investors gradually add to their position rather than entering all at once. Here’s how it complements the DCA approach:
Buy at Oversold Levels: When the indicator shows a dark red candle, it signals that the asset is oversold, marking an optimal entry point. The presence of support levels can help investors determine if they should fully invest their intended amount or stagger buys at potential lower levels.
Sell at Overbought Levels: When the indicator transitions to dark green, it suggests that the asset is overbought. This is an ideal time to consider selling a portion of holdings to realize gains. The resistance levels, marked by the indicator, offer guidance on where the price may encounter selling pressure, aiding investors in planning partial exits.
Customizable Settings
The DCA indicator offers several user-adjustable parameters:
Pivot Frequency and Source: Define the pivot point frequency and the source (candle wick or body) for more tailored support/resistance detection.
Maximum Pivot Points: Set the maximum number of pivot points to be used in support/resistance calculations, providing flexibility in adapting to different market structures.
Channel Width and Line Width: Adjust the width of the channel for support/resistance levels and the thickness of the lines for easier visual tracking.
Color Intensities for Overbought/Oversold Levels: Customize the shading intensity for each overbought and oversold level to align with your trading preferences.
Volatility Breaker Blocks [BigBeluga]The Volatility Breaker Blocks indicator identifies key market levels based on significant volatility at pivot highs and lows. It plots blocks that act as potential support and resistance zones, marked in green (support) and blue (resistance). Even after a breakout, these blocks leave behind shadow boxes that continue to impact price action. The sensitivity of block detection can be adjusted in the settings, allowing traders to customize the identification of volatility breakouts. The blocks print triangle labels (up or down) after breakouts, indicating potential areas of interest.
🔵 IDEA
The Volatility Breaker Blocks indicator is designed to highlight key areas in the market where volatility has created significant price action. These blocks, created at pivot highs and lows with increased volatility, act as potential support and resistance levels.
The idea is that even after price breaks through these blocks, the remaining shadow boxes continue to influence price movements. By focusing on volatility-driven pivot points, traders can better anticipate how price may react when it revisits these areas. The indicator also captures the natural tendency for price to retest broken resistance or support levels.
🔵 KEY FEATURES & USAGE
◉ High Volatility Breaker Blocks:
The indicator identifies areas of high volatility at pivot highs and lows, plotting blocks that represent these zones. Green blocks represent support zones (identified at pivot lows), while blue blocks represent resistance zones (identified at pivot highs).
Support:
Resistance:
◉ Shadow Blocks after Breakouts:
When price breaks through a block, the block doesn't disappear. Instead, it leaves behind a shadow box, which can still influence future price action. These shadow blocks act as secondary support or resistance levels.
If the price crosses these shadow blocks, the block stops extending, and the right edge of the box is fixed at the point where the price crosses it. This feature helps traders monitor important price levels even after the initial breakout has occurred.
◉ Triangle Labels for Breakouts:
After the price breaks through a volatility block, the indicator prints triangle labels (up or down) at the breakout points.
◉ Support and Resistance Retests:
One of the key concepts in this indicator is the retesting of broken blocks. After breaking a resistance block, price often returns to the shadow box, which then acts as support. Similarly, after breaking a support block, price tends to return to the shadow box, which becomes a resistance level. This concept of price retesting and bouncing off these levels is essential for understanding how the indicator can be used to identify potential entries and exits.
The natural tendency of price to retest broken resistance or support levels.
Additionaly indicator can display retest signals of broken support or resistance
◉ Customizable Sensitivity:
The sensitivity of volatility detection can be adjusted in the settings. A higher sensitivity captures fewer but more significant breakouts, while a lower sensitivity captures more frequent volatility breakouts. This flexibility allows traders to adapt the indicator to different trading styles and market conditions.
🔵 CUSTOMIZATION
Calculation Window: Defines the window of bars over which the breaker blocks are calculated. A larger window will capture longer-term levels, while a smaller window focuses on more recent volatility areas.
Volatility Sensitivity: Adjusts the threshold for volatility detection. Lower sensitivity captures smaller breakouts, while higher sensitivity focuses on larger, more significant moves.
Retest Signals: Display or hide retest signals of shadow boxes
Rising & Falling Window Signals [LuxAlgo]The Rising & Falling Window Signals indicator identifies Rising & Falling Window formations on the chart and manages them for use as support and resistance zones. The Rising and Falling Window methods used in this indicator are based on Steve Nison's techniques, emphasizing the importance of these areas to better identify continuation momentum and likely reversal points.
Various filtering settings are included to identify zones of a specific width, as well as hide shorter zones from displaying on their chart, helping the users focus on the most significant zones.
🔶 USAGE
A Window (Rising or Falling) forms when the candle wicks from 2 consecutive candlesticks do not overlap, causing a gap. This gap is considered as a strong market sentiment of upward or downward movement, allowing traders to anticipate the likely direction of future prices.
The formation of a Rising Window is a typical indication that a bullish trend is likely to follow.
The formation of a Falling Window is a typical indication that a bearish trend is likely to follow.
After forming a window, we can interpret the zone as a likely area of support and resistance for the price to return to and react from.
Generally, the extremities of the window are used as support and resistance levels, with opposite extremities being regarded as the strongest point of support/resistance. However, when the window is exceptionally wide, the mid-point is looked upon as the strongest point of support/resistance. Once the price closes beyond the window, the window is no longer seen as supportive.
🔶 DETAILS
The script uses a fairly simple concept and implements it with familiar size and mitigation checks. From the settings of this script, the zones can be controlled based on user preferences.
🔹 Horizontal Zone Control
Horizontal Control Settings manipulate the extension and zone display for each zone; however, these settings do not affect the identification of each zone.
Maximum Live Zone Length: This determines the maximum duration of a zone. Zones will stop extending once the zone is mitigated, or if it has reached the maximum zone length determined by this setting.
Minimum Inactive Zone Length: This will hide mitigated (inactive) zones that are shorter than this setting value, this is used to free up the chart from irrelevant zones.
Extend Historical Zones on Touch: If a zone is unmitigated, but has stopped extending, it is considered a "historical" zone. If the price returns to a historical zone, this setting will cause it to extend to the current bar.
🔹 Vertical Zone Control
Vertical Control Settings filter out windows that are wider or thinner than the desired width range. Each of these settings is specified as "ATR Multipliers".
Minimum Width: Filters out any zones whose width is lower than ATR * Minimum Width.
Maximum Width: Filters out any zones whose width is higher than ATR * Maximum Width.
🔹 Signal Types
Signals are used to identify interactions with the Rising & Falling Window zones. The script has 3 different identification types to choose from:
Note: These are all bullish (rising window) examples of each signal.
Regular: The "regular" signal will fire when the price crosses above the upper extremity of an unmitigated zone.
Engulfing: The "engulfing" signal will fire when a bullish engulfing candlestick pattern occurs while one or more of the candle's wicks are touching the zone.
Wick: The "wick" signal will fire when the low of the candle is below the top of a zone, but the candle then closes above the top of the zone.
🔶 SETTINGS
🔹 Horizontal Zone Control
Maximum Live Zone Length: Maximum duration of newly formed zones.
Minimum Inactive Zone Length: Hides Zones whose length is lower than this setting.
Extend Historical Zones on Touch: Extend historical unmitigated zones when the price reaches the zone to the current bar.
🔹 Vertical Zone Control
Minimum Width: ATR multiplier used to filter out any zones whose width is lower than ATR * Minimum Width.
Maximum Width: ATR multiplier used to filter out any zones whose width is higher than ATR * Maximum Width.
Show Midlines: Determine if the zone midlines are displayed.
🔹 Signals
Show Zone Tests: Determine if signals appearing on zone tests are displayed.
Test Type: Sets the signal method for zone tests.
Signal Size: Sets label size for displayed signals.
Peak & Valley Levels [AlgoAlpha]The Peak & Valley Levels indicator is a sophisticated script designed to pinpoint key support and resistance levels in the market. By utilizing candle length and direction, it accurately identifies potential reversal points, offering traders valuable insights for their strategies.
Core Components:
Peak and Valley Detection: The script recognizes peaks and valleys in price action. Peaks (potential resistance levels) are identified when a candle is longer than the previous one, changes direction, and closes lower, especially on lower volume. Valleys (potential support levels) are detected under similar conditions but with the candle closing higher.
Color-Coded Visualization:
Red lines mark resistance levels, signifying peaks in the price action.
Green lines indicate support levels, representing valleys.
Dynamic Level Adjustment: The script adapts these levels based on ongoing market movements, enhancing their relevance and accuracy.
Rejection Functions:
Bullish Rejection: Determines if a candlestick pattern rejects a level as potential support.
Bearish Rejection: Identifies if a pattern rejects a level as possible resistance.
Usage and Strategy Integration:
Visual Aid for Support and Resistance: The indicator is invaluable for visualizing key market levels where price reversals may occur.
Entry and Exit Points: Traders can use the identified support and resistance levels to fine-tune entry and exit points in their trading strategies.
Trend Reversal Signals: The detection of peaks and valleys serves as an early indicator of potential trend reversals.
Application in Trading:
Versatile for Various Trading Styles: This indicator can be applied across different trading styles, including swing trading, scalping, or trend-following approaches.
Complementary Tool: For best results, it should be used alongside other technical analysis tools to confirm trading signals and strategies.
Customization and Adaptability: Traders are encouraged to experiment with different settings and timeframes to tailor the indicator to their specific trading needs and market conditions.
In summary, the Peak & Valley Levels by AlgoAlpha is a dynamic and adaptable tool that enhances a trader’s ability to identify crucial market levels. Its integration of candlestick analysis with dynamic level adjustment offers a robust method for spotting potential reversal points, making it a valuable addition to any trader's toolkit.
Adaptive MFT Extremum Pivots [Elysian_Mind]Adaptive MFT Extremum Pivots
Overview:
The Adaptive MFT Extremum Pivots indicator, developed by Elysian_Mind, is a powerful Pine Script tool that dynamically displays key market levels, including Monthly Highs/Lows, Weekly Extremums, Pivot Points, and dynamic Resistances/Supports. The term "dynamic" emphasizes the adaptive nature of the calculated levels, ensuring they reflect real-time market conditions. I thank Zandalin for the excellent table design.
---
Chart Explanation:
The table, a visual output of the script, is conveniently positioned in the bottom right corner of the screen, showcasing the indicator's dynamic results. The configuration block, elucidated in the documentation, empowers users to customize the display position. The default placement is at the bottom right, exemplified in the accompanying chart.
The deliberate design ensures that the table does not obscure the candlesticks, with traders commonly situating it outside the candle area. However, the flexibility exists to overlay the table onto the candles. Thanks to transparent cells, the underlying chart remains visible even with the table displayed atop.
In the initial column of the table, users will find labels for the monthly high and low, accompanied by their respective numerical values. The default precision for these values is set at #.###, yet this can be adjusted within the configuration block to suit markets with varying degrees of volatility.
Mirroring this layout, the last column of the table presents the weekly high and low data. This arrangement is part of the upper half of the table. Transitioning to the lower half, users encounter the resistance levels in the first column and the support levels in the last column.
At the center of the table, prominently displayed, is the monthly pivot point. For a comprehensive understanding of the calculations governing these values, users can refer to the documentation. Importantly, users retain the freedom to modify these mathematical calculations, with the table seamlessly updating to reflect any adjustments made.
Noteworthy is the table's persistence; it continues to display reliably even if users choose to customize the mathematical calculations, providing a consistent and adaptable tool for informed decision-making in trading.
This detailed breakdown offers traders a clear guide to interpreting the information presented by the table, ensuring optimal use and understanding of the Adaptive MFT Extremum Pivots indicator.
---
Usage:
Table Layout:
The table is a crucial component of this indicator, providing a structured representation of various market levels. Color-coded cells enhance readability, with blue indicating key levels and a semi-transparent background to maintain chart visibility.
1. Utilizing a Table for Enhanced Visibility:
In presenting this wealth of information, the indicator employs a table format beneath the chart. The use of a table is deliberate and offers several advantages:
2. Structured Organization:
The table organizes the diverse data into a structured format, enhancing clarity and making it easier for traders to locate specific information.
3. Concise Presentation:
A table allows for the concise presentation of multiple data points without cluttering the main chart. Traders can quickly reference key levels without distraction.
4. Dynamic Visibility:
As the market dynamically evolves, the table seamlessly updates in real-time, ensuring that the most relevant information is readily visible without obstructing the candlestick chart.
5. Color Coding for Readability:
Color-coded cells in the table not only add visual appeal but also serve a functional purpose by improving readability. Key levels are easily distinguishable, contributing to efficient analysis.
Data Values:
Numerical values for each level are displayed in their respective cells, with precision defined by the iPrecision configuration parameter.
Configuration:
// User configuration: You can modify this part without code understanding
// Table location configuration
// Position: Table
const string iPosition = position.bottom_right
// Width: Table borders
const int iBorderWidth = 1
// Color configuration
// Color: Borders
const color iBorderColor = color.new(color.white, 75)
// Color: Table background
const color iTableColor = color.new(#2B2A29, 25)
// Color: Title cell background
const color iTitleCellColor = color.new(#171F54, 0)
// Color: Characters
const color iCharColor = color.white
// Color: Data cell background
const color iDataCellColor = color.new(#25456E, 0)
// Precision: Numerical data
const int iPrecision = 3
// End of configuration
The code includes a configuration block where users can customize the following parameters:
Precision of Numerical Table Data (iPrecision):
// Precision: Numerical data
const int iPrecision = 3
This parameter (iPrecision) sets the precision of the numerical values displayed in the table. The default value is 3, displaying numbers in #.### format.
Position of the Table (iPosition):
// Position: Table
const string iPosition = position.bottom_right
This parameter (iPosition) sets the position of the table on the chart. The default is position.bottom_right.
Color preferences
Table borders (iBorderColor):
// Color: Borders
const color iBorderColor = color.new(color.white, 75)
This parameters (iBorderColor) sets the color of the borders everywhere within the window.
Table Background (iTableColor):
// Color: Table background
const color iTableColor = color.new(#2B2A29, 25)
This is the background color of the table. If you've got cells without custom background color, this color will be their background.
Title Cell Background (iTitleCellColor):
// Color: Title cell background
const color iTitleCellColor = color.new(#171F54, 0)
This is the background color the title cells. You can set the background of data cells and text color elsewhere.
Text (iCharColor):
// Color: Characters
const color iCharColor = color.white
This is the color of the text - titles and data - within the table window. If you change any of the background colors, you might want to change this parameter to ensure visibility.
Data Cell Background: (iDataCellColor):
// Color: Data cell background
const color iDataCellColor = color.new(#25456E, 0)
The data cells have a background color to differ from title cells. You can configure this is a different parameter (iDataColor). You might even set the same color for data as for the titles if you will.
---
Mathematical Background:
Monthly and Weekly Extremums:
The indicator calculates the High (H) and Low (L) of the previous month and week, ensuring accurate representation of these key levels.
Standard Monthly Pivot Point:
The standard pivot point is determined based on the previous month's data using the formula:
PivotPoint = (PrevMonthHigh + PrevMonthLow + Close ) / 3
Monthly Pivot Points (R1, R2, R3, S1, S2, S3):
Additional pivot points are calculated for Resistances (R) and Supports (S) using the monthly data:
R1 = 2 * PivotPoint - PrevMonthLow
S1 = 2 * PivotPoint - PrevMonthHigh
R2 = PivotPoint + (PrevMonthHigh - PrevMonthLow)
S2 = PivotPoint - (PrevMonthHigh - PrevMonthLow)
R3 = PrevMonthHigh + 2 * (PivotPoint - PrevMonthLow)
S3 = PrevMonthLow - 2 * (PrevMonthHigh - PivotPoint)
---
Code Explanation and Interpretation:
The table displayed beneath the chart provides the following information:
Monthly Extremums:
(H) High of the previous month
(L) Low of the previous month
// Function to get the high and low of the previous month
getPrevMonthHighLow() =>
var float prevMonthHigh = na
var float prevMonthLow = na
monthChanged = month(time) != month(time )
if (monthChanged)
prevMonthHigh := high
prevMonthLow := low
Weekly Extremums:
(H) High of the previous week
(L) Low of the previous week
// Function to get the high and low of the previous week
getPrevWeekHighLow() =>
var float prevWeekHigh = na
var float prevWeekLow = na
weekChanged = weekofyear(time) != weekofyear(time )
if (weekChanged)
prevWeekHigh := high
prevWeekLow := low
Monthly Pivots:
Pivot: Standard pivot point based on the previous month's data
// Function to calculate the standard pivot point based on the previous month's data
getStandardPivotPoint() =>
= getPrevMonthHighLow()
pivotPoint = (prevMonthHigh + prevMonthLow + close ) / 3
Resistances:
R3, R2, R1: Monthly resistance levels
// Function to calculate additional pivot points based on the monthly data
getMonthlyPivotPoints() =>
= getPrevMonthHighLow()
pivotPoint = (prevMonthHigh + prevMonthLow + close ) / 3
r1 = (2 * pivotPoint) - prevMonthLow
s1 = (2 * pivotPoint) - prevMonthHigh
r2 = pivotPoint + (prevMonthHigh - prevMonthLow)
s2 = pivotPoint - (prevMonthHigh - prevMonthLow)
r3 = prevMonthHigh + 2 * (pivotPoint - prevMonthLow)
s3 = prevMonthLow - 2 * (prevMonthHigh - pivotPoint)
Initializing and Populating the Table:
The myTable variable initializes the table with a blue background, and subsequent table.cell functions populate the table with headers and data.
// Initialize the table with adjusted bgcolor
var myTable = table.new(position = iPosition, columns = 5, rows = 10, bgcolor = color.new(color.blue, 90), border_width = 1, border_color = color.new(color.blue, 70))
Dynamic Data Population:
Data is dynamically populated in the table using the calculated values for Monthly Extremums, Weekly Extremums, Monthly Pivot Points, Resistances, and Supports.
// Add rows dynamically with data
= getPrevMonthHighLow()
= getPrevWeekHighLow()
= getMonthlyPivotPoints()
---
Conclusion:
The Adaptive MFT Extremum Pivots indicator offers traders a detailed and clear representation of critical market levels, empowering them to make informed decisions. However, users should carefully analyze the market and consider their individual risk tolerance before making any trading decisions. The indicator's disclaimer emphasizes that it is not investment advice, and the author and script provider are not responsible for any financial losses incurred.
---
Disclaimer:
This indicator is not investment advice. Trading decisions should be made based on a careful analysis of the market and individual risk tolerance. The author and script provider are not responsible for any financial losses incurred.
Kind regards,
Ely
[DisDev] D-I-Y Gridbot🟩 This script is a “do-it-yourself” Grid Bot Simulator, used for visualizing support and resistance levels. Prices are divided into grids, or trade zones, that will trigger signals each time a new zone is entered. During ranging markets, each transaction is followed by a “take profit.” As the market starts to trend, transactions are stacked (compare to DCA ), until the market consolidates. No signals are triggered above the upper gridline or below the lower gridline. Unlike the previous version, all grids may be adjusted in real-time by dragging the gridlines up and down to the desired support and resistance levels.
When adding the indicator to a new chart, you must choose six grid levels by clicking on the desired support or resistance price. You can change all of these levels at any time directly on the chart.
⚡ OVERVIEW ⚡
The D-I-Y Gridbot is an interactive tool designed for visualizing support and resistance levels. As a continuation of the original Gridbot Simulator , which has received significant recognition on TradingView, earning over 4000 boosts and an Editor's Pick status. This tool serves not only as an evolved version of its predecessor, but also as an open-source template for developing future gridbots. It aims to foster discussions and facilitate innovations around grid-trading strategies.
One of the new features of this gridbot is the real-time adjustability of all gridlines. Users can move these lines up and down to set their desired support and resistance levels in response to changing market conditions. Additionally, the D-I-Y Gridbot is compatible with multiple timeframes and can be used on most TradingView charts.
Drag gridlines up or down to desired price level.
Key Features 🔑
All gridlines are adjustable in real-time, directly on the chart
Signals can be filtered by a customizable moving average or by VWAP
Customizable support and resistance levels
Potentially increases profitability in ranging markets
Benefits 💸
Customizable Support and Resistance Levels : The D-I-Y Gridbot allows users to set their preferred support and resistance levels, which can be changed at any time directly on the chart. This provides users with the ability to customize their trading parameters based on their strategy and risk tolerance.
Various Trading Strategies : The D-I-Y Gridbot supports various trading strategies, including Mean Reversion, Ranging Markets, and Dollar-cost averaging (DCA). This allows users to capitalize on price reversals, execute buy and sell orders at predetermined levels, and buy more of an asset as the price falls, respectively.
Multi-Timeframe and Versatility : The D-I-Y Gridbot is compatible with multiple timeframes and can be used on any TradingView chart.
Experimental and Educational : The D-I-Y Gridbot is considered a proof-of-concept tool that is both experimental and educational. This can provide traders with a deeper understanding of grid trading strategies and the ability to experiment with different trading parameters and strategies.
⚙️ CONFIGURATION & SETTINGS ⚙️
Inputs 🔧
Trigger : Candle location to trigger the signal. "Wick" will use either high or low, depending on the signal direction. "Close" will use the close price. “MA” will use the selected moving average or VWAP.
Confirmation : Market direction to confirm the candle trigger. "Reverse" will confirm the signal when the price crosses back over the trigger. "Breakout" will confirm when the price breaks out of the trigger.
Number of Support/Resistance zones : 1 = Only Top Grid is Support/Only Bottom Grid is Resistance. 2 = Top two grids are Resistance/Bottom two grids are Support. 3 = Top three grids are Resistance/Bottom three grids are Support
MA Type : Exponential Moving Average (EMA), Hull Moving Average (HMA), Simple Moving Average (SMA), Triple Exponential Moving Average (TEMA), Volume Weighted Moving Average (VWMA), Volume Weighted Average Price (VWAP)
MA Filter : Use Moving Average as a reversion filter for signals. When enabled, no buys when above MA, no sells when below. Use in conjunction with S/R zones to reduce false signals.
Allow Repeat Signals . When enabled, signals will reset when nearest gridline is triggered. When disabled, only one signal will be triggered per gridline.
Line/Fill colors
Gridlines . Adjusts gridline prices manually.
Left : Trigger = Wick. Confirm = Breakout. Buys are signaled when LOW breaks below gridline. Sells are triggered when HIGH breaks above gridline.
Right : Trigger = Close. Confirm = Breakout. Buys are signaled when the candle CLOSES below the gridline. Sells are triggered when the candle CLOSES above the gridline.
Left : Confirm=Breakout. Signals on breaking through the next gridline.
Right : Confirm=Reverse. Signals only when crossing back from the gridline.
S/R Zones=1. Upper gridline is Resistance / Lower is Support. Middle 4 are neutral.
S/R Zones = 3. Upper three gridlines are Resistance / Lower three are Support
Notes:
If gridlines are dragged out of order on a live chart, they will auto-sort into the correct order.
Price levels may be entered in settings, or adjusted in real-time directly on the chart.
When changing symbols, remember to adjust the gridlines to accommodate the new symbol.
Alerts 🔔
Users can set alerts based on their chosen parameters for triggers, confirmations, number of support/resistance zones, and smoothing type, enabling precise control over alert conditions.
💡 USAGE & STRATEGY 💡
Trading Strategies 📈
Mean Reversion: The script can be used to capitalize on price reversals back to the mean.
Ranging Markets: The script excels in ranging markets, executing buy and sell orders at predetermined levels.
Dollar-cost averaging (DCA): The script can be used to execute DCA orders, buying more of an asset as the price falls, and lowering the average cost per unit.
Timeframes and Symbols ⌚
Multi-Timeframe: The indicator is compatible with multiple timeframes.
Versatile: Can be used on any crypto trading pair on TradingView.
🤖 DETAILS & METHODOLOGY 🤖
Algorithm and Calculation 🛡️
Grids are set and adjusted when loading the indicator on the chart and may be customized anytime afterward by clicking and dragging the gridlines on the chart.
Gridlines are updated, sorted, and stored in a float array.
Signals are calculated based on candle trigger, market direction, and previous price level.
📚 ADDITIONAL RESOURCES 📚
Chart Examples 📊
S/R Zones = 3: Three Support and Three Resistance. Filter = 50-period Triple Exponential Moving Average (TEMA)
S/R Zones = 1: One Support, One Resistance, and Four Neutral Zones. Support Zones: Buys only. Resistance Zones: Sells only. Neutral Zones: Grid-dependent
When MA filter is enabled, Buys are only triggered below Moving Average, and Sells are only triggered above.
Trigger = Wick. Confirmation = Breakout. Buys are signaled when Low breaks above the next grid level. Sells are signaled when High breaks below the next grid level.
🚀 CONCLUSION 🚀
The D-I-Y Gridbot is a proof-of-concept, emphasizing its experimental and educational nature. In future versions, we will aim to incorporate concepts such as auto-adjusting grids and angled grids for trending markets. The script is designed to evolve through user feedback and suggestions, shaping its future iterations.
Credit: This is a continuation of the Gridbot series by xxattaxx-DisDev . Explicit permission was granted by user xxattaxx-disdev to re-use all Gridbot code and all materials without restrictions.
⚠️ DISCLAIMER ⚠️
This indicator is a proof-of-concept and is considered experimental and educational. When gridlines are drawn in hindsight, signals appear to be predictive and valid. Future results may always vary when the trend direction changes. Comments and suggestions are encouraged.
This indicator is provided as a tool for traders and should not be used as the sole basis for making trading decisions. Always conduct your own research and consider your risk tolerance before entering any trades.
Next Gen Auto S/RThis indicator will automatically plot support and resistance levels and will also allow you to overlay multi time frame support and resistance on any time frame that you are currently conducting analysis on. In addition you can also set alerts when a support and resistance level is tested, fine tune how many levels you would like to view on your charts, option to input how many candlesticks minimum you would like between support and resistance levels. You can also select breakout mode which will turn old support into resistance by a colour change and turn old resistance into support. NEW you can now use extended levels and change your zones into lines.
Hann Window FIR Filter Ribbon [BigBeluga]🔵 OVERVIEW
The Hann Window FIR Filter Ribbon is a trend-following visualization tool based on a family of FIR filters using the Hann window function. It plots a smooth and dynamic ribbon formed by six Hann filters of progressively increasing length. Gradient coloring and filled bands reveal trend direction and compression/expansion behavior. When short-term trend shifts occur (via filter crossover), it automatically anchors visual support/resistance zones at the nearest swing highs or lows.
🔵 CONCEPTS
Hann FIR Filter: A finite impulse response filter that uses a Hann (cosine-based) window for weighting past price values, resulting in a non-lag, ultra-smooth output.
hannFilter(length)=>
var float hann = na // Final filter output
float filt = 0
float coef = 0
for i = 1 to length
weight = 1 - math.cos(2 * math.pi * i / (length + 1))
filt += price * weight
coef += weight
hann := coef != 0 ? filt / coef : na
Ribbon Stack: The indicator plots 6 Hann FIR filters with increasing lengths, creating a smooth "ribbon" that adapts to price shifts and visually encodes volatility.
Gradient Coloring: Line colors and fill opacity between layers are dynamically adjusted based on the distance between the filters, showing momentum expansion or contraction.
Dynamic Swing Zones: When the shortest filter crosses its nearest neighbor, a swing high/low is located, and a triangle-style level is anchored and projected to the right.
Self-Extending Levels: These dynamic levels persist and extend until invalidated or replaced by a new opposite trend break.
🔵 FEATURES
Plots 6 Hann FIR filters with increasing lengths (controlled by Ribbon Size input).
Automatically colors each filter and the fill between them with smooth gradient transitions.
Detects trend shifts via filter crossover and anchors visual resistance (red) or support (green) zones.
Support/resistance zones are triangle-style bands built around recent swing highs/lows.
Levels auto-extend right and adapt in real time until invalidated by price action.
Ribbon responds smoothly to price and shows contraction or expansion behavior clearly.
No lag in crossover detection thanks to FIR architecture.
Adjustable sensitivity via Length and Ribbon Size inputs.
🔵 HOW TO USE
Use the ribbon gradient as a visual trend strength and smooth direction cue.
Watch for crossover of shortest filters as early trend change signals.
Monitor support/resistance zones as potential high-probability reaction points.
Combine with other tools like momentum or volume to confirm trend breaks.
Adjust ribbon thickness and length to suit your trading timeframe and volatility preference.
🔵 CONCLUSION
Hann Window FIR Filter Ribbon blends digital signal processing with trading logic to deliver a visually refined, non-lagging trend tool. The adaptive ribbon offers insight into momentum compression and release, while swing-based levels give structure to potential reversals. Ideal for traders who seek smooth trend detection with intelligent, auto-adaptive zone plotting.
Non-Lagging Longevity Zones [BigBeluga]🔵 OVERVIEW
A clean, non-lagging system for identifying price zones that persist over time—ranking them visually based on how long they survive without being invalidated.
Non-Lagging Longevity Zones uses non-lagging pivots to automatically build upper and lower zones that reflect key resistance and support. These zones are kept alive as long as price respects them and are instantly removed when invalidated. The indicator assigns a unique lifespan label to each zone in Days (D), Months (M), or Years (Y), providing instant context for historical relevance.
🔵 CONCEPTS
Non-Lag Pivot Detection: Detects upper and lower pivots using non-lagging swing identification (highest/lowest over length period).
h = ta.highest(len)
l = ta.lowest(len)
high_pivot = high == h and high < h
low_pivot = low == l and low > l
Longevity Ranking: Zones are preserved as long as price doesn't breach them. Levels that remain intact grow in visual intensity.
Time-Based Weighting: Each zone is labeled with its lifespan in days , emphasizing how long it has survived.
duration = last_bar_index - start
days_ = int(duration*(timeframe.in_seconds("")/60/60/24))
days = days_ >= 365 ? int(days_ / 365) : days_ >= 30 ? int(days_ / 30) : days_
marker = days_ >= 365 ? " Y" : days_ >= 30 ? " M" : " D"
Dynamic Coloring: Older zones are drawn with stronger fill, while newer ones appear fainter—making it easy to assess significance.
Self-Cleaning Logic: If price invalidates a zone, it’s instantly removed, keeping the chart clean and focused.
🔵 FEATURES
Upper and Lower Zones: Auto-detects valid high/low pivots and plots horizontal zones with ATR-based thickness.
Real-Time Validation: Zones are extended only if price stays outside them—giving precise control zones.
Gradient Fill Intensity: The longer a level survives, the more opaque the fill becomes.
Duration-Based Labeling: Time alive is shown at the root of each zone:
• D – short-term zones
• M – medium-term structure
• Y – long-term legacy levels
Smart Zone Clearing: Zones are deleted automatically once invalidated by price, keeping the display accurate.
Efficient Memory Handling: Keeps only the 10 most recent valid levels per side for optimal performance.
🔵 HOW TO USE
Track durable S/R zones that survived price tests without being breached.
Use longer-lived zones as high-confidence confluence areas for entries or targets.
Observe fill intensity to judge structural importance at a glance .
Layer with volume or momentum tools to confirm bounce or breakout probability.
Ideal for swing traders, structure-based traders, or macro analysis.
🔵 CONCLUSION
Non-Lagging Longevity Zones lets the market speak for itself—by spotlighting levels with proven survival over time. Whether you're trading trend continuation, mean reversion, or structure-based reversals, this tool equips you with an immediate read on what price zones truly matter—and how long they've stood the test of time.