Wavelet Smoothed Moving Average (TechnoBlooms)Wavelet Smoothed Moving Average (WSMA) is a part of the Quantum Price Theory (QPT) Series of indicators.
Overview:
The Wavelet Smoothed Moving Average (WSMA) is a trend-following indicator inspired by multi-level Haar Wavelet decomposition. Rather than using traditional wavelet basis functions, it emulates the core wavelet concept of multi-resolution analysis using nested simple moving averages (SMA).
How It Works:
WSMA applies three levels of smoothing:
• Level 1: SMA on price (base smoothing)
• Level 2: SMA on Level 1 output (further denoising)
• Level 3: SMA on Level 2 output (final approximation)
Why Use WSMA:
• Multi-Level Smoothing: Captures price structure across multiple time scales, unlike single-length MAs.
• Noise Reduction: Filters out short-term volatility and focuses on the underlying trend.
• Low Lag, High Clarity: Unlike traditional moving averages that react slowly or miss subtle shifts, WSMA’s layered smoothing delivers cleaner and more adaptive trend detection.
Unique Value:
• Wavelet-Inspired Design: Mimics core wavelet decomposition logic without the complexity of downsampling or basis functions.
• Perfect for Trend Confirmation: The final line (a3) can act as a trend filter, while the detail levels can help identify momentum shifts and volatility bursts.
• Fits Into Quantum Price Theory: As part of the QPT framework, WSMA bridges scientific theory with trading application, giving traders a deeper understanding of market structure and signal compression.
Analisis Gelombang
Fractal Wave MarkerFractal Wave Marker is an indicator that processes relative extremes of fluctuating prices within 2 periodical aspects. The special labeling system detects and visually marks multi-scale turning points, letting you visualize fractal echoes within unfolding cycles dynamically.
What This Indicator Does
Identifies major and minor swing highs/lows based on adjustable period.
Uses Phi in power exponent to compute a higher-degree swing filter.
Labels of higher degree appear only after confirmed base swings — no phantom levels, no hindsight bias. What you see is what the market has validated.
Swing points unfold in a structured, alternating rhythm . No two consecutive pivots share the same hierarchical degree!
Inspired by the Fractal Market Hypothesis, this script visualizes the principle that market behavior repeats across time scales, revealing structured narrative of "random walk". This inherent sequencing ensures fractal consistency across timeframes. "Fractal echoes" demonstrate how smaller price swings can proportionally mirror larger ones in both structure and timing, allowing traders to anticipate movements by recursive patterns. Cycle Transitions highlight critical inflection points where minor pivots flip polarity such as a series of lower highs progress into higher highs—signaling the birth of a new macro trend. A dense dense clusters of swing points can indicate Liquidity Zones, acting as footprints of institutional accumulation or distribution where price action validates supply and demand imbalances.
Visualization of nested cycles within macro trend anchors - a main feature specifically designed for the chartists who prioritize working with complex wave oscillations their analysis.
2x Marubozu Signal (Wick ≤ 30%)The 2x Marubozu Signal (Wick ≤ 30%) is a powerful, momentum-based price action indicator designed to catch strong bullish or bearish trends early. It scans for two consecutive Marubozu-style candles (where wicks are ≤ 30% of the total candle size) to identify moments of solid conviction from buyers or sellers.
This indicator detects:
Bullish Signal: Two green candles in a row, both with tiny wicks (≤ 30% of total candle size), indicating strong buying pressure and momentum.
Bearish Signal: Two red candles in a row, both with tiny wicks (≤ 30%), signaling dominant selling pressure.
The signal appears on the second candle — confirming the continuation move after initial momentum.
Key Features:
🔍 Wick Ratio Filter: Only triggers if both candles have upper and lower wicks less than or equal to 30% of the full candle range (High - Low).
📈 Visual Signal Arrows:
Green Up Arrow on bullish 2x Marubozu
Red Down Arrow on bearish 2x Marubozu
⚙️ Clean and Lightweight: No lag, perfect for intraday, swing, or trend-based strategies.
🎯 Use Case:
Trend Confirmation: Enter after the second strong Marubozu to ride breakout moves.
Momentum Filter: Combine with your existing strategy to filter only high-conviction price action setups.
Reversal Spotting: Catch reversals at key support/resistance when Marubozus form.
🧠 Pro Tips:
Works best on 15m–1D charts, especially after consolidation.
Combine with support/resistance, volume, or EMA/SMA zones for confirmation.
Avoid overtrading in choppy zones—this is a momentum-only tool.
🚀 Who’s It For?
Price Action Traders
Scalpers & Swing Traders
Trend-followers
Crypto, Forex, Stocks
📌 Author Note:
This indicator was crafted for traders who trust pure candle structure over lagging indicators. If you respect momentum, this is your edge.
Multi-SMA Dashboard (10 SMAs)Description:
This script, "Multi-SMA Dashboard (10 SMAs)," creates a dashboard on a TradingView chart to analyze ten Simple Moving Averages (SMAs) of varying lengths. It overlays the chart and displays a table with each SMA’s direction, price position relative to the SMA, and angle of movement, providing a comprehensive trend overview.
How It Works:
1. **Inputs**: Users define lengths for 10 SMAs (default: 5, 10, 20, 50, 100, 150, 200, 250, 300, 350), select a price source (default: close), and customize table appearance and options like angle units (degrees/radians) and debug plots.
2. **SMA Calculation**: Computes 10 SMAs using the `ta.sma()` function with user-specified lengths and price source.
3. **Direction Determination**: The `sma_direction()` function checks each SMA’s trend:
- "Up" if current SMA > previous SMA.
- "Down" if current SMA < previous SMA.
- "Flat" if equal (no strength distinction).
4. **Price Position**: Compares the price source to each SMA, labeling it "Above" or "Below."
5. **Angle Calculation**: Tracks the most recent direction change point for each SMA and calculates its angle (atan of price change over time) in degrees or radians, based on the `showInRadians` toggle.
6. **Table Display**: A 12-column table shows:
- Columns 1-10: SMA name, direction (Up/Down/Flat), Above/Below status, and angle.
- Column 11: Summary of Up, Down, and Flat counts.
- Colors reflect direction (lime for Up/Above, red for Down/Below, white for Flat).
7. **Debug Option**: Optionally plots all SMAs and price for visual verification when `debug_plots_toggle` is enabled.
Indicators Used:
- Simple Moving Averages (SMAs): 10 user-configurable SMAs ranging from short-term (e.g., 5) to long-term (e.g., 350) periods.
The script runs continuously, updating the table on each bar, and overlays the chart to assist traders in assessing multi-timeframe trend direction and momentum without cluttering the view unless debug mode is active.
Goichi Hosoda TheoryGreetings to traders. I offer you an indicator for trading according to the Ichimoku Kinho Hyo trading system. This indicator determines possible time cycles of price reversal and expected asset price values based on the theory of waves and time cycles by Goichi Hosoda.
The indicator contains classic price levels N, V, E and NT, and is supplemented with intermediate levels V+E, V+N, N+NT and x2, x3, x4 for levels V and E, which are used in cases where the wave does not contain corrections and there is no possibility to update the impulse-corrective wave.
A function for counting bars from points A B and C has also been added.
Multi Oscillator OB/OS Signals v3 - Scope TestIndicator Description: Multi Oscillator OB/OS Signals
Purpose:
The "Multi Oscillator OB/OS Signals" indicator is a TradingView tool designed to help traders identify potential market extremes and momentum shifts by monitoring four popular oscillators simultaneously: RSI, Stochastic RSI, CCI, and MACD. Instead of displaying these oscillators in separate panes, this indicator plots distinct visual symbols directly onto the main price chart whenever specific predefined conditions (typically related to overbought/oversold levels or line crossovers) are met for each oscillator. This provides a consolidated view of potential signals from these different technical tools.
How It Works:
The indicator calculates the values for each of the four oscillators based on user-defined settings (like length periods and price sources) and then checks for specific signal conditions on every bar:
Relative Strength Index (RSI):
It monitors the standard RSI value.
When the RSI crosses above the user-defined Overbought (OB) level (e.g., 70), it plots an "Overbought" symbol (like a downward triangle) above that price bar.
When the RSI crosses below the user-defined Oversold (OS) level (e.g., 30), it plots an "Oversold" symbol (like an upward triangle) below that price bar.
Stochastic RSI:
This works similarly to RSI but is based on the Stochastic calculation applied to the RSI value itself (specifically, the %K line of the Stoch RSI).
When the Stoch RSI's %K line crosses above its Overbought level (e.g., 80), it plots its designated OB symbol (like a downward arrow) above the bar.
When the %K line crosses below its Oversold level (e.g., 20), it plots its OS symbol (like an upward arrow) below the bar.
Commodity Channel Index (CCI):
It tracks the CCI value.
When the CCI crosses above its Overbought level (e.g., +100), it plots its OB symbol (like a square) above the bar.
When the CCI crosses below its Oversold level (e.g., -100), it plots its OS symbol (like a square) below the bar.
Moving Average Convergence Divergence (MACD):
Unlike the others, MACD signals here are not based on fixed OB/OS levels.
It identifies when the main MACD line crosses above its Signal line. This is considered a bullish crossover and is indicated by a specific symbol (like an upward label) plotted below the price bar.
It also identifies when the MACD line crosses below its Signal line. This is a bearish crossover, indicated by a different symbol (like a downward label) plotted above the price bar.
Visualization:
All these signals appear as small, distinct shapes directly on the price chart at the bar where the condition occurred. The shapes, their colors, and their position (above or below the bar) are predefined for each signal type to allow for quick visual identification. Note: In the current version of the underlying code, the size of these shapes is fixed (e.g., tiny) and not user-adjustable via the settings.
Configuration:
Users can access the indicator's settings to customize:
The calculation parameters (Length periods, smoothing, price source) for each individual oscillator (RSI, Stoch RSI, CCI, MACD).
The specific Overbought and Oversold threshold levels for RSI, Stoch RSI, and CCI.
The colors associated with each type of signal (OB, OS, Bullish Cross, Bearish Cross).
(Limitation Note: While settings exist to toggle the visibility of signals for each oscillator individually, due to a technical workaround in the current code, these toggles may not actively prevent the shapes from plotting if the underlying condition is met.)
Alerts:
The indicator itself does not automatically generate pop-up alerts. However, it creates the necessary "Alert Conditions" within TradingView's alert system. This means users can manually set up alerts for any of the specific signals generated by the indicator (e.g., "RSI Overbought Enter," "MACD Bullish Crossover"). When creating an alert, the user selects this indicator, chooses the desired condition from the list provided by the script, and configures the alert actions.
Intended Use:
This indicator aims to provide traders with convenient visual cues for potential over-extension in price (via OB/OS signals) or shifts in momentum (via MACD crossovers) based on multiple standard oscillators. These signals are often used as potential indicators for:
Identifying areas where a trend might be exhausted and prone to a pullback or reversal.
Confirming signals generated by other analysis methods or trading strategies.
Noting shifts in short-term momentum.
Disclaimer: As with any technical indicator, the signals generated should not be taken as direct buy or sell recommendations. They are best used in conjunction with other forms of analysis (price action, trend analysis, volume, fundamental analysis, etc.) and within the framework of a well-defined trading plan that includes risk management. Market conditions can change, and indicator signals can sometimes be false or misleading.
zigzag all timeThe indicator is applicable across all timeframes, meaning it can be used for short-term (e.g., minutes, hours) or long-term (e.g., days, weeks, months) trading strategies. This ensures that the analysis is versatile and adaptable to different trading styles.
Momentum Charge Theory (MCT)-(TechnoBlooms)The Momentum Charge Theory (MCT) Indicator is an advanced physics and mathematics-inspired trend detection system designed to identify market energy shifts with precision. Unlike traditional indicators that rely on static formulas, MCT integrates entropy, volatility, kinetic energy, and wavelet transforms to map price dynamics in real time.
Built on Scientific Principles – This indicator applies quantum-inspired charge-discharge mechanics to spot early trend formations and reversals. Think of price action like an energy system: it charges (builds momentum) before an explosive move and discharges when that energy dissipates.
Core Concepts Behind MCT
1️⃣ Directional Market Entropy – Measuring Trend Strength
Entropy quantifies market randomness – is the trend structured or chaotic?
✅ A high-entropy market is uncertain (choppy price action), while a low-entropy market signals a strong directional trend.
✅ MCT normalizes entropy, allowing traders to differentiate trend acceleration from market noise.
2️⃣ Information Flow Volatility – Identifying Breakout Zones
Inspired by Econophysics, this component measures volatility based on information flow rather than simple price movements.
✅ Helps spot high-volatility breakout conditions before they occur.
✅ Filters out false breakouts caused by random market noise.
3️⃣ Kinetic Energy Momentum (KEM) – The Physics of Price Acceleration
Just like in physics, momentum is a function of mass and velocity – in trading, this translates to volume and price change.
✅ Uses kinetic energy equations to identify price acceleration zones.
✅ Helps detect momentum shifts before price visibly reacts.
4️⃣ Hilbert Transform Approximation – Slope & Trend Direction Analysis
Applies Hilbert Transforms to estimate trend angle shifts.
✅ Detects momentum decay and early reversal signals.
✅ Captures the true trend slope rather than relying on lagging moving averages.
5️⃣ Wavelet Transform – Advanced Noise Filtering & Trend Confirmation
Market movements contain multiple frequencies – wavelet transforms isolate dominant trends while removing short-term price noise.
✅ Improves trend clarity by reducing false signals.
✅ Acts as a final confirmation filter before generating Charge & Discharge signals.
Charge & Discharge – The Energy Behind Market Moves
🔹 Charge (Uptrend Activation)
A blue triangle appears below the candle when market conditions align for a strong bullish move.
📈 Indicates momentum buildup, low entropy, and trend strength confirmation.
🔸 Discharge (Downtrend Activation)
A purple triangle appears above the candle when price momentum weakens and market entropy increases.
📉 Suggests a potential trend exhaustion or reversal.
Best Use Cases for Traders
✅ Momentum Traders – Catch trend initiations before they gain full traction.
✅ Breakout Traders – Identify high-information flow zones with volatility-driven signals.
✅ Trend Followers – Avoid false signals by relying on entropy-driven confirmations.
The MCT indicator can be combined with any of your usual indicators for trend confirmation.
Zig Zag Trend Metrics“ Zig Zag Trend Metrics ” is a highly versatile indicator, built on the classic Zig Zag concept and thoughtfully designed for technical traders seeking a deeper, more structured view of market dynamics. This tool identifies significant swing highs and lows, classifies them, and annotates each with key metrics, offering a precise snapshot of each movement. It enhances visual analysis by drawing connecting lines that outline the flow of market structure, making trend progression and reversals instantly recognizable. Beyond visual mapping, it features a compact, real-time statistics table that calculates the average price and time deltas for both bullish and bearish swings, giving traders deep insights into trend momentum and rhythm. With extensive customization options, this indicator adapts seamlessly to vast trading styles or chart setups, empowering traders to spot patterns, evaluate trend strength, and make more confident, data-backed decisions.
❖ FEATURES
✦ Automatic Swing Detection
At its core, this indicator automatically identifies swing highs and lows based on a customizable lookback period (default: 10 bars).
✦ Labeling Swing Points
Each swing is visualized with a label that includes:
Swing Classification : “HH” (Higher High), “LH” (Lower High), “LL” (Lower Low), or “HL” (Higher Low).
Price Difference : Displayed in percentage or absolute value from the previous opposite swing.
Time Difference : The number of bars since the previous swing of the opposite type.
These labels offer traders clear, immediate insight into price movements and structural changes.
✦ Visual Lines
The indicator draws three types of lines:
Bullish Lines: Connect recent swing lows to new swing highs, indicating uptrends.
Bearish Lines: Connect recent swing highs to new swing lows, indicating downtrends.
Range Lines: Connect consecutive highs or lows to outline price channels.
Each line type can be color-coded and customized for visibility.
✦ Statistics Table
An on-screen metrics table provides a live summary of trends. Script uses Relative Averaging to smooth price and time changes. This prevents outliers from distorting the data and provides a more reliable sense of typical swing behavior.
Uptrend Metrics: Shows average price and time differences from recent bullish swings.
Downtrend Metrics: Shows the same for bearish swings.
🛠️ Customization Options
Ability to tailor the indicator to suit their strategy and aesthetic preferences:
Swing Period: Adjust sensitivity to short- or long-term swings.
Color Settings: Customize line and label colors.
Label Display: Choose between absolute or percentage price differences.
Table Settings: Modify size, location, or visibility.
This makes the indicator highly flexible and useful across various timeframes and assets.
Multi-timeframe Trend & Momentum DashboardMulti-Timeframe Trend & Momentum Dashboard
This indicator is a comprehensive multi-timeframe analysis tool designed for traders who want to quickly assess market trends and momentum across several timeframes. It combines trend detection with duration tracking and displays key information in an easy-to-read on-chart table. Key features include:
Multi-Timeframe Analysis:
Analyzes nine different timeframes (from 1-minute up to 1-week) simultaneously, helping you gauge the overall market trend at a glance.
Trend Detection & Duration:
Uses a combination of a short-term EMA and a long-term SMA to determine whether the market is bullish, bearish, or neutral. It also tracks how long the current trend has persisted in terms of consecutive bars and displays this duration next to each timeframe.
RSI Display & Visual Alerts:
Calculates the RSI for each timeframe. RSI values are color-coded—green when above 50 (indicating bullish momentum) and red when below 50 (indicating bearish conditions). Additionally, if the market is bearish on a particular timeframe while the RSI is above 50, the RSI cell flashes yellow to alert you of a potential trend reversal or divergence.
On-Chart Trend Start Markers:
When a new trend is detected on your current chart’s timeframe, the indicator automatically marks the bar with a label showing the new trend direction, providing a clear visual cue for trend changes.
This powerful tool is perfect for traders looking to combine multi-timeframe trend analysis with momentum indicators, enabling a more informed and dynamic trading strategy. Whether you’re a day trader or swing trader, the Multi-Timeframe Trend & Momentum Dashboard brings clarity to market conditions across multiple time horizons.
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.
ICT & RTM Price Action IndicatorICT & RTM Price Action Indicator
Unlock the power of precision trading with this cutting-edge indicator blending ICT (Inner Circle Trader) concepts and RTM (Reversal Trend Momentum) strategies. Designed for traders who demand clarity in chaotic markets, this tool pinpoints high-probability buy and sell signals with surgical accuracy.
What It Offers:
Smart Supply & Demand Zones: Instantly spot key levels where the market is likely to reverse or consolidate, derived from a 50-period high/low analysis.
Filtered Reversal Signals: Say goodbye to fakeouts! Signals are confirmed with volume spikes (1.5x average) and a follow-through candle, ensuring you trade only the strongest moves.
Trend-Aware Logic: Built on a customizable SMA (default 14), it aligns reversals with momentum for trades that stick.
One-Signal Discipline: No clutter—only the first valid signal appears until an opposing setup triggers, keeping your chart clean and your focus sharp.
Combined Power: A unique "TRADE" signal merges ICT zones with RTM reversals for setups with double the conviction.
Why You’ll Love It:
Whether you’re scalping intraday or hunting swing trades, this indicator adapts to your style. It’s not just another tool—it’s your edge in decoding price action like a pro. Test it, tweak it, and watch your trading transform.
Super Cycle Low FinderHow the Indicator Works
1. Inputs
Users can adjust the cycle lengths:
Daily Cycle: Default is 40 days (within 36-44 days).
Weekly Cycle: Default is 26 weeks (182 days, within 22-31 weeks).
Yearly Cycle: Default is 4 years (1460 days).
2. Cycle Low Detection
Function: detect_cycle_low finds the lowest low over the specified period and confirms it with a bullish candle (close > open).
Timeframes: Daily lows are calculated directly; weekly and yearly lows use request.security to fetch data from higher timeframes.
3. Half Cycle Lows
Detected over half the cycle length, plotted to show mid-cycle strength or weakness.
4. Cycle Translation
Logic: Compares the position of the highest high to the cycle’s midpoint.
Output: "R" for right translated (bullish), "L" for left translated (bearish), displayed above bars.
5. Cycle Failure
Flags when a new low falls below the previous cycle low, indicating a breakdown.
6. Visualization
Cycle Lows: Diamonds below bars (yellow for daily, green for weekly, blue for yearly).
Half Cycle Lows: Circles below bars (orange, lime, aqua).
Translations: "R" or "L" above bars in distinct colors.
Failures: Downward triangles below bars (red, orange, purple).
TimeMapTimeMap is a visual price-reference indicator designed to help traders rapidly visualize how current price levels relate to significant historical closing prices. It overlays your chart with reference lines representing past weekly, monthly, quarterly (3-month), semi-annual (6-month), and annual closing prices. By clearly plotting these historical price references, TimeMap helps traders quickly gauge price position relative to historical market structure, aiding in the identification of trends, support/resistance levels, and potential reversals.
How it Works:
The indicator calculates the precise number of historical bars corresponding to weekly, monthly, quarterly, semi-annual, and annual intervals, dynamically adjusting according to your chart’s timeframe (intraday, daily, weekly, monthly) and chosen market type (Stocks US, Crypto, Forex, or Futures). Historical closing prices from these periods are plotted directly on your chart as horizontal reference lines.
For intraday traders, the script accurately calculates historical offsets considering regular and extended trading sessions (e.g., pre-market and after-hours sessions for US stocks), ensuring correct positioning of historical lines.
User-Configurable Inputs Explained in Detail:
Market Type:
Allows you to specify your trading instrument type, automatically adjusting calculations for:
- Stocks US (default): 390 minutes per regular session (780 minutes if extended hours enabled), 5 trading days/week.
- Crypto: 1440 minutes/day, 7 trading days/week.
- Forex: 1440 minutes/day, 5 trading days/week.
- Futures: 1320 minutes/day, 5 trading days/week.
Show Weekly Close:
When enabled, plots a line at the exact closing price from one week ago. Provides short-term context and helps identify recent price momentum.
Show Monthly Close:
When enabled, plots a line at the exact closing price from one month ago. Helpful for evaluating medium-term price positioning and monthly trend strength.
Show 3-Month Close:
When enabled, plots a line at the exact closing price from three months ago. Useful for assessing quarterly market shifts, intermediate trend changes, and broader market sentiment.
Show 6-Month Close:
When enabled, plots a line at the exact closing price from six months ago. Useful for identifying semi-annual trends, significant price pivots, and longer-term support/resistance levels.
Show 1-Year Close:
When enabled, plots a line at the exact closing price from one year ago. Excellent for assessing long-term market direction and key annual price levels.
Enable Smoothing:
Activates a Simple Moving Average (SMA) smoothing of historical reference lines, reducing volatility and providing clearer visual references. Recommended for traders preferring less volatile reference levels.
Smoothing Length:
Determines the number of bars used in calculating the SMA smoothing of historical lines. Higher values result in smoother but slightly delayed reference lines; lower values offer more immediate yet more volatile levels.
Use Extended Hours (Intraday Only):
When enabled (only applicable for Stocks US), it accounts for pre-market and after-hours trading sessions, providing accurate intraday historical line calculations based on extended sessions (typically 780 minutes/day total).
Important Notes and Compliance:
- This indicator does not provide trading signals, recommendations, or predictions. It serves purely as a visual analytical tool to supplement traders’ existing methods.
- Historical lines plotted are strictly based on past available price data; the indicator never accesses future data or data outside the scope of Pine Script’s standard capabilities.
- The script incorporates built-in logic to avoid runtime errors if insufficient historical data exists for a selected timeframe, ensuring robustness even with limited historical bars.
- TimeMap is original work developed exclusively by Julien Eche (@Julien_Eche). It does not reuse or replicate third-party or existing open-source scripts.
Recommended Best Practices:
- Use TimeMap as a complementary analytical reference, not as a standalone strategy or trade decision-making tool.
- Adapt displayed historical periods and smoothing settings based on your trading style and market approach.
- Default plot colors are optimized for readability on dark-background charts; adjust as necessary according to your preference and chart color scheme.
This script is published open-source to benefit the entire TradingView community and fully complies with all TradingView script publishing rules and guidelines.
IWMA - DolphinTradeBot1️⃣ WHAT IS IT ?
▪️ The Inverted Weighted Moving Average (IWMA) is the reversed version of WMA, where older prices receive higher weights, while recent prices receive lower weights. As a result, IWMA focuses more on past price movements while reducing sensitivity to new prices.
2️⃣ HOW IS IT WORK ?
🔍 To understand the IWMA(Inverted Weighted Moving Average) indicator, let's first look at how WMA (Weighted Moving Average) is calculated.
LET’S SAY WE SELECTED A LENGTH OF 5, AND OUR CURRENT CLOSING VALUES ARE .
▪️ WMA Calculation Method
When calculating WMA, the most recent price gets the highest weight, while the oldest price gets the lowest weight.
The Calculation is ;
( 10 ×1)+( 12 ×2)+( 21 ×3)+( 24 ×4)+( 38 ×5) = 10+24+63+96+190 = 383
1+2+3+4+5 = 15
WMA = 383/15 ≈ 25.53
WMA = ta.wma(close,5) = 25.53
▪️ IWMA Calculation Method
The Inverted Weighted Moving Average (IWMA) is the reversed version of WMA, where older prices receive higher weights, while recent prices receive lower weights. As a result, IWMA focuses more on past price movements while reducing sensitivity to new prices.
The Calculation is ;
( 10 ×5)+( 12 ×4)+( 21 ×3)+( 24 ×2)+( 38 ×1) = 50+48+63+48+38 = 247
1+2+3+4+5 = 15
IWMA = 247/15 ≈ 16.46
IWMA = iwma(close,5) = 16.46
3️⃣ SETTINGS
in the indicator's settings, you can change the length and source used for calculation.
With the default settings, when you first add the indicator, only the iwma will be visible. However, to observe how much it differs from the normal wma calculation, you can enable the "show wma" option to see both indicators with the same settings or you can enable the Show Signals to see IWMA and WMA crossover signals .
4️⃣ 💡 SOME IDEAS
You can use the indicator for support and resistance level analysis or trend analysis and reversal detection with short and long moving averages like regular moving averages.
Another option is to consider whether the iwma is above or below the normal wma or to evaluate the crossovers between wma and iwma.
Fibonacci - DolphinTradeBot
OVERVIEW
The 'Fibonacci - DolphinTradeBot' indicator is a Pine Script-based tool for TradingView that dynamically identifies key Fibonacci retracement levels using ZigZag price movements. It aims to replicate the Fibonacci Retracement tool available in TradingView’s drawing tools. The indicator calculates Fibonacci levels based on directional price changes, marking critical retracement zones such as 0, 0.236, 0.382, 0.5, 0.618, 0.786, and 1.0 on the chart. These levels are visualized with lines and labels, providing traders with precise areas of potential price reversals or trend continuation.
HOW IT WORKS ?
The indicator follows a zigzag formation. After a large swing movement, when new swings are formed without breaking the upper and lower levels, it places Fibonacci levels at the beginning and end points of the major swing movement."
▪️(Bullish) Structure :High → HigherLow → LowerHigh
▪️(Bearish) Structure :Low → LowerHigh → HigherLow
▪️When Fibonacci retracement levels are determined, a "📌" mark appears on the chart.
▪️If the price closes outside of these levels, a "❌" mark will appear.
USAGE
This indicator is designed to plot Fibonacci levels within an accumulation zone following significant price movements, helping you identify potential support and resistance. You can adjust the pivot periods to customize the zigzag settings to your preference. While classic Fibonacci levels are used by default, you also have the option to input custom levels and assign your preferred colors.
Set the Fibonacci direction option to "upward" to detect only bullish structures, "downward" to detect only bearish structures, and "both" to see both at the same time.
"To view past levels, simply enable the ' Show Previous Levels ' option, and to display the zigzag lines, activate the ' Show Zigzag ' setting."
ALERTS
The indicator, by default, triggers an alarm when both a level is formed and when a level is broken. However, if you'd like, you can select the desired level from the " Select Level " section in the indicator settings and set the alarm based on one of the conditions below.
▪️ cross-up → If the price breaks the Fibonacci level to the upside.
▪️ cross-down → If the price breaks the Fibonacci level to the downside.
▪️ cross-any → If the price breaks the Fibonacci level in any direction.
SuperTrend Bar Counter - DolphinTradeBot
OVERVIEW
This indicator calculates the lengths of upward and downward trends based on the specified SuperTrend settings and timeframe. It then takes the average length of the entered number of swings and compares the current trend durations with these averages. The main goal is to anticipate potential reversals in advance.
HOW IS IT WORK ?
The indicator actually contains two different but conceptually similar metrics.
The first part; shows how long the Supertrend stays in an upward or downward trend in real time. Additionally, it analyzes how close the current value is to the average of the Supertrend bar count for the given input.
The second part; aims to provide a different perspective on general trend analysis. It calculates the average duration of upward and downward trends in bars based on the SuperTrend indicator settings within a specified period and timeframe. If, contrary to expectations, downward trends last longer than upward trends, the background is colored green, indicating a prediction that the trend will continue upward.
Explanation of the second part logic: As you know, moving averages or similar approaches that follow the price are often correct when looking back retrospectively, but they cannot serve as leading indicators in real-time trading.That's why, when performing trend analysis, I wanted to introduce a completely different perspective based on price movement, yet still grounded in price action itself.
This phenomenon is partly due to the nature of the SuperTrend itself. After strong price movements, SuperTrend tends to reverse direction much more quickly during pullbacks. Following a strong upward move, a downward trend is detected much earlier and tends to last longer. The indicator provides an alternative perspective by analyzing which directional movement occurs more rapidly and uses this insight for trend prediction.
HOW TO USE ?
It can be used to identify potential price reversals or to assess whether the price is generally cheap or expensive.
In the settings section, you can adjust the SuperTrend parameters and timeframes for the values displayed in the table.
In the second part, you can configure the values used for general trend analysis.
NOTE
Things to be aware of: As the chart's timeframe decreases, pulling data from higher timeframes becomes more difficult. For example, when the chart is set to a 5-minute timeframe, it may fail to retrieve swing periods from the daily timeframe. Similarly, on a 4-hour chart, when calculating the average swing, there might be enough data for only 5 periods instead of 20.
Please keep in mind that this indicator was created solely to provide an idea. It should only be considered as a perspective or a supporting tool that influences your decision by no more than 5% at most.
Solar VPR (No EVMA) + Alpha TrendThis Pine Script v6 indicator combines Solar VPR (without EVMA slow average) and Alpha Trend to identify potential trading opportunities.
Solar VPR calculates a Simple Moving Average (SMA) of the hlc3 price and defines upper/lower bands based on a percentage multiplier. It highlights bullish (green) and bearish (red) zones.
Alpha Trend applies ATR-based smoothing to an SMA, identifying trend direction. Blue indicates an uptrend, while orange signals a downtrend.
Buy/Sell Signals appear when price crosses Alpha Trend and aligns with Solar VPR direction.
Intraday Anchored FanSimilar to an Anchored VWAP, this lets you click a bar on an Intraday chart to add an "Anchored Fan" which displays lines at up to 6 levels above and below the chosen Anchor Point. Useful to measure the retracement during swing moves.
You can reposition the fan by either hovering over the anchor or by clicking the name of the study to "activate" it, and then dragging. You can also change the Anchor Point in Settings.
By default the anchor uses the bar Close, but you can change this manually in settings OR you can use the fancy "Auto high/low" mode which is handy if you are mainly dropping the fan on local swing highs and lows.
The default line measures were chosen for ES (Futures) but the study should be usable with nearly anything as long as you adjust the settings to something appropriate for the ticker. If you want to use this on NQ, for example, it would be reasonable to multiple each of these settings by 3.5 or so.
NOTE: If the fan is off the left side of the chart, one way to see the Anchor handle again easily is to switch to a higher timeframe; for example if you are on the 5min maybe use the 15min or hourly to find the handle -- if it is WAY off the left side (for example if you let many days pass without advancing it) it's generally easiest to use Settings to move it back to "now".
cashdata by farashahThis indicator is designed to generate wave charts following the NeoWave method.
NeoWave, developed by Glenn Neely in 1990, offers a scientific and objective approach to wave analysis.
A Cash Data is essential for accurate analysis, requiring highs and lows to be plotted in the exact order they occurred—a process that can be complex and time-consuming.
The indicator automates this process by identifying highs and lows for any symbol and timeframe, plotting them in real-time.
For instance, on a monthly timeframe, it finds yearly highs and lows and arranges them sequentially, forming a "Yearly Wave Chart" for NeoWave analysis.
•Generates Wave Charts for multiple timeframes(yearly, monthly, weekly, daily, hourly, minutely).
• Provides real-time auto-updating Wave Charts.
• Supports plotting based on calendar time, bar count, or equal distances.
• Compatible with all account types.
Machine Learning + Geometric Moving Average 250/500Indicator Description - Machine Learning + Geometric Moving Average 250/500
This indicator combines password-protected market analysis levels with two powerful Geometric Moving Averages (GMA 250 & GMA 500).
🔒 Password-Protected Custom Levels
Access pre-defined long and short price levels for select assets (crypto, stocks, and more) by entering the correct password in the indicator settings.
Once the correct password is entered, the indicator automatically displays:
Green horizontal lines for long entry zones.
Red horizontal lines for short entry zones.
If the password is incorrect, a warning label will appear on the chart.
📈 Geometric Moving Averages (GMA)
This indicator calculates GMA 250 and GMA 500, two long-term trend-following tools.
Unlike traditional moving averages, GMAs use logarithmic smoothing to better handle exponential price growth, making them especially useful for assets with strong trends (e.g., crypto and tech stocks).
GMA 250 (white line) tracks the medium-term trend.
GMA 500 (gold line) tracks the long-term trend.
⚙️ Customizable & Flexible
Works on multiple assets, including cryptocurrencies, equities, and more.
Adaptable to different timeframes and trading styles — ideal for both swing traders and long-term investors.
This indicator is ideal for traders who want to blend custom support/resistance levels with advanced geometric trend analysis to better navigate both volatile and trending markets.
US Yield Curve (2-10yr)US Yield Curve (2-10yr) by oonoon
2-10Y US Yield Curve and Investment Strategies
The 2-10 year US Treasury yield spread measures the difference between the 10-year and 2-year Treasury yields. It is a key indicator of economic conditions.
Inversion (Spread < 0%): When the 2-year yield exceeds the 10-year yield, it signals a potential recession. Investors may shift to long-term bonds (TLT, ZROZ), gold (GLD), or defensive stocks.
Steepening (Spread widening): A rising 10-year yield relative to the 2-year suggests economic expansion. Investors can benefit by shorting bonds (TBT) or investing in financial stocks (XLF). The Amundi US Curve Steepening 2-10Y ETF can be used to profit from this trend.
Monitoring the curve: Traders can track US10Y-US02Y on TradingView for real-time insights and adjust portfolios accordingly.
Percentage Based ZigZag█ OVERVIEW
The Percentage-Based ZigZag indicator is a custom technical analysis tool designed to highlight significant price reversals while filtering out market noise. Unlike many standard zigzag tools that rely solely on fixed price moves or generic trend-following methods, this indicator uses a configurable percentage threshold to dynamically determine meaningful pivot points. This approach not only adapts to different market conditions but also helps traders distinguish between minor fluctuations and truly significant trend shifts—whether scalping on shorter timeframes or analyzing longer-term trends.
█ KEY FEATURES & ORIGINALITY
Dynamic Pivot Detection
The indicator identifies pivot points by measuring the percentage change from the previous extreme (high or low). Only when this change exceeds a user-defined threshold is a new pivot recognized. This method ensures that only substantial moves are considered, making the indicator robust in volatile or noisy markets.
Enhanced ZigZag Visualization
By connecting significant highs and lows with a continuous line, the indicator creates a clear visual map of price swings. Each pivot point is labelled with the corresponding price and the percentage change from the previous pivot, providing immediate quantitative insight into the magnitude of the move.
Trend Reversal Projections
In addition to marking completed reversals, the script computes and displays potential future reversal points based on the current trend’s momentum. This forecasting element gives traders an advanced look at possible turning points, which can be particularly useful for short-term scalping strategies.
Customizable Visual Settings
Users can tailor the appearance by:
• Setting the percentage threshold to control sensitivity.
• Customizing colors for bullish (e.g., green) and bearish (e.g., red) reversals.
• Enabling optional background color changes that visually indicate the prevailing trend.
█ UNDERLYING METHODOLOGY & CALCULATIONS
Percentage-Based Filtering
The script continuously monitors price action and calculates the relative percentage change from the last identified pivot. A new pivot is confirmed only when the price moves a preset percentage away from this pivot, ensuring that minor fluctuations do not trigger false signals.
Pivot Point Logic
The indicator tracks the highest high and the lowest low since the last pivot. When the price reverses by the required percentage from these extremes, the algorithm:
1 — Labels the point as a significant high or low.
2 — Draws a connecting line from the previous pivot to the current one.
3 — Resets the extreme-tracking for detecting the next move.
Real-Time Reversal Estimation
Building on traditional zigzag methods, the script incorporates a projection calculation. By analyzing the current trend’s strength and recent percentage moves, it estimates where a future reversal might occur, offering traders actionable foresight.
█ HOW TO USE THE INDICATOR
1 — Apply the Indicator
• Add the Percentage-Based ZigZag indicator to your trading chart.
2 — Adjust Settings for Your Market
• Percentage Move – Set a threshold that matches your trading style:
- Lower values for sensitive, high-frequency analysis (ideal for scalping).
- Higher values for filtering out noise on longer timeframes.
• Visual Customization – Choose your preferred colors for bullish and bearish signals and enable background color changes for visual trend cues.
• Reversal Projection – Enable or disable the projection feature to display potential upcoming reversal points.
3 — Interpret the Signals
• ZigZag Lines – White lines trace significant high-to-low or low-to-high movements, visually connecting key swing points.
• Pivot Labels – Each pivot is annotated with the exact price level and percentage change, providing quantitative insight into market momentum.
• Trend Projections – When enabled, projected reversal levels offer insight into where the current trend might change.
4 — Integrate with Your Trading Strategy
• Use the indicator to identify support and resistance zones derived from significant pivots.
• Combine the quantitative data (percentage changes) with your risk management strategy to set optimal stop-loss and take-profit levels.
• Experiment with different threshold settings to adapt the indicator for various instruments or market conditions.
█ CONCLUSION
The Percentage-Based ZigZag indicator goes beyond traditional trend-following tools by filtering out market noise and providing clear, quantifiable insights into price action. With its percentage threshold for pivot detection and real-time reversal projections, this original methodology and customizable feature set offer traders a versatile edge for making informed trading decisions.