Math by Thomas Liquidity PoolDescription
Math by Thomas Liquidity Pool is a TradingView indicator designed to visually identify potential liquidity pools on the chart by detecting areas where price forms clusters of equal highs or equal lows.
Bullish Liquidity Pools (Green Boxes): Marked below price where two adjacent candles have similar lows within a specified difference, indicating potential demand zones or stop loss clusters below support.
Bearish Liquidity Pools (Red Boxes): Marked above price where two adjacent candles have similar highs within the difference threshold, indicating potential supply zones or stop loss clusters above resistance.
This tool helps traders spot areas where smart money might hunt stop losses or where price is likely to react, providing valuable insight for trade entries, exits, and risk management.
Features:
Adjustable box height (vertical range) in points.
Adjustable maximum difference threshold between candle highs/lows to consider them equal.
Boxes automatically extend forward for visibility and delete when price sweeps through or after a defined lifetime.
Separate visual zones for bullish and bearish liquidity with customizable colors.
How to Use
Add the Indicator to your chart (preferably on instruments like Nifty where point-based thresholds are meaningful).
Adjust Inputs:
Box Height: Set the vertical size of the liquidity zones (default 15 points).
Max Difference Between Highs/Lows: Set the max price difference to consider two candle highs or lows as “equal” (default 10 points).
Box Lifetime: How many bars the box stays visible if not swept (default 120 bars).
Interpret Boxes:
Green Boxes (Bullish Liquidity Pools): Areas of potential demand and stop loss clusters below price. Watch for price bounces or accumulation near these zones.
Red Boxes (Bearish Liquidity Pools): Areas of potential supply and stop loss clusters above price. Watch for price rejections or distribution near these zones.
Trading Strategy Tips:
Use these zones to anticipate where stop loss hunting or liquidity sweeps may occur.
Combine with your Order Block, Fair Value Gap, and Market Structure tools for higher probability setups.
Manage risk by avoiding entries into price regions just before large liquidity pools get swept.
Automatic Cleanup:
Boxes delete automatically once price breaks above (for bearish zones) or below (for bullish zones) the zone or after the set lifetime.
Indicators and strategies
AMF_LibraryLibrary "AMF_Library"
Adaptive Momentum Flow (AMF) Library - A comprehensive momentum oscillator that adapts to market volatility
@author B3AR_Trades
f_ema(source, length)
Custom EMA calculation that accepts a series length
Parameters:
source (float) : (float) Source data for calculation
length (float) : (float) EMA length (can be series)
Returns: (float) EMA value
f_dema(source, length)
Custom DEMA calculation that accepts a series length
Parameters:
source (float) : (float) Source data for calculation
length (float) : (float) DEMA length (can be series)
Returns: (float) DEMA value
f_sum(source, length)
Custom sum function for rolling sum calculation
Parameters:
source (float) : (float) Source data for summation
length (int) : (int) Number of periods to sum
Returns: (float) Sum value
get_average(data, length, ma_type)
Get various moving average types for fixed lengths
Parameters:
data (float) : (float) Source data
length (simple int) : (int) MA length
ma_type (string) : (string) MA type: "SMA", "EMA", "WMA", "DEMA"
Returns: (float) Moving average value
calculate_adaptive_lookback(base_length, min_lookback, max_lookback, volatility_sensitivity)
Calculate adaptive lookback length based on volatility
Parameters:
base_length (int) : (int) Base lookback length
min_lookback (int) : (int) Minimum allowed lookback
max_lookback (int) : (int) Maximum allowed lookback
volatility_sensitivity (float) : (float) Sensitivity to volatility changes
Returns: (int) Adaptive lookback length
get_volatility_ratio()
Get current volatility ratio
Returns: (float) Current volatility ratio vs 50-period average
calculate_volume_analysis(vzo_length, smooth_length, smooth_type)
Calculate volume-based buying/selling pressure
Parameters:
vzo_length (int) : (int) Lookback length for volume analysis
smooth_length (simple int) : (int) Smoothing length
smooth_type (string) : (string) Smoothing MA type
Returns: (float) Volume analysis value (-100 to 100)
calculate_amf(base_length, smooth_length, smooth_type, signal_length, signal_type, min_lookback, max_lookback, volatility_sensitivity, medium_multiplier, slow_multiplier, vzo_length, vzo_smooth_length, vzo_smooth_type, price_vs_fast_weight, fast_vs_medium_weight, medium_vs_slow_weight, vzo_weight)
Calculate complete AMF oscillator
Parameters:
base_length (int) : (int) Base lookback length
smooth_length (simple int) : (int) Final smoothing length
smooth_type (string) : (string) Final smoothing MA type
signal_length (simple int) : (int) Signal line length
signal_type (string) : (string) Signal line MA type
min_lookback (int) : (int) Minimum adaptive lookback
max_lookback (int) : (int) Maximum adaptive lookback
volatility_sensitivity (float) : (float) Volatility adaptation sensitivity
medium_multiplier (float) : (float) Medium DEMA length multiplier
slow_multiplier (float) : (float) Slow DEMA length multiplier
vzo_length (int) : (int) Volume analysis lookback
vzo_smooth_length (simple int) : (int) Volume analysis smoothing
vzo_smooth_type (string) : (string) Volume analysis smoothing type
price_vs_fast_weight (float) : (float) Weight for price vs fast DEMA
fast_vs_medium_weight (float) : (float) Weight for fast vs medium DEMA
medium_vs_slow_weight (float) : (float) Weight for medium vs slow DEMA
vzo_weight (float) : (float) Weight for volume analysis component
Returns: (AMFResult) Complete AMF calculation results
calculate_amf_default()
Calculate AMF with default parameters
Returns: (AMFResult) AMF result with standard settings
amf_oscillator()
Get just the main AMF oscillator value with default parameters
Returns: (float) Main AMF oscillator value
amf_signal()
Get just the AMF signal line with default parameters
Returns: (float) AMF signal line value
is_overbought(overbought_level)
Check if AMF is in overbought condition
Parameters:
overbought_level (float) : (float) Overbought threshold (default 70)
Returns: (bool) True if overbought
is_oversold(oversold_level)
Check if AMF is in oversold condition
Parameters:
oversold_level (float) : (float) Oversold threshold (default -70)
Returns: (bool) True if oversold
bullish_crossover()
Detect bullish crossover (main line crosses above signal)
Returns: (bool) True on bullish crossover
bearish_crossover()
Detect bearish crossover (main line crosses below signal)
Returns: (bool) True on bearish crossover
AMFResult
AMF calculation results
Fields:
main_oscillator (series float) : The main AMF oscillator value (-100 to 100)
signal_line (series float) : The signal line for crossover signals
dema_fast (series float) : Fast adaptive DEMA value
dema_medium (series float) : Medium adaptive DEMA value
dema_slow (series float) : Slow adaptive DEMA value
volume_analysis (series float) : Volume-based buying/selling pressure (-100 to 100)
adaptive_lookback (series int) : Current adaptive lookback length
volatility_ratio (series float) : Current volatility ratio vs average
Adaptive MACD Deluxe [AlgoAlpha]OVERVIEW
This script is an advanced rework of the classic MACD indicator, designed to be more adaptive, visually informative, and customizable. It enhances the original MACD formula using a dynamic feedback loop and a correlation-based weighting system that adjusts in real-time based on how deterministic recent price action is. The signal line is flexible, offering several smoothing types including Heiken Ashi, while the histogram is color-coded with gradients to help users visually identify momentum shifts. It also includes optional normalization by volatility, allowing MACD values to be interpreted as relative percentage moves, making the indicator more consistent across different assets and timeframes.
CONCEPTS
This version of MACD introduces a deterministic weight based on R-squared correlation with time, which modulates how fast or slow the MACD adapts to price changes. Higher correlation means smoother, slower MACD responses, and low correlation leads to quicker reaction. The momentum calculation blends traditional EMA math with feedback and damping components to create a smoother, less noisy series. Heiken Ashi is optionally used for signal smoothing to better visualize short-term trend bias. When normalization is enabled, the MACD is scaled by an EMA of the high-low range, converting it into a bounded, volatility-relative indicator. This makes extreme readings more meaningful across markets.
FEATURES
The script offers six distinct options for signal line smoothing: EMA, SMA, SMMA (RMA), WMA, VWMA, and a custom Heiken Ashi mode based on the MACD series. Each option provides a different response speed and smoothing behavior, allowing traders to match the indicator’s behavior to their strategy—whether it's faster reaction or reduced noise.
Normalization is another key feature. When enabled, MACD values are scaled by a volatility proxy, converting the indicator into a relative percentage. This helps standardize the MACD across different assets and timeframes, making overbought and oversold readings more consistent and easier to interpret.
Threshold zones can be customized using upper and lower boundaries, with inner zones for early warnings. These zones are highlighted on the chart with subtle background fills and directional arrows when MACD enters or exits key levels. This makes it easier to spot strong or weak reversals at a glance.
Lastly, the script includes multiple built-in alerts. Users can set alerts for MACD crossovers, histogram flips above or below zero, and MACD entries into strong or weak reversal zones. This allows for hands-free monitoring and quick decision-making without staring at the chart.
USAGE
To use this script, choose your preferred signal smoothing type, enable normalization if you want MACD values relative to volatility, and adjust the threshold zones to fit your asset or timeframe. Use the colored histogram to detect changes in momentum strength—brighter colors indicate rising strength, while faded colors imply weakening. Heiken Ashi mode smooths out noise and provides clearer signals, especially useful in choppy conditions. Use alert conditions for crossover and reversal detection, or monitor the arrow markers for entries into potential exhaustion zones. This setup works well for trend following, momentum trading, and reversal spotting across all market types.
DMI-LuminateIndicator Description: DMI-Luminate (DMI-LMT)
DMI-Luminate is an enhanced version of the Directional Movement Index (DMI) indicator that combines multiple moving averages for smoothing and offers various options to customize the calculation of ADX, +DM, -DM, DX, and ADXR. It is ideal for traders looking to analyze trend strength and equilibrium points between buyers and sellers.
Components and Features
+DM and -DM: Indicators measuring positive and negative directional movement, helping identify trend direction.
DX (Directional Movement Index): Measures the relative difference between +DM and -DM, indicating the current trend strength.
ADX (Average Directional Index): A smoothed line showing trend strength regardless of direction. Values above 25 generally indicate a strong trend.
ADXR (Average Directional Movement Rating): A moving average of ADX that detects trend strength changes with less sensitivity.
Equilibrium Points: Visual markers (blue circles) that appear when +DM and -DM cross, signaling potential reversals or changes in trend strength.
Customizable Settings
DM Length: The period used to calculate directional movements.
ADX Smoothing: The smoothing period for ADX.
MA Type Universal: Select the moving average type used for smoothing calculations. Options include SMA, EMA, WMA, ALMA, T3, and advanced averages like DNA⚡ and RNA🐢.
T3 Hot Factor: Parameter to adjust the intensity of the T3 moving average (when selected).
Show Lines: Toggle the display of ADX, ADXR, DX, and +DM/-DM lines as you prefer.
Show Equilibrium Points: Enable to visualize crossing points between +DM and -DM.
Background Color and Offset: Customize the background color and offset for better visibility.
How to Use
Trend Identification
Watch the ADX line to gauge trend strength. When ADX is above 25, the trend is considered strong. The +DM and -DM lines indicate if the trend is bullish (+DM > -DM) or bearish (-DM > +DM).
Entry/Exit Signals
Use the equilibrium points (blue circles) to identify potential reversals or changes in trend dynamics based on +DM and -DM crossings.
Moving Average Selection
Experiment with different moving averages to smooth the data and tailor the indicator to your trading style and asset. Faster averages like EMA react better in volatile markets, while SMMA and ALMA suit more stable conditions.
Using ADXR
ADXR offers a smoother view of trend strength to avoid false signals during sideways markets.
Visual Customization
Adjust colors and background to improve readability, especially across different chart themes.
Recommendations
Combine DMI-Luminate with other indicators (e.g., volume, RSI, chart patterns) to confirm entries and exits.
Adjust DM Length and ADX Smoothing according to the timeframe you trade.
Use different moving average types to find the setup that works best for your asset and strategy.
Fallback VWAP (No Volume? No Problem!) – Yogi365Fallback VWAP (No Volume? No Problem!) – Yogi365
This script plots Daily, Weekly, and Monthly VWAPs with ±1 Standard Deviation bands. When volume data is missing or zero (common in indices or illiquid assets), it automatically falls back to a TWAP-style calculation, ensuring that your VWAP levels always remain visible and accurate.
Features:
Daily, Weekly, and Monthly VWAPs with ±1 Std Dev bands.
Auto-detection of missing volume and seamless fallback.
Clean, color-coded trend table showing price vs VWAP/bands.
Uses hlc3 for VWAP source.
Labels indicate when fallback is used.
Best Used On:
Any asset or index where volume is unavailable.
Intraday and swing trading.
Works on all timeframes but optimized for overlay use.
How it Works:
If volume == 0, the script uses a constant fallback volume (1), turning the VWAP into a TWAP (Time-Weighted Average Price) — still useful for intraday or index-based analysis.
This ensures consistent plotting on instruments like indices (e.g., NIFTY, SENSEX,DJI etc.) which might not provide volume on TradingView.
Bounce Zone📘 Bounce Zone – Indicator Description
The "Bounce Zone" indicator is a custom tool designed to highlight potential reversal zones on the chart based on volume exhaustion and price structure. It identifies sequences of candles with low volume activity and marks key price levels that could act as "bounce zones", where price is likely to react.
🔍 How It Works
Volume Analysis:
The indicator calculates a Simple Moving Average (SMA) of volume (default: 20 periods).
It looks for at least 6 consecutive candles (configurable) where the volume is below this volume SMA.
Color Consistency:
The candles must all be of the same color:
Green candles (bullish) for potential downward bounce zones.
Red candles (bearish) for potential upward bounce zones.
Zone Detection:
When a valid sequence is found:
For green candles: it draws a horizontal line at the low of the last red candle before the sequence.
For red candles: it draws a horizontal line at the high of the last green candle before the sequence.
Bounce Tracking:
Each horizontal line remains on the chart until it is touched twice by price (high or low depending on direction).
After two touches, the line is automatically removed, indicating the zone has fulfilled its purpose.
📈 Use Cases
Identify areas of price exhaustion after strong directional pushes.
Spot liquidity zones where institutions might step in.
Combine with candlestick confirmation for reversal trades.
Useful in both trending and range-bound markets for entry or exit signals.
⚙️ Parameters
min_consecutive: Minimum number of consecutive low-volume candles of the same color (default: 6).
vol_ma_len: Length of the volume moving average (default: 20).
🧠 Notes
The indicator does not repaint and is based purely on historical candle and volume structure.
Designed for manual strategy confirmation or support for algorithmic setups.
Color Change EMA 200 (4H)200 Color Change EMA (4H Locked)
Overview
This indicator displays a 200-period Exponential Moving Average (EMA) that is locked to the 4-hour timeframe, regardless of what chart timeframe you're currently viewing. The EMA line changes color dynamically based on price action to provide clear visual trend signals.
Key Features
• Multi-Timeframe Capability : Always shows the 4H 200 EMA on any chart timeframe
• Dynamic Color Coding :
- Green: Price is above the 200 EMA (bullish condition)
- Red: Price is below the 200 EMA (bearish condition)
• Clean Visual Design : Bold 2-pixel line width for clear visibility
• Real-time Updates : Colors change instantly as price crosses above or below the EMA
How to Use
1. Add the indicator to any timeframe chart
2. The 4H 200 EMA will appear as a smooth line
3. Watch for color changes:
- When the line turns green, it indicates price strength above the key moving average
- When the line turns red, it suggests price weakness below the moving average
4. Use for trend identification, support/resistance levels, and entry/exit timing
Best Practices
• Combine with other technical analysis tools for confirmation
• Use the color changes as alerts for potential trend shifts
• Consider the 200 EMA as a major support/resistance level
• Works well for swing trading and position sizing decisions
Settings
• Length : Default 200 periods (customizable)
• Source : Default closing price (customizable)
Perfect for traders who want to keep the important 4H 200 EMA visible across all timeframes with instant visual trend feedback.
Year/Quarter Open LevelsDeveloped by ADEL CEZAR and inspired by insights from ERDAL Y, this indicator is designed to give traders a clear edge by automatically plotting the Yearly Open and Quarterly Open levels — two of the most critical institutional reference points in price action.
These levels often act as magnets for liquidity, bias confirmation zones, and support/resistance pivots on higher timeframes. With customizable settings, you can display multiple past opens, fine-tune label positions, and align your strategy with high-timeframe structure — all in a lightweight, non-intrusive design.
If you follow Smart Money Concepts (SMC), ICT models, or build confluence using HTF structures and range theory, this script will integrate seamlessly into your workflow.
Mariam Ichimoku DashboardPurpose
The Mariam Ichimoku Dashboard is designed to simplify the Ichimoku trading system for both beginners and experienced traders. It provides a complete view of trend direction, strength, momentum, and key signals all in one compact dashboard on your chart. This tool helps traders make faster and more confident decisions without having to interpret every Ichimoku element manually.
How It Works
1. Trend Strength Score
Calculates a score from -5 to +5 based on Ichimoku components.
A high positive score means strong bullish momentum.
A low negative score shows strong bearish conditions.
A near-zero score indicates a sideways or unclear market.
2. Future Cloud Bias
Looks 26 candles ahead to determine if the future cloud is bullish or bearish.
This helps identify the longer-term directional bias of the market.
3. Flat Kijun / Flat Senkou B
Detects flat zones in the Kijun or Senkou B lines.
These flat areas act as strong support or resistance and can attract price.
4. TK Cross
Identifies Tenkan-Kijun crosses:
Bullish Cross means Tenkan crosses above Kijun
Bearish Cross means Tenkan crosses below Kijun
5. Last TK Cross Info
Shows whether the last TK cross was bullish or bearish and how many candles ago it happened.
Helps track trend development and timing.
6. Chikou Span Position
Checks if the Chikou Span is above, below, or inside past price.
Above means bullish momentum
Below means bearish momentum
Inside means mixed or indecisive
7. Near-Term Forecast (Breakout)
Warns when price is near the edge of the cloud, preparing for a potential breakout.
Useful for anticipating price moves.
8. Price Breakout
Shows if price has recently broken above or below the cloud.
This can confirm the start of a new trend.
9. Future Kumo Twist
Detects upcoming twists in the cloud, which often signal potential trend reversals.
10. Ichimoku Confluence
Measures how many key Ichimoku signals are in agreement.
The more signals align, the stronger the trend confirmation.
11. Price in or Near the Cloud
Displays if the price is inside the cloud, which often indicates low clarity or a choppy market.
12. Cloud Thickness
Shows whether the cloud is thin or thick.
Thick clouds provide stronger support or resistance.
Thin clouds may allow easier breakouts.
13. Recommendation
Gives a simple trading suggestion based on all major signals.
Strong Buy, Strong Sell, or Hold.
Helps simplify decision-making at a glance.
Features
All major Ichimoku signals summarized in one panel
Real-time trend strength scoring
Detects flat zones, crosses, cloud twists, and breakouts
Visual alerts for trend alignment and signal confluence
Compact, clean design
Built with simplicity in mind for beginner traders
Tips
Best used on 15-minute to 1-hour charts for short-term trading
Avoid entering trades when price is inside the cloud because the market is often indecisive
Wait for alignment between trend score, TK cross, cloud bias, and confluence
Use the dashboard to support your trading strategy, not replace it
Enable alerts for major confluence or upcoming Kumo twists
SMEMA Trend CoreSMEMA Trend Core is a multi-timeframe trend analysis tool designed to provide a clean, adaptive and structured view of the market’s directional bias. It can be used in short term, swing or long term contexts. The internal calculation adjusts automatically based on the selected trading style, while always combining data from six timeframes.
At its core, the indicator uses a SMEMA, which is a Simple Moving Average applied to an EMA. This combination improves smoothness without losing reactivity. The SMEMA is calculated separately on 1H, 4H, 1D, 3D, 1W and 1M timeframes. These six values are then combined using dynamic weights that depend on the trading mode:
Short Term mode gives more influence to 1H and 4H
Swing Trading mode gives more influence to 1D, 3D and 1W
Long Term mode gives more influence to 1W and 1M
However, all six timeframes are always included in the final result. This avoids the tunnel vision of relying on a single resolution and ensures that the indicator captures both local and structural movements.
The result is a synthetic trend line, called Global SMEMA, that adapts to market conditions and offers a realistic view of the ongoing trend. To enhance the reading, the indicator calculates a Trend Score. This score reflects the position of price relative to the Global SMEMA, scaled by a long-term ATR, and adjusted by the slope of the trend line. A hyperbolic tangent function is used to normalize values and reduce distortion from outliers.
The final score is capped between -10 and +10, and used to define the trend state:
Green when the trend is bullish (score > +1.5)
Red when the trend is bearish (score < -1.5)
Brown when the trend is neutral (score between -1.5 and +1.5)
Optional Deviation Bands can be displayed at ±1, ±2 and ±3 ATR distances around the central line. These dynamic zones help identify extended price movements or potential support and resistance areas, depending on the current trend bias.
Main features:
A single, stable trend line based on six timeframes
Automatic rebalancing depending on trading mode
Quantified score integrating distance and slope
No overreaction to short-term noise
Deviation zones for advanced market context
No repainting, no lookahead, 100% real-time
SMEMA Trend Core is not a signal tool. It is a directional framework that helps you stay aligned with the real structure of the market. Use it to confirm setups, filter trades or simply understand where the market stands in its trend cycle.
David_FairPriceCandlestick_calculatedDescription:
This indicator displays the "Typical Price" for each candle as a visual marker (cross) directly on the chart. The Typical Price is calculated as the average of the High, Low, and Close values of each bar:
(High + Low + Close) / 3
The marker provides a quick visual reference to the fair or average price level within every single candle.
Unlike a Point of Control (POC) or volume-based indicators, this script works purely with price data and is independent of volume or order flow.
Use cases:
Identify where most trading activity may have been concentrated within the candle (for price-based strategies)
Support as a reference line for mean-reversion or fair value concepts
Works on all timeframes and instruments
Customization:
You can easily change the marker style (cross, dot, triangle, etc.) and color within the script.
Lucy – 3-Bar Reversal with EMA50 Trend Filter📛 Lucy – 3-Bar Reversal with EMA50 Trend Filter
Purpose:
To detect and highlight bullish and bearish 3-bar reversal patterns on the chart, but only when they align with the dominant trend, defined by the EMA 50.
✅ How It Works
🟢 Bullish 3-Bar Reversal (Buy Setup):
Bar 1 is bearish (close < open)
Bar 2 makes a lower low than Bar 1
Bar 3 is bullish (close > open) and closes above Bar 2’s high
Price must be above EMA 50 (trend filter)
✅ Result: Shows a green triangle below the bar
🔴 Bearish 3-Bar Reversal (Sell Setup):
Bar 1 is bullish (close > open)
Bar 2 makes a higher high than Bar 1
Bar 3 is bearish (close < open) and closes below Bar 2’s low
Price must be below EMA 50
✅ Result: Shows a red triangle above the bar
📊 What It Plots:
🔼 Green triangle below bullish signal bar
🔽 Red triangle above bearish signal bar
🟠 Orange line = EMA50 (trend filter)
🔔 Built-in Alerts:
You’ll get an alert if:
A bullish reversal pattern forms above EMA50
A bearish reversal pattern forms below EMA50
🧠 Use Cases:
Great for trend-following traders who want clean, price-action entries
Works well on intraday (15m/1h) or swing (4h/daily) timeframes
Can be used for manual entries, or converted to strategy for automation
Yearly Performance Table with CAGROverview
This Pine Script indicator provides a clear table displaying the annual performance of an asset, along with two different average metrics: the arithmetic mean and the geometric mean (CAGR).
Core Features
Annual Performance Calculation:
Automatically detects the first trading day of each calendar year.
Calculates the percentage return for each full calendar year.
Based on closing prices from the first to the last trading day of the respective year.
Flexible Display:
Adjustable Period: Displays data for 1-50 years (default: 10 years).
Daily Timeframe Only: Functions exclusively on daily charts.
Automatic Update: Always shows the latest available years.
Two Average Metrics:
AVG (Arithmetic Mean)
A simple average of all annual returns. (Formula: (R₁ + R₂ + ... + Rₙ) ÷ n)
Important: Can be misleading in the presence of volatile returns.
GEO (Geometric Mean / CAGR)
Compound Annual Growth Rate. (Formula: ^(1/n) - 1)
Represents the true average annual growth rate.
Fully accounts for the compounding effect.
Limitations
Daily Charts Only: Does not work on intraday or weekly/monthly timeframes.
Calendar Year Basis: Calculations are based on calendar years, not rolling 12-month periods.
Historical Data: Dependent on the availability of historical data from the broker/data provider.
Interpretation of Results
CAGR as Benchmark: The geometric mean is more suitable for performance comparisons.
Annual Patterns: Individual year figures can reveal seasonal or cyclical trends.
Momentum Trend Bands (MTB)📌 What Is the Momentum Trend Bands (MTB) Indicator?
The Momentum Trend Bands (MTB) is a custom-built trend detection indicator that blends momentum and volatility into a dynamic, visual system. Its core goal is to help traders identify the beginning and strength of a trend earlier than traditional tools like moving averages, while filtering out market noise.
🧠 What Is It Built On?
The indicator is built on two foundational concepts:
1. Rate of Change (ROC): This measures the speed at which the price is moving. We use a fast and a slow version of ROC and then calculate their difference. This difference gives us a momentum signal — it shows whether the price is gaining upward or downward strength.
2. Standard Deviation (Volatility): This shows how much the price fluctuates. By calculating it over a certain period, we can measure market noise and filter out weak, insignificant moves that might otherwise cause false signals.
Together, momentum shows direction, and volatility shows confidence.
🛠️ How Does It Work?
• The core of the indicator is a smoothed momentum signal, representing the net difference between fast and slow momentum.
• Around this signal, we build upper and lower bands — these are dynamic boundaries that expand or contract based on volatility.
• When the momentum breaks above or below these bands, it signals a strong directional move — suggesting the start or continuation of a trend.
The bands also serve a visual filter:
• If momentum stays within the bands, it implies the market is consolidating or ranging.
• When it exits the bands decisively, it implies strength in that direction.
📈 How to Use It?
1. Trend Entry:
o When the momentum signal rises above the upper band, it suggests a strong bullish trend may be starting.
o When the signal drops below the lower band, it indicates a bearish trend.
2. Stay Out of Chop:
o If the signal moves sideways within the bands, it’s best to avoid trading — the market is likely consolidating or ranging.
3. Visual Confirmation:
o The background color changes with the trend: green for bullish, red for bearish, gray for neutral. This makes it quick to read visually.
4. Signal Arrows:
o Small up or down arrows appear when trends begin, serving as early entry points.
⚙️ What Kind of Market Does It Work Best In?
• Trending Markets: MTB shines in markets with strong directional movement — whether up or down. It's designed to pick up momentum early and hold through trend continuation.
• Volatile Instruments: The built-in volatility filter helps in markets like crypto or commodities where price action is fast and erratic.
• Avoid Flat or Low-Volume Conditions: In sideways markets, MTB may stay gray or flip often — these are not ideal times to trade using this indicator alone.
💎 Why Is It Unique?
Unlike many indicators that react slowly (like moving averages) or trigger too often (like raw momentum), MTB balances early detection with reliability. Its unique combination of:
• ROC difference for directional intent,
• Smoothing for signal clarity,
• Bands scaled by volatility for robustness,
…makes it stand apart from commonly available indicators on platforms like TradingView.
Simple Position CalculatorThis indicator provides a real-time position sizing calculator designed for fast momentum trading. It instantly calculates optimal trade size based on your risk parameters, entry/exit prices, and exchange conditions (fees/slippage). Perfect for high-speed entries during candle closes and breakouts.
Choppiness ZONE OverlayPurpose
This script overlays choppiness zones directly onto the price chart to help traders identify whether the market is trending or ranging. It is designed to filter out low-probability trades during high choppiness conditions.
How It Works
Calculates the Choppiness Index over a user-defined period using ATR and price range.
Divides choppiness into four zones:
30 to 40: Low choppiness, possible trend initiation, shown in yellow.
40 to 50: Moderate choppiness, transition zone, shown in orange.
50 to 60: High choppiness, weakening momentum, shown in red.
60 and above: Extreme choppiness, avoid trading, shown in purple.
Highlights each zone with customizable color fills between the high and low of the selected range.
Triggers a real-time alert when choppiness exceeds 60.
Features
Customizable choppiness zones and color settings.
Real-time alert when market becomes extremely choppy (choppiness ≥ 60).
Visual zone overlay on the price chart.
Compatible with all timeframes.
Lightweight and responsive for scalping, intraday, or swing trading.
Tip
Use this tool as a volatility or trend filter. Combine it with momentum or trend-following indicators to improve trade selection.
MA Cross MTF Alert (Miu)This script extends the classic moving average crossover strategy with support for up to 8 user-defined symbols across 4 custom timeframes, combined with a visual and alert system designed for traders who monitor multiple assets simultaneously.
Unlike traditional MA crossover tools, this script enables traders to receive real-time alerts for crossovers across multiple assets and timeframes, even when the script is not actively displayed on the chart — ideal for passive monitoring in multi-asset strategies.
What it does:
This script calculates two customizable moving averages (SMA or EMA) for each selected symbol and timeframe.
It then tracks crossover events:
- Bullish crossover when the fast MA crosses above the slow MA
- Bearish crossunder when the fast MA crosses below the slow MA
On the chart, it also displays the crossover signals for the current symbol and timeframe using color-coded cross icons.
Key features:
- Select SMA or EMA type for both moving averages
- Customize MA lengths and colors
- Works with any asset and timeframe
- Alerts include symbol and timeframe info for easy identification
How to use:
1) Add the indicator to your chart.
2) Choose the moving average type and lengths.
3) Enable/disable any of the 8 symbols and 4 timeframes.
4) Set up TradingView alerts by clicking “Create Alert” and selecting one of the alert() calls.
5) You will receive a message like:
BTC (1h) | MA Crossover ▲ or ETH (15m) | MA Crossunder ▼
Technical note:
This script uses request.security() to retrieve moving average values from up to 8 different symbols and 4 different timeframes in real time.
Feel free to leave your feedback or suggestions in the comments section below.
Enjoy!
DrawZigZag🟩 OVERVIEW
This library draws zigzag lines for existing pivots. It is designed to be simple to use. If your script creates pivots and you want to join them up while handling edge cases, this library does that quickly and efficiently. If you want your pivots created for you, choose one of the many other zigzag libraries that do that.
🟩 HOW TO USE
Pine Script libraries contain reusable code for importing into indicators. You do not need to copy any code out of here. Just import the library and call the function you want.
For example, for version 1 of this library, import it like this:
import SimpleCryptoLife/DrawZigZag/1
See the EXAMPLE USAGE sections within the library for examples of calling the functions.
For more information on libraries and incorporating them into your scripts, see the Libraries section of the Pine Script User Manual.
🟩 WHAT IT DOES
I looked at every zigzag library on TradingView, after finishing this one. They all seemed to fall into two groups in terms of functionality:
• Create the pivots themselves, using a combination of Williams-style pivots and sometimes price distance.
• Require an array of pivot information, often in a format that uses user-defined types.
My library takes a completely different approach.
Firstly, it only does the drawing. It doesn't calculate the pivots for you. This isn't laziness. There are so many ways to define pivots and that should be up to you. If you've followed my work on market structure you know what I think of Williams pivots.
Secondly, when you pass information about your pivots to the library function, you only need the minimum of pivot information -- whether it's a High or Low pivot, the price, and the bar index. Pass these as normal variables -- bools, ints, and floats -- on the fly as your pivots confirm. It is completely agnostic as to how you derive your pivots. If they are confirmed an arbitrary number of bars after they happen, that's fine.
So why even bother using it if all it does it draw some lines?
Turns out there is quite some logic needed in order to connect highs and lows in the right way, and to handle edge cases. This is the kind of thing one can happily outsource.
🟩 THE RULES
• Zigs and zags must alternate between Highs and Lows. We never connect a High to a High or a Low to a Low.
• If a candle has both a High and Low pivot confirmed on it, the first line is drawn to the end of the candle that is the opposite to the previous pivot. Then the next line goes vertically through the candle to the other end, and then after that continues normally.
• If we draw a line up from a Low to a High pivot, and another High pivot comes in higher, we *extend* the line up, and the same for lines down. Yes this is a form of repainting. It is in my opinion the only way to end up with a correct structure.
• We ignore lower highs on the way up and higher lows on the way down.
🟩 WHAT'S COOL ABOUT THIS LIBRARY
• It's simple and lightweight: no exported user-defined types, no helper methods, no matrices.
• It's really fast. In my profiling it runs at about ~50ms, and changing the options (e.g., trimming the array) doesn't make very much difference.
• You only need to call one function, which does all the calculations and draws all lines.
• There are two variations of this function though -- one simple function that just draws lines, and one slightly more advanced method that modifies an array containing the lines. If you don't know which one you want, use the simpler one.
🟩 GEEK STUFF
• There are no dependencies on other libraries.
• I tried to make the logic as clear as I could and comment it appropriately.
• In the `f_drawZigZags` function, the line variable is declared using the `var` keyword *inside* the function, for simplicity. For this reason, it persists between function calls *only* if the function is called from the global scope or a local if block. In general, if a function is called from inside a loop , or multiple times from different contexts, persistent variables inside that function are re-initialised on each call. In this case, this re-initialisation would mean that the function loses track of the previous line, resulting in incorrect drawings. This is why you cannot call the `f_drawZigZags` function from a loop (not that there's any reason to). The `m_drawZigZagsArray` does not use any internal `var` variables.
• The function itself takes a Boolean parameter `_showZigZag`, which turns the drawings on and off, so there is no need to call the function conditionally. In the examples, we do call the functions from an if block, purely as an illustration of how to increase performance by restricting the amount of code that needs to be run.
🟩 BRING ON THE FUNCTIONS
f_drawZigZags(_showZigZag, _isHighPivot, _isLowPivot, _highPivotPrice, _lowPivotPrice, _pivotIndex, _zigzagWidth, _lineStyle, _upZigColour, _downZagColour)
This function creates or extends the latest zigzag line. Takes real-time information about pivots and draws lines. It does not calculate the pivots. It must be called once per script and cannot be called from a loop.
Parameters:
_showZigZag (bool) : Whether to show the zigzag lines.
_isHighPivot (bool) : Whether the current bar confirms a high pivot. Note that pivots are confirmed after the bar in which they occur.
_isLowPivot (bool) : Whether the current bar confirms a low pivot.
_highPivotPrice (float) : The price of the high pivot that was confirmed this bar. It is NOT the high price of the current bar.
_lowPivotPrice (float) : The price of the low pivot that was confirmed this bar. It is NOT the low price of the current bar.
_pivotIndex (int) : The bar index of the pivot that was confirmed this bar. This is not an offset. It's the `bar_index` value of the pivot.
_zigzagWidth (int) : The width of the zigzag lines.
_lineStyle (string) : The style of the zigzag lines.
_upZigColour (color) : The colour of the up zigzag lines.
_downZagColour (color) : The colour of the down zigzag lines.
Returns: The function has no explicit returns. As a side effect, it draws or updates zigzag lines.
method m_drawZigZagsArray(_a_zigZagLines, _showZigZag, _isHighPivot, _isLowPivot, _highPivotPrice, _lowPivotPrice, _pivotIndex, _zigzagWidth, _lineStyle, _upZigColour, _downZagColour, _trimArray)
Namespace types: array
Parameters:
_a_zigZagLines (array)
_showZigZag (bool) : Whether to show the zigzag lines.
_isHighPivot (bool) : Whether the current bar confirms a high pivot. Note that pivots are usually confirmed after the bar in which they occur.
_isLowPivot (bool) : Whether the current bar confirms a low pivot.
_highPivotPrice (float) : The price of the high pivot that was confirmed this bar. It is NOT the high price of the current bar.
_lowPivotPrice (float) : The price of the low pivot that was confirmed this bar. It is NOT the low price of the current bar.
_pivotIndex (int) : The bar index of the pivot that was confirmed this bar. This is not an offset. It's the `bar_index` value of the pivot.
_zigzagWidth (int) : The width of the zigzag lines.
_lineStyle (string) : The style of the zigzag lines.
_upZigColour (color) : The colour of the up zigzag lines.
_downZagColour (color) : The colour of the down zigzag lines.
_trimArray (bool) : If true, the array of lines is kept to a maximum size of two lines (the line elements are not deleted). If false (the default), the array is kept to a maximum of 500 lines (the maximum number of line objects a single Pine script can display).
Returns: This function has no explicit returns but it modifies a global array of zigzag lines.
ATR, ADX, RSI TableATR, ADX & RSI Dashboard (Color-Coded)
Overview
This indicator provides a clean, all-in-one dashboard that displays the current values for three of the most popular technical indicators: Average True Range (ATR), Average Directional Index (ADX), and Relative Strength Index (RSI).
To make analysis faster and more intuitive, the values in the table are dynamically color-coded based on key thresholds. This allows you to get an immediate visual summary of market volatility, trend strength, and momentum without cluttering your main chart area.
Features
The indicator displays a simple table in the bottom-right corner of your chart with the following color logic:
ATR (Volatility): Measures the average volatility of an asset.
Green: Low Volatility (ATR is less than 3% of the current price).
Orange: Moderate Volatility (ATR is between 3% and 5%).
Red: High Volatility (ATR is greater than 5%).
ADX (Trend Strength): Measures the strength of the underlying trend, regardless of its direction.
Red: Weak or Non-Trending Market (ADX is below 20).
Orange: Developing or Neutral Trend (ADX is between 20 and 25).
Green: Strong Trend (ADX is above 25).
RSI (Momentum): Measures the speed and change of price movements to identify overbought or oversold conditions.
Green: Potentially Oversold (RSI is below 40).
Orange: Neutral/Normal Conditions (RSI is between 40 and 70).
Red: Potentially Overbought (RSI is above 70).
How to Use
This tool is perfect for traders who want a quick, at-a-glance understanding of the current market state. Instead of analyzing three separate indicators, you can use this dashboard to:
Quickly confirm if a strong trend is present before entering a trade.
Assess volatility to adjust your stop-loss and take-profit levels.
Instantly spot potential overbought or oversold conditions.
Customization
All input lengths for the ATR, ADX, and RSI are fully customizable in the indicator's settings menu, allowing you to tailor the calculations to your specific trading style and timeframe.
Auto-Trend Finder (Pivot + ADX)Inspired in part by LuxAlgo Trendlines with Breaks. Extended and enhanced for directional clarity and pivot-based precision.
🔍 What It Does
The Auto-Trend Finder (Pivot + ADX) is a smart trend-detection toolkit that combines:
Pivot-based swing detection (HH, HL, LH, LL)
ADX-filtered trendline projections
Custom slope estimation using ATR, Standard Deviation, Linear Regression, or a blended approach
Candlestick pattern detection for added confirmation (e.g., hammer, engulfing, shooting star)
📈 How It Works
1. Swing Detection
Uses ta.pivothigh / ta.pivotlow to mark major price turning points.
Labels pivots as Higher High (HH), Lower High (LH), Lower Low (LL), or Higher Low (HL).
Optionally overlays basic candle pattern names for visual context.
2. Trendline Logic
Connects successive pivot highs/lows with real-time trendlines.
Draws separate Uptrend and Downtrend lines with distinct colors.
3. Extended Projections
Projects extended dashed lines from the last pivot using slope formulas:
ATR-based (volatility)
Stdev-based (dispersion)
Linear Regression (trend best-fit)
Or a Combined slope using user-defined weights.
Color changes dynamically on breakout to visually signal momentum shifts.
4. ADX Trend Strength Filter
Optional ADX filter disables trendline updates unless directional strength exceeds a threshold (e.g. 20+).
Helps remove noise in sideways markets.
⚠️ Important Notes
Backpainting Warning: This script includes a backpainting setting (backpaint) that may cause lines to appear "reliably predictive" in historical data. Backpainting does not repaint once the pivot is confirmed, but it still reflects a post-fact state. Use this feature cautiously in live trading decisions.
Reused Code Attribution: Extended trendline concept and breakout color logic were inspired by publicly available open-source versions of LuxAlgo's trendline logic. Credit is given in the script comments and here as required.
🛠️ How to Use It
Adjust Pivot Length for swing detection sensitivity.
Toggle ADX filtering on or off to avoid choppy signals.
Choose your preferred Slope Calculation Method.
Use candlestick labels as potential entry signals near trendline retests or breaks.
✅ Why This Is More Than a Mashup
This tool integrates several separate technical methods into one cohesive, customizable framework:
It’s not just combining indicators, it’s engineering synergy between them.
The slope and ADX filtering mechanics dynamically adjust to trend strength.
Candlestick confirmation and labeling give visual, real-time trade confidence.
It enhances open-source logic by adding modular slope options, ADX gating, pattern labeling, and user control.
"Know the structure. Follow the strength. Trade with clarity. Auto-Trend Finder is your edge in the chaos."
Discount to Net Asset ValueOverview
This indicator helps investors and analysts identify when a company’s stock is trading below or above its intrinsic value. A persistent discount may highlight potential value opportunities, while a sustained premium could signal overvaluation or strong market sentiment. By visually shading the background and plotting the discount/premium percentage, users can quickly screen for undervalued stocks, confirm fundamental research, and make more informed buy or sell decisions.
Usage
Calculates the Net Asset Value discount (or premium) for any symbol.
By default the indicator uses the current chart symbol’s TOTAL_ASSETS, TOTAL_LIABILITIES, and TOTAL_SHARES_OUTSTANDING.
You can select another symbol by checking “Use Custom Symbol” and entering the ticker of the other symbol. This is useful for comparing the Discount to NAV across symbols.
Shows the percentage discount (or premium) of market capitalization relative to net asset value.
Recommended timeframes: daily bars or higher.
Reporting Periods:
• FQ = Fiscal Quarter
• FY = Fiscal Year
• TTM = Trailing Twelve Months
Note: NAV is pulled on the chosen reporting period (FQ, FY, TTM).
By default the background is shaded red to illustrate a discount to NAV and green to illustrate a premium to NAV. This can be toggled in the settings.
Futures vs CFD Price Display
🎯 Trading the same asset in CFDs and Futures but tired of switching charts to compare prices? This is your indicator!
Stop the constant chart hopping! This live price comparison shows you instantly where the better conditions are.
✨ What you get:
Bidirectional: Works in both Futures AND CFD charts
Live prices: Real-time comparison of both markets
Spread calculation: Automatic difference in points and percentage
Fully customizable: Colors, position, size to your liking
Professional design: Clean display with symbol header
🎯 Perfect for:
Gold traders (Futures vs CFD)
Arbitrage strategies
Spread monitoring
Multi-broker comparisons
⚙️ Customization:
3 sizes (Small/Normal/Large) for all screens
4 positions available
Individual color schemes
Toggle features on/off
💡 Simply enter the symbol and keep both markets in sight!
Notice: "Co-developed with Claude AI (Anthropic) - because even AI needs to pay the server bills! 😄"
Mariam Market DashboardMariam Market Dashboard – A Quick Guide
Purpose:
Shows if the market is trending, volatile, or stuck so you can decide when to trade or wait.
How to Use
Add the indicator to your chart. Adjust basic settings like EMA, RSI, ATR lengths, and timezone if needed. Use it before entering any trade to confirm market conditions.
What Each Metric Means (with general ranges)
Session: Identifies which market session is active (New York, London, Tokyo).
Trend: Shows current market direction. “Up” means price above EMA and VWAP, “Down” means price below. Use this to confirm bullish or bearish bias.
HTF Trend: Confirms trend on a higher timeframe for stronger signals.
ATR (Average True Range): Measures market volatility or price movement speed.
Low ATR (e.g., below 0.5% of price) means quiet or slow market; high ATR (above 1% of price) means volatile or fast-moving market, good for active trades.
Strong Bar: A candlestick closing near its high (above 75% of range) indicates strong buying momentum; closing near its low indicates strong selling momentum.
Higher Volume: Volume higher than average (typically 10-20% above normal) means more market activity and stronger moves.
Volume / Avg Volume: Ratio above 1.2 (120%) shows volume is significantly higher than usual, signaling strong interest.
RVol % (Relative Volume %): Above 100% means volume is hotter than normal, increasing chances of strong moves; below 50% means low activity and possible indecision.
Delta: Difference between buying and selling volume (if available). A positive delta means buyers dominate; negative means sellers dominate.
ADX (Average Directional Index): Measures trend strength:
Below 20 means weak or no trend;
Above 25 means strong trend;
Between 20-25 is moderate trend.
RSI (Relative Strength Index): Momentum oscillator:
Below 30 = oversold (potential buy);
Above 70 = overbought (potential sell);
Between 40-60 means neutral momentum.
MACD: Confirms momentum direction:
Positive MACD histogram bars indicate bullish momentum;
Negative bars indicate bearish momentum.
Choppiness Index: Measures how much the market is ranging versus trending:
Above 60 = very choppy/sideways market;
Below 40 = trending market.
Consolidation: When true, price is stuck in a narrow range, signaling indecision. Avoid breakout trades during this.
Quick Trading Reminder
Trade only when the trend is clear and volume is above average. Avoid trading in low volume or choppy markets.