Intraday Macro & Flow Indicator# IntraMacroFlow Indicator
## Introduction
IntraMacroFlow is a volume and delta-based indicator that identifies significant price movements within trading sessions. It generates signals when volume spikes coincide with quality price movement, filtered by RSI to avoid overbought/oversold conditions.
> **Note:** This indicator provides multiple signals and should be combined with additional analysis methods such as support/resistance, trend direction, and price action patterns.
## Inputs
### Volume Settings
* **Volume Lookback Period** (14) - Number of bars for volume moving average calculation
* **Volume Threshold Multiplier** (1.5) - Required volume increase over average to generate signals
* **Delta Threshold** (0.3) - Required close-to-open movement relative to bar range (higher = stronger movement)
### Session Configuration
* **Use Dynamic Session Detection** (true) - Automatically determine session times
* **Highlight Market Open Period** (true) - Highlight first third of trading session
* **Highlight Mid-Session Period** (true) - Highlight middle portion of trading session
* **Detect Signals Throughout Whole Session** (true) - Find signals in entire session
* **Session Time** ("0930-1600") - Trading hours in HHMM-HHMM format
* **Session Type** ("Regular") - Select Regular, Extended, or Custom session
### Manual Session Settings
Used when dynamic detection is disabled:
* **Manual Session Open Hour** (9)
* **Manual Session Open Minute** (30)
* **Manual Session Open Duration** (60)
* **Manual Mid-Session Start Hour** (12)
* **Manual Mid-Session End Hour** (14)
## How It Works
The indicator analyzes each bar using three primary conditions:
1. **Volume Condition**: Current volume > Average volume × Threshold
2. **Delta Condition**: |Close-Open|/Range > Delta threshold
3. **Time Condition**: Bar falls within configured session times
When all conditions are met:
* Bullish signals appear when close > open and RSI < 70
* Bearish signals appear when close < open and RSI > 30
## Display Elements
### Shapes and Colors
* Green triangles below bars - Bullish signals
* Red triangles above bars - Bearish signals
* Blue background - Market open period
* Purple background - Mid-session period
* Bar coloring - Green (bullish), Red (bearish), or unchanged
### Information Panel
A dynamic label shows:
* Current volume relative to average (Vol)
* Delta value for current bar (Delta)
* RSI value (RSI)
* Session status (Active/Closed)
## Calculation Method
```
// Volume Condition
volumeMA = ta.sma(volume, lookbackPeriod)
volumeCondition = volume > volumeMA * volumeThreshold
// Delta Calculation (price movement quality)
priceRange = high - low
delta = math.abs(close - open) / priceRange
deltaCondition = delta > deltaThreshold
// Direction and RSI Filter
bullishBias = close > open and entrySignal and not (rsi > 70)
bearishBias = close < open and entrySignal and not (rsi < 30)
```
## Usage Recommendations
### Suitable Markets
* Equities during regular trading hours
* Futures markets
* Forex during active sessions
* Cryptocurrencies with defined volume patterns
### Recommended Timeframes
* 1-minute to 1-hour (optimal: 5 or 15-minute)
### Parameter Adjustments
* For fewer but stronger signals: increase Volume Threshold (2.0+) and Delta Threshold (0.4-0.6)
* For more signals: decrease Volume Threshold (1.2-1.5) and Delta Threshold (0.2-0.3)
### Usage Tips
* Combine with trend analysis for higher-probability entries
* Focus on signals occurring at session boundaries and mid-session
* Use opposite signals as potential exit points
* Configure alerts to receive notifications when signals occur
## Additional Notes
* RSI parameters are fixed at 14 periods with 70/30 thresholds
* The indicator handles overnight sessions correctly
* Fully compatible with TradingView alerts
* Customizable visual elements
## Release Notes
Initial release: This is a template indicator that should be customized to suit your specific trading strategies and preferences.
Cerca negli script per "bar"
D3m4h GIFVGDescription
D3m4h GIFVG is an indicator designed to automatically detect market imbalances—often referred to as FVGs (Fair Value Gaps)—and potential pivot-based shifts in market structure. It offers a dynamic approach to visualizing supply/demand inefficiencies and pivot-based trend changes. Key features include:
1. Pivot-Based Bullish/Bearish Detection
The indicator identifies higher-high/lower-low pivot logic as well as “outside bar” pivots.
It tracks when the market transitions from bullish to bearish ranges, or vice versa, by using multiple checks:
Pivot low/high detection
Break-of-structure (when price crosses the last pivot)
Opposing FVG detection to confirm an intraday pivot shift
2. FVG (Fair Value Gap) Detection
The script automatically scans for bullish or bearish FVG conditions:
Bullish FVG: Candle at position (bar_index - 2) has a high below the current candle’s low.
Bearish FVG: Candle at position (bar_index - 2) has a low above the current candle’s high.
When it detects an FVG, it draws a box on the chart to highlight the price gap (yellow boxes by default).
3. Pivot Range FVG
If an FVG forms while the market is in a bullish pivot range, the script can paint a special “blue” FVG to underscore its significance. The same logic applies if a newly formed FVG appears in a bearish pivot range.
4. Filled Gap Cleanup
You can optionally hide standard FVG boxes once they’re filled. For example, if the candle’s body (or candle range) covers that gap, the box is removed to keep your chart clean.
5. Pivot-Range FVG “Raided” Cleanup
If the pivot-based FVG is later filled from the opposing direction, it turns green and can optionally remove itself after a set number of bars.
6. Informative Table
A small table on the chart optionally displays whether or not the pivot-based FVG has been “raided”. You can toggle this table on/off in the settings.
How It Works
1. Pivot Shifts
The script tracks the last pivot high/low using a combination of candle-based pivot detection and break-of-structure checks (when price crosses the last pivot in the opposite direction).
When a shift is detected, the pivot range ID increments—this helps the script know when to remove old pivot-based FVGs or draw new ones.
2. FVG Formation
Each new bar checks if a bullish or bearish FVG formed (comparing the high of bar two bars ago to the current low, or the low of bar two bars ago to the current high).
If one is found, a box is drawn to highlight the imbalance. Its color and extension depend on script settings.
3. Imbalance or Pivot FVG
Standard imbalance boxes appear in yellow.
If the new imbalance coincides with a bullish or bearish pivot range, a special “pivot imbalance” box in blue is drawn.
3. Hide Filled
If a newly formed candle’s body fully covers the FVG, the box is considered filled. If Hide Filled Gaps is enabled, the box is deleted once it’s covered.
4. Raid Status
For the pivot-based (blue) FVG, once price invalidates it from the opposite side, it changes color to green and gets removed after a user-defined number of bars.
How to Use
1. Look for FVGs
Observe yellow boxes to identify potential intraday imbalances. Watch for price returning to fill these zones.
If you see a “blue” box, it signifies a pivot-based FVG in line with a recognized shift in structure—arguably a higher-probability zone.
2. “Hide Filled Gaps”
Turn this on if you only want to see currently active or partially filled imbalances. The script cleans up old, fully covered boxes to keep your chart neat.
3. Pivot Shifts
Note the script’s internal pivot logic. Each new pivot re-defines bullish or bearish states. Use these states to gauge the short-term trend shifts.
4. Toggle the Table
You can show or hide the chart table by enabling/disabling “Show Table” from the inputs. This table indicates if the pivot-based “GIFVG” has been “raided” or not.
5. Extend Count
Adjust the extendCount in the code if you want FVG boxes to extend further or shorter in time.
Underlying Concepts
Fair Value Gaps
Market inefficiencies that occur when price jumps, leaving a “gap” from the candle 2 bars ago to the current candle. They can act like mini supply/demand zones where price may revisit for balance.
Pivot Ranges
The script tries to maintain an internal sense of whether the market is in a bullish or bearish pivot range. When it sees a contrary FVG or break-of-structure, it flips the pivot state.
Outside Bars
A candle that has both a higher high and a lower low than the previous bar. The script uses these to mark significant pivot shifts.
By combining pivot-based logic with FVG detection, the D3m4h GIFVG indicator helps highlight potential areas of liquidity or unfilled value. Traders can use these zones to plan entries/exits or to confirm short-term trend shifts.
Combined + Reversal By DemirkanThis indicator is a comprehensive tool designed to identify potential trend reversals, trend direction, and entry/exit points by combining multiple technical analysis instruments. It includes the following components:
Two Reversal Lines (Based on Donchian Channel): Two lines with different periods indicate potential support/resistance levels and trend changes.
Hull Moving Average (HMA): A smoother, less lagging moving average helps determine trend direction and short-term momentum.
Fibonacci Level: A dynamic Fibonacci retracement level, calculated based on the highest high and lowest low over a specific period, serves as a potential support or area of interest.
Signal Generation: Produces Buy/Sell signals based on the crossovers and conditions of these components.
Visual Aids: Enhances interpretation by coloring the area between lines, coloring candlesticks, and adding labels.
Detailed Component Description:
Input Parameters (Settings):
Reversal Line 1 Length (Default: 100): The period (number of bars) used to calculate the first reversal line. Longer periods capture slower, more significant trends.
Reversal Line 2 Length (Default: 33): The period used to calculate the second reversal line. Shorter periods react to faster, shorter-term changes.
HMA Length (Default: 100): The period for calculating the Hull Moving Average.
Source (Default: close): The price source used for all calculations (close, open, high, low, etc.).
Reversal Line Bar Offset (Default: 3): Determines how many bars forward the Reversal Lines are shifted on the chart. This can make signals appear slightly earlier (or later, depending on the strategy). 0 means no shift.
Fibonacci Level (Default: 0.382): Specifies the Fibonacci retracement level (between 0.0 and 1.0). Common levels like 0.382, 0.5, 0.618 can be used.
Lookback Period (Default: 20): The period (number of bars) over which to look back for the highest high and lowest low to calculate the Fibonacci level.
Price Margin (Default: 0.005): Tolerance (as a percentage) determining how close the price needs to be to the Fibonacci level to be considered "at the level". E.g., 0.005 = 0.5%. If the price is within 0.5% of the calculated Fibonacci level, the condition is met.
Calculations:
donchian(len) Function: Calculates the average (math.avg) of the highest high (ta.highest) and lowest low (ta.lowest) over a specific period (len). This is effectively the midline of a classic Donchian Channel and is used here as the "Reversal Line".
Reversal Lines (conversionLine1, conversionLine2): Calculated using the donchian function based on the user-defined conversionPeriods1 and conversionPeriods2 lengths.
Hull Moving Average (hullMA): Calculated using the hma function. This function uniquely combines Weighted Moving Averages (WMA) to achieve less lag.
Fibonacci Level Calculation (fibLevel1, isAtFibLevel): Finds the highest high and lowest low within the lookbackPeriod, calculates the range (priceRange). fibLevel1 is determined by subtracting priceRange * fibLevel from the highest high (representing a retracement level). isAtFibLevel checks if the current closing price is within the priceMargin tolerance of the calculated fibLevel1.
Visual Elements (Plots/Drawing):
plot(conversionLine1 , ...): Plots the first reversal line in blue, shifted forward by barOffset.
plot(conversionLine2 , ...): Plots the second reversal line in black, shifted forward by barOffset.
plot(hullMA, ...): Plots the Hull Moving Average in orange.
plot(fibLevel1, ...): Plots the calculated Fibonacci level as a light blue, dashed line.
fill(...): Fills the area between the two (shifted) reversal lines. The area is colored blue if conversionLine1 > conversionLine2 (often interpreted as bullish) and red otherwise (bearish). The color transparency is set to 90 (almost opaque).
label.*: Adds labels at trend change points. A "Buy" label appears when the area turns blue (Line 1 crosses above Line 2), and a "Sell" label appears when it turns red (Line 1 crosses below Line 2). Labels appear once when the trend starts and are updated/deleted when the trend changes.
plotshape(...): Plots shapes (arrows/labels) on the chart when specific conditions are met:
Reversal Crossover Signals: A green up arrow (shape.labelup) appears when conversionLine2 crosses above conversionLine1 (Buy Signal - buySignal). A red down arrow (shape.labeldown) appears when conversionLine1 crosses below conversionLine2 (Sell Signal - sellSignal).
Hull MA Signals: A green up arrow (hullBuySignal) appears when the price closes above the HMA after being below it. A red down arrow (hullSellSignal) appears when the price closes below the HMA after being above it.
Fibonacci Buy Signal: A purple up arrow (fibBuySignal) appears when both the price is near the calculated Fibonacci level (isAtFibLevel) and a Hull MA Buy signal (hullBuySignal) occurs simultaneously. This signifies a "confluence" signal.
barcolor(...): Changes the color of the candlesticks. Bars turn blue on a Hull MA Buy signal (hullBuySignal) and red on a Hull MA Sell signal (hullSellSignal). Otherwise, the bar color remains the default chart color.
How to Use / Interpret:
Trend Direction:
Observe the color of the filled area between the reversal lines (Blue = Uptrend, Red = Downtrend).
Note whether the price is above or below the Hull MA.
Consider the slope of the Hull MA (upward or downward).
Entry/Exit Signals:
Aggressive: Use the crossovers of the reversal lines (buySignal, sellSignal). Green arrow suggests buy, red arrow suggests sell.
Trend Following: Use the HMA crossovers (hullBuySignal, hullSellSignal). Green arrow suggests buy, red arrow suggests sell. The bar colors also confirm these signals visually.
Confirmed Buy: Look for the Fibonacci Buy Signal (Purple arrow). When the price reaches a potential support level (Fibonacci) and simultaneously gets an HMA Buy signal, it can be considered a stronger buy indication.
Support/Resistance:
The reversal lines themselves can act as dynamic support/resistance levels.
The plotted Fibonacci level (fibLevel1) can be monitored as a potential retracement and support zone.
Strategy:
Confluence (multiple signals aligning) can increase confidence. For example, a buySignal or hullBuySignal occurring while the HMA is pointing up and the fill area is blue might be considered stronger.
Adjust the barOffset parameter to fine-tune the timing of the visual signals according to your trading style.
Use the Fibonacci Buy signal to potentially find entry points after pullbacks in an uptrend or near potential bottoms after a decline.
Important Notes:
No single indicator provides 100% accurate signals. It's crucial to use this indicator in conjunction with other analysis methods (price action, chart patterns, volume, etc.) and sound risk management strategies.
The indicator's performance might vary in different market conditions (trending, sideways) and across different timeframes. Backtesting before live trading is recommended.
The barOffset value shifts the plotting of the lines forward visually but does not change the time at which the underlying calculation occurs (it's still based on the data up to the current closing bar).
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.
Stochastic Fusion Elite [trade_lexx]📈 Stochastic Fusion Elite is your reliable trading assistant!
📊 What is Stochastic Fusion Elite ?
Stochastic Fusion Elite is a trading indicator based on a stochastic oscillator. It analyzes the rate of price change and generates buy or sell signals based on various technical analysis methods.
💡 The main components of the indicator
📊 Stochastic oscillator (K and D)
Stochastic shows the position of the current price relative to the price range for a certain period. Values above 80 indicate overbought (an early sale is possible), and values below 20 indicate oversold (an early purchase is possible).
📈 Moving Averages (MA)
The indicator uses 10 different types of moving averages to smooth stochastic lines.:
- SMA: Simple moving average
- EMA: Exponential moving average
- WMA: Weighted moving average
- HMA: Moving Average Scale
- KAMA: Kaufman Adaptive Moving Average
- VWMA: Volume-weighted moving average
- ALMA: Arnaud Legoux Moving Average
- TEMA: Triple exponential moving average
- ZLEMA: zero delay exponential moving average
- DEMA: Double exponential moving average
The choice of the type of moving average affects the speed of the indicator's response to market changes.
🎯 Bollinger Bands (BB)
Bands around the moving average that widen and narrow depending on volatility. They help determine when the stochastic is out of the normal range.
🔄 Divergences
Divergences show discrepancies between price and stochastic:
- Bullish divergence: price is falling and stochastic is rising — an upward reversal is possible
- Bearish divergence: the price is rising, and stochastic is falling — a downward reversal is possible
🔍 Indicator signals
1️⃣ KD signals (K and D stochastic lines)
- Buy signal:
- What happens: the %K line crosses the %D line from bottom to top
- What does it look like: a green triangle with the label "KD" under the chart and the label "Buy" below the bar
- What does this mean: the price is gaining an upward momentum, growth is possible
- Sell signal:
- What happens: the %K line crosses the %D line from top to bottom
- What it looks like: a red triangle with the label "KD" above the chart and the label "Sell" above the bar
- What does this mean: the price is losing its upward momentum, possibly falling
2️⃣ Moving Average Signals (MA)
- Buy Signal:
- What happens: stochastic crosses the moving average from bottom to top
- What it looks like: a green triangle with the label "MA" under the chart and the label "Buy" below the bar
- What does this mean: stochastic is starting to accelerate upward, price growth is possible
- Sell signal:
- What happens: stochastic crosses the moving average from top to bottom
- What it looks like: a red triangle with the label "MA" above the chart and the label "Sell" above the bar
- What does this mean: stochastic is starting to accelerate downwards, a price drop is possible
3️⃣ Bollinger Band Signals (BB)
- Buy signal:
- What happens: stochastic crosses the lower Bollinger band from bottom to top
- What it looks like: a green triangle with the label "BB" under the chart and the label "Buy" below the bar
- What does this mean: stochastic was too low and is now starting to recover
- Sell signal:
- What happens: Stochastic crosses the upper Bollinger band from top to bottom
- What it looks like: a red triangle with a "BB" label above the chart and a "Sell" label above the bar
- What does this mean: stochastic was too high and is now starting to decline
4️⃣ Divergence Signals (Div)
- Buy Signal (Bullish Divergence):
- What's happening: the price is falling, and stochastic is forming higher lows
- What it looks like: a green triangle with a "Div" label under the chart and a "Buy" label below the bar
- What does this mean: despite the falling price, the momentum is already changing in an upward direction
- Sell signal (bearish divergence):
- What's going on: the price is rising, and stochastic is forming lower highs
- What it looks like: a red triangle with a "Div" label above the chart and a "Sell" label above the bar
- What does this mean: despite the price increase, the momentum is already weakening
🛠️ Filters to filter out false signals
1️⃣ Minimum distance between the signals
- What it does: sets the minimum number of candles between signals
- Why it is needed: prevents signals from being too frequent during strong market fluctuations
- How to set it up: Set the number from 0 and above (default: 5)
2️⃣ "Waiting for the opposite signal" mode
- What it does: waits for a signal in the opposite direction before generating a new signal
- Why you need it: it helps you not to miss important trend reversals
- How to set up: just turn the function on or off
3️⃣ Filter by stochastic levels
- What it does: generates signals only when the stochastic is in the specified ranges
- Why it is needed: it helps to catch the moments when the market is oversold or overbought
- How to set up:
- For buy signals: set a range for oversold (for example, 1-20)
- For sell signals: set a range for overbought (for example, 80-100)
4️⃣ MFI filter
- What it does: additionally checks the values of the cash flow index (MFI)
- Why it is needed: confirms stochastic signals with cash flow data
- How to set it up:
- For buy signals: set the range for oversold MFI (for example, 1-25)
- For sell signals: set the range for overbought MFI (for example, 75-100)
5️⃣ The RSI filter
- What it does: additionally checks the RSI values to confirm the signals
- Why it is needed: adds additional confirmation from another popular indicator
- How to set up:
- For buy signals: set the range for oversold MFI (for example, 1-30)
- For sell signals: set the range for overbought MFI (for example, 70-100)
🔄 Signal combination modes
1️⃣ Normal mode
- How it works: all signals (KD, MA, BB, Div) work independently of each other
- When to use it: for general market analysis or when learning how to work with the indicator
2️⃣ "AND" Mode ("AND Mode")
- How it works: the alarm appears only when several conditions are triggered simultaneously
- Combination options:
- KD+MA: signals from the KD and moving average lines
- KD+BB: signals from KD lines and Bollinger bands
- KD+Div: signals from the KD and divergence lines
- KD+MA+BB: three signals simultaneously
- KD+MA+Div: three signals at the same time
- KD+BB+Div: three signals at the same time
- KD+MA+BB+Div: all four signals at the same time
- When to use: for more reliable but rare signals
🔌 Connecting to trading strategies
The indicator can be connected to your trading strategies using 6 different channels.:
1. Connector KD signals: connects only the signals from the intersection of lines K and D
2. Connector MA signals: connects only signals from moving averages
3. Connector BB signal: connects only the signals from the Bollinger bands
4. Connector divergence signals: connects only divergence signals
5. Combined Connector: connects any signals
6. Connector for "And" mode: connects only combined signals
🔔 Setting up alerts
The indicator can send alerts when alarms appear.:
- Alerts for KD: when the %K line crosses the %D line
- Alerts for MA: when stochastic crosses the moving average
- Alerts for BB: when stochastic crosses the Bollinger bands
- Divergence alerts: when a divergence is detected
- Combined alerts: for all types of alarms
- Alerts for "And" mode: for combined signals
🎭 What does the indicator look like on the chart ?
- Main lines K and D: blue and orange lines
- Overbought/oversold levels: horizontal lines at levels 20 and 80
- Middle line: dotted line at level 50
- Stochastic Moving Average: yellow line
- Bollinger bands: green lines around the moving average
- Signals: green and red triangles with corresponding labels
📚 How to start using Stochastic Fusion Elite
1️⃣ Initial setup
- Add an indicator to your chart
- Select the types of signals you want to use (KD, MA, BB, Div)
- Adjust the period and smoothing for the K and D lines
2️⃣ Filter settings
- Set the distance between the signals to get rid of unnecessary noise
- Adjust stochastic, MFI and RSI levels depending on the volatility of your asset
- If you need more reliable signals, turn on the "Waiting for the opposite signal" mode.
3️⃣ Operation mode selection
- First, use the standard mode to see all possible signals.
- When you get comfortable, try the "And" mode for rarer signals.
4️⃣ Setting up Alerts
- Select the types of signals you want to be notified about
- Set up alerts for these types of signals
5️⃣ Verification and adaptation
- Check the operation of the indicator on historical data
- Adjust the parameters for a specific asset
- Adapt the settings to your trading style
🌟 Usage examples
For trend trading
- Use the KD and MA signals in the direction of the main trend
- Set the distance between the signals
- Set stricter levels for filters
For trading in a sideways range
- Use BB signals to detect bounces from the range boundaries
- Use a stochastic level filter to confirm overbought/oversold conditions
- Adjust the Bollinger bands according to the width of the range
To determine the pivot points
- Pay attention to the divergence signals
- Set the distance between the signals
- Check the MFI and RSI filters for additional confirmation
Volume Profile [ActiveQuants]The Volume Profile indicator visualizes the distribution of trading volume across price levels over a user-defined historical period. It identifies key liquidity zones, including the Point of Control (POC) (price level with the highest volume) and the Value Area (price range containing a specified percentage of total volume). This tool is ideal for traders analyzing support/resistance levels, market sentiment , and potential price reversals .
█ CORE METHODOLOGY
Vertical Price Rows: Divides the price range of the selected lookback period into equal-height rows.
Volume Aggregation: Accumulates bullish/bearish or total volume within each price row.
POC: The row with the highest total volume.
Value Area: Expands from the POC until cumulative volume meets the user-defined threshold (e.g., 70%).
Dynamic Visualization: Rows are plotted as horizontal boxes with widths proportional to their volume.
█ KEY FEATURES
- Customizable Lookback & Resolution
Adjust the historical period ( Lookback ) and granularity ( Number of Rows ) for precise analysis.
- Configurable Profile Width & Horizontal Offset
Control the relative horizontal length of the profile rows, and set the distance from the current bar to the POC row’s anchor.
Important: Do not set the horizontal offset too high. Indicators cannot be plotted more than 500 bars into the future.
- Value Area & POC Highlighting
Set the percentage of total volume required to form the Value Area , ensuring that key volume levels are clearly identified.
Value Area rows are colored distinctly, while the POC is marked with a bold line.
- Flexible Display Options
Show bullish/bearish volume splits or total volume.
Place the profile on the right or left of the chart.
- Gradient Coloring
Rows fade in color intensity based on their relative volume strength .
- Real-Time Adjustments
Modify horizontal offset, profile width, and appearance without reloading.
█ USAGE EXAMPLES
Example 1: Basic Volume Profile with Value Area
Settings:
Lookback: 500 bars
Number of Rows: 100
Value Area: 70%
Display Type: Up/Down
Placement: Right
Image Context:
The profile appears on the right side of the chart. The POC (orange line) marks the highest volume row. Value Area rows (green/red) extend above/below the POC, containing 70% of total volume.
Example 2: Total Volume with Gradient Colors
Settings:
Lookback: 800 bars
Number of Rows: 100
Profile Width: 60
Horizontal Offset: 20
Display Type: Total
Gradient Colors: Enabled
Image Context:
Rows display total volume in a single color with gradient transparency. Darker rows indicate higher volume concentration.
Example 3: Left-Aligned Profile with Narrow Value Area
Settings:
Lookback: 600 bars
Number of Rows: 100
Profile Width: 45
Horizontal Offset: 500
Value Area: 50%
Profile Placement: Left
Image Context:
The profile shifts to the left, with a tighter Value Area (50%).
█ USER INPUTS
Calculation Settings
Lookback: Historical bars analyzed (default: 500).
Number of Rows: Vertical resolution of the profile (default: 100).
Profile Width: Horizontal length of rows (default: 50).
Horizontal Offset: Distance from the current bar to the POC (default: 50).
Value Area (%): Cumulative volume threshold for the Value Area (default: 70%).
Volume Display: Toggle between Up/Down (bullish/bearish) or Total volume.
Profile Placement: Align profile to the Right or Left of the chart.
Appearance
Rows Border: Customize border width/color.
Gradient Colors: Enable fading color effects.
Value Area Colors: Set distinct colors for bullish and bearish Value Area rows.
POC Line: Adjust color, width, and visibility.
█ CONCLUSION
The Volume Profile indicator provides a dynamic, customizable view of market liquidity. By highlighting the POC and Value Area, traders can identify high-probability reversal zones, gauge market sentiment, and align entries/exits with key volume levels.
█ IMPORTANT NOTES
⚠ Lookback Period: Shorter lookbacks prioritize recent activity but may omit critical levels.
⚠ Horizontal Offset Limitation: Avoid excessively high offsets (e.g., close to ±300). TradingView restricts plotting indicators more than 500 bars into the future, which may truncate or hide the profile.
⚠ Risk Management: While the indicator highlights areas of concentrated volume, always use it in combination with other technical analysis tools and proper risk management techniques.
█ RISK DISCLAIMER
Trading involves substantial risk. The Volume Profile highlights historical liquidity but does not predict future price movements. Always use stop-loss orders and confirm signals with additional analysis. Past performance is not indicative of future results.
📊 Happy trading! 🚀
MTF Fractals [RunRox]🔽 MTF Fractals is a powerful indicator designed to visualize fractals from multiple timeframes directly on your chart, highlight liquidity sweeps at these fractal levels, and provide several additional features we’ll cover in detail below.
We created this indicator because we couldn’t find a suitable tool that met our specific needs on TradingView. Therefore, we decided to develop a valuable indicator for the entire TradingView community, combining simplicity and versatility.
⁉️ WHAT IS A FRACTALS?
In trading, a fractal is a technical analysis pattern composed of five consecutive candles, typically highlighting local market turning points. Specifically, a fractal high is formed when a candle’s high is higher than the highs of the two candles on either side, whereas a fractal low occurs when a candle’s low is lower than the lows of the two adjacent candles on both sides.
Traders use fractals as reference points for identifying significant support and resistance levels, potential reversal areas, and liquidity zones within price action analysis. Below is a screenshot illustrating clearly formed fractals on the chart.
📙 FRACTAL FORMATION
Here’s how fractals form depending on your chosen setting (3, 5, 7, or 9):
▶️ 3-bar fractal – forms when the central candle is higher (for highs) or lower (for lows) than one candle on each side.
▶️ 5-bar fractal – forms when the central candle is higher or lower than two candles on both sides.
▶️ 7-bar fractal – forms when the central candle is higher or lower compared to the three candles on each side.
▶️ 9-bar fractal – forms similarly but requires four candles on each side, making the fractal significantly more reliable and robust.
A higher number of bars ensures stronger fractal levels, highlighting more significant potential reversal points on the chart.
Now that we’ve covered the theory behind fractal formation, let’s explore the indicator’s functionality in more detail.
Below, I’ll explain each feature clearly and illustrate how you can effectively utilize this indicator in your trading.
🕐 MULTI-TIMEFRAME FRACTALS
We realized that displaying fractals only from the current timeframe isn’t always convenient, so we’ve introduced Multi-Timeframe Fractals into this indicator.
Now you can easily display fractals from higher timeframes directly on your current chart, providing you with broader market context and clearer trading signals.
Fractals from Current Timeframe – Fractals identified directly on the chart’s current timeframe.
Fractals from Higher Timeframes – Fractals sourced from higher timeframes and displayed clearly on your current chart for enhanced market perspective.
📈 FRACTAL LINES
Since fractals represent areas of high liquidity, we’ve added an option to extend fractal levels horizontally as Fractal Lines across your chart.
This feature allows you to clearly visualize critical liquidity areas from higher timeframes, directly on your current timeframe chart, as demonstrated in the screenshot below.
With this approach, you can clearly visualize significant fractal levels from higher timeframes directly on your current chart - for example, projecting fractals from the 1-hour (1H) timeframe onto a 3-minute (3m) chart. ✅ This helps you easily identify critical liquidity areas and potential reversal zones without the need to switch between multiple timeframes.
💰 LIQUDITY SWEEP (LIQUDITY GRAB)
To enhance your trading experience, we’ve introduced a feature that clearly identifies liquidity sweeps of fractal levels.
A Liquidity Sweep occurs when a candle closes beyond a fractal line, leaving a wick that pierces through it, signaling that liquidity has been collected at this level.
Below, you’ll find two examples illustrating this functionality:
▶️ Fractal lines from the current timeframe
▶️ Fractal lines projected from higher timeframes
The first example illustrates liquidity being swept from fractals on the current timeframe .
Here, the candle clearly closes beyond the fractal line, leaving a wick through it. This indicates a liquidity sweep at the fractal level, visually highlighting a potential reversal or continuation opportunity directly on your chart.
In the second example, fractals from the higher timeframe are projected onto your current chart.
When a candle on your current timeframe closes beyond an HTF fractal line - leaving a wick through this level - the indicator highlights it clearly. This signals to traders a potential reversal zone, indicating that liquidity has been swept, and price may reverse or significantly react from this area.
You can also enable the display of additional labels on the chart. These labels clearly mark liquidity sweeps at fractal levels, making it easier to visually identify potential reversal points directly on your chart.
⚙️ SETTINGS
Below are the indicator settings with detailed explanations for each parameter.
🔷 Bars in Fractal – Number of candles to the right and left required to form a fractal.
🔷 Fractal Timeframe – Select the timeframe from which you want to display fractals on the current chart.
🔷 Max Age, bars – Number of bars during which the fractal will remain active.
🔷 Show Fractal Line – Display or hide fractal lines.
🔷 Line Style – Choose the style of the line displayed on the chart.
🔷 Line Width – Thickness of the fractal line.
🔷 High Fractal – Style and color of bearish fractals.
🔷 Low Fractal – Style and color of bullish fractals.
🔷 Fractal Label Size – Select the size of fractal labels.
🔷 Show Sweep Labels – Option to display labels when a liquidity sweep occurs.
🔷 Label Color – Color and transparency of the area marked on the chart during a sweep.
🔷 Shade Sweep Area – Show or hide the sweep area shading.
🔷 Area Color – Color and transparency settings for the sweep area.
🔶 We’d love to hear your feedback and any suggestions for additional features you’d like to see in this indicator. We’ll be happy to consider your ideas and continue improving the indicator!
ZenAlgo - LevelsThis script combines multiple anchored Volume-Weighted Average Price (VWAP) calculations into a single tool, providing a continuous record of past VWAP levels and highlighting when price has tested them. Typically, VWAP indicators show only the current VWAP for a single anchor period, requiring you to either keep re-anchoring manually or juggle multiple instances of different VWAP tools for each timeframe. By contrast, this script automatically tracks both the ongoing VWAP and previously completed VWAP values, along with real-time detection of “tests” (when price crosses a particular VWAP level). It’s especially valuable for traders who want to see how price has interacted with VWAP over several sessions, weeks, or months—without switching between separate indicators or manually setting anchors.
Below is a comprehensive explanation of each component, why multiple VWAP lines working together can be more informative than a single line, and how to adjust the script for various markets and trading styles:
Primary VWAP vs. Historical VWAP Lines - Standard VWAP indicators typically focus on the current line only. This script also calculates a primary VWAP, but it “locks in” each completed VWAP value when a new time anchor is detected (e.g., new weekly bar, new monthly bar, new session). As a result, you retain an ongoing history of VWAP lines for every completed anchored period. This is more powerful than manually setting up multiple VWAP tools—one for each desired timeframe—because everything is handled in a single script. You avoid chart clutter and the risk of forgetting to reset your manual VWAP at the correct bar.
Why Combine Multiple Anchored VWAP Lines in One Script? - Viewing several anchored VWAP lines together offers synergy . You see not only the current VWAP but also previous ones from different sessions or months, all within the same chart pane. This synergy becomes apparent if multiple historical VWAP lines cluster near the same price level, indicating a potentially significant zone of volume-based support or resistance. Handling this manually would involve repeatedly setting separate VWAP indicators, each reset at specific points, which is time-consuming and prone to error. In this script, the process is automated: as soon as the anchor changes, a completed VWAP line is stored so you can observe how price eventually reacts to it, repeatedly or not at all.
Automated “Test” Detection - Once a historical VWAP line is set, the script tracks when price crosses it in subsequent bars. If the high and low of a bar span that line, the script marks it in red (both the line and its label). It also keeps a counter of how many times each line has been tested. This method goes beyond a simple visual approach by quantifying the retests. Because all these lines are created and managed in one place, you don’t have to manually label the lines or check them one by one.
Advantages Over Manually Setting Multiple VWAPs
You save screen space: Instead of layering several VWAP indicators, each with unique settings, this single script plots them all on one overlay.
Automation: When a new anchor period begins, the script “closes out” the old VWAP and starts a new one. You never need to remember to reset it manually.
Retest Visualization: The script not only draws each line but also changes color and updates the label automatically if a line gets tested. Doing this by hand would be labor-intensive.
Unified Parameters: All settings (e.g., array size, max distance, test count limit) apply uniformly. You can manage them from one place, instead of configuring multiple separate tools.
Extended Insight with Multiple VWAP Lines
Since VWAP reflects the volume-weighted average price for each chosen period, historical lines can show zones where the market had a fair-value consensus in previous intervals. When the script preserves these lines, you see potential support/resistance areas more distinctly. If, for instance, price continually pivots around an old VWAP line, that may reveal a strong volume-based level. With several older VWAP lines on the chart, you gain an immediate sense of where these volume-derived averages have appeared and how price reacted over time. This wider perspective often proves more revealing than a single “current” VWAP line that does not reflect previous anchor sessions.
Handling of Illiquid Markets and Volume Limitations
VWAP is inherently tied to volume data, so its reliability decreases if volume reporting is missing or if the asset trades with very low liquidity. In such cases, a single large trade might momentarily skew the VWAP, resulting in “false” test signals when the high/low range intersects an abnormal price swing. If you suspect the data is incomplete or the market is unusually thin, it’s wise to confirm the validity of these VWAP lines before using them for any decision-making. Additionally, unusual market conditions—like after-hours trading or sudden high-volatility events—may cause VWAP to shift quickly, setting up multiple lines in a short time.
Key User-Configurable Settings
Hide VWAP on Day timeframe and above : Lets you disable the primary VWAP plot on daily or higher timeframes for a cleaner view.
Anchor Period : Select from Session, Week, Month, Quarter, Year, Decade or Century. Controls how frequently the script resets and preserves the VWAP line.
Offset : Moves the current VWAP line by a specified number of bars if you need a shifted perspective.
Max Array Size : Caps how many past VWAP lines the script will remember. Prevents clutter if you’re charting very long histories.
Max Distance : Defines how far back (in bar index units) a line is kept. If a line’s start bar is older than this threshold, it’s removed, keeping the chart uncluttered.
Max Red Labels : Limits the number of tested (red) VWAP lines that appear. If price tests a large number of old lines, only the newest red labels remain once you hit the set limit.
Workflow Overview
As soon as a new anchor period begins (e.g., a new weekly candle if “Week” is chosen), the script ends the current VWAP and stores that final value in its internal arrays.
It creates a dotted line and label representing the completed VWAP, and keeps track of whether it has been tested or not.
Subsequent bars may then cross that line. If a bar’s high/low includes the line’s value, it’s flagged as tested, labeled red, and a test counter increases.
As new anchored periods come, old lines remain visible—unless they fall outside your maxDistance or you exceed the maximum stored line count.
Real-World Benefits
Combining multiple VWAP lines—ranging, for example, from session-based lines for intraday perspectives to monthly or quarterly lines for broader context—provides a layered view of the volume-based fair price. This can help you quickly spot zones where price repeatedly intersects old VWAPs, potentially highlighting where bulls or bears took action historically. Because this script automates the management of all these lines and flags their retests, it removes a great deal of repetitive manual work that would typically accompany multiple, separate VWAP indicators set to different anchors.
Limitations & Practical Use
As with any volume-related tool, the script depends on reliable volume data. Assets trading on smaller venues or during illiquid periods may produce spurious signals. The script does not signal buy or sell decisions; rather, it helps visually map out where volume-weighted averages from previous periods might still be relevant to market behavior. Always combine the insight from these historical VWAP lines with your existing analytical approach or other technical and fundamental tools you use.
Conclusion
This script unifies past and present VWAP lines into one overlay, automatically detecting new anchor resets, storing the final VWAP values, and indicating whenever old lines are retested by price. It offers synergy through the simultaneous display of multiple historical VWAP lines, making it quicker and easier to detect potential support/resistance zones and better reflect changing market volumes over time. You no longer need to manually create, configure, or reset multiple VWAP indicators. Instead, the script handles all aspects of line creation, retest detection, and clutter management, giving you a robust framework to observe how historical VWAP data aligns with current price action.
By understanding the significance of multiple anchored VWAP lines, you can assess market structure from multiple angles in a single view. As always, ensure you confirm the reliability of the volume data for your particular asset and use these lines in conjunction with other analyses to form a well-rounded perspective on current market behavior.
rzigzagLibrary "rzigzag"
Recursive Zigzag Using Matrix allows to create zigzags recursively on multiple levels. This is an old library converted to V6
zigzag(length, ohlc, numberOfPivots, offset)
calculates plain zigzag based on input
Parameters:
length (int) : Zigzag Length
ohlc (array) : Array containing ohlc values. Can also contain custom series
numberOfPivots (simple int) : Number of max pivots to be returned
offset (simple int) : Offset from current bar. Can be used for calculations based on confirmed bars
Returns: [matrix zigzagmatrix, bool flags]
iZigzag(length, h, l, numberOfPivots)
calculates plain zigzag based on input array
Parameters:
length (int) : Zigzag Length
h (array) : array containing high values of a series
l (array) : array containing low values of a series
numberOfPivots (simple int) : Number of max pivots to be returned
Returns: matrix zigzagmatrix
nextlevel(zigzagmatrix, numberOfPivots)
calculates next level zigzag based on present zigzag coordinates
Parameters:
zigzagmatrix (matrix) : Matrix containing zigzag pivots, bars, bar time, direction and level
numberOfPivots (simple int) : Number of max pivots to be returned
Returns: matrix zigzagmatrix
draw(zigzagmatrix, flags, lineColor, lineWidth, lineStyle, showLabel, xloc)
draws zigzag based on the zigzagmatrix input
Parameters:
zigzagmatrix (matrix) : Matrix containing zigzag pivots, bars, bar time, direction and level
flags (array) : Zigzag pivot flags
lineColor (color) : Zigzag line color
lineWidth (int) : Zigzag line width
lineStyle (string) : Zigzag line style
showLabel (bool) : Flag to indicate display pivot labels
xloc (string) : xloc preference for drawing lines/labels
Returns:
draw(length, ohlc, numberOfPivots, offset, lineColor, lineWidth, lineStyle, showLabel, xloc)
calculates and draws zigzag based on zigzag length and source input
Parameters:
length (int) : Zigzag Length
ohlc (array) : Array containing ohlc values. Can also contain custom series
numberOfPivots (simple int) : Number of max pivots to be returned
offset (simple int) : Offset from current bar. Can be used for calculations based on confirmed bars
lineColor (color) : Zigzag line color
lineWidth (int) : Zigzag line width
lineStyle (string) : Zigzag line style
showLabel (bool) : Flag to indicate display pivot labels
xloc (string) : xloc preference for drawing lines/labels
Returns: [matrix zigzagmatrix, array zigzaglines, array zigzaglabels, bool flags]
drawfresh(zigzagmatrix, zigzaglines, zigzaglabels, lineColor, lineWidth, lineStyle, showLabel, xloc)
draws fresh zigzag for all pivots in the input matrix.
Parameters:
zigzagmatrix (matrix) : Matrix containing zigzag pivots, bars, bar time, direction and level
zigzaglines (array) : array to which all newly created lines will be added
zigzaglabels (array) : array to which all newly created lables will be added
lineColor (color) : Zigzag line color
lineWidth (int) : Zigzag line width
lineStyle (string) : Zigzag line style
showLabel (bool) : Flag to indicate display pivot labels
xloc (string) : xloc preference for drawing lines/labels
Returns:
Modified Volume IndicatorThis indicator colors volume bars based on price and range conditions for a given period:
Green Bars:
The close is at least 70% of the way up the daily range (from the low).
The close is also 1% or more above the low.
Red Bars:
The close is at least 70% of the way down the daily range (from the high).
The close is also 1% or more below the high.
Gray Bars:
Volume bars that don’t meet the above conditions are neutral.
Purpose
Green Bars highlight strong upward closes.
Red Bars indicate weak downward closes.
Gray Bars show neutral or inconclusive price movement.
This indicator helps traders identify momentum shifts and trend strength in real-time.
HTF CandlestickHTF Candlestick
This indicator that visualizes a specific candle from a user-defined timeframe (1D, 1H, etc.) and its associated properties on the chart. Below is a detailed explanation:
1 - Inputs and Initialization:
timeframeInput: Allows the user to select the desired timeframe (e.g., daily).
pos: Adjusts the horizontal position of the drawn candle on the chart.
2 - Custom Data Type (type bar):
The bar type stores data for the open, high, low, and close (OHLC) values, as well as the start time of the candle.
It also includes graphical elements like body, wick, and start lines.
3 - Logic:
A variable b is initialized to represent the custom candle.
The script checks for changes in the selected timeframe and creates a new bar when the timeframe changes.
4 - Methods:
update(): Updates the OHLC values of the bar if a new high or low occurs.
display(): Draws the candle on the chart, including:
The candle body.
The wick (shadow).
Labels showing the open, high, and low values.
Horizontal and vertical dotted lines for visual aid.
5 - Candle Redrawing:
The script clears all graphical elements (lines, labels, boxes) for the current candle on the last bar of the chart (barstate.islast) and redraws them using the display() method.
6 - Table Display:
A small table is displayed at the right-hand side of the chart showing:
The selected timeframe.
The opening value of the candle.
The difference between the close and open prices, highlighted with the appropriate color.
Kod Açıklaması
Bu Pine Script, kullanıcı tarafından seçilen bir zaman dilimine (1D, 1H vb.) ait bir mum çubuğunu ve onun özelliklerini grafik üzerinde görselleştiren özel bir indikatördür. İşte detaylı açıklaması:
1- Girdiler ve Başlangıç:
timeframeInput: Kullanıcının istediği zaman dilimini seçmesine olanak tanır (ör. günlük).
pos: Çizilen mumun grafikte yatay pozisyonunu ayarlamak için kullanılır.
2 - Özel Veri Tipi (type bar):
bar türü, açılış, yüksek, düşük ve kapanış (OHLC) değerlerini ve mumun başlangıç zamanını saklar.
Ayrıca, grafik öğeleri için body, wick ve start gibi alanlar içerir.
3- Mantık:
b değişkeni, seçilen mum çubuğunu temsil etmek için tanımlanmıştır.
Seçilen zaman diliminde bir değişiklik olup olmadığını kontrol eder ve değişiklik olduğunda yeni bir bar oluşturur.
4 - Metotlar:
update(): Daha yüksek bir zirve veya daha düşük bir dip meydana gelirse, mumun OHLC değerlerini günceller.
display(): Grafik üzerinde mum çubuğunu çizer. Bu işlem şunları içerir:
Mum gövdesi.
Fitil (gölge).
Açılış, yüksek ve düşük değerlerini gösteren etiketler.
Görsel yardım için yatay ve dikey kesik çizgiler.
5- Mum Yeniden Çizimi:
Grafik üzerindeki tüm grafiksel elemanları (çizgiler, etiketler, kutular) temizler ve mevcut mumun son çubuğunda (barstate.islast) bunları yeniden çizer.
6 - Tablo Görüntüsü:
Grafik üzerinde sağ tarafta küçük bir tablo gösterilir. Bu tabloda:
Seçilen zaman dilimi.
Mumun açılış değeri.
Kapanış ve açılış fiyatları arasındaki fark, uygun renkte vurgulanarak gösterilir.
Bu kod, kullanıcıya belirli bir zaman dilimindeki mum çubuğunun görsel bir analizini ve temel bilgilerini sağlar.
Uptrick Signal Density Cloud🟪 Introduction
The Uptrick Signal Density Cloud is designed to track market direction and highlight potential reversals or shifts in momentum. It plots two smoothed lines on the chart and fills the space between them (often called a “cloud”). The bars on the chart change color depending on bullish or bearish conditions, and small triangles appear when certain reversal criteria are met. A metrics table displays real-time values for easy reference.
🟩 Why These Features Have Been Linked Together
1) Dual-Line Structure
Two separate lines represent shorter- and longer-term market tendencies. Linking them in one tool allows traders to view both near-term changes and the broader directional bias in a single glance.
2) Smoothed Averages
The script offers multiple smoothing methods—exponential, simple, hull, and an optimized approach—to reduce noise. Using more than one type of moving average can help balance responsiveness with stability.
3) Density Cloud Concept
Shading the region between the two lines highlights the gap or “thickness.” A wider gap typically signals stronger momentum, while a narrower gap could indicate a weakening trend or potential market indecision. When the cloud is too wide and crosses a certain threshold defined by the user, it indicates a possible reversal. When the cloud is too narrow it may indicate a potential breakout.
🟪 Why Use This Indicator
• Trend Visibility: The color-coded lines and bars make it easier to distinguish bullish from bearish conditions.
• Momentum Tracking: Thicker cloud regions suggest stronger separation between the faster and slower lines, potentially indicating robust momentum.
• Possible Reversal Alerts: Small triangles appear within thick zones when the indicator detects a crossover, drawing attention to key moments of potential trend change.
• Quick Reference Table: A metrics table shows line values, bullish or bearish status, and cloud thickness without needing to hover over chart elements.
🟩 Inputs
1) First Smoothing Length (length1)
Default: 14
Defines the lookback period for the faster line. Lower values make the line respond more quickly to price changes.
2) Second Smoothing Length (length2)
Default: 28
Defines the lookback period for the slower line or one of the moving averages in optimized mode. It generally responds more slowly than the faster line.
3) Extra Smoothing Length (extraLength)
Default: 50
A medium-term period commonly seen in technical analysis. In optimized mode, it helps add broader perspective to the combined lines.
4) Source (source)
Default: close
Specifies the price data (for example, open, high, low, or a custom source) used in the calculations.
5) Cloud Type (cloudType)
Options: Optimized, EMA, SMA, HMA
Determines the smoothing method used for the lines. “Optimized” blends multiple exponential averages at different lengths.
6) Cloud Thickness Threshold (thicknessThreshold)
Default: 0.5
Sets the minimum separation between the two lines to qualify as a “thick” zone, indicating potentially stronger momentum.
🟪 Core Components
1) Faster and Slower Lines
Each line is smoothed according to user preferences or the optimized technique. The faster line typically reacts more quickly, while the slower line provides a broader overview.
2) Filled Density Cloud
The space between the two lines is filled to visualize in which direction the market is trending.
3) Color-Coded Bars
Price bars adopt bullish or bearish colors based on which line is on top, providing an immediate sense of trend direction.
4) Reversal Triangles
When the cloud is thick (exceeding the threshold) and the lines cross in the opposite direction, small triangles appear, signaling a possible market shift.
5) Metrics Table
A compact table shows the current values of both lines, their bullish/bearish statuses, the cloud thickness, and whether the cloud is in a “reversal zone.”
🟩 Calculation Process
1) Raw Averages
Depending on the mode, standard exponential, simple, hull, or “optimized” exponential blends are calculated.
2) Optimized Averages (if selected)
The faster line is the average of three exponential moving averages using length1, length2, and extraLength.
The slower line similarly uses those same lengths multiplied by 1.5, then averages them together for broader smoothing.
3) Difference and Threshold
The absolute gap between the two lines is measured. When it exceeds thicknessThreshold, the cloud is considered thick.
4) Bullish or Bearish Determination
If sma1 (the faster line) is above sma2 (the slower line), conditions are deemed bullish; otherwise, they are bearish. This distinction is reflected in both bar colors and cloud shading.
5) Reversal Markers
In thick zones, a crossover triggers a triangle at the point of potential reversal, alerting traders to a possible trend change.
🟪 Smoothing Methods
1) Exponential (EMA)
Prioritizes recent data for quicker responsiveness.
2) Simple (SMA)
Takes a straightforward average of the chosen period, smoothing price action but often lagging more in volatile markets.
3) Hull (HMA)
Employs a specialized formula to reduce lag while maintaining smoothness.
4) Optimized (Blended Exponential)
Combines multiple EMA calculations to strike a balance between responsiveness and noise reduction.
🟩 Cloud Logic and Reversal Zones
Cloud thickness above the defined threshold typically signals exceeding momentum and can lead to a quick reversal. During these thick periods, if the width exceeds the defined threshold, small triangles mark potential reversal points. In order for the reversal shape to show, the color of the cloud has to be the opposite. So, for example, if the cloud is bearish, and exceeds momentum, defined by the user, a bullish signal appears. The opposite conditions for a bullish signal. This approach can help traders focus on notable changes rather than minor oscillations.
🟪 Bar Coloring and Layered Lines
Bars take on bullish or bearish tints, matching the faster line’s position relative to the slower line. The lines themselves are plotted multiple times with varying opacities, creating a layered, glowing look that enhances visibility without affecting calculations.
🟩 The Metrics Table
Located in the top-right corner of the chart, this table displays:
• SMA1 and SMA2 current values.
• Bullish or bearish alignment for each line.
• Cloud thickness.
• Reversal zone status (in or out of zone).
This numeric readout allows for a quick data check without hovering over the chart.
🟪 Why These Specific Moving Average Lengths Are Used
Default lengths of 14, 28, and 50 are common in technical analysis. Fourteen captures near-term price movement without overreacting. Twenty-eight, roughly double 14, provides a moderate smoothing level. Fifty is widely regarded as a medium-term benchmark. Multiplying each length by 1.5 for the slower line enhances separation when combined with the faster line.
🟩 Originality and Usefulness
• Multi-Layered Smoothing. The user can select from several moving average modes, including a unique “optimized” blend, possibly reducing random fluctuations in the market data.
• Combined Visual and Numeric Clarity. Bars, clouds, and a real-time table merge into a single interface, enabling efficient trend analysis.
• Focus on Significant Shifts. Thick cloud zones and triangles draw attention to potentially stronger momentum changes and plausible reversals.
• Flexible Across Markets. The adjustable lengths and threshold can be tuned to different asset classes (stocks, forex, commodities, crypto) and timeframes.
By integrating multiple technical concepts—cloud-based trend detection, color coding, reversal markers, and an immediate reference table—the Uptrick Signal Density Cloud aims to streamline chart reading and decision-making.
🟪 Additional Considerations
• Timeframes. Intraday, daily, and weekly charts each yield different signals. Adjust the smoothing lengths and threshold to suit specific trading horizons.
• Market Types. Though applicable across asset classes, parameters might need tweaking to address the volatility of commodities, forex pairs, or cryptocurrencies.
• Confirmation Tools. Pairing this indicator with volume studies or support/resistance analysis can improve the reliability of signals.
• Potential Limitations. No indicator is foolproof; sudden market shifts or choppy conditions may reduce accuracy. Cautious position sizing and risk management remain essential.
🟩 Disclaimers
The Uptrick Signal Density Cloud relies on historical price data and may lag sudden moves or provide false positives in ranging conditions. Always combine it with other analytical techniques and sound risk management. This script is offered for educational purposes only and should not be considered financial advice.
🟪 Conclusion
The Uptrick Signal Density Cloud blends trend identification, momentum assessment, and potential reversal alerts in a single, user-friendly tool. With customizable smoothing methods and a focus on cloud thickness, it visually highlights important market conditions. While it cannot guarantee predictive accuracy, it can serve as a comprehensive reference for traders seeking both a quick snapshot of the current trend and deeper insights into market dynamics.
PT Least Squares Moving AveragePT LSMA Multi-Period Indicator
The PT Least Squares Moving Average (LSMA) Multi-Period Indicator is a powerful tool designed for investors who want to track market trends across multiple time horizons in a single, convenient indicator. This indicator calculates the LSMA for four different periods— 25 bars, 50 bars, 450 bars, and 500 bars providing a comprehensive view of short-term and long-term market movements.
Key Features:
- Multi-Timeframe Trend Analysis: Tracks both short-term (25 & 50 bars) and long-term (450 & 500 bars) market trends, helping investors make informed decisions.
- Smoothing Capability: The LSMA reduces noise by fitting a linear regression line to past price data, offering a clearer trend direction compared to traditional moving averages.
- One-Indicator Solution: Combines multiple LSMA periods into a single chart, reducing clutter and enhancing visual clarity.
- Versatile Applications: Suitable for trend identification, market timing, and spotting potential reversals across different timeframes.
- Customizable Styling: Allows users to customize colors and line styles for each period to suit their preferences.
How to Use:
1. Short-Term Trends (25 & 50 bars):Ideal for identifying recent price movements and short-term trade opportunities.
2. Long-Term Trends (450 & 500 bars): Helps investors gauge broader market sentiment and position themselves accordingly for longer holding periods.
3. Trend Confirmation: When shorter LSMA periods cross above longer ones, it may signal bullish momentum, whereas the opposite may indicate bearish sentiment.
4. Support and Resistance: The LSMA lines can act as dynamic support and resistance levels during trending markets.
Best For:
- Long-term investors looking to align their positions with dominant market trends.
- Swing traders seeking confirmation from multiple time horizons.
- Portfolio managers tracking price momentum across various investment durations.
This LSMA Multi-Period Indicator equips investors with a well-rounded perspective on price movements, offering a strategic edge in navigating market cycles with confidence.
Created by Prince Thomas
StdDev of VWAP/MAStdDev Indicator (MA, Smoothed VWAP & Rolling VWAP) v5
Overview: The StdDev Indicator is a comprehensive tool designed to provide traders with multi-term deviation analysis by integrating various Moving Averages (MA) and Volume Weighted Average Price (VWAP) methodologies. This indicator combines different MA types and VWAP calculations across multiple timeframes to offer a nuanced view of market volatility and trend strength.
Key Features:
Multiple Moving Average Types:
Simple Moving Average (SMA): Calculates the average price over a specified period, providing a straightforward trend indicator.
Exponential Moving Average (EMA): Gives more weight to recent prices, making it more responsive to new information.
Weighted Moving Average (WMA): Assigns different weights to each price point, emphasizing specific periods.
Smoothed VWAP: Enhances the traditional VWAP by applying additional smoothing techniques (SMA, EMA, WMA) to reduce volatility.
Rolling VWAP: Continuously recalculates VWAP over a rolling window, offering dynamic support and resistance levels.
Multi-Term Deviation Analysis:
Extra Short Term (30 periods)
Short Term (50 periods)
Medium Term (110 periods)
Long Term (125 periods)
Extra-Long Term (190 periods)
Extremely-Long Term (245 periods)
Each term calculates the deviation of the selected price source (default: Low) from its corresponding MA or VWAP, normalized by the standard deviation. This multi-term approach allows traders to assess volatility and trend consistency across different time horizons.
Composite Upper and Lower Bounds:
Aggregates the upper and lower deviations from all terms to form composite boundaries. These bounds serve as dynamic support and resistance levels, helping traders identify potential reversal points or breakout zones.
Timeframe Customization:
Visibility Settings: Customize which deviation terms are visible on specific timeframes (15m, 1h, 4h, 1d, 1w). This flexibility ensures that the indicator aligns with your trading strategy, whether you're a scalper, day trader, or long-term investor.
Bar Coloring (Optional):
Visual Cues: When enabled, bars are color-coded based on the deviation levels, providing immediate visual feedback on market conditions. For example, bars may turn red when short-term deviations exceed the upper bound, indicating potential overbought conditions.
How It Works:
Deviation Calculation:
For each selected MA or VWAP type and term length, the indicator calculates the deviation of the current price source from the MA/VWAP. This deviation is normalized by the standard deviation to account for volatility.
Channel Offset:
Applies a linear regression and standard deviation to the deviation series to establish upper and lower channels. These channels are adjustable via multipliers, allowing traders to set their sensitivity levels.
Composite Boundaries:
Averages the upper and lower channels across all deviation terms to form composite upper and lower bounds. These bounds provide a holistic view of market volatility and trend strength.
Visualization:
Plots individual deviation lines for each term, along with the composite bounds. Optional bar coloring enhances visual interpretation, making it easier to spot significant market movements.
Usage Instructions:
Setup:
Add the StdDev Indicator to your TradingView chart. By default, it uses the Low price as the source, but this can be customized.
Configuration:
Moving Average Type: Select your preferred MA or VWAP type from the dropdown menu.
Term Lengths: Adjust the lengths for each deviation term as per your trading strategy.
StdDev Multipliers: Set the multipliers for the upper and lower bounds to control sensitivity.
Timeframe Visibility: Choose which deviation terms are visible on specific timeframes to tailor the indicator to your trading style.
Bar Coloring: Enable or disable bar coloring based on deviation thresholds for enhanced visual cues.
Interpretation:
Deviations: Monitor the deviation lines to assess overbought or oversold conditions across different terms.
Composite Bounds: Use the upper and lower bounds as dynamic support and resistance levels.
Bar Colors: Quickly identify significant market movements through color-coded bars.
Why Choose StdDev Indicator?
Comprehensive Analysis: By integrating multiple MA and VWAP types across various terms, the indicator offers a multifaceted view of market conditions.
Customization: Highly configurable settings allow traders to adapt the indicator to their specific strategies and timeframes.
Visual Clarity: Clear plotting and optional bar coloring provide intuitive insights, reducing the need for complex analysis.
Conclusion: The StdDev Indicator (MA, Smoothed VWAP & Rolling VWAP) v5 is a versatile tool that combines advanced moving average and VWAP methodologies to deliver a robust deviation analysis framework. Whether you're looking to fine-tune your scalping strategy or gain a deeper understanding of long-term market trends, this indicator equips you with the necessary tools to make informed trading decisions.
Support & Feedback: If you have any questions or need assistance with the indicator, feel free to reach out through the TradingView community or contact the script author directly.
Volume 2x Average This script helps traders identify stocks or instruments experiencing unusually high trading volume compared to their average volume over a user-defined period. The key features include:
1. Volume 2x Average Filter:
Highlights bars where the current volume is greater than twice the average volume for the selected period.
2. Dynamic Average Period:
Allows users to specify the period for calculating the average volume (e.g., 1 day, 5 days, etc.).
3. Color-Coded Bars:
• Green Bars: Indicate bullish candlesticks where the closing price is higher than the
opening price.
• Red Bars: Indicate bearish candlesticks where the closing price is lower than the
opening price.
4. Optional Bar Visibility:
Users can toggle the visibility of the highlighted volume bars, providing flexibility for clean chart analysis.
5. Average Volume Line:
Plots the average volume as a blue line for reference.
Use Case:
This script is ideal for traders looking to identify potential breakouts, reversals, or key market movements driven by significant volume spikes. By dynamically adjusting the average period and toggling bar visibility, users can tailor the script to fit various trading strategies and timeframes.
Inputs:
1. Show 2x Volume Bars:
• Toggle to enable or disable the display of the highlighted volume bars.
2. Average Volume Period:
• Specify the number of periods (e.g., 1 for 1 day, 5 for 5 days) to calculate the average
volume.
Disclaimer:
This script is for educational purposes only and does not constitute financial advice. Use it alongside your analysis and trading strategy.
Uptrick: Volatility Reversion BandsUptrick: Volatility Reversion Bands is an indicator designed to help traders identify potential reversal points in the market by combining volatility and momentum analysis within one comprehensive framework. It calculates dynamic bands around a simple moving average and issues signals when price interacts with these bands. Below is a fully expanded description, structured in multiple sections, detailing originality, usefulness, uniqueness, and the purpose behind blending standard deviation-based and ATR-based concepts. All references to code have been removed to focus on the written explanation only.
Section 1: Overview
Uptrick: Volatility Reversion Bands centers on a moving average around which various bands are constructed. These bands respond to changes in price volatility and can help gauge potential overbought or oversold conditions. Signals occur when the price moves beyond certain thresholds, which may imply a reversal or significant momentum shift.
Section 2: Originality, Usefulness, Uniqness, Purpose
This indicator merges two distinct volatility measurements—Bollinger Bands and ATR—into one cohesive system. Bollinger Bands use standard deviation around a moving average, offering a baseline for what is statistically “normal” price movement relative to a recent mean. When price hovers near the upper band, it may indicate overbought conditions, whereas price near the lower band suggests oversold conditions. This straightforward construction often proves invaluable in moderate-volatility settings, as it pinpoints likely turning points and gauges a market’s typical trading range.
Yet Bollinger Bands alone can falter in conditions marked by abrupt volatility spikes or sudden gaps that deviate from recent norms. Intraday news, earnings releases, or macroeconomic data can alter market behavior so swiftly that standard-deviation bands do not keep pace. This is where ATR (Average True Range) adds an important layer. ATR tracks recent highs, lows, and potential gaps to produce a dynamic gauge of how much price is truly moving from bar to bar. In quieter times, ATR contracts, reflecting subdued market activity. In fast-moving markets, ATR expands, exposing heightened volatility on each new bar.
By overlaying Bollinger Bands and ATR-based calculations, the indicator achieves a broader situational awareness. Bollinger Bands excel at highlighting relative overbought or oversold areas tied to an established average. ATR simultaneously scales up or down based on real-time market swings, signaling whether conditions are calm or turbulent. When combined, this means a price that barely crosses the Bollinger Band but also triggers a high ATR-based threshold is likely experiencing a volatility surge that goes beyond typical market fluctuations. Conversely, a price breach of a Bollinger Band when ATR remains low may still warrant attention, but not necessarily the same urgency as in a high-volatility regime.
The resulting synergy offers balanced, context-rich signals. In a strong trend, the ATR layer helps confirm whether an apparent price breakout really has momentum or if it is just a temporary spike. In a range-bound market, standard deviation-based Bollinger Bands define normal price extremes, while ATR-based extensions highlight whether a breakout attempt has genuine force behind it. Traders gain clarity on when a move is both statistically unusual and accompanied by real volatility expansion, thus carrying a higher probability of a directional follow-through or eventual reversion.
Practical advantages emerge across timeframes. Scalpers in fast-paced markets appreciate how ATR-based thresholds update rapidly, revealing if a sudden price push is routine or exceptional. Swing traders can rely on both indicators to filter out false signals in stable conditions or identify truly notable moves. By calibrating to changes in volatility, the merged system adapts naturally whether the market is trending, ranging, or transitioning between these phases.
In summary, combining Bollinger Bands (for a static sense of standard-deviation-based overbought/oversold zones) with ATR (for a dynamic read on current volatility) yields an adaptive, intuitive indicator. Traders can better distinguish fleeting noise from meaningful expansions, enabling more informed entries, exits, and risk management. Instead of relying on a single yardstick for all market conditions, this fusion provides a layered perspective, encouraging traders to interpret price moves in the broader context of changing volatility.
Section 3: Why Bollinger Bands and ATR are combined
Bollinger Bands provide a static snapshot of volatility by computing a standard deviation range above and below a central average. ATR, on the other hand, adapts in real time to expansions or contractions in market volatility. When combined, these measures offset each other’s limitations: Bollinger Bands add structure (overbought and oversold references), and ATR ensures responsiveness to rapid price shifts. This synergy helps reduce noisy signals, particularly during sudden market turbulence or extended consolidations.
Section 4: User Inputs
Traders can adjust several parameters to suit their preferences and strategies. These typically include:
1. Lookback length for calculating the moving average and standard deviation.
2. Multipliers to control the width of Bollinger Bands.
3. An ATR multiplier to set the distance for additional reversal bands.
4. An option to display weaker signals when the price merely approaches but does not cross the outer bands.
Section 5: Main Calculations
At the core of this indicator are four important steps:
1. Calculate a basis using a simple moving average.
2. Derive Bollinger Bands by adding and subtracting a product of the standard deviation and a user-defined multiplier.
3. Compute ATR over the same lookback period and multiply it by the selected factor.
4. Combine ATR-based distance with the Bollinger Bands to set the outer reversal bands, which serve as stronger signal thresholds.
Section 6: Signal Generation
The script interprets meaningful reversal points when the price:
1. Crosses below the lower outer band, potentially highlighting oversold conditions where a bullish reversal may occur.
2. Crosses above the upper outer band, potentially indicating overbought conditions where a bearish reversal may develop.
Section 7: Visualization
The indicator provides visual clarity through labeled signals and color-coded references:
1. Distinct colors for upper and lower reversal bands.
2. Markers that appear above or below bars to denote possible buying or selling signals.
3. A gradient bar color scheme indicating a bar’s position between the lower and upper bands, helping traders quickly see if the price is near either extreme.
Section 8: Weak Signals (Optional)
For those preferring early cues, the script can highlight areas where the price nears the outer bands. When weak signals are enabled:
1. Bars closer to the upper reversal zone receive a subtle marker suggesting a less robust, yet still noteworthy, potential selling area.
2. Bars closer to the lower reversal zone receive a subtle marker suggesting a less robust, yet still noteworthy, potential buying area.
Section 9: Simplicity, Effectiveness, and Lower Timeframes
Although combining standard deviation and ATR involves sophisticated volatility concepts, this indicator is visually straightforward. Reversal bands and gradient-colored bars make it easy to see at a glance when price approaches or crosses a threshold. Day traders operating on lower timeframes benefit from such clarity because it helps filter out minor fluctuations and focus on more meaningful signals.
Section 10: Adaptability across Market Phases
Because both the standard deviation (for Bollinger Bands) and ATR adapt to changing volatility, the indicator naturally adjusts to various environments:
1. Trending: The additional ATR-based outer bands help distinguish between temporary pullbacks and deeper reversals.
2. Ranging: Bollinger Bands often remain narrower, identifying smaller reversals, while the outer ATR bands remain relatively close to the main bands.
Section 11: Reduced Noise in High-Volatility Scenarios
By factoring ATR into the band calculations, the script widens or narrows the thresholds during rapid market fluctuations. This reduces the amount of false triggers typically found in indicators that rely solely on fixed calculations, preventing overreactions to abrupt but short-lived price spikes.
Section 12: Incorporation with Other Technical Tools
Many traders combine this indicator with oscillators such as RSI, MACD, or Stochastic, as well as volume metrics. Overbought or oversold signals in momentum oscillators can provide additional confirmation when price reaches the outer bands, while volume spikes may reinforce the significance of a breakout or potential reversal.
Section 13: Risk Management Considerations
All trading strategies carry risk. This indicator, like any tool, can and does produce losing trades if price unexpectedly reverses again or if broader market conditions shift rapidly. Prudent traders employ protective measures:
1. Stop-loss orders or trailing stops.
2. Position sizing that accounts for market volatility.
3. Diversification across different asset classes when possible.
Section 14: Overbought and Oversold Identification
Standard Bollinger Bands highlight regions where price might be overextended relative to its recent average. The extended ATR-based reversal bands serve as secondary lines of defense, identifying moments when price truly stretches beyond typical volatility bounds.
Section 15: Parameter Customization for Different Needs
Users can tailor the script to their unique preferences:
1. Shorter lookback settings yield faster signals but risk more noise.
2. Higher multipliers spread the bands further apart, filtering out small moves but generating fewer signals.
3. Longer lookback periods smooth out market noise, often leading to more stable but less frequent trading cues.
Section 16: Examples of Different Trading Styles
1. Day Traders: Often reduce the length to capture quick price swings.
2. Swing Traders: May use moderate lengths such as 20 to 50 bars.
3. Position Traders: Might opt for significantly longer settings to detect macro-level reversals.
Section 17: Performance Limitations and Reality Check
No technical indicator is free from false signals. Sudden fundamental news events, extreme sentiment changes, or low-liquidity conditions can render signals less reliable. Backtesting and forward-testing remain essential steps to gauge whether the indicator aligns well with a trader’s timeframe, risk tolerance, and instrument of choice.
Section 18: Merging Volatility and Momentum
A critical uniqueness of this indicator lies in how it merges Bollinger Bands (standard deviation-based) with ATR (pure volatility measure). Bollinger Bands provide a relative measure of price extremes, while ATR dynamically reacts to market expansions and contractions. Together, they offer an enhanced perspective on potential market turns, ideally reducing random noise and highlighting moments where price has traveled beyond typical bounds.
Section 19: Purpose of this Merger
The fundamental purpose behind blending standard deviation measures with real-time volatility data is to accommodate different market behaviors. Static standard deviation alone can underreact or overreact in abnormally volatile conditions. ATR alone lacks a baseline reference to normality. By merging them, the indicator aims to provide:
1. A versatile dynamic range for both typical and extreme moves.
2. A filter against frequent whipsaws, especially in choppy environments.
3. A visual framework that novices and experts can interpret rapidly.
Section 20: Summary and Practical Tips
Uptrick: Volatility Reversion Bands offers a powerful tool for traders looking to combine volatility-based signals with momentum-derived reversals. It emphasizes clarity through color-coded bars, defined reversal zones, and optional weak signal markers. While potentially useful across all major timeframes, it demands ongoing risk management, realistic expectations, and careful study of how signals behave under different market conditions. No indicator serves as a crystal ball, so integrating this script into an overall strategy—possibly alongside volume data, fundamentals, or momentum oscillators—often yields the best results.
Disclaimer and Educational Use
This script is intended for educational and informational purposes. It does not constitute financial advice, nor does it guarantee trading success. Sudden economic events, low-liquidity times, and unexpected market behaviors can all undermine technical signals. Traders should use proper testing procedures (backtesting and forward-testing) and maintain disciplined risk management measures.