News Volatility Bracketing StrategyThis is a news-volatility bracketing strategy. Five seconds before a scheduled release, the strategy brackets price with a buy-stop above and a sell-stop below (OCO), then converts the untouched side into nothing while the filled side runs with a 1:1 TP/SL set the same distance from entry. Distances are configurable in USD or %, so it scales to the instrument and can run on 1-second data (or higher TF with bar-magnifier). The edge it’s trying to capture is the immediate, one-directional burst and liquidity vacuum that often follows market-moving news—entering on momentum rather than predicting direction. Primary risks are slippage/spread widening and whipsaws right after the print, which can trigger an entry then snap back to the stop.
Indicadores e estratégias
Three-Bar Reversal/ContinuationThis indicator identifies a three-bar expansion pattern based on range and volume, designed to highlight moments when the market pushes strongly, pauses, and then resumes with confirmation.
Detection Logic
* Bar (two bars ago) must show sufficient strength, determined by the number of conditions met.
* Bar (one bar ago) must be neutral (strength = 0), marking a brief pause.
*Bar (current bar) must continue the expansion, with range and volume greater than the prior bar.
(Bar is used as a safeguard to prevent repeated detection during ongoing strong moves)
Strength Scoring
Each bar is scored 0–3 based on which of the following conditions it satisfies:
* Range exceeds a multiple of the recent average
* Volume exceeds a multiple of the recent average
* Range × volume exceeds a multiple of the recent average
The detection level input controls how many of these conditions must hold to classify a bar as “strong.” This allows tuning from permissive (1 condition) to strict (all 3 conditions).
Parameters & Utility
* length: Lookback period for moving averages of span, volume, and span×volume. Larger values smooth the averages, reducing false positives; smaller values increase sensitivity.
* coeff: Multiplicative threshold to define an unusually strong bar. Higher values reduce frequency but increase reliability.
* detectLevel: Minimum number of conditions that must be met for a bar to count as “strong.”
* showCont: Whether to allow continuation signals away from local extrema (if false, only reversals near highs/lows are considered).
* symbolUp / symbolDown: Customizable plotting symbols for bullish/bearish signals.
* showStrength: Plots tiny dots indicating the strength of each bar (1–3).
Rationale
This structure captures a recurring market motif: strong push → brief pause → renewed push, where the renewed activity is confirmed by both price expansion and volume. Using a combination of statistical thresholds (range, volume, range×volume) and price structure ensures that signals are both measurable and visually interpretable.
Usage Notes
* This setup allows traders to visually or systematically identify potential reversal or continuation points while controlling sensitivity to noise.
* Designed as a mechanical filter rather than a fully automated trading system. Signals highlight notable activity but do not dictate entry, exit, or risk management.
* Works best when combined with trend/context filters or higher-timeframe analysis.
* Adjust the parameters based on the volatility of the instrument and timeframe.
Time-Based Market Structure (Levels 00 / 03 / 29)This indicator plots three recurring time-based anchors on the chart: 00, 03, and 29.
These anchors can help traders observe how price tends to react around specific temporal points during the day or month.
Main features:
• Enable/disable each level individually (00, 03, 29)
• Customize label colors
• Direct visualization on the chart with labels placed above candles
Practical use:
The tool is useful for traders studying market structure in both intraday and multi-timeframe contexts, looking for recurring temporal patterns that may coincide with areas of volatility or potential directional shifts.
Important note:
This indicator does not provide buy or sell signals. It is intended as a visual aid for discretionary analysis and as a study tool for exploring how time-based conditions may influence price behavior.
RCI2MAsignWhen the slopes of any two RCI lines are upward and above any MA, a buy signal is generated. Conversely, a sell signal is generated. Signals are represented by background color.
Market Spiralyst [Hapharmonic]Hello, traders and creators! 👋
Market Spiralyst: Let's change the way we look at analysis, shall we? I've got to admit, I scratched my head on this for weeks, Haha :). What you're seeing is an exploration of what's possible when code meets art on financial charts. I wanted to try blending art with trading, to do something new and break away from the same old boring perspectives. The goal was to create a visual experience that's not just analytical, but also relaxing and aesthetically pleasing.
This work is intended as a guide and a design example for all developers, born from the spirit of learning and a deep love for understanding the Pine Script™ language. I hope it inspires you as much as it challenged me!
🧐 Core Concept: How It Works
Spiralyst is built on two distinct but interconnected engines:
The Generative Art Engine: At its core, this indicator uses a wide range of mathematical formulas—from simple polygons to exotic curves like Torus Knots and Spirographs—to draw beautiful, intricate shapes directly onto your chart. This provides a unique and dynamic visual backdrop for your analysis.
The Market Pulse Engine: This is where analysis meets art. The engine takes real-time data from standard technical indicators (RSI and MACD in this version) and translates their states into a simple, powerful "Pulse Score." This score directly influences the appearance of the "Scatter Points" orbiting the main shape, turning the entire artwork into a living, breathing representation of market momentum.
🎨 Unleash Your Creativity! This Is Your Playground
We've included 25 preset shapes for you... but that's just the starting point !
The real magic happens when you start tweaking the settings yourself. A tiny adjustment can make a familiar shape come alive and transform in ways you never expected.
I'm genuinely excited to see what your imagination can conjure up! If you create a shape you're particularly proud of or one that looks completely unique, I would love to see it. Please feel free to share a screenshot in the comments below. I can't wait to see what you discover! :)
Here's the default shape to get you started:
The Dynamic Scatter Points: Reading the Pulse
This is where the magic happens! The small points scattered around the main shape are not just decorative; they are the visual representation of the Market Pulse Score.
The points have two forms:
A small asterisk (`*`): Represents a low or neutral market pulse.
A larger, more prominent circle (`o`): Represents a high, strong market pulse.
Here’s how to read them:
The indicator calculates the Pulse Strength as a percentage (from 0% to 100%) based on the total score from the active indicators (RSI and MACD). This percentage determines the ratio of circles to asterisks.
High Pulse Strength (e.g., 80-100%): Most of the scatter points will transform into large circles (`o`). This indicates that the underlying momentum is strong and It could be an uptrend. It's a visual cue that the market is gaining strength and might be worth paying closer attention to.
Low Pulse Strength (e.g., 0-20%): Most or all of the scatter points will remain as small asterisks (`*`). This suggests weak, neutral, or bearish momentum.
The key takeaway: The more circles you see, the stronger the bullish momentum is according to the active indicators. Watch the artwork "breathe" as the circles appear and disappear with the market's rhythm!
And don't worry about the shape you choose; the scatter points will intelligently adapt and always follow the outer boundary of whatever beautiful form you've selected.
How to Use
Getting started with Spiralyst is simple:
Choose Your Canvas: Start by going into the settings and picking a `Shape` and `Palette` from the "Shape Selection & Palette" group that you find visually appealing. This is your canvas.
Tune Your Engine: Go to the "Market Pulse Engine" settings. Here, you can enable or disable the RSI and MACD scoring engines. Want to see the pulse based only on RSI? Just uncheck the MACD box. You can also fine-tune the parameters for each indicator to match your trading style.
Read the Vibe: Observe the scatter points. Are they mostly small asterisks or are they transforming into large, vibrant circles? Use this visual feedback as a high-level gauge of market momentum.
Check the Dashboard: For a precise breakdown, look at the "Market Pulse Analysis" table on the top-right. It gives you the exact values, scores, and total strength percentage.
Explore & Experiment: Play with the different shapes and color palettes! The core analysis remains the same, but the visual experience can be completely different.
⚙️ Settings & Customization
Spiralyst is designed to be highly customizable.
Shape Selection & Palette: This is your main control panel. Choose from over 25 unique shapes, select a color palette, and adjust the line extension style ( `extend` ) or horizontal position ( `offsetXInput` ).
scatterLabelsInput: This setting controls the total number of points (both asterisks and circles) that orbit the main shape. Think of it as adjusting the density or visual granularity of the market pulse feedback.
The Market Pulse engine will always calculate its strength as a percentage (e.g., 75%). This percentage is then applied to the `scatterLabelsInput` number you've set to determine how many points transform into large circles.
Example: If the Pulse Strength is 75% and you set this to `100` , approximately 75 points will become circles. If you increase it to `200` , approximately 150 points will transform.
A higher number provides a more detailed, high-resolution view of the market pulse, while a lower number offers a cleaner, more minimalist look. Feel free to adjust this to your personal visual preference; the underlying analytical percentage remains the same.
Market Pulse Engine:
`⚙️ RSI Settings` & `⚙️ MACD Settings`: Each indicator has its own group.
Enable Scoring: Use the checkbox at the top of each group to include or exclude that indicator from the Pulse Score calculation. If you only want to use RSI, simply uncheck "Enable MACD Scoring."
Parameters: All standard parameters (Length, Source, Fast/Slow/Signal) are fully adjustable.
Individual Shape Parameters (01-25): Each of the 25+ shapes has its own dedicated group of settings, allowing you to fine-tune every aspect of its geometry, from the number of petals on a flower to the windings of a knot. Feel free to experiment!
For Developers & Pine Script™ Enthusiasts
If you are a developer and wish to add more indicators (e.g., Stochastic, CCI, ADX), you can easily do so by following the modular structure of the code. You would primarily need to:
Add a new `PulseIndicator` object for your new indicator in the `f_getMarketPulse()` function.
Add the logic for its scoring inside the `calculateScore()` method.
The `calculateTotals()` method and the dashboard table are designed to be dynamic and will automatically adapt to include your new indicator!
One of the core design philosophies behind Spiralyst is modularity and scalability . The Market Pulse engine was intentionally built using User-Defined Types (UDTs) and an array-based structure so that adding new indicators is incredibly simple and doesn't require rewriting the main logic.
If you want to add a new indicator to the scoring engine—let's use the Stochastic Oscillator as a detailed example—you only need to modify three small sections of the code. The rest of the script, including the adaptive dashboard, will update automatically.
Here’s your step-by-step guide:
#### Step 1: Add the User Inputs
First, you need to give users control over your new indicator. Find the `USER INTERFACE: INPUTS` section and add a new group for the Stochastic settings, right after the MACD group.
Create a new group name: `string GRP_STOCH = "⚙️ Stochastic Settings"`
Add the inputs: Create a boolean to enable/disable it, and then add the necessary parameters (`%K`, `%D`, `Smooth`). Use the `active` parameter to link them to the enable/disable checkbox.
// Add this code block right after the GRP_MACD and MACD inputs
string GRP_STOCH = "⚙️ Stochastic Settings"
bool stochEnabledInput = input.bool(true, "Enable Stochastic Scoring", group = GRP_STOCH)
int stochKInput = input.int(14, "%K Length", minval=1, group = GRP_STOCH, active = stochEnabledInput)
int stochDInput = input.int(3, "%D Smoothing", minval=1, group = GRP_STOCH, active = stochEnabledInput)
int stochSmoothInput = input.int(3, "Smooth", minval=1, group = GRP_STOCH, active = stochEnabledInput)
#### Step 2: Integrate into the Pulse Engine (The "Factory")
Next, go to the `f_getMarketPulse()` function. This function acts as a "factory" that builds and configures the entire market pulse object. You need to teach it how to build your new Stochastic indicator.
Update the function signature: Add the new `stochEnabledInput` boolean as a parameter.
Calculate the indicator: Add the `ta.stoch()` calculation.
Create a `PulseIndicator` object: Create a new object for the Stochastic, populating it with its name, parameters, calculated value, and whether it's enabled.
Add it to the array: Simply add your new `stochPulse` object to the `array.from()` list.
Here is the complete, updated `f_getMarketPulse()` function :
// Factory function to create and calculate the entire MarketPulse object.
f_getMarketPulse(bool rsiEnabled, bool macdEnabled, bool stochEnabled) =>
// 1. Calculate indicator values
float rsiVal = ta.rsi(rsiSourceInput, rsiLengthInput)
= ta.macd(close, macdFastInput, macdSlowInput, macdSignalInput)
float stochVal = ta.sma(ta.stoch(close, high, low, stochKInput), stochDInput) // We'll use the main line for scoring
// 2. Create individual PulseIndicator objects
PulseIndicator rsiPulse = PulseIndicator.new("RSI", str.tostring(rsiLengthInput), rsiVal, na, 0, rsiEnabled)
PulseIndicator macdPulse = PulseIndicator.new("MACD", str.format("{0},{1},{2}", macdFastInput, macdSlowInput, macdSignalInput), macdVal, signalVal, 0, macdEnabled)
PulseIndicator stochPulse = PulseIndicator.new("Stoch", str.format("{0},{1},{2}", stochKInput, stochDInput, stochSmoothInput), stochVal, na, 0, stochEnabled)
// 3. Calculate score for each
rsiPulse.calculateScore()
macdPulse.calculateScore()
stochPulse.calculateScore()
// 4. Add the new indicator to the array
array indicatorArray = array.from(rsiPulse, macdPulse, stochPulse)
MarketPulse pulse = MarketPulse.new(indicatorArray, 0, 0.0)
// 5. Calculate final totals
pulse.calculateTotals()
pulse
// Finally, update the function call in the main orchestration section:
MarketPulse marketPulse = f_getMarketPulse(rsiEnabledInput, macdEnabledInput, stochEnabledInput)
#### Step 3: Define the Scoring Logic
Now, you need to define how the Stochastic contributes to the score. Go to the `calculateScore()` method and add a new case to the `switch` statement for your indicator.
Here's a sample scoring logic for the Stochastic, which gives a strong bullish score in oversold conditions and a strong bearish score in overbought conditions.
Here is the complete, updated `calculateScore()` method :
// Method to calculate the score for this specific indicator.
method calculateScore(PulseIndicator this) =>
if not this.isEnabled
this.score := 0
else
this.score := switch this.name
"RSI" => this.value > 65 ? 2 : this.value > 50 ? 1 : this.value < 35 ? -2 : this.value < 50 ? -1 : 0
"MACD" => this.value > this.signalValue and this.value > 0 ? 2 : this.value > this.signalValue ? 1 : this.value < this.signalValue and this.value < 0 ? -2 : this.value < this.signalValue ? -1 : 0
"Stoch" => this.value > 80 ? -2 : this.value > 50 ? 1 : this.value < 20 ? 2 : this.value < 50 ? -1 : 0
=> 0
this
#### That's It!
You're done. You do not need to modify the dashboard table or the total score calculation.
Because the `MarketPulse` object holds its indicators in an array , the rest of the script is designed to be adaptive:
The `calculateTotals()` method automatically loops through every indicator in the array to sum the scores and calculate the final percentage.
The dashboard code loops through the `enabledIndicators` array to draw the table. Since your new Stochastic indicator is now part of that array, it will appear automatically when enabled!
---
Remember, this is your playground! I'm genuinely excited to see the unique shapes you discover. If you create something you're proud of, feel free to share it in the comments below.
Happy analyzing, and may your charts be both insightful and beautiful! 💛
MA Cross with TP/SL by GMETrade on cross when trading in same direction. use daily on session open for best sucess. use volume, macd for accurate entries along side this stratergy. mark highs and lows of previous sessions. if signals are close to support or resistance lines they are viewed as more valid
Morning Gap Reversal ScannerMorning indicator for morning fluctuation. Seeing what starts low and moves up in first 30 minutes
risk indirisk indi using kelly. Got twap, vwap. Uses b bands etc to measure whether the markets it bullish, bearish or ranging. Uses volume and points out whether it high or really high. Un check all the shit other than volume or whatever. Just looks cluttered if you have all of it on. Lmk yert.
Bullish & Bearish Engulfing Finder [Crypto Varthagam]Overview
This script is designed to automatically detect Bullish and Bearish Engulfing Candlestick Patterns directly on your TradingView chart. Engulfing patterns are widely used in price action trading as potential reversal signals.
Features
- Detects both Bullish Engulfing and Bearish Engulfing patterns.
- Option to require a prior trend filter (configurable consecutive bars)
Flexible engulfing detection:
- Strict mode (body must fully cover the previous candle’s body).
- Ratio mode (current body must be at least X times larger).
- Optional volume confirmation (engulfing candle volume > SMA × multiplier).
- Clear chart labels and optional background highlights.
- Built-in alert conditions for automated notifications.
- Lightweight, clean, and open-source for the community.
Why It’s Unique
- Unlike many engulfing detectors, this script gives you full control over detection rules. You can fine-tune strictness, require prior trends, or add volume conditions to filter out weak signals. Both bullish and bearish engulfing patterns are supported in one script, keeping your chart clean.
Housekeeping & Policy Notes
- This script is for educational purposes only. It does not provide financial advice or guaranteed trading signals.
- Always combine candlestick patterns with proper risk management and your own strategy.
- Fully open-source: feel free to study, learn, and adapt it for your needs.
Alerts
- “Bullish Engulfing Detected”
- “Bearish Engulfing Detected”
Custom RSI with Dual Smoothing + Bias Bands + ZonesRSI indicator with two layers of smoothing, key levels (20, 40, 50, 60, 80), and color-coded background zones for bullish, bearish, and neutral bias.
Great for spotting momentum, trend direction, and overbought/oversold conditions across any timeframe.
VLM ALERTalert when there is unusual volume on the chart. Instead of sitting around waiting for us to go out, waiting for something to come in and see
Moving Averages 450, 125 & 65Plots three SMA lines (450, 125, 65 periods) on price chart. Designed to identify long-term trends and potential support/resistance levels. The longest MA (450) shows primary trend direction, while shorter MAs (125, 65) help capture intermediate-term momentum shifts. Ideal for multi-timeframe trend analysis and crossover strategies.
Features:
SMA 450 (Blue) - Long-term trend
SMA 125 (Orange) - Medium-term momentum
SMA 65 (Cyan) - Short-term signals
Customizable lengths and colors
Clean visual overlay on price chart
08:00 and 09:00 Open Line (CET)This simple indicator draws the open price of the candles from 08:00 and 09:00 a.m. (time zone: CET). It's quite helpful for trading European Index products, like the DAX Futures.
EMA/VWAP SuiteEMA/VWAP Suite
Overview
The EMA/VWAP Suite is a versatile and customizable Pine Script indicator designed for traders who want to combine Exponential Moving Averages (EMAs) and Volume Weighted Average Prices (VWAPs) in a single, powerful tool. It overlays up to eight EMAs and six VWAPs (three anchored, three rolling) on the chart, each with percentage difference labels to show how far the current price is from these key levels. This indicator is perfect for technical analysis, supporting strategies like trend following, mean reversion, and VWAP-based trading.
By default, the indicator displays eight EMAs and a session-anchored VWAP (AVWAP 1, in fuchsia) with their respective percentage difference labels, keeping the chart clean yet informative. Other VWAPs and their bands are disabled by default but can be enabled and customized as needed. The suite is designed to minimize clutter while providing maximum flexibility for traders.
Features
- Eight Customizable EMAs: Plot up to eight EMAs with user-defined lengths (default: 3, 9, 19, 38, 50, 65, 100, 200), each with a unique color for easy identification.
- EMA Percentage Difference Labels: Show the percentage difference between the current price and each EMA, displayed only for visible EMAs when enabled.
- Three Anchored VWAPs: Plot VWAPs anchored to the start of a session, week, or month, with customizable source, offset, and band multipliers. AVWAP 1 (session-anchored, fuchsia) is enabled by default.
- Three Rolling VWAPs: Plot VWAPs calculated over fixed periods (default: 20, 50, 100), with customizable source, offset, and band multipliers.
- VWAP Bands: Optional upper and lower bands for each VWAP, based on standard deviation with user-defined multipliers.
- VWAP Percentage Difference Labels: Display the percentage difference between the current price and each VWAP, shown only for visible VWAPs. Enabled by default to show the AVWAP 1 label.
- Customizable Colors: Each VWAP has a user-defined color via input settings, with labels matching the VWAP line colors (e.g., AVWAP 1 defaults to fuchsia).
Flexible Display Options: Toggle individual EMAs, VWAPs, bands, and labels on or off to reduce chart clutter.
Settings
The indicator is organized into intuitive setting groups:
EMA Settings
Show EMA 1–8 : Toggle each EMA on or off (default: all enabled).
EMA 1–8 Length : Set the period for each EMA (default: 3, 9, 19, 38, 50, 65, 100, 200).
Show EMA % Difference Labels : Enable/disable percentage difference labels for all EMAs (default: enabled).
EMA Label Font Size (8–20) : Adjust the font size for EMA labels (default: 10, mapped to “tiny”).
Anchored VWAP 1–3 Settings
Show AVWAP 1–3 : Toggle each anchored VWAP on or off (default: AVWAP 1 enabled, others disabled).
AVWAP 1–3 Color : Set the color for each VWAP line and its label (default: fuchsia for AVWAP 1, purple for AVWAP 2, teal for AVWAP 3).
AVWAP 1–3 Anchor : Choose the anchor period (“Session,” “Week,” “Month”; default: Session for AVWAP 1, Week for AVWAP 2, Month for AVWAP 3).
AVWAP 1–3 Source : Select the price source (default: hlc3).
AVWAP 1–3 Offset : Set the horizontal offset for the VWAP line (default: 0).
Show AVWAP 1–3 Bands : Toggle upper/lower bands (default: disabled).
AVWAP 1–3 Band Multiplier : Adjust the standard deviation multiplier for bands (default: 1.0).
Rolling VWAP 1–3 Settings
Show RVWAP 1–3 : Toggle each rolling VWAP on or off (default: disabled).
RVWAP 1–3 Color : Set the color for each VWAP line and its label (default: navy for RVWAP 1, maroon for RVWAP 2, fuchsia for RVWAP 3).
RVWAP 1–3 Period Length : Set the period for the rolling VWAP (default: 20, 50, 100).
RVWAP 1–3 Source : Select the price source (default: hlc3).
RVWAP 1–3 Offset : Set the horizontal offset (default: 0).
Show RVWAP 1–3 Bands : Toggle upper/lower bands (default: disabled).
RVWAP 1–3 Band Multiplier : Adjust the standard deviation multiplier for bands (default: 1.0).
VWAP Label Settings
Show VWAP % Difference Labels : Enable/disable percentage difference labels for all VWAPs (default: enabled, showing AVWAP 1 label).
VWAP Label Font Size (8–20) : Adjust the font size for VWAP labels (default: 10, mapped to “tiny”).
How It Works
EMAs : Calculated using ta.ema(close, length) for each user-defined period. Percentage differences are computed as ((close - ema) / close) * 100 and displayed as labels for visible EMAs when show_ema_labels is enabled.
Anchored VWAPs : Calculated using ta.vwap(source, anchor, 1), where the anchor is determined by the selected timeframe (Session, Week, or Month). Bands are computed using the standard deviation from ta.vwap.
Rolling VWAPs : Calculated using ta.vwap(source, length), with bands based on ta.stdev(source, length).
Labels : Updated on each new bar (ta.barssince(ta.change(time) != 0) == 0) to show percentage differences. Labels are only displayed for visible EMAs/VWAPs to avoid clutter.
Color Matching: VWAP labels use the same color as their corresponding VWAP lines, set via input settings (e.g., avwap1_color for AVWAP 1).
Example Use Cases
- Trend Following: Use longer EMAs (e.g., 100, 200) to identify trends and shorter EMAs (e.g., 3, 9) for entry/exit signals.
- Mean Reversion: Monitor percentage difference labels to spot overbought/oversold conditions relative to EMAs or VWAPs.
- VWAP Trading: Use the default session-anchored AVWAP 1 for intraday trading, adding weekly/monthly VWAPs or rolling VWAPs for broader context.
- Intraday Analysis: Leverage the session-anchored AVWAP 1 (enabled by default) for day trading, with bands as support/resistance zones.
BBMA Enhanced Pro - Multi-Timeframe Band Breakout StrategyShort Title : BBMA Pro
Overview
The BBMA Enhanced Pro is a professional-grade trading indicator that builds on the Bollinger Bands Moving Average (BBMA) strategy, pioneered by Omar Ali , a Malaysian forex trader and educator. Combining Bollinger Bands with Weighted Moving Averages (WMA) , this indicator identifies high-probability breakout and reversal opportunities across multiple timeframes. With advanced features like multi-timeframe Extreme signal detection, eight professional visual themes, and a dual-mode dashboard, it’s designed for traders seeking precision in trending and consolidating markets. Optimized for dark chart backgrounds, it’s ideal for forex, stocks, and crypto trading.
History
The BBMA strategy was developed by Omar Ali (BBMA Oma Ally) in the early 2010s, gaining popularity in the forex trading community, particularly in Southeast Asia. Building on John Bollinger’s Bollinger Bands, Omar Ali integrated Weighted Moving Averages and a multi-timeframe approach to create a structured system for identifying reversals, breakouts, and extreme conditions. The BBMA Enhanced Pro refines this framework with modern features like real-time dashboards and customizable visualizations, making it accessible to both novice and experienced traders.
Key Features
Multi-Timeframe Extreme Signals : Detects Extreme signals (overbought/oversold conditions) on both current and higher timeframes simultaneously, a rare feature that enhances signal reliability through trend alignment.
Professional Visual Themes : Eight distinct themes (e.g., Neon Contrast, Fire Gradient) optimized for dark backgrounds.
Dual-Mode Dashboard : Choose between Full Professional (detailed metrics) or Simplified Trader (essential info with custom notes).
Bollinger Band Squeeze Detection : Identifies low volatility periods (narrow bands) signaling potential sideways markets or breakouts.
Confirmation Labels : Displays labels when current timeframe signals align with recent higher timeframe signals, highlighting potential consolidations or squeezes.
Timeframe Validation : Prevents selecting the same timeframe for current and higher timeframe analysis.
Customizable Visualization : Toggle signal dots, EMA 50, and confirmation labels for a clean chart experience.
How It Works
The BBMA Enhanced Pro combines Bollinger Bands (20-period SMA, ±2 standard deviations) with WMA (5 and 10 periods) to generate trade signals:
Buy Signal : WMA 5 Low crosses above the lower Bollinger Band, indicating a recovery from an oversold condition (Extreme buy).
Sell Signal : WMA 5 High crosses below the upper Bollinger Band, signaling a rejection from an overbought condition (Extreme sell).
Extreme Signals : Occur when prices or WMAs move significantly beyond the Bollinger Bands (±2σ), indicating statistically rare overextensions. These often coincide with Bollinger Band Squeezes (narrow bands, low standard deviation), signaling potential sideways markets or impending breakouts.
Multi-Timeframe Confirmation : The indicator’s unique strength is its ability to detect Extreme signals on both the current and higher timeframe (HTF) within the same chart. When the HTF generates an Extreme signal (e.g., buy), and the current timeframe follows with an identical signal, it suggests the lower timeframe is aligning with the HTF’s trend, increasing reliability. Labels appear only when this alignment occurs within a user-defined lookback period (default: 50 bars), highlighting periods of band contraction across timeframes.
Bollinger Band Squeeze : Narrow bands (low standard deviation) indicate reduced volatility, often preceding consolidation or breakouts. The indicator’s dashboard tracks band width, helping traders anticipate these phases.
Why Multi-Timeframe Extremes Matter
The BBMA Enhanced Pro’s multi-timeframe approach is rare and powerful. When the higher timeframe shows an Extreme signal followed by a similar signal on the current timeframe, it suggests the market is following the HTF’s trend or entering a consolidation phase. For example:
HTF Sideways First : If the HTF Bollinger Bands are shrinking (low volatility, low standard deviation), it signals a potential sideways market. Waiting for the current timeframe to show a similar Extreme signal confirms this consolidation, reducing the risk of false breakouts.
Risk Management : By requiring HTF confirmation, the indicator encourages traders to lower risk during uncertain periods, waiting for both timeframes to align in a low-volatility state before acting.
Usage Instructions
Select Display Mode :
Current TF Only : Shows Bollinger Bands and WMAs on the chart’s timeframe.
Higher TF Only : Displays HTF bands and WMAs.
Both Timeframes : Combines both for comprehensive analysis.
Choose Higher Timeframe : Select from 1min to 1D (e.g., 15min, 1hr). Ensure it differs from the current timeframe to avoid validation errors.
Enable Signal Dots : Visualize buy/sell Extreme signals as dots, sourced from current, HTF, or both timeframes.
Toggle Confirmation Labels : Display labels when current timeframe Extremes align with recent HTF Extremes, signaling potential squeezes or consolidations.
Customize Dashboard :
Full Professional Mode : View metrics like BB width, WMA trend, and last signal.
Simplified Trader Mode : Focus on essential info with custom trader notes.
Select Visual Theme : Choose from eight themes (e.g., Ice Crystal, Royal Purple) for optimal chart clarity.
Trading Example
Setup : 5min chart, HTF set to 1hr, signal dots and confirmation labels enabled.
Buy Scenario : On the 5min chart, WMA 5 Low crosses above the lower Bollinger Band (Extreme buy), confirmed by a recent 1hr Extreme buy signal within 50 bars. The dashboard shows narrow bands (squeeze), and a green label appears.
Action : Enter a long position, targeting the middle band, with a stop-loss below the recent low. The HTF confirmation suggests a strong trend or consolidation phase.
Sell Scenario : WMA 5 High crosses below the upper Bollinger Band on the 5min chart, confirmed by a recent 1hr Extreme sell signal. The dashboard indicates a squeeze, and a red label appears.
Action : Enter a short position, targeting the middle band, with a stop-loss above the recent high. The aligned signals suggest a potential reversal or sideways market.
Customization Options
BBMA Display Mode : Current TF Only, Higher TF Only, or Both Timeframes.
Higher Timeframe : 1min to 1D.
Visual Theme : Eight professional themes (e.g., Neon Contrast, Forest Glow).
Line Style : Smooth or Step Line for HTF plots.
Signal Dots : Enable/disable, select timeframe source (Current, Higher, or Both).
Confirmation Labels : Toggle and set lookback window (1-100 bars).
Dashboard : Enable/disable, choose mode (Full/Simplified), and set position (Top Right, Bottom Left, etc.).
Notes
Extreme Signals and Squeezes : Extreme signals often occur during Bollinger Band contraction (low standard deviation), signaling potential sideways markets or breakouts. Use HTF confirmation to filter false signals.
Risk Management : If the HTF shows a squeeze (narrow bands), wait for the current timeframe to confirm with an Extreme signal to reduce risk in choppy markets.
Limitations : Avoid trading Extremes in highly volatile markets without additional confirmation (e.g., volume, RSI).
Author Enhanced Professional Edition, inspired by Omar Ali’s BBMA strategy
Version : 6.0 Pro - Simplified
Last Updated : September 2025
License : Mozilla Public License 2.0
We’d love to hear your feedback! Share your thoughts or questions in the comments below.
Chanpreet Buy & SellBest Buy when Momentum DIPS / Slows in a UPTREND and Best Sell when momentum DIPS / Slows in a DOWNTREND !
Intrabar Volume Delta — RealTime + History (Stocks/Crypto/Forex)Intrabar Volume Delta Grid — RealTime + History (Stocks/Crypto/Forex)
# Short Description
Shows intrabar Up/Down volume, Delta (absolute/relative) and UpShare% in a compact grid for both real-time and historical bars. Includes an MTF (M1…D1) dashboard, contextual coloring, density controls, and alerts on Δ and UpShare%. Smart historical splitting (“History Mode”) for Crypto/Futures/FX.
---
# What it does (Quick)
* **UpVol / DownVol / Δ / UpShare%** — visualizes order-flow inside each candle.
* **Real-time** — accumulates intrabar volume live by tick-direction.
* **History Mode** — splits Up/Down on closed bars via simple or range-aware logic.
* **MTF Dashboard** — one table view across M1, M5, M15, M30, H1, H4, D1 (Vol, Up/Down, Δ%, Share, Trend).
* **Contextual opacity** — stronger signals appear bolder.
* **Label density** — draw every N-th bar and limit to last X bars for performance.
* **Alerts** — thresholds for |Δ|, Δ%, and UpShare%.
---
# How it works (Real-Time vs History)
* **Real-time (open bar):** volume increments into **UpVolRT** or **DownVolRT** depending on last price move (↑ goes to Up, ↓ to Down). This approximates live order-flow even when full tick history isn’t available.
* **History (closed bars):**
* **None** — no split (Up/Down = 0/0). Safest for equities/indices with unreliable tick history.
* **Approx (Close vs Open)** — all volume goes to candle direction (green → Up 100%, red → Down 100%). Fast but yields many 0/100% bars.
* **Price Action Based** — splits by Close position within High-Low range; strength = |Close−mid|/(High−Low). Above mid → more Up; below mid → more Down. Falls back to direction if High==Low.
* **Auto** — **Stocks/Index → None**, **Crypto/Futures/FX → Approx**. If you see too many 0/100 bars, switch to **Price Action Based**.
---
# Rows & Meaning
* **Volume** — total bar volume (no split).
* **UpVol / DownVol** — directional intrabar volume.
* **Delta (Δ)** — UpVol − DownVol.
* **Absolute**: raw units
* **Relative (Δ%)**: Δ / (Up+Down) × 100
* **Both**: shows both formats
* **UpShare%** — UpVol / (Up+Down) × 100. >50% bullish, <50% bearish.
* Helpful icons: ▲ (>65%), ▼ (<35%).
---
# MTF Dashboard (🔧 Enable Dashboard)
A single table with **Vol, Up, Down, Δ%, Share, Trend (🔼/🔽/⏭️)** for selected timeframes (M1…D1). Great for a fast “panorama” read of flow alignment across horizons.
---
# Inputs (Grouped)
## Display
* Toggle rows: **Volume / Up / Down / Delta / UpShare**
* **Delta Display**: Absolute / Relative / Both
## Realtime & History
* **History Mode**: Auto / None / Approx / Price Action Based
* **Compact Numbers**: 1.2k, 1.25M, 3.4B…
## Theme & UI
* **Theme Mode**: Auto / Light / Dark
* **Row Spacing**: vertical spacing between rows
* **Top Row Y**: moves the whole grid vertically
* **Draw Guide Lines**: faint dotted guides
* **Text Size**: Tiny / Small / Normal / Large
## 🔧 Dashboard Settings
* **Enable Dashboard**
* **📏 Table Text Size**: Tiny…Huge
* **🦓 Zebra Rows**
* **🔲 Table Border**
## ⏰ Timeframes (for Dashboard)
* **M1…D1** toggles
## Contextual Coloring
* **Enable Contextual Coloring**: opacity by signal strength
* **Δ% cap / Share offset cap**: saturation caps
* **Min/Max transparency**: solid vs faint extremes
## Label Density & Size
* **Show every N-th bar**: draw labels only every Nth bar
* **Limit to last X bars**: keep labels only in the most recent X bars
## Colors
* Up / Down / Text / Guide
## Alerts
* **Delta Threshold (abs)** — |Δ| in volume units
* **UpShare > / <** — bullish/bearish thresholds
* **Enable Δ% Alert**, **Δ% > +**, **Δ% < −** — relative delta levels
---
# How to use (Quick Start)
1. Add the indicator to your chart (overlay=false → separate pane).
2. **History Mode**:
* Crypto/Futures/FX → keep **Auto** or switch to **Price Action Based** for richer history.
* Stocks/Index → prefer **None** or **Price Action Based** for safer splits.
3. **Label Density**: start with **Limit to last X bars = 30–150** and **Show every N-th bar = 2–4**.
4. **Contextual Coloring**: keep on to emphasize strong Δ% / Share moves.
5. **Dashboard**: enable and pick only the TFs you actually use.
6. **Alerts**: set thresholds (ideas below).
---
# Alerts (in TradingView)
Add alert → pick this indicator → choose any of:
* **Delta exceeds threshold** (|Δ| > X)
* **UpShare above threshold** (UpShare% > X)
* **UpShare below threshold** (UpShare% < X)
* **Relative Delta above +X%**
* **Relative Delta below −X%**
**Starter thresholds (tune per symbol & TF):**
* **Crypto M1/M5**: Δ% > +25…35 (bullish), Δ% < −25…−35 (bearish)
* **FX (tick volume)**: UpShare > 60–65% or < 40–35%
* **Stocks (liquid)**: set **Absolute Δ** by typical volume scale (e.g., 50k / 100k / 500k)
---
# Notes by Market Type
* **Crypto/Futures**: 24/7 and high liquidity — **Price Action Based** often gives nicer history splits than Approx.
* **Forex (FX)**: TradingView volume is typically **tick volume** (not true exchange volume). Treat Δ/Share as tick-based flow, still very useful intraday.
* **Stocks/Index**: historical tick detail can be limited. **None** or **Price Action Based** is a safer default. If you see too many 0/100% shares, switch away from Approx.
---
# “All Timeframes” accuracy
* Works on **any TF** (M1 → D1/W1).
* **Real-time accuracy** is strong for the open bar (live accumulation).
* **Historical accuracy** depends on your **History Mode** (None = safest, Approx = fastest/simplest, Price Action Based = more nuanced).
* The MTF dashboard uses `request.security` and therefore follows the same logic per TF.
---
# Trade Ideas (Use-Cases)
* **Scalping (M1–M5)**: a spike in Δ% + UpShare>65% + rising total Vol → momentum entries.
* **Intraday (M5–M30–H1)**: when multiple TFs show aligned Δ%/Share (e.g., M5 & M15 bullish), join the trend.
* **Swing (H4–D1)**: persistent Δ% > 0 and UpShare > 55–60% → structural accumulation bias.
---
# Advantages
* **True-feeling live flow** on the open bar.
* **Adaptable history** (three modes) to match data quality.
* **Clean visual layout** with guides, compact numbers, contextual opacity.
* **MTF snapshot** for quick bias read.
* **Performance controls** (last X bars, every N-th bar).
---
# Limitations & Care
* **FX uses tick volume** — interpret Δ/Share accordingly.
* **History Mode is an approximation** — confirm with trend/structure/liquidity context.
* **Illiquid symbols** can produce noisy or contradictory signals.
* **Too many labels** can slow charts → raise N, lower X, or disable guides.
---
# Best Practices (Checklist)
* Crypto/Futures: prefer **Price Action Based** for history.
* Stocks: **None** or **Price Action Based**; be cautious with **Approx**.
* FX: pair Δ% & UpShare% with session context (London/NY) and volatility.
* If labels overlap: tweak **Row Spacing** and **Text Size**.
* In the dashboard, keep only the TFs you actually act on.
* Alerts: start around **Δ% 25–35** for “punchy” moves, then refine per asset.
---
# FAQ
**1) Why do some closed bars show 0%/100% UpShare?**
You’re on **Approx** history mode. Switch to **Price Action Based** for smoother splits.
**2) Δ% looks strong but price doesn’t move — why?**
Δ% is an **order-flow** measure. Price also depends on liquidity pockets, sessions, news, higher-timeframe structure. Use confirmations.
**3) Performance slowdown — what to do?**
Lower **Limit to last X bars** (e.g., 30–100), increase **Show every N-th bar** (2–6), or disable **Draw Guide Lines**.
**4) Dashboard values don’t “match” the grid exactly?**
Dashboard is multi-TF via `request.security` and follows the history logic per TF. Differences are normal.
---
# Short “Store” Marketing Blurb
Intrabar Volume Delta Grid reveals the order-flow inside every candle (Up/Down, Δ, UpShare%) — live and on history. With smart history splitting, an MTF dashboard, contextual emphasis, and flexible alerts, it helps you spot momentum and bias across Crypto, Forex (tick volume), and Stocks. Tidy labels and compact numbers keep the panel readable and fast.
Lectura de VelasScript designed to display, on a panel as shown, the candlestick readings for Weekly, Daily, 4-hour, and 1-hour timeframes