Stochastic Order Flow Momentum [ScorsoneEnterprises]This indicator implements a stochastic model of order flow using the Ornstein-Uhlenbeck (OU) process, combined with a Kalman filter to smooth momentum signals. It is designed to capture the dynamic momentum of volume delta, representing the net buying or selling pressure per bar, and highlight potential shifts in market direction. The volume delta data is sourced from TradingView’s built-in functionality:
www.tradingview.com
For a deeper dive into stochastic processes like the Ornstein-Uhlenbeck model in financial contexts, see these research articles: arxiv.org and arxiv.org
The SOFM tool aims to reveal the momentum and acceleration of order flow, modeled as a mean-reverting stochastic process. In markets, order flow often oscillates around a baseline, with bursts of buying or selling pressure that eventually fade—similar to how physical systems return to equilibrium. The OU process captures this behavior, while the Kalman filter refines the signal by filtering noise. Parameters theta (mean reversion rate), mu (mean level), and sigma (volatility) are estimated by minimizing a squared-error objective function using gradient descent, ensuring adaptability to real-time market conditions.
How It Works
The script combines a stochastic model with signal processing. Here’s a breakdown of the key components, including the OU equation and supporting functions.
// Ornstein-Uhlenbeck model for volume delta
ou_model(params, v_t, lkb) =>
theta = clamp(array.get(params, 0), 0.01, 1.0)
mu = clamp(array.get(params, 1), -100.0, 100.0)
sigma = clamp(array.get(params, 2), 0.01, 100.0)
error = 0.0
v_pred = array.new(lkb, 0.0)
array.set(v_pred, 0, array.get(v_t, 0))
for i = 1 to lkb - 1
v_prev = array.get(v_pred, i - 1)
v_curr = array.get(v_t, i)
// Discretized OU: v_t = v_{t-1} + theta * (mu - v_{t-1}) + sigma * noise
v_next = v_prev + theta * (mu - v_prev)
array.set(v_pred, i, v_next)
v_curr_clean = na(v_curr) ? 0 : v_curr
v_pred_clean = na(v_next) ? 0 : v_next
error := error + math.pow(v_curr_clean - v_pred_clean, 2)
error
The ou_model function implements a discretized Ornstein-Uhlenbeck process:
v_t = v_{t-1} + theta (mu - v_{t-1})
The model predicts volume delta (v_t) based on its previous value, adjusted by the mean-reverting term theta (mu - v_{t-1}), with sigma representing the volatility of random shocks (approximated in the Kalman filter).
Parameters Explained
The parameters theta, mu, and sigma represent distinct aspects of order flow dynamics:
Theta:
Definition: The mean reversion rate, controlling how quickly volume delta returns to its mean (mu). Constrained between 0.01 and 1.0 (e.g., clamp(array.get(params, 0), 0.01, 1.0)).
Interpretation: A higher theta indicates faster reversion (short-lived momentum), while a lower theta suggests persistent trends. Initial value is 0.1 in init_params.
In the Code: In ou_model, theta scales the pull toward \mu, influencing the predicted v_t.
Mu:
Definition: The long-term mean of volume delta, representing the equilibrium level of net buying/selling pressure. Constrained between -100.0 and 100.0 (e.g., clamp(array.get(params, 1), -100.0, 100.0)).
Interpretation: A positive mu suggests a bullish bias, while a negative mu indicates bearish pressure. Initial value is 0.0 in init_params.
In the Code: In ou_model, mu is the target level that v_t reverts to over time.
Sigma:
Definition: The volatility of volume delta, capturing the magnitude of random fluctuations. Constrained between 0.01 and 100.0 (e.g., clamp(array.get(params, 2), 0.01, 100.0)).
Interpretation: A higher sigma reflects choppier, noisier order flow, while a lower sigma indicates smoother behavior. Initial value is 0.1 in init_params.
In the Code: In the Kalman filter, sigma contributes to the error term, adjusting the smoothing process.
Summary:
theta: Speed of mean reversion (how fast momentum fades).
mu: Baseline order flow level (bullish or bearish bias).
sigma: Noise level (variability in order flow).
Other Parts of the Script
Clamp
A utility function to constrain parameters, preventing extreme values that could destabilize the model.
ObjectiveFunc
Defines the objective function (sum of squared errors) to minimize during parameter optimization. It compares the OU model’s predicted volume delta to observed data, returning a float to be minimized.
How It Works: Calls ou_model to generate predictions, computes the squared error for each timestep, and sums it. Used in optimization to assess parameter fit.
FiniteDifferenceGradient
Calculates the gradient of the objective function using finite differences. Think of it as finding the "slope" of the error surface for each parameter. It nudges each parameter (theta, mu, sigma) by a small amount (epsilon) and measures the change in error, returning an array of gradients.
Minimize
Performs gradient descent to optimize parameters. It iteratively adjusts theta, mu, and sigma by stepping down the "hill" of the error surface, using the gradients from FiniteDifferenceGradient. Stops when the gradient norm falls below a tolerance (0.001) or after 20 iterations.
Kalman Filter
Smooths the OU-modeled volume delta to extract momentum. It uses the optimized theta, mu, and sigma to predict the next state, then corrects it with observed data via the Kalman gain. The result is a cleaner momentum signal.
Applied
After initializing parameters (theta = 0.1, mu = 0.0, sigma = 0.1), the script optimizes them using volume delta data over the lookback period. The optimized parameters feed into the Kalman filter, producing a smoothed momentum array. The average momentum and its rate of change (acceleration) are calculated, though only momentum is plotted by default.
A rising momentum suggests increasing buying or selling pressure, while a flattening or reversing momentum indicates fading activity. Acceleration (not plotted here) could highlight rapid shifts.
Tool Examples
The SOFM indicator provides a dynamic view of order flow momentum, useful for spotting directional shifts or consolidation.
Low Time Frame Example: On a 5-minute chart of SEED_ALEXDRAYM_SHORTINTEREST2:NQ , a rising momentum above zero with a lookback of 5 might signal building buying pressure, while a drop below zero suggests selling dominance. Crossings of the zero line can mark transitions, though the focus is on trend strength rather than frequent crossovers.
High Time Frame Example: On a daily chart of NYSE:VST , a sustained positive momentum could confirm a bullish trend, while a sharp decline might warn of exhaustion. The mean-reverting nature of the OU process helps filter out noise on longer scales. It doesn’t make the most sense to use this on a high timeframe with what our data is.
Choppy Markets: When momentum oscillates near zero, it signals indecision or low conviction, helping traders avoid whipsaws. Larger deviations from zero suggest stronger directional moves to act on, this is on $STT.
Inputs
Lookback: Users can set the lookback period (default 5) to adjust the sensitivity of the OU model and Kalman filter. Shorter lookbacks react faster but may be noisier; longer lookbacks smooth more but lag slightly.
The user can also specify the timeframe they want the volume delta from. There is a default way to lower and expand the time frame based on the one we are looking at, but users have the flexibility.
No indicator is 100% accurate, and SOFM is no exception. It’s an estimation tool, blending stochastic modeling with signal processing to provide a leading view of order flow momentum. Use it alongside price action, support/resistance, and your own discretion for best results. I encourage comments and constructive criticism.
Cerca negli script per "momentum"
RSI-Volume Momentum Signal ScoreRSI-Volume Momentum Signal Score
Description
The RSI-Volume Momentum Signal Score is a predictive technical indicator designed to identify bullish and bearish momentum shifts by combining volume-based momentum with the Relative Strength Index (RSI). It generates a Signal Score derived from:
• The divergence between short-term and long-term volume (Volume Oscillator), and
• RSI positioning relative to a user-defined threshold.
This hybrid approach helps traders detect early signs of price movement based on volume surges and overbought/oversold conditions.
The Signal Score is computed as follows:
Signal Score = Volume Momentum x RSI Divergence Factor
Volume Momentum = tanh ((Volume Oscillator value (vo) – Volume Threshold)/Scaling Factor)
RSI Divergence Factor = ((RSI Threshold – RSI Period)/Scaling Factor)
Or,
Signal Score = tanh((vo - voThreshold) / scalingFactor) * ((rsiThreshold - rsi) / scalingFactor)
The logic of this formula are as follows:
• If Volume Oscillator >= Volume Threshold and RSI <= RSI Threshold: Bullish Signal (+1 x Scaling Factor)
• If Volume Oscillator >= Volume Threshold and RSI >= (100 – RSI Threshold): Bearish Signal (-1 x Scaling Factor)
• Otherwise: Neutral (0)
The tanh function provides the normalization process. It ensures that the final signal score is bounded between -1 and 1, increases sensitivity to early changes in volume patterns based on RSI conditions, and prevent sudden jumps in signals ensuring smooth and continuous signal line.
Input Fields
The input fields allow users to customize the behavior of the indicator based on their trading strategy:
Short-Term Volume MA
- Default: `2`
- Description: The period for the short-term moving average of volume.
- Purpose: Captures short-term volume trends.
Long-Term Volume MA)
- Default: `10`
- Description: The period for the long-term moving average of volume.
- Purpose: Captures long-term volume trends for comparison with the short-term trend.
RSI Period)
- Default: `3`
- Description: The period for calculating the RSI.
- Purpose: Measures the relative strength of price movements over the specified period.
Volume Oscillator Threshold
- Default: `70`
- Description: The threshold for the Volume Oscillator to determine significant volume momentum.
- Purpose: Filters out weak volume signals.
RSI Threshold
- Default: `25`
- Description: The RSI level used to identify overbought or oversold conditions.
- Purpose: Helps detect potential reversals in price momentum.
Signal Scaling Factor
- Default: `10`
- Description: A multiplier for the signal score.
- Purpose: Adjusts the magnitude of the signal score for better visualization.
How To Use It for Trading:
Upcoming Bullish Signal: Signal line turns from Gray to Green or from Green to Gray
Upcoming Bearish Signal: Signal line turns from Gray to Red or from Red to Gray
Note: The price that corresponds to the transition of Signal line from Gray to Green or Red and vise versa is the signal price for upcoming bullish or bearish signal.
The signal score dynamically adjusts based on volume and RSI thresholds, making it adaptable to various market conditions, and this is what makes the indicator unique from other traditional indicators.
Unique Features
Unlike traditional indicators, this indicator combines two different dimensions—volume trends and RSI divergence—for more comprehensive signal generation. The use of tanh() to scale and smooth the signal is a mathematically elegant way to manage signal noise and highlight genuine trends. Traders can tune the scaling factor and thresholds to adapt the indicator for scalping, swing trading, or longer-term investing.
MACD Volume Strategy (BBO + MACD State, Reversal Type)Overview
MACD Volume Strategy (BBO + MACD State, Reversal Type) is a momentum-based reversal system that combines MACD crossover logic with volume filtering to enhance signal accuracy and minimize noise. It aims to identify structural trend shifts and manage risk using predefined parameters.
※This strategy is for educational and research purposes only. All results are based on historical simulations and do not guarantee future performance.
Strategy Objectives
Identify early trend transitions with high probability
Filter entries using volume dynamics to validate momentum
Maintain continuous exposure using a reversal-style model
Apply a consistent 1:1.5 risk-to-reward ratio per trade
Key Features
Integrated MACD and volume oscillator filtering
Zero repainting (all signals confirmed on closed candles)
Automatic position flipping for seamless direction shifts
Stop-loss and take-profit based on recent structural highs/lows
Trading Rules
Long Entry Conditions
MACD crosses above the zero line (BBO Buy arrow)
Volume oscillator is positive (short EMA > long EMA)
MACD is above the signal line
Close any existing short and enter a new long
Short Entry Conditions
MACD crosses below the zero line (BBO Sell arrow)
Volume oscillator is positive
MACD is below the signal line
Close any existing long and enter a new short
Exit Rules
Take Profit (TP) = Entry ± (risk distance × 1.5)
Stop Loss (SL) = Recent swing low (for long) or high (for short)
Early Exit = Triggered when a reversal signal appears (flip logic)
Risk Management Parameters
Pair: ETH/USD
Timeframe: 10-minute
Starting Capital: $3,000
Commission: 0.02%
Slippage: 2 pip
Risk per Trade: 5% of account equity (adjusted for sustainable practice)
Total Trades: 312 (backtest on selected dataset)
※Risk parameters are fully configurable and should be adjusted to suit each trader's personal setup and broker conditions.
Parameters & Configurations
Volume Short Length: 6
Volume Long Length: 12
MACD Fast Length: 11
MACD Slow Length: 21
Signal Smoothing: 10
Oscillator MA Type: SMA
Signal Line MA Type: SMA
Visual Support
Green arrow = Long entry
Red arrow = Short entry
MACD lines, signal line, and histogram
SL/TP markers plotted directly on the chart
Strategic Advantages & Uniqueness
Volume filtering eliminates low-participation, weak signals
Structurally aligned SL/TP based on recent market pivots
No repainting — decisions are made only on closed candles
Always in the market due to the reversal-style framework
Inspirations & Attribution
This strategy is inspired by the excellent work of:
Bitcoinblockchainonline – “BBO_Roxana_Signals MACD + vol”
Leveraging MACD zero-line cross and volume oscillator for intuitive signal generation.
HasanRifat – “MACD Fake Filter ”
Introduced a signal filter using MACD wave height averaging to reduce false positives.
This strategy builds upon those ideas to create a more automated, risk-aware, and technically adaptive system.
Summary
MACD Volume Strategy is a clean, logic-first automated trading system built for precision-seeking traders. It avoids discretionary bias and provides consistent signal logic under backtested historical conditions.
100% mechanical — no discretionary input required
Designed for high-confidence entries
Can be extended with filters, alerts, or trailing stops
※Strategy performance depends on market context. Past performance is not indicative of future results. Use with proper risk management and careful configuration.
TMO (True Momentum Oscillator)TMO ((T)rue (M)omentum (O)scilator)
Created by Mobius V01.05.2018 TOS Convert to TV using Claude 3.7 and ChatGPT 03 Mini :
TMO calculates momentum using the delta of price. Giving a much better picture of trend, tend reversals and divergence than momentum oscillators using price.
True Momentum Oscillator (TMO)
The True Momentum Oscillator (TMO) is a momentum-based technical indicator designed to identify trend direction, trend strength, and potential reversal points in the market. It's particularly useful for spotting overbought and oversold conditions, aiding traders in timing their entries and exits.
How it Works:
The TMO calculates market momentum by analyzing recent price action:
Momentum Calculation:
For a user-defined length (e.g., 14 bars), TMO compares the current closing price to past open prices. It assigns:
+1 if the current close is greater than the open price of the past bar (indicating bullish momentum).
-1 if it's less (indicating bearish momentum).
0 if there's no change.
The sum of these scores gives a raw momentum measure.
EMA Smoothing:
To reduce noise and false signals, this raw momentum is smoothed using Exponential Moving Averages (EMAs):
First, the raw data is smoothed by an EMA over a short calculation period (default: 5).
Then, it undergoes additional smoothing through another EMA (default: 3 bars), creating the primary "Main" line of the indicator.
Lastly, a "Signal" line is derived by applying another EMA (also default: 3 bars) to the main line, adding further refinement.
Trend Identification:
The indicator plots two lines:
Main Line: Indicates current momentum strength and direction.
Signal Line: Acts as a reference line, similar to a moving average crossover system.
When the Main line crosses above the Signal line, it suggests strengthening bullish momentum. Conversely, when the Main line crosses below the Signal line, it indicates increasing bearish momentum.
Overbought/Oversold Levels:
The indicator identifies key levels based on the chosen length parameter:
Overbought zone (positive threshold): Suggests the market might be overheated, and a potential bearish reversal or pullback could occur.
Oversold zone (negative threshold): Suggests the market might be excessively bearish, signaling a potential bullish reversal.
Clouds visually mark these overbought/oversold areas, making it easy to see potential reversal zones.
Trading Applications:
Trend-following: Traders can enter positions based on crossovers of the Main and Signal lines.
Reversals: The overbought and oversold areas highlight high-probability reversal points.
Momentum confirmation: Use TMO to confirm price action or other technical signals, improving trade accuracy and timing.
The True Momentum Oscillator provides clarity in identifying momentum shifts, making it a valuable addition to various trading strategies.
BBVOL SwiftEdgeBBVOL SwiftEdge – Precision Scalping with Volume and Trend Filtering
Optimized for scalping and short-term trading on fast-moving markets (e.g., 1-minute charts), BBVOL SwiftEdge combines Bollinger Bands, Heikin Ashi smoothing, volume momentum, and EMA trend alignment to deliver actionable buy/sell signals with visual trend cues. Ideal for forex, crypto, and stocks.
What Makes BBVOL SwiftEdge Unique?
Unlike traditional Bollinger Bands scripts that focus solely on price volatility, BBVOL SwiftEdge enhances signal precision by:
Using Heikin Ashi to filter out noise and confirm trend direction, reducing false signals in choppy markets.
Incorporating volume analysis to ensure signals align with significant buying or selling pressure (customizable thresholds).
Adding an EMA overlay to keep trades in sync with the short-term trend.
Coloring candlesticks (green for bullish, red for bearish, purple for consolidation) to visually highlight market conditions at a glance.
How Does It Work?
Buy Signal: Triggers when price crosses above the lower Bollinger Band, Heikin Ashi shows bullish momentum (close > open), buy volume exceeds your set threshold (default 30%), and price is above the EMA. A green triangle appears below the candle.
Sell Signal: Triggers when price crosses below the upper Bollinger Band, Heikin Ashi turns bearish (close < open), sell volume exceeds the threshold (default 30%), and price is below the EMA. A red triangle appears above the candle.
Trend Visualization: Candles turn green when price is significantly above the Bollinger Bands’ basis (indicating a bullish trend), red when below (bearish trend), or purple when near the basis (consolidation), based on a customizable threshold (default 10% of BB width).
Risk Management: Each signal calculates a stop-loss (10% beyond the opposite band) and take-profit (opposite band), plotted for reference.
How to Use It
Timeframe: Best on 1-minute to 5-minute charts for scalping; test higher timeframes for swing trading.
Markets: Works well in volatile markets like forex pairs (e.g., EUR/USD), crypto (e.g., BTC/USD), or liquid stocks.
Customization: Adjust Bollinger Bands length (default 10), multiplier (default 1.2), volume thresholds (default 30%), EMA length (default 3), and consolidation threshold (default 0.1%) to match your strategy.
Interpretation: Look for green/red triangles as entry signals, confirmed by candle colors. Purple candles suggest caution—wait for a breakout. Use stop-loss/take-profit levels for trade management.
Underlying Concepts
Bollinger Bands: Measures volatility and identifies overbought/oversold zones.
Heikin Ashi: Smooths price action to emphasize trend direction.
Volume Momentum: Calculates cumulative buy/sell volume percentages to confirm market strength (e.g., buyVolPercent = buyVolume / totalVolume * 100).
EMA: A fast-moving average (default length 3) ensures signals align with the immediate trend.
Chart Setup
The chart displays Bollinger Bands (orange), Heikin Ashi close (green circles), EMA (purple), and volume-scaled lines (lime/red). Signals are marked with triangles, and candle colors reflect trend state. Keep the chart clean by focusing on these outputs for clarity.
MAG 7 - Weighted Multi-Symbol Momentum + ExtrasOverview
This indicator aggregates the percentage change of multiple symbols into a single “weighted momentum” value. You can set individual weights to emphasize or de-emphasize particular stocks. The script plots two key items:
The default tickers in the script are:
AAPL (Apple)
AMZN (Amazon)
NVDA (NVIDIA)
MSFT (Microsoft)
GOOGL (Alphabet/Google)
TSLA (Tesla)
META (Meta Platforms/Facebook)
Raw Weighted Momentum (Histogram):
Each bar represents the combined (weighted) percentage change across your chosen symbols for that bar.
Bars are colored green if the momentum is above zero, or red if below zero.
Smoothed Momentum (Yellow Line):
An Exponential Moving Average (EMA) of the raw momentum for a smoother trend view.
Helps visualize when short-term momentum is accelerating or decelerating relative to its average.
Features
Symbol Inputs: Up to seven user-defined tickers, with weights for each symbol.
Smoothing Period: Set a custom lookback length to calculate the EMA (or switch to SMA in the code if you prefer).
Table Display: A built-in table in the top-right corner lists each symbol’s real-time percentage change, plus the total weighted momentum.
Alerts:
Configure alerts for when the weighted momentum crosses above or below user-defined thresholds.
Helps you catch major shifts in sentiment across multiple symbols.
How To Use
Select Symbols & Weights: In the indicator’s settings, specify the tickers you want to monitor and their corresponding weights. Weights default to 1 (equal weighting).
Watch the Bars vs. Zero:
Bars above zero mean a positive weighted momentum (the basket is collectively moving up).
Bars below zero mean negative weighted momentum (the basket is collectively under pressure).
Check the Yellow Line: The EMA of momentum.
If the bars consistently stay above the line, short-term momentum is stronger than its recent average.
If the bars dip below the line, momentum is weakening relative to its average.
Review the Table: Quick snapshot of each symbol’s daily percentage change plus the total basket momentum, all color-coded red or green.
Caution & Tips
This indicator measures rate of change, not absolute price levels. A rising momentum can still be part of a larger downtrend.
Always combine momentum readings with other technical and/or fundamental signals for confirmation.
For better reliability, experiment with different smoothing lengths to suit your trading style (shorter for scalping, longer for swing or positional approaches).
DeNoised Momentum [OmegaTools]The DeNoised Momentum by OmegaTools is a versatile tool designed to help traders evaluate momentum, acceleration, and noise-reduction levels in price movements. Using advanced mathematical smoothing techniques, this script provides a "de-noised" view of momentum by applying filters to reduce market noise. This helps traders gain insights into the strength and direction of price trends without the distractions of market volatility. Key components include a DeNoised Moving Average (MA), a Momentum line, and Acceleration bars to identify trend shifts more clearly.
Features:
- Momentum Line: Measures the percentage change of the de-noised source price over a specified look-back period, providing insights into trend direction.
- Acceleration (Ret) Bars: Visualizes the rate of change of the source price, helping traders identify momentum shifts.
- Normal and DeNoised Moving Averages: Two moving averages, one based on close price (Normal MA) and the other on de-noised data (DeNoised MA), enable a comparison of smoothed trends versus typical price movements.
- DeNoised Price Data Plot: Displays the current de-noised price, color-coded to indicate the relationship between the Normal and DeNoised MAs, which highlights bullish or bearish conditions.
Script Inputs:
- Length (lnt): Sets the period for calculations (default: 21). It influences the sensitivity of the momentum and moving averages. Higher values will smooth the indicator further, while lower values increase sensitivity to price changes.
The Length does not change the formula of the DeNoised Price Data, it only affects the indicators calculated on it.
Indicator Components:
1. Momentum (Blue/Red Line):
- Calculated using the log of the percentage change over the specified period.
- Blue color indicates positive momentum; red indicates negative momentum.
2. Acceleration (Gray Columns):
- Measures the short-term rate of change in momentum, shown as semi-transparent gray columns.
3. Moving Averages:
- Normal MA (Purple): A standard simple moving average (SMA) based on the close price over the selected period.
- DeNoised MA (Gray): An SMA of the de-noised source, reducing the effect of market noise.
4. DeNoised Price Data:
- Represented as colored circles, with blue indicating that the Normal MA is above the DeNoised MA (bullish) and red indicating the opposite (bearish).
Usage Guide:
1. Trend Identification:
- Use the Momentum line to assess overall trend direction. Positive values indicate upward momentum, while negative values signal downward momentum.
- Compare the Normal and DeNoised MAs: when the Normal MA is above the DeNoised MA, it indicates a bullish trend, and vice versa for bearish trends.
2. Entry and Exit Signals:
- A change in the Momentum line's color from blue to red (or vice versa) may indicate potential entry or exit points.
- Observe the DeNoised Price Data circles for early signs of a trend reversal based on the interaction between the Normal and DeNoised MAs.
3. Volatility and Noise Reduction:
- By utilizing the DeNoised MA and de-noised price data, this indicator helps filter out minor fluctuations and focus on larger price movements, improving decision-making in volatile markets.
Range Tightening Indicator (RTI)The Range Tightening Indicator (RTI) quantifies price volatility relative to recent price action, helping traders identify low-volatility consolidations that often precede breakouts.
Range Tightening is calculated by measuring the range between each bar’s high and low prices over a chosen lookback period.
A 5-bar period is recommended for shorter-term momentum setups and a 15-bar period is recommended for swing trading. An option for a custom period is available to suit specific strategies. The default look back for custom is 50, ideal for longer term traders.
Other Key Features:
Dynamic Color Coding: The RTI line turns green when volatility doubles after a drop to or below 20, flagging significant volatility shifts commonly seen before breakouts.
Low-Volatility Dots: Orange dots appear on the RTI line when two or more consecutive bars show RTI values below 20, visually marking extended low-volatility periods.
Volatility Zones: Shaded zones provide quick context:
Zone 1 (0-5): Extremely tight volatility, shown in red.
Zone 2 (5-10): Low volatility, shown in light green.
Zone 3 (10-15): Moderate low volatility, shown in green.
The RTI indicator is ideal for traders looking to anticipate breakout conditions, with features that highlight consolidation phases, support momentum strategies, and help improve entry timing by focusing on shifts in volatility.
This indicator was inspired after Deepvue's RMV Indicator, but uses a different calculation. Results may vary.
Aggressor Volume ImbalanceAggressor volume imbalance represents the ratio between market aggressor buy volume (market buy orders) and market aggressor sell volume (market sell orders). This ratio enables traders to evaluate the interest of market aggressors and whether aggressive market activity favours the price's direction.
Analysing aggressor volume is critical in understanding market sentiment and aids in identifying shifts in momentum and potential exhaustion points in the market. When the aggressor buy volume significantly exceeds the sell volume, it typically indicates strong buying interest, driving prices higher if the offer-side liquidity cannot contain it, and vice versa.
How it Works
The imbalance ratio is calculated as follows, according to the selected session timeframe (see settings):
imbalance := ((buyVolumeAccumulator - sellVolumeAccumulator)
/ (buyVolumeAccumulator + sellVolumeAccumulator)) * 100
Aggressive Volume Imbalance uses lower timeframe historical data to calculate Historical Aggressor Volume Imbalances, while live data is used for live aggressor volume imbalances.
How to Use It
You can set the indicator to use any historical data timeframe you prefer. However, it is highly recommended to use lower timeframes (e.g., 1 second), as the lower the timeframe, the more granular the data.
The indicator resets to 0% whenever a new session timeframe begins (e.g., a new day) and calculates new values for the rest of the session. This can be configured in the settings.
Shadow Range IndexShadow Range Index (SRI) introduces a new concept to calculate momentum, shadow range.
What is range?
Traditionally, True Range (TR) is the current high minus the current low of each bar in the timeframe. This is often used successfully on its own in indicators, or as a moving average in ATR (Average True Range).
To calculate range, SRI uses an innovative calculation of current bar range that also considers the previous bar. It calculates the difference between its maximum upward and maximum downward values over the number of bars the user chooses (by adjusting ‘Range lookback’).
What is shadow range?
True Range (TR) uses elements in its calculation (the highs and lows of the bar) that are also visible on the chart bars. Shadow range does not, though.
SRI calculates shadow range in a similar formula to range, except that this time it works out the difference between the minimum upward and minimum downward movement. This movement is by its nature less than the maximums, hence a shadow of it. Although more subtle, shadow range is significant, because it is quantifiable, and goes in one direction or another.
Finally, SRI smoothes shadow range and plots it as a histogram, and also smoothes and plots range as a signal line. Useful up and down triangles show trend changes, which optionally colour the chart bars.
Here’s an example of a long trade setup:
In summary, Shadow Range Index identifies and traces maximum and minimum bar range movement both up and down, and plots them as centred oscillators. The dynamics between the two can provide insights into the chart's performance and future direction.
Credit to these authors, whose MA or filters form part of this script:
@balipour - Super Smoother MA
@cheatcountry - Hann window smoothing
@AlgoAlpha - Gaussian filter
FX DispersionThis script calculates the dispersion of a basket of 5 FX pairs and then calculates the z-score the z-score is then made into a composite using the 30 and 60 ema of the z-score to smooth any noise. It must be used on one of the FX pairs in the basket and on the 1-minute timeframe as it has been hardcoded for 1 min use below.
Interpretation - Dispersion is a component of volatility - the dispersion of the underlying basket increases above 0.5 and decreases below 0.5.
Although increased dispersion is beneficial to momentum and trend-following strategies on the monthly and weekly timeframes. Observe this on the 1-minute timeframe and how dispersion crossing above/ below 0.5 it can signal reversion or momentum for the next period.
TASC 2023.12 Growth and Value Switching System█ OVERVIEW
This script implements a rotation system for trading value and growth ETFs, as developed by Markos Katsanos and detailed in the article titled 'Growth Or Value?' in TASC's December 2023 edition of Traders' Tips . The purpose of this script is to demonstrate how short-term momentum can be employed to track market trends and provide clarity on when to switch between value and growth.
█ CONCEPTS
The central concept of the presented rotation strategy is based on the observation that the stock market undergoes cycles favoring either growth or value stocks. Consequently, the script introduces a momentum trading system that is designed to switch between value and growth equities based on prevailing market conditions. Specifically tailored for long-term index investors, the system focuses on trading Vanguard's value and growth ETFs ( VTV and VUG ) on a weekly timeframe.
To identify the ETF likely to outperform, the script uses a custom relative strength indicator applied to both VTV and VUG in comparison with an index ( SPY ). To minimize risk and drawdowns during bear markets, when both value and growth experience downtrends, the script employs the author's custom volume flow indicator (VFI) and blocks trades when its reading indicates money outflow . Positions are closed if the relative strength of the current open trade ETF falls below that of the other ETF for two consecutive weeks and is also below its moving average. Additionally, the script implements a stop-loss when the ETF is trading below its 40-week moving average, but only during bear markets.
The script plots the relative strengths of the value and growth equities along with the signals triggered by the aforementioned rules. Information about the current readings of the relative strength and volume flow indicators, along with the current open position, is displayed in a table.
█ CALCULATIONS
The script uses the request.security() function to gather price data for both equities and the reference index. Custom relative strength and volume flow indicators are calculated based on the formulas presented in the original article. By default, the script employs the same parameters for these indicators as proposed in the original article for VTV and VUG on a weekly timeframe.
Machine Learning Momentum Oscillator [ChartPrime]The Machine Learning Momentum Oscillator brings together the K-Nearest Neighbors (KNN) algorithm and the predictive strength of the Tactical Sector Indicator (TSI) Momentum. This unique oscillator not only uses the insights from TSI Momentum but also taps into the power of machine learning therefore being designed to give traders a more comprehensive view of market momentum.
At its core, the Machine Learning Momentum Oscillator blends TSI Momentum with the capabilities of the KNN algorithm. Introducing KNN logic allows for better handling of noise in the data set. The TSI Momentum is known for understanding how strong trends are and which direction they're headed, and now, with the added layer of machine learning, we're able to offer a deeper perspective on market trends. This is a fairly classical when it comes to visuals and trading.
Green bars show the trader when the asset is in an uptrend. On the flip side, red bars mean things are heading down, signaling a bearish movement driven by selling pressure. These color cues make it easier to catch the sentiment and direction of the market in a glance.
Yellow boxes are also displayed by the oscillator. These boxes highlight potential turning points or peaks. When the market comes close to these points, they can provide a heads-up about the possibility of changes in momentum or even a trend reversal, helping a trader make informed choices quickly. These can be looked at as possible reversal areas simply put.
Settings:
Users can adjust the number of neighbours in the KNN algorithm and choose the periods they prefer for analysis. This way, the tool becomes a part of a trader's strategy, adapting to different market conditions as they see fit. Users can also adjust the smoothing used by the oscillator via the smoothing input.
Support and Resistance Oscillator [CC]The Support and Resistance Oscillator is an experimental script I created to identify when the current price breaks a support or resistance line and reflect this value in an oscillator formula. This indicator uses a threshold to decide the dividing line between buying and selling points. Feel free to change the threshold or smoothing settings to see if you find anything better since this is so experimental. I'm double smoothing the difference between the indicator and its signal line to attempt to capture a combo of the price momentum combined with the general support and resistance levels. I have used dark colors for strong signals and lighter colors for normal signals and make sure to buy when the line turns green and sell when it turns red.
Let me know if there are any other scripts or indicators you would like to see me publish!
WillyCycle Oscillator&DoubleMa/ErkOzi/version 2This oscillator can be customized by adjusting the length of the Willy period, the length of Willy's EMA, and the upper and lower bands. The upper and lower bands help traders identify overbought and oversold conditions.
The WillyCycle Oscillator is a technical analysis tool used to measure the momentum of an asset and identify overbought and oversold conditions based on the price range of a specific period and calculating the percentage of the closing price in that range. The WillyCycle Oscillator consists of two main components: Willy and Willy's EMA. The Willy component is the percentage calculation of the asset's price range, and Willy's EMA is the exponential moving average of the Willy component. Willy's EMA is used to smooth out the Willy component and make it easier to identify trends.
*** When the oscillator is above the 80 level, it indicates that the asset is overbought, and when it is below the 20 level, it indicates that the asset is oversold. Traders can use these levels as a guide for buying and selling signals.
***Traders can also use the WillyCycle Oscillator to identify trend reversals. When the oscillator rises above the 50 level, it signals a potential uptrend, and when it falls below the 50 level, it signals a potential downtrend.
***I have added a smoothed line option to the WillyCycle Oscillator, which allows traders to see a more smoothed version of the oscillator. This option can be enabled by setting the 'smoothed' input to true. The default value for the smoothed line is 15.
***We have also changed the value range of the WillyCycle Oscillator from -100 to 100 to 0 to 100. This change was made to make the oscillator more user-friendly and easier to read.
In conclusion, the WillyCycle Oscillator is a versatile tool that can help traders identify potential trading opportunities and trend reversals. Traders can customize the oscillator to fit their trading style and preferences. Adding a smoothed line and changing the value range can enhance the user experience and make the oscillator easier to use.
Adaptive Fisherized ROCIntroduction
Hello community, here I applied the Inverse Fisher Transform, Ehlers dominant cycle determination and smoothing methods on a simple Rate of Change (ROC) indicator
You have a lot of options to adjust the indicator.
Usage
The rate of change is most often used to measure the change in a security's price over time.
That's why it is a momentum indicator.
When it is positive, prices are accelerating upward; when negative, downward.
It is useable on every timeframe and could be a potential filter for you your trading system.
IMO it could help you to confirm entries or find exits (e.g. you have a long open, roc goes negative, you exit).
If you use a trend-following strategy, you could maybe look out for red zones in an in uptrend or green zones in a downtrend to confirm your entry on a pullback.
Signals
ROC above 0 => confirms bullish trend
ROC below 0 => confirms bearish trend
ROC hovers near 0 => price is consolidating
Enjoy! 🚀
StockBee 4% BreakoutThe Stockbee 4% Breakout script is a study tool for users who wants to do a deep dive on StockBee's 4% Breakout momentum burst method. This script will assist a specific group of traders who trade this method easily find historical momentum bursts. This script finds and colors red any candle body that meets the following criteria:
1. Volume of the candle is greater than the previous candle volume.
2. The percent change of candle's price is greater than 4% from the previous candle close.
3. Current candle close is less than 30% from candle's high.
This script also filters out any candle that gaps up and breaks down with a close above 4% the previous candle (Eliminates gap-ups that fade). This tool is meant to find and filter possible candidates. Not every marked candle is a great momentum burst trade.
This is very helpful for Trading View users trading this specific setup.
Delta-RSI Strategy (with filters)Delta-RSI Strategy (with filters):
This is a version of the Delta-RSI Oscillator strategy with several criteria available to filter entry and exit signals. This script is also suitable for backtesting over a user-defined period and offers several risk management options (take profit and stop loss).
Since the publication of the Delta-RSI Oscillator script, I have been asked many times to make it compatible with the Strategy Tester and add filtering criteria to minimize "false" signals. This version covers many of these requests. Feel free to insert your favorite D-RSI parameters and play around!
ABOUT DELTA-RSI
Delta-RSI represents a smoothed time derivative of the RSI designed as a momentum indicator (see links below):
INPUT DESCTIPTION
MODEL PARAMETERS
Polynomial Order : The order of local polynomial used to interpolate the relative strength index (RSI).
Length : The length of the lookback frame where local regression is applied.
RSI Length : The timeframe of RSI used as input.
Signal Length : The signal line is a EMA of the D-RSI time series. This input parameter defines the EMA length.
ALLOWED ENTRIES
The strategy can include long entries, short entries or both.
ENTRY AND EXIT CONDITIONS
Zero-crossing : bullish trade signal triggered when D-RSI crosses zero from negative to positive values (bearish otherwise)
Signal Line Crossing : bullish trade signal triggered when D-RSI crosses from below to above the signal line (bearish otherwise)
Direction Change : bullish trade signal triggered when D-RSI was negative and starts ascending (bearish otherwise)
APPLY FILTERS TO
The filters (described below) can be applied to long entry, short entry and exit signals.
RELATIVE VOLUME FILTER
When activated, the D-RSI-driven entries and exits will be triggered only if the current volume is greater than N times the average over the last M bars.
VOLATILITY FILTER
When activated, the D-RSI-driven entries and exits will be triggered only if the N-period average true range, ATR, is greater than the M-period ATR. If N < M, this condition implies increasing volatility.
OVERBOUGHT/OVERSOLD FILTER
When activated, the D-RSI-driven entries and exits will be triggered only if the value of 14-period RSI is in the range between N and M.
STOP LOSS/TAKE PROFIT
Fixed and trailing stop loss as well as take profit options are available.
FIXED BACKTESTING START/END DATES
If the checkboxes are not checked, the strategy will backtest all available price bars.
+ BB %B: MA selection, bar coloring, multi-timeframe, and alerts+ %B is, at its simplest, the classic Bollinger Bands %B indicator with a few added bells and whistles.
However, the right combination of bells and whistles will often improve and make a more adaptable indicator.
Classically, Bollinger Bands %B is an indicator that measures volatility, and the momentum and strength of a trend, and/or price movements.
It shows "overbought" and "oversold" spots on a chart, and is also useful for identifying divergences between price and trend (similar to RSI).
With + %B I've added the options to select one or two moving averages, candle coloring, and a host of others.
Let's start with the moving averages:
There are options for two: one faster and one slower. Or combine them how you will, or omit one or both of them entirely.
Here you will find options for SMA, EMA (as well as double and triple), Hull MA, Jurik MA, Least Squares MA, Triangular MA, Volatility Adjusted MA, and Weighted MA.
A moving average essentially helps to define trend by smoothing the noise of movements of the underlying asset, or, in this case, the output of the indicator.
All of these MAs available track this in a different way, and it's up to the trader to figure out which makes most sense to him/her.
MA's, in my opinion, improve the basic %B by providing a clearer picture of what the indicator is actually "seeing", and may be useful for providing entries and exits.
Next up is candle coloring:
I've added the option for this indicator to color candles on the chart based on where the %B is in relation to its upper and lower bounds, and median line.
If the %B is above the median but below the upper bound, candles will be green (showing bullish market structure). If %B is below the median but above the lower bound, candles will be red (denoting bearish market structure).
Overbought and oversold candles will also be colored on the chart, so that a quick glance will tell you whether price action is bullish/bearish or "oversold"/"overbought".
I've also added functionality that enables candles to be colored based on if the %B has crossed up or crossed down the primary moving average.
One example as a way to potentially use these features is if the candles are showing oversold coloration followed by the %B crossing up your moving average coloration. You might consider a long there (or exit a short position if you are short).
And the last couple of tweaks:
You may set the timeframe to whatever you wish, so maybe you're trading on the hourly, but you want to know where the %B is on the 4h chart. You can do that.
The background fill for the indicator is split into bullish and bearish halves. Obviously you may turn the background off, or make it all one color as well.
I've also added alerts, so you may set alerts for "overbought" and "oversold" conditions.
You may also set alerts for %B crossing over or under the primary moving average, or for crossing the median line.
All of these things may be turned on and off. You can pretty much customize this to your heart's delight. I see no reason why anyone would use the standard %B after playing with this.
I am no coder. I had this idea in my head, though, and I made it happen through referencing another indicator I was familiar with, and watching tutorials on YouTube.
Credits:
Firstly, thanks to www.tradingview.com for his brilliant, free tutorials on YouTube.
Secondly, thanks to www.tradingview.com for his beautiful SSL Hybrid indicator (and his clean code) from which I obtained the MAs.
Please enjoy this indicator, and I hope that it serves you well. :)
Customizable Percentage Price Oscillator (PPO)The PPO is basically the MACD but in percentage terms. This is better for comparing momentum across different securities.
This script is a standard PPO but with many options for customization. You can set the moving average type of the signal and the oscillator lines separately. You can also weight any moving average of the PPO by volume.
Supported Types of MA:
SMA
EMA
ALMA
HMA
WMA
Personally, I believe weighting by volume is helpful across markets but especially helpful for equities. I like to use 3,10,16 settings similar to Linda Raschke but with EMA instead of SMA. This indicator is especially useful for signaling trend continuation and generating exit signals. For entries, I believe this indicator should not be blindly followed and works better when combined with a trend or price action signal.
If there are requests for more types of moving average to be used with the PPO, I would be down to implement them, but I believe most moving averages are pretty similar.
Smooth First Derivative IndicatorIntroducing the Smooth First Derivative indicator. For each time step, the script numerically differentiates the price data using prior datapoints from the look-back window. The resulting time derivative (the rate of price change over time) is presented as a centered oscillator.
A first derivative is a versatile tool used in functional data analysis. When applied to price data, it can be applied to analyze momentum, confirm trend direction, and identify pivot points.
Model Description:
The model assumes that, within the look-back window, price data can be well approximated by a smooth differentiable function. The first derivative can then be computed numerically using a noise-robust one-sided differentiator. The current version of the script employs smooth differentiators developed by P. Holoborodko (www.holoborodko.com). Note that the Indicator should not be confused with Constance Brown's Derivative Oscillator.
Input parameter:
The Bandwidth parameter sets the number of points in the moving look-back window and thus determines the smoothness of the first derivative curve. Note that a smoother Indicator shows a greater lag.
Interpretation:
When using this Indicator, one should recall that the first derivative can simply be interpreted as the slope of the curve:
- The maximum (minimum) in the Indicator corresponds to the point at which the market experiences the maximum upward (downward) slope, i.e., the inflection point. The steeper the slope, the greater the Indicator value.
- The positive-to-negative zero-crossing in the Indicator suggests that the market has formed a local maximum (potential start of a downtrend or a period of consolidation). Likewise, a zero-crossing from negative to positive is a potential bullish signal.
MA MTF Momentum HistogramMy own interpretation indicator which i call multi time frame moving averages momentum with NO LAG EMA support (Optional).
The indicator is calculated by subtracting the long-term EMA from the short-term EMA .
This pretty much resembles the MACD moving averages calculation but without the smoothing of the histogram.
Can also be used to find divergences.
The background shows the main trend with higher time frame which can be set in the settings.
Aimed to use with Higher time frame (Double or more) but can also work with lower time frame.
How to use the indicator?
==Histogram==
Green: Momentum of asset is positive and increasing.
Lighter Green: Momentum of asset is still positive but decreasing and can revert to negative momentum.
Red: Momentum of asset is negative and increasing.
Lighter Red: Momentum of asset is still negative but increasing and revert to positive momentum.
==Background Color - Main Trend==
Green: HTF (Higher time frame) momentum is positive.
RED: HTF momentum is negative.
Feel free to comment and Follow to stay updated with upcoming scripts: www.tradingview.com
NOTE: BARS ARE COLORED BY DEFAULT WITH HISTOGRAM COLORS! (Can be changed in settings)
Stochastic Heat MapA series of 28 stochastic oscillators plotted horizontally and stacked vertically from bottom to top as the oscillator background.
Each oscillator has been interpreted and the value has been used to colour the lines in.
Lower lines are shorter term stochastics and higher lines are longer term stochastics.
The average of the 28 stochastics has been taken and then used to plot the fast oscillator line, which also has a slow oscillator line to follow.
The oscillator line can be used to colour in the candles.
Inputs:
MA: multiple smoothing methods
Theme: multiple colours
Increment: stochastic length start and increments
Smooth Fast: smooth fast length
Smooth Slow: smooth slow length
Paint Bars: colour candles
Waves: toggle method to weight/increment stochastics
Heat map shows momentum extremes:






















