MB-MACD## Description
**MB-MACD** is a custom Pine Script indicator designed to enhance momentum analysis by combining a volume-based "Main Buy Ratio" (MB) calculation with a traditional MACD oscillator. The MB Ratio estimates institutional buying pressure by apportioning volume based on the candle's range and close position, providing a unique proxy for "smart money" flow. This smoothed MB value is then used as the source for MACD computation, allowing for divergence detection between price action, the MB line, and the MACD Histogram.
Key features include:
- **MB Line**: A histogram-style plot showing smoothed buy/sell ratio, colored bullishly (teal) or bearishly (pink) based on direction.
- **MACD Histogram**: Standard MACD applied to the MB source, with optional smoothing.
- **Divergence Detection**: Identifies bullish and bearish divergences on both the MB line and MACD Histogram, with configurable filters for momentum decay and zero-line alignment.
- **Visualization Options**: Display divergence lines and labels in the indicator pane or synced as an overlay on the main chart for better context.
- **Alerts**: Triggers for bullish or bearish divergences to notify users of potential reversal setups.
This indicator is particularly useful for swing traders and momentum followers looking to spot hidden divergences that may signal trend reversals or continuations. It emphasizes risk management by highlighting where price and momentum decouple, but remember: divergences are probabilistic signals and should be confirmed with other tools.
As this is a community-shared script, I encourage users to test it thoroughly and provide feedback. If you spot any bugs, calculation errors, or improvements (e.g., edge cases with low-volume symbols or performance issues on certain timeframes), please comment below or reach out—your input helps refine it for everyone!
## User Manual
### Introduction
The **MB-MACD** indicator integrates volume analysis with MACD to detect divergences in price and momentum. The core innovation is the "Main Buy Ratio" (MB), which approximates buying vs. selling volume within each bar based on its range and close position. This MB value is smoothed and fed into a MACD calculation, enabling divergence scans on both the MB line and the resulting MACD Histogram.
Divergences occur when price makes higher highs/lower lows, but the oscillator (MB or Histogram) fails to confirm—often signaling potential reversals. The script offers flexible display options, filters to reduce false positives, and alerts for real-time notifications.
**Important Notes:**
- This is not financial advice; use it for educational purposes and backtest on your symbols/timeframes.
- Works best on liquid stocks or indices with reliable volume data (e.g., daily or higher timeframes).
- Performance may vary on low-volume assets or during after-hours trading.
- If you encounter issues (e.g., no divergences detected or rendering errors), check your chart settings and report them in the comments for community debugging.
### Inputs Explanation
The inputs are grouped for ease of configuration. Adjust them via the indicator's settings panel in TradingView.
#### Core Parameters
- **Show MB Line** (Default: True): Enables/disables the MB Ratio histogram plot.
- **Show MACD Histogram** (Default: True): Enables/disables the MACD line and histogram plots.
- **MB Smoothing (SMA)** (Default: 10, Min: 1): Length for smoothing the raw MB Ratio using a Simple Moving Average (SMA). Higher values reduce noise but may lag.
- **Pivot Lookback Length** (Default: 5, Min: 2): Bars to look back/forward for detecting price pivots (highs/lows) used in divergence logic.
- **Max Lines Kept** (Default: 100, Min: 10): Limits the number of divergence lines/labels to prevent chart clutter.
#### Display Settings
- **Show Lines (Indicator Pane)** (Default: True): Draws divergence lines on the MB line in the indicator pane.
- **Show Labels (Indicator Pane)** (Default: True): Adds labels (e.g., "L" for line divergence) at divergence points in the pane.
- **Show Hist Divergence Lines** (Default: True): Draws dashed lines for MACD Histogram divergences in the pane.
- **Show Hist Divergence Labels** (Default: True): Adds labels (e.g., "H" for histogram divergence) in the pane.
- **Sync Lines to Main Chart (Overlay)** (Default: True): Mirrors divergence lines and labels onto the main price chart for context (slightly offset for visibility).
#### Filters & Tolerance
- **Peak Alignment Tolerance (Bars)** (Default: 5, Min: 0): Allows flexibility in matching oscillator peaks/valleys to price pivots (e.g., within ±5 bars).
- **Max Divergence Distance (Bars)** (Default: 20, Min: 5): Maximum bars between two pivots for a valid divergence; prevents detecting overly distant signals.
- **Enable Momentum Decay Filter** (Default: True): For Histogram divergences, requires the current peak/valley to have a smaller absolute value than the previous (indicating convergence/decay).
- **Enable Zero-Side Filter** (Default: False): Ensures both peaks/valleys in a divergence are on the same side of the zero line (e.g., both positive or both negative).
#### MACD Settings
- **MACD Fast Length** (Default: 12): Fast EMA length for MACD.
- **MACD Slow Length** (Default: 26): Slow EMA length for MACD.
- **MACD Signal Length** (Default: 9): Smoothing length for the MACD signal line.
- **MACD Source Smoothing** (Default: 3, Min: 1): Additional SMA smoothing applied to the MB Ratio before MACD calculation.
### How It Works
1. **MB Ratio Calculation**: For each bar, the script computes the position of the close within the high-low range (0-1). This scales the volume into "buy" and "sell" portions, then derives a net ratio (-100% to +100%). It's smoothed via SMA for the final MB line.
2. **MACD Application**: The (optionally smoothed) raw MB is used as the MACD source, producing a MACD line, signal line, and histogram.
3. **Pivot Detection**: Uses Pine's `ta.pivothigh`/`ta.pivotlow` to find price highs/lows over the lookback period.
4. **Divergence Scanning**:
- **Bearish (on Highs)**: Price makes a higher high, but MB/Hist makes a lower high.
- **Bullish (on Lows)**: Price makes a lower low, but MB/Hist makes a higher low (closer to zero).
- Scans nearby bars for oscillator matches and applies filters.
5. **Rendering**: Lines/labels are drawn in the indicator pane or overlaid on the chart. Colors: Teal for bullish, Pink/Maroon for bearish.
6. **Cleanup**: Automatically removes old lines/labels to stay under the max limit.
### Interpreting the Outputs
- **MB Line (Columns)**: Positive (teal) indicates net buying pressure; negative (pink) shows selling. Watch for crossovers above/below zero as momentum shifts.
- **MACD Histogram (Area)**: Green/teal for positive momentum; red/maroon for negative. Widening bars suggest strengthening trends; narrowing indicates weakening.
- **Divergence Lines/Labels**:
- Solid lines: MB line divergences (thicker, labeled "L").
- Dashed lines: Histogram divergences (thinner, labeled "H").
- Bullish: Teal lines sloping up (potential bottom reversal).
- Bearish: Pink lines sloping down (potential top reversal).
- **Overlay on Chart**: Lines connect price pivots (or offset slightly for Histogram). Use this to visualize how divergences align with candlesticks.
- **Zero Line**: Gray horizontal line; divergences filtered by side if enabled.
**Example Usage**:
- On a daily stock chart, enable overlays and watch for a bullish "L" or "H" label near a price low—could signal a buy if confirmed by volume breakout.
- In a downtrend, bearish divergences on highs might warn of further downside.
### Alerts
- **Bullish Divergence (L or H)**: Triggers on any detected bullish divergence (MB or Histogram).
- **Bearish Divergence (L or H)**: Triggers on bearish divergences.
- Set up via TradingView's alert menu: Select the indicator, choose the condition, and customize the message (e.g., includes ticker).
### Troubleshooting / Known Issues
- **No Divergences Shown**: Increase "Peak Alignment Tolerance" or reduce filters. Ensure pivot length suits your timeframe (shorter for intraday).
- **Too Many Lines/Labels**: Lower "Max Lines Kept" or increase "Max Divergence Distance" to filter distant signals.
- **Performance on Low-Volume Symbols**: MB Ratio may be unreliable; test on high-volume assets first.
- **Rendering Errors**: If lines don't appear, check chart zoom or ensure "force_overlay=true" isn't conflicting with other indicators.
- **NaN/Undefined Values**: Rare on live data but possible in historical backtests; report with symbol/timeframe for fixes.
### Feedback and Contributions
This script is open for community improvement! If you find bugs (e.g., false positives in divergences, calculation edge cases, or UI glitches), or have suggestions (like additional filters or visualizations), please share in the comments. Your feedback helps make it better—let's debug and enhance it together!
מדד זרימת כסף (MFI)
777 mean reversion engineA guy asked his librarian if they had any books on "paranoia." She leaned in and whispered, "They're right behind you." He hasn't been back to the library since.
3D Isometric MFI (Christmas Edition) [Kodexius]3D Isometric MFI (Christmas Edition) is a visual-first interpretation of the classic Money Flow Index, rendered as a projected 3D-style ribbon using an isometric mapping. Instead of plotting a standard oscillator line, the script reconstructs recent MFI history as a depth-aware ribbon that moves from back to front, producing a layered perspective effect that helps you read momentum shifts, regime transitions, and relative strength changes as a continuous structure.
This Christmas Edition was also built for fun and as a creative seasonal experiment. The goal is to keep the underlying indicator logic familiar, while presenting it in a playful, “3D showroom” style that looks great in a separate oscillator panel.
The indicator is designed for presentation quality and chart readability. It uses controlled object management (lines, polylines, labels) and renders only the most recent portion of the MFI history (user-defined depth). A decorative snow background effect adds atmosphere.
🔹 Features 🎄
🔸 Isometric 3D Projection Engine
The ribbon is produced by projecting 3D points (time offset, MFI value, depth) into 2D chart coordinates.
- X represents bar offset into history
- Y represents the MFI value
- Z introduces depth and perspective
Angle controls the projection direction, and Vertical Zoom scales the perceived amplitude.
🔸 Depth-Limited Ribbon Rendering (Back to Front)
Only the most recent History Depth values are drawn to keep performance and readability stable.
- Each segment connects two consecutive MFI values
- A top edge, bottom edge, and filled face are drawn to simulate thickness
- Older segments fade into the background
🔸 Dynamic Gradient Coloring + Depth Fade
Ribbon color follows a value-based gradient:
- Lower values lean red (risk-off pressure)
- Higher values lean green (risk-on pressure)
- Mid values blend naturally
Transparency increases with depth so older history is less dominant but still readable.
🔸 Tip Label (Value + Candy Marker) 🍭🍬
The most recent ribbon tip displays current MFI value.
A candy symbol that switches based on the 50 midpoint
The label is offset so it does not cover the ribbon tip.
🔸 Projected Reference Grid (80, 50, 20)
A projected grid is drawn at classic MFI reference levels to improve orientation:
- 80 Overbought reference
- 50 Midpoint reference
- 20 Oversold reference
These grid lines use the same projection math, so they stay aligned at any angle or zoom.
🔸 Seasonal Snow Background Effect ❄️
Randomized snow is rendered behind the ribbon using lightweight labels. This is purely decorative and does not alter MFI values or logic.
🔸 Object Lifecycle Management
Because 3D-style drawing uses many objects, the script manages them explicitly by storing references in arrays, deleting old objects, and redrawing on the last bar. This helps prevent visual stacking artifacts and keeps the panel clean.
🔹 Calculations
1) Money Flow Index Computation
The script separates “positive” and “negative” money flow based on the direction of change in the selected source, then converts their ratio into the standard 0 to 100 oscillator. Classic MFI Calculations.
calc_mfi(int length, float source) =>
float upper = math.sum(volume * (ta.change(source) <= 0 ? 0 : source), length)
float lower = math.sum(volume * (ta.change(source) >= 0 ? 0 : source), length)
float mfi = 100.0
if lower != 0
float r = upper / lower
mfi := 100 - (100 / (1 + r))
mfi
Interpretation:
upper accumulates volume-weighted source values on up moves
lower accumulates volume-weighted source values on down moves
if lower is zero, MFI defaults to 100 to avoid division errors
otherwise, MFI is computed from the ratio transform
2) History Buffer Management
The current MFI value is pushed into the front of an array every bar. The array is trimmed to History Depth so rendering stays bounded.
array.unshift(ctx.history_val, mfi_curr)
if ctx.history_val.size() > depth
ctx.history_val.pop()
3) 3D Point Model and Ribbon Thickness
Each segment is built from four projected points to form a filled face (a simple quad). A small thickness is applied to create the “ribbon” look, and depth is used to simulate perspective.
4) Isometric Projection to Chart Coordinates
3D points are mapped into chart coordinates with an angle rotation and scaling for zoom and depth.
method project(Point3 p, int anchor_bar, float angle_rad, float zoom, float z_scale) =>
float x_world = -float(p.x) * 2.0
float z_val = p.z * z_scale
float screen_x_offset = (x_world * math.cos(angle_rad)) - (z_val * 1.0)
float screen_y_offset = (p.y * zoom) + (x_world * math.sin(angle_rad)) * 0.5
int final_x = anchor_bar + int(math.round(screen_x_offset))
float final_y = screen_y_offset
chart.point.from_index(final_x, final_y)
5) Gradient and Depth Transparency
Color is derived from MFI value via a gradient, and transparency increases with segment depth so recent data remains dominant while older context stays visible.
6) Projected Reference Grid Construction
The 80, 50, 20 levels are drawn as dotted segments across the same historical span, using the same projection and depth fade logic for consistent alignment.
🎆 Wishing you a great year ahead 🎄✨
May your charts be clear, your risk be controlled, and your next year be filled with health, peace, and good trades. Happy Holidays and Happy New Year.
Participation-Weighted Orderflow Bubbles (HTF / LTF Context ToolThis indicator visualizes participation-weighted market pressure by aggregating lower-timeframe price and volume data into higher-timeframe context bubbles. It is designed to help identify directional dominance, balance, and absorption across timeframes. This is a context and bias tool, not a trade signal generator.
What the indicator shows
Each bubble represents a single chart bar, built from lower-timeframe candles.
Total Notional
Aggregated volume multiplied by price from lower-timeframe candles.
Buy / Sell Proxies
Lower-timeframe candles are classified based on where they close within their range:
– Close near the high → buy-side proxy
– Close near the low → sell-side proxy
– Middle of the range → neutral
Delta (USD and %)
Buy proxy notional minus sell proxy notional, expressed as both absolute USD delta and percentage of total notional.
Bubble colors
Green
Buy-side participation dominance.
Sell color (user configurable)
Sell-side participation dominance. The default is chosen for visibility on bearish candles and can be changed in settings.
Grey
Balanced participation. Indicates two-way trade, consolidation, or auction.
Yellow (Absorption)
High notional with limited price movement, suggesting potential absorption or distribution.
Coloring uses both relative dominance (delta percentage) and absolute dominance (minimum delta in USD), which improves behavior on higher timeframes.
Bubble size and visuals
Bubble size scales with total notional.
HD glow layers adapt automatically by timeframe.
Bubbles are drawn in front of candles for clarity.
Optional text displays delta and total notional.
Hovering over a bubble shows detailed information including total notional, buy/sell/neutral proxies, delta values, absorption status, and the number of lower-timeframe candles used.
Timeframe behavior
The indicator is designed to work across multiple timeframes. On higher timeframes, more grey bubbles are expected due to natural auction and balance behavior. Colored bubbles on higher timeframes represent sustained participation rather than short-term momentum. Visual density and performance are automatically adjusted on higher timeframes.
How to use it
Recommended workflow:
1. Higher timeframe (1H, 4H, Daily)
Use the bubbles to identify dominant buy or sell participation, balance zones, and absorption near highs or lows.
2. Lower timeframe (5m, 15m)
Take trades in alignment with the most recent higher-timeframe dominance. Be cautious or range-focused inside higher-timeframe balance zones. Use structure and price action for entries.
What this indicator is not
This indicator does not show true bid/ask data.
It does not display actual market versus limit orders.
It does not replace a DOM or exchange orderflow feed.
It should not be used as a standalone entry signal.
The indicator works within TradingView’s available data and provides a probabilistic, participation-weighted view of market pressure rather than true tape or orderflow data.
Best practices
Use a 1-minute lower timeframe for best results.
Avoid setting the lower timeframe too high relative to the chart timeframe.
Combine this tool with structure, levels, and session context.
Treat grey bubbles as information about balance, not as noise.
This tool is intended for traders who want better context and bias, not more signals.
MFI Volume Profile [Kodexius]The MFI Volume Profile indicator blends a classic volume profile with the Money Flow Index so you can see not only where volume traded, but also how strong the buying or selling pressure was at those prices. Instead of showing a simple horizontal histogram of volume, this tool adds a money flow dimension and turns the profile into a price volume momentum heat map.
The script scans a user controlled lookback window and builds a set of price levels between the lowest and highest price in that period. For every bar inside that window, its volume is distributed across the price levels that the bar actually touched, and that volume is combined with the bar’s MFI value. This creates a volume weighted average MFI for each price level, so every row of the profile knows both how much volume traded there and what the typical money flow condition was when that volume appeared.
On the chart, the indicator plots a stack of horizontal boxes to the right of current price. The length of each box represents the relative amount of volume at that price, while the color represents the average MFI there. Levels with stronger positive money flow will lean toward warmer shades, and levels with weaker or negative money flow will lean toward cooler or more neutral shades inside the configured MFI band. Each row is also labeled in the format Volume , so you can instantly read the exact volume and money flow value at that level instead of guessing.
This gives you a detailed map of where the market really cared about price, and whether that interest came with strong inflow or outflow. It can help you spot areas of accumulation, distribution, absorption, or exhaustion, and it does so in a compact visual that sits next to price without cluttering the candles themselves.
Features
Combined volume profile and MFI weighting
The indicator builds a volume profile over a user selected lookback and enriches each price row with a volume weighted average MFI. This lets you study both participation and money flow at the same price level.
Volume distributed across the bar price range
For every bar in the window, volume is not assigned to a single price. Instead, it is proportionally distributed across all price rows between the bar low and bar high. This creates a smoother and more realistic profile of where trading actually happened.
MFI based color gradient between 30 and 70
Each price row is colored according to its average MFI. The gradient is anchored between MFI values of 30 and 70, which covers typical oversold, neutral and overbought zones. This makes strong demand or distribution areas easier to spot visually.
Configurable structure resolution and depth
Main user inputs are the lookback length, the number of rows, the width of the profile in bars, and the label text size. You can quickly switch between coarse profiles for a big picture and higher resolution profiles for detailed structure.
Numeric labels with volume and MFI per row
Every box is labeled with the total volume at that level and the average MFI for that level, in the format Volume . This gives you exact values while still keeping the visual profile clean and compact.
Calculations
Money Flow Index calculation
currentMfi is calculated once using ta.mfi(hlc3, mfiLen) as usual,
Creation of the profileBins array
The script creates an array named profileBins that will hold one VPBin element per price row.
Each VPBin contains
volume which is the total volume accumulated at that price row
mfiProduct which is the sum of volume multiplied by MFI for that row
The loop;
for i = 0 to rowCount - 1 by 1
array.push(profileBins, VPBin.new(0.0, 0.0))
pre allocates a clean structure with zero values for all rows.
Finding highest and lowest price across the lookback
The script starts from the current bar high and low, then walks backward through the lookback window
for i = 0 to lookback - 1 by 1
highestPrice := math.max(highestPrice, high )
lowestPrice := math.min(lowestPrice, low )
After this loop, highestPrice and lowestPrice define the full price range covered by the chosen lookback.
Price range and step size for rows
The code computes
float rangePrice = highestPrice - lowestPrice
rangePrice := rangePrice == 0 ? syminfo.mintick : rangePrice
float step = rangePrice / rowCount
rangePrice is the total height of the profile in price terms. If the range is zero, the script replaces it with the minimum tick size for the symbol. Then step is the price height of each row. This step size is used to map any price into a row index.
Processing each bar in the lookback
For every bar index i inside the lookback, the script checks that currentMfi is not missing. If it is valid, it reads the bar high, low, volume and MFI
float barTop = high
float barBottom = low
float barVol = volume
float barMfi = currentMfi
Mapping bar prices to bin indices
The bar high and low are converted into row indices using the known lowestPrice and step
int indexTop = math.floor((barTop - lowestPrice) / step)
int indexBottom = math.floor((barBottom - lowestPrice) / step)
Then the indices are clamped into valid bounds so they stay between zero and rowCount - 1. This ensures that every bar contributes only inside the profile range
Splitting bar volume across all covered bins
Once the top and bottom indices are known, the script calculates how many rows the bar spans
int coveredBins = indexTop - indexBottom + 1
float volPerBin = barVol / coveredBins
float mfiPerBin = volPerBin * barMfi
Here the total bar volume is divided equally across all rows that the bar touches. For each of those rows, the same fraction of volume and volume times MFI is used.
Accumulating into each VPBin
Finally, a nested loop iterates from indexBottom to indexTop and updates the corresponding VPBin
for k = indexBottom to indexTop by 1
VPBin binData = array.get(profileBins, k)
binData.volume := binData.volume + volPerBin
binData.mfiProduct := binData.mfiProduct + mfiPerBin
Over all bars in the lookback window, each row builds up
total volume at that price range
total volume times MFI at that price range
Later, during the drawing stage, the script computes
avgMfi = bin.mfiProduct / bin.volume
for each row. This is the volume weighted average MFI used both for coloring the box and for the numeric MFI value shown in the label Volume .
Market Cipher With DivegencesAnother look into classic ;)
My take on Market Cypher with new money line and DIVERGENCES!!!
Enjoy!
Global M2 Money Supply (100+ countries, USD, Offset)Global M2 Money Supply:
-potentially 100+ countries - countries can be added in Script,
-USD, Offset
-offset in months can be manually adjusted to account for the time that i takes for liquidity to hit the market
Twiggs Go Money Flow Enhanced [KingThies]█ OVERVIEW
The Twiggs Money Flow (TMF) is a volume-weighted momentum oscillator that
measures buying and sellistng pressure by analyzing where price closes within
each bar's true range. It's an enhanced version of Chaikin Money Flow that
uses Wilder's smoothing method, providing better trend persistence and
smoother signals.
The indicator oscillates around a zero listne:
Values above zero indicate accumulation (buying pressure)
Values below zero indicate distribution (sellistng pressure)
TMF was developed by Colistn Twiggs as an improvement over traditional money
flow indicators by incorporating true range calculations and Wilder's
exponential moving average.
█ CONCEPTS
True Range Boundaries
TMF calculates a modified true range for each bar by comparing the current
bar's high and low with the previous close:
True Range High = maximum of (previous close, current high)
True Range Low = minimum of (previous close, current low)
This accounts for overnight gaps and ensures price continuity between bars.
Average Daily Value (ADV)
The ADV represents the portion of volume attributable to buying versus sellistng:
ADV = Volume × ((Close - TR Low) - (TR High - Close)) / True Range
When price closes near the high of the true range, ADV is positive and large.
When price closes near the low, ADV is negative and large.
A close in the middle produces values near zero.
Wilder's Moving Average
Unlistke simple moving averages, Wilder's smoothing method gives more weight
to recent values while maintaining memory of historical data:
WMA = (Previous WMA × (Period - 1) + Current Value) / Period
This creates smoother trends that are less prone to whipsaws than standard
moving averages.
Final Calculation
TMF = Wilder's MA(ADV, Period) / Wilder's MA(Volume, Period)
By dividing smoothed ADV by smoothed volume, TMF normalistzes the reading and
makes it comparable across different securities and timeframes.
█ HOW TO USE
Zero listne Crossovers
The most straightforward trading signals:
A cross above zero suggests buyers are gaining control.
Consider this a bullistsh signal, especially when confirmed by price action.
A cross below zero suggests sellers are gaining control.
Consider this a bearish signal.
The longer TMF remains above or below zero, the stronger the trend.
Extreme Values
Strong positive or negative readings indicate intense buying or sellistng pressure:
Sustained high positive values (above +0.4) suggest strong accumulation
but may also indicate overbought conditions.
Sustained low negative values (below -0.4) suggest strong distribution
but may also indicate oversold conditions.
These extremes work best when used in conjunction with price levels and
support/resistance zones.
Divergences
Divergences between price and TMF often signal potential reversals:
Bearish divergence: Price makes a higher high but TMF makes a
lower high — suggests buying pressure is weakening despite rising prices.
Bullistsh divergence: Price makes a lower low but TMF makes a
higher low — suggests sellistng pressure is weakening despite fallistng prices.
Trend Confirmation
Use TMF to confirm the strength of existing trends:
In an uptrend, TMF should remain mostly positive with occasional dips below zero.
In a downtrend, TMF should remain mostly negative with occasional rises above zero.
If TMF contradicts the price trend, consider the trend weak or potentially ending.
█ FEATURES
Period (default: 21)
The lookback length for Wilder's moving average calculation:
Shorter periods (10–15) make TMF more responsive to recent changes but
increase noise and false signals.
Longer periods (30–50) create smoother readings but lag price action more
significantly.
The default 21-period setting balances responsiveness with relistabilistty.
Consider adjusting the period based on your trading timeframe and the
volatilistty of the security you're analyzing.
█ LIMITATIONS
TMF is a lagging indicator due to its smoothing method. Signals may occur
after optimal entry or exit points.
In low-volume or illistquid markets, TMF can produce erratic readings that
may not reflect true buying or sellistng pressure.
Ranging or choppy markets often generate frequent zero-listne crosses that
can lead to whipsaws.
listke all volume-based indicators, TMF's relistabilistty depends on accurate
volume data.
For securities with unrelistable volume reporting, consider using
price-based momentum indicators instead.
█ NOTES
This indicator uses area-style plotting in the original version to visualistze
the magnitude of buying and sellistng pressure. The filled area makes it easy
to see at a glance whether the market is in accumulation or distribution mode.
TMF works on any timeframe but tends to be most relistable on daily charts
where volume data is most accurate and meaningful.
█ CREDITS
Original indicator developed by
LazyBear .
Based on the Twiggs Money Flow concept from Incredible Charts:
Incredible Charts – Twiggs Money Flow .
Delta Money Flow IndexThe Delta Money Flow Index is a modified version of the traditional Money Flow Index that uses directional volume instead of total volume to measure buying and selling pressure in a different way.
It helps traders identify overbought/oversold conditions based on actual buy/sell pressure rather than just total volume. It's designed for traders who want to see if price movements are backed by genuine buying or selling activity.
How to use it:
- Values above 80 indicate overbought conditions
- Values below 20 indicate oversold conditions
- The 50 level acts as a neutral zone. Above suggests buyers are in control, below suggests sellers are in control.
- Traders can check for divergences for potential reversal signals
- Works best on intraday timeframes where delta volume is most meaningful
What makes it different:
Unlike the standard MFI which uses total volume, the Delta MFI calculates an approximation of volume delta by assigning positive volume to up-closing candles and negative volume to down-closing candles.
This means:
- It focuses on directional pressure, not just activity
- Filters out low-conviction volume that doesn't move price
- Provides clearer signals when actual buying/selling dominates
The indicator includes visual aids like background colors for overbought/oversold and a fill showing whether the Delta MFI is above or below the 50 midpoint for quick interpretation.
Flow Control Oscillator (FCO)Flow Control Oscillator (FCO)
The Flow Control Oscillator (FCO) is a momentum-based indicator that combines volume analysis and money flow to determine who is in control of the market—buyers or sellers—and how strong that control is. Unlike pure price-based oscillators, FCO integrates both price action and volume distribution to provide a more complete picture of market dynamics.
How It Works
Core Components:
Money Flow Index (MFI) -
Scaled to -1 to +1 range
Measures the flow of money into and out of an asset
Identifies buying and selling pressure based on price and volume
Chaikin Money Flow (CMF) -
Already in -1 to +1 range
Measures the accumulation/distribution of volume
Shows whether volume is accumulating (buying) or distributing (selling)
Combined Flow Control Line (FCO Line) -
Equal-weighted composite of MFI and CMF
Smoothed with SMA (default: 3 periods)
Values above 0 = Buyers in control
Values below 0 = Sellers in control
Signal Line -
WMA of the FCO line (default: 6 periods)
Used for timing entries and confirming momentum shifts
Momentum Histogram-
Shows the rate of change in buyer/seller control
Weighted by ADX (Average Directional Index) when enabled
Larger bars = stronger momentum
ADX weighting filters out choppy, unreliable signals
Key Zones
Neutral Zone (-0.3 to +0.3): Balanced market, low conviction
Healthy Trend Zone (±0.3 to ±0.7): Clear control without exhaustion
Warning Zone (±0.7 to ±1.0): Extended, approaching exhaustion
Extreme Zone (beyond ±1.0): Overbought/oversold, reversal likely
What To Look For
Reversal Setups:
FCO in extreme zone (beyond ±1.0)
FCO crosses Signal line in opposite direction
Momentum histogram shrinking (weakening pressure)
Interpretation: Buyers or sellers are exhausted and losing control
Trend Strength Setups:
FCO crosses zero line (control shift)
Momentum histogram growing in the same direction
ADX confirms strong trend (no orange background)
Signal line moving in same direction as FCO
Interpretation: New control being established with building momentum
Divergences:
Price makes new high/low but FCO doesn't confirm
Indicates weakening momentum despite price movement
Early warning of potential reversal
Choppy Market Warning:
Orange background (ADX < 20)
Small momentum bars regardless of FCO position
Interpretation: Weak trend, avoid trading or use tight stops
Best Practices:
Use with context: Combine with support/resistance levels (like VWAP) for confluence
Multi-timeframe confirmation: Check higher timeframe FCO for overall bias
Wait for confirmation: Let signals develop rather than predicting turns
Respect extreme zones: Best reversal opportunities occur when FCO is beyond ±1.0
Filter with ADX: Pay attention to background coloring—avoid choppy conditions
The indicator includes comprehensive alert conditions for:
Reversal setups (extreme + cross + weakening momentum)
Trend strength signals (zero cross + growing momentum + strong ADX)
FCO/Signal crossovers
Extreme overbought/oversold conditions
Control shifts (buyers/sellers taking control)
RSI + MFIRSI and MFI combined, width gradient fields if OS or OB, shows divergences separate for wicks and bodies, shows dots when mfi and rsi oversold at the same time.
Aggregated Open Interest Multi-Exchange (USD)This indicator aggregates Open Interest (OI) data from multiple major cryptocurrency exchanges into a single unified view in USD, using data available on TradingView. It automatically adapts to the asset you're viewing on the chart.
Features:
Aggregates OI from 7 major exchanges: Binance, Bybit, OKX, Bitget, Deribit, HTX, and Coinbase
All values converted to USD - unlike native OI which shows contracts/coins
Uses only data available on TradingView platform
Automatically detects the asset from your chart (BTC, ETH, SOL, etc.)
True apples-to-apples comparison across exchanges
Displays as candlesticks showing OI open, high, low, and close
Toggle exchanges on/off individually
Handles different contract types per exchange automatically
Why USD conversion matters:
Traditional OI indicators show values in contracts or crypto units, making it difficult to compare across exchanges. This indicator converts everything to USD, giving you the real dollar value of open positions across all exchanges.
How it works:
Simply add the indicator to any crypto perpetual futures chart. It will automatically fetch and aggregate OI data from all supported exchanges for that asset using TradingView's built-in data feeds, converting everything to USD.
Supported Exchanges:
Binance, Bybit, Bitget, HTX: USDT perpetuals
Deribit: BTC/ETH use USD contracts, others use USDC
OKX: Contract-based (automatically converted)
Coinbase: USDC perpetuals
Perfect for traders who want a comprehensive view of total market Open Interest in USD across exchanges using reliable TradingView data.
- Standardized Money Flow Index with Multi-MA and BB OverlayThis custom Money Flow Index (MFI) script enhances the standard MFI by introducing multiple layers of configurability, statistical normalization, and visual clarity. It begins with the traditional MFI calculation using the average price, hlc3, and a user-defined length, then offers the option to standardize the output. Standardization transforms the MFI into a z-score by subtracting a rolling mean and dividing by a rolling standard deviation, making the indicator statistically interpretable across different assets, timeframes, and volatility regimes. When standardization is active, the overbought and oversold thresholds shift from the conventional 80 and 20 to +2 and –2, aligning them with standard deviation boundaries and improving signal clarity in volatile environments.
Beyond standardization, the script introduces a robust smoothing engine. Users can choose from several moving average types, including SMA, EMA, SMMA (RMA), WMA, and VWMA, to reduce noise and highlight trend shifts. A particularly advanced option is the “SMA + Bollinger Bands” mode, which overlays volatility envelopes around the smoothed MFI using a user-defined standard deviation multiplier. This feature helps traders identify when the MFI is unusually high or low relative to its recent behaviour, adding a volatility-adjusted layer of insight, especially useful in momentum or mean-reversion setups.
Visually, the script is designed for clarity, modularity, and flexibility. It plots the raw or standardized MFI in purple, overlays the smoothed version in yellow if enabled, and adds green Bollinger Bands when selected. It also includes horizontal reference lines for overbought, oversold, and midpoint levels, which dynamically adjust based on whether standardization is active. A shaded background between the overbought and oversold lines further enhances readability, helping traders quickly assess momentum extremes and potential inflection zones.
Compared to the standard MFI, which offers a fixed calculation, limited visual feedback, and no statistical context, this enhanced version is modular, customizable, and statistically grounded. It allows traders to tailor the indicator to their strategy, whether they prefer raw signals, smoothed trends, or volatility-adjusted extremes. These enhancements make it a powerful building block for more sophisticated signal engines, especially when combined with filter gating, persistent state logic, or multi-indicator overlays.
StratNinjaTable - VerticalA Pine Script v6 indicator that displays a vertical table with key The Strat data and supporting metrics.
✦ Table Structure:
Overview:
Ticker – the stock symbol.
TF – the chart’s main timeframe.
MFI – Money Flow Index with selectable timeframe.
ATR – Average True Range with color coding:
Green – below 3%.
Yellow – between 3% and 6%.
Red – above 6%.
Timeframes:
Displayed vertically (5m, 15m, 1H, D, W, M, etc.).
Each shows the current bar type according to The Strat (1, 2U, 2D, 3).
Text color reflects candle direction (green = close above open, red = close below open).
Includes a countdown timer to bar close.
Fundamentals:
Market Cap – in billions.
Sector – stock sector.
SMA20 Δ – distance from the 20-period SMA (in %).
Avg Volume (30d) – average 30-day volume (in millions).
✦ Adjustments Made:
Removed the Strat Pattern section completely.
Removed the DIR column – direction is now represented by Strat cell text color.
Reordered Overview section: Ticker → TF → MFI → ATR.
ATR now has three levels of coloring (Green/Yellow/Red) for >3% and >6%
Multi-Indicator Panel (RSI, Stoch, MACD, VIX Fix, MFI)A versatile single-pane oscillator panel combining RSI, Stochastic, MACD (scaled to 0–100), Williams VIX Fix (normalized & inverted: low value = high fear), and MFI. Each module is toggleable, with reference levels, background highlights, and ready-made alerts.
Key features
Per-indicator toggles: RSI, Stoch %K/%D, MACD (lines + optional histogram), inverted 0–100 VIX Fix, and MFI.
Standard levels & center line at 50; adjustable overbought/oversold thresholds.
Contextual background coloring (optional) for extreme conditions.
Built-in alerts: RSI/Stoch OB/OS, MACD–Signal cross, VIX Fix “High Fear/Low Fear,” and MFI OB/OS.
Unified scale: MACD mapped around 50 to align with other oscillators; VIX Fix normalized to 0–100.
How to use (quick)
Add the indicator → enable needed modules via “Indicator Toggles.”
Tune periods & levels (e.g., RSI 14, Stoch 14/3, MACD 12-26-9, VIX Fix 22/252, MFI 14).
(Optional) Turn on MACD histogram.
Create alerts from “Add alert on…” using the provided conditions.
Interpretation notes
Inverted VIX Fix: low values ⇒ high fear/volatility (potential bounces); high values ⇒ complacency.
Scaled MACD: lines around 50 ≈ MACD zero; line crosses remain valid despite scaling.
Disclaimer
Analysis tool, not financial advice. Test across timeframes/instruments and pair with risk management.
Dynamic Threshold Money Flow Indexi thought this script was a clever idea, but the more i tried to improve it, the worse it seemed to get.
the idea behind this script was to build a context around a Money Flow Index that changes based on market conditions.
the width of the channel is controlled by a combination of the choppiness index and an inverted, normalized, absolute value of the ROC. when the market begins trending, the channel narrows, making the MFI more likely to break out of the channel in the direction of the emerging trend. as the market becomes more choppy and the trend diminishes, the channel widens, recapturing the MFI.
my initial hopes for this script was that the context-based thresholds would spare the user from choppy markets, but perhaps i need to make the channel non-linear.
Trend+Volume Confluence IndicatorScalper and swing trading signals: use the 15–30 minute charts for scalps and the 4–8 hour charts for swings. Add the Money Flow Index (MFI) for extra confluence. In an uptrend, if the MFI is at or above the halfway mark and rising, take the long. In a downtrend, if the MFI is at or below the halfway mark and falling, take the short.
StratNinjaTableAuthor’s Instructions for StratNinjaTable
Purpose:
This indicator is designed to provide traders with a clear and dynamic table displaying The Strat candle patterns across multiple timeframes of your choice.
Usage:
Use the input panel to select which timeframes you want to monitor in the table.
Choose the table position on the chart (top left, center, right, or bottom).
The table will update each bar, showing the candle type, direction arrow, and remaining time until the candle closes for each selected timeframe.
Hover over or inspect the table to understand current market structure per timeframe using The Strat methodology.
Notes:
The Strat pattern is displayed as "1", "2U", "2D", or "3" based on the relationship of current and previous candle highs and lows.
The timer updates in real-time and adapts to daily, weekly, monthly, and extended timeframes.
This script requires Pine Script version 6. Please use it on supported platforms.
MFI or other indicators are not included in this base version but can be integrated separately if desired.
Credits:
Developed and inspired by shayy110 — thanks for your foundational work on The Strat in Pine Script.
Disclaimer:
This script is for educational and informational purposes only. Always verify signals and manage risk accordingly.
TFO + ADX with Histogram & SignalTrend Flow Oscillator (TFO + ADX) – Histogram + Signal
This version of the original TFO+ADX introduces a MACD-style histogram and signal line overlay for clearer momentum and trend visualization.
The Trend Flow Oscillator (TFO+ADX) blends two powerful volume-based tools — the Money Flow Index (MFI) and Chaikin Money Flow (CMF) — along with a normalized Average Directional Index (ADX). The result is a comprehensive momentum and trend strength tool that offers a more precise read on when markets are gaining or losing conviction.
⸻
How It Works
1.Money Flow Index (MFI)
• Measures volume-weighted buying/selling pressure using price and volume.
• Scaled between –1 and +1 for visual clarity.
2.Chaikin Money Flow (CMF)
• Evaluates volume distribution over time — institutional buying (accumulation) or selling (distribution).
• Also scaled between –1 and +1.
3.TFO Composite Line
• Combines MFI and CMF into a single flow reading.
• A signal line (EMA) tracks the trend of this flow.
• A histogram plots the difference between the TFO and its signal, giving clear signals on shifts in momentum.
4.Normalized ADX Overlay
• Shows trend strength on the same scale (–1 to +1).
• ADX > 0 indicates strong trending conditions.
• ADX < 0 signals weak or consolidating conditions.
⸻
Visual Interpretation
1. Histogram Bars
• Green: TFO is above the signal line → bullish momentum accelerating
• Red: TFO is below the signal line → bearish momentum building
• Bar height represents the strength of the momentum shift
2. Signal Line
• Tracks the smoothed trend of the TFO composite
• Histogram crossing above or below zero reflects momentum crossover and can act as entry or exit signals
3. TFO Raw Line (Optional)
• Still available for reference alongside the histogram
• Shows the unsmoothed blended money flow direction (MFI + CMF)
4. Extreme Zones
• Background shading appears when TFO exceeds ±1.0
• Helps highlight areas of stretched or unsustainable momentum, useful for spotting potential reversals or exhaustion
Trend Flow Oscillator (CMF + MFI) + ADX## Trend Flow Oscillator (TFO + ADX) Indicator Description
The Trend Flow Oscillator (TFO+ADX) combines two volume-based indicators, Money Flow Index (MFI) and Chaikin Money Flow (CMF), along with the Average Directional Index (ADX) into one comprehensive oscillator. This indicator provides traders with insights into momentum, volume flow, and trend strength, clearly indicating bullish or bearish market conditions.
### How the Indicator Works:
1. **Money Flow Index (MFI)**:
* Measures buying and selling pressure based on price and volume.
* Scaled from -1 to +1 (where positive values indicate buying pressure, negative values indicate selling pressure).
2. **Chaikin Money Flow (CMF)**:
* Evaluates money flow volume over a set period, reflecting institutional buying or selling.
* Also scaled from -1 to +1 (positive values suggest bullish accumulation, negative values bearish distribution).
3. **Average Directional Index (ADX)**:
* Measures trend strength, indicating whether a market is trending or ranging.
* Scaled from -1 to +1, with values above 0 suggesting strong trends, and values near or below 0 indicating weak trends or sideways markets.
* Specifically, an ADX value of 0 means neutral trend strength; positive values indicate a strong trend.
### Indicator Levels and Interpretation:
* **Zero Line (0)**: Indicates neutral conditions. When the oscillator crosses above zero, it signals increasing bullish momentum; crossing below zero indicates bearish momentum.
* **Extreme Zones (+/- 0.75)**:
* Oscillator values above +0.75 are considered overbought or highly bullish.
* Oscillator values below -0.75 are considered oversold or highly bearish.
* The indicator features subtle background shading to visually highlight these extreme momentum areas for quick identification.
* Shading when values above or below the +/-1.0 level.
* **Color Coding**:
* Bright blue indicates strengthening bullish momentum.
* Dark blue signals weakening bullish momentum.
* Bright red indicates strengthening bearish momentum.
* Dark maroon signals weakening bearish momentum.
MVO - MA Signal StrategyStrategy Description: MA Signal Strategy with Heikin Ashi, Break-even and Trailing Stop
⸻
🔍 Core Concept
This strategy enters long or short trades based on Heikin Ashi candles crossing above or below a moving average (MA), with optional confirmation from the Money Flow Index (MFI). It includes:
• Dynamic stop loss and take profit levels based on ATR
• Optional break-even stop adjustment
• Optional trailing stop activation after breakeven
• Full visual feedback for trades and zones
⸻
⚙️ Indicators Used
• Heikin Ashi Candles: Smooth price action to reduce noise.
• Simple Moving Average (MA): Determines trend direction.
• Average True Range (ATR): Sets volatility-based SL/TP.
• Money Flow Index (MFI): Optional momentum filter for entries.
⸻
📈 Trade Entry Logic
✅ Long Entry:
Triggered if:
• Heikin Ashi close crosses above the MA
or
• MFI is below 20 and Heikin Ashi close is above the MA
❌ Short Entry:
Triggered if:
• Heikin Ashi close crosses below the MA
or
• MFI is above 90 and Heikin Ashi close is below the MA
⸻
🛑 Stop Loss & Take Profit
• SL is set using riskMult * ATR
• TP is set using rewardMult * ATR
Example:
• If ATR = 10, riskMult = 1, rewardMult = 5
→ SL = 10 points, TP = 50 points from entry
⸻
⚖️ Break-even Logic (Optional)
• If price moves in your favor by breakevenTicks * ATR, SL is moved to entry price.
• Enabled via checkbox Enable Break Even.
⸻
📉 Trailing Stop Logic (Optional)
• Once break-even is hit, a trailing stop starts moving behind price by trailATRmult * ATR.
• Trailing stop only activates after break-even is reached.
• Enabled via checkbox Enable Trailing Stop.
📊 Visual Elements
• Heikin Ashi candles are drawn on the main chart.
• Trade zones are shaded between SL and TP during open trades.
• Lines mark Entry, SL, TP, Break-even trigger.
• Markers show entries and exits:
• Green/red triangles = long/short entries
• ✅ = Take profit hit
• ❌ = Stop loss hit
✅ Best Use Case
• Trending markets with strong pullbacks
• Works on multiple timeframes
• Better suited for assets with consistent volatility (ATR behavior)
Stochastic Money Flow IndexThe Stochastic Money Flow Index (or Stochastic MFI ), is a variation of the classic Stochastic RSI that uses the Money Flow Index (MFI) rather than the Relative Strength Index (RSI) in its calculation.
While the RSI focuses solely on price momentum, the MFI is a volume-weighted indicator, meaning it incorporates both price and volume data.
The Stochastic MFI is intended to provide a more precise and sensitive reading of the MFI by measuring the level of the MFI relative to its range over a specific period.
Settings
Stochastic Settings
%K Length : The number of periods used to calculate the Stochastic. (Default: 14)
%K Smoothing : The SMA length used to 'smooth' the %K line. (Default: 3)
%D Smoothing : The SMA length used to 'smooth' the %D line. (Default: 1)
Money Flow Index Settings
MFI Length : The number of periods used to calculate the Money Flow Index. (Default: 14)
MFI Source : The source used to calculate the Money Flow Index. (Default: close)
Additional Settings
Show Overbought/Oversold Gradients? : Toggle the display of overbought/oversold gradients. (Default: true)
Enhanced MFI Divergence with Pivot SignalsEnhanced MFI Divergence with Pivot Signals
This custom Pine Script indicator identifies bullish and bearish divergences between price action and the Money Flow Index (MFI), enhancing the trader's ability to spot potential reversal zones with visual clarity and optional confirmation filters.
📊 Key Features:
🔹 MFI Divergence Detection
The script detects:
Bullish divergence when price forms a lower low but MFI forms a higher low.
Bearish divergence when price forms a higher high but MFI forms a lower high.
🔹 Pivot-Based Logic
To ensure high-confidence signals, the script uses pivot point logic to mark local highs and lows on both price and MFI. This avoids noise and focuses only on meaningful swing points.
🔹 Optional Confirmation Filter
You can enable a filter that checks if MFI is above 50 during bullish divergence (implying buying pressure) and below 50 for bearish divergence (implying selling pressure), adding an extra layer of confirmation.
🔹 Signal Markers
Signals are visually displayed on the chart using colored triangles:
Green triangle up for bullish divergence
Red triangle down for bearish divergence
🔹 Background Color Shading
The background is optionally shaded green or red based on MFI’s relationship to its smoothed WMA, helping you visually interpret trend bias.
🔹 Pivot Point Debugging Tools
Circles and crosses mark pivot points on price and MFI for debugging and visual clarity.
🔹 Alerts Ready
Real-time alerts notify you instantly when a bullish or bearish MFI divergence occurs, allowing for quick decision-making.
⚙️ How It Helps
This indicator is designed to help traders:
Anticipate price reversals by identifying hidden strength or weakness in momentum,
Avoid false breakouts,
Confirm entries or exits based on volume-weighted momentum divergence.
It works especially well when used alongside trend-following tools like moving averages, support/resistance zones, or additional volume indicators.






















