RifleShooterLibLibrary "RifleShooterLib"
Provides a collection of helper functions in support of the Rifle Shooter Indicators.
Functions support the key components of the Rifle Trade algorithm including
* measuring momentum
* identifying paraboloic price action (to disable the algorthim during such time)
* determine the lookback criteria of X point movement in last N minutes
* processing and navigating between the 23/43/73 levels
* maintaining a status table of algorithm progress
toStrRnd(val, digits)
Parameters:
val (float)
digits (int)
_isValidTimeRange(startTimeInput, endTimeInput)
Parameters:
startTimeInput (string)
endTimeInput (string)
_normalize(_src, _min, _max)
_normalize Normalizes series with unknown min/max using historical min/max.
Parameters:
_src (float) : Source series to normalize
_min (float) : minimum value of the rescaled series
_max (float) : maximum value of the rescaled series
Returns: The series scaled with values between min and max
arrayToSeries(arrayInput)
arrayToSeries Return an array from the provided series.
Parameters:
arrayInput (array) : Source array to convert to a series
Returns: The array as a series datatype
f_parabolicFiltering(_activeCount, long, shooterRsi, shooterRsiLongThreshold, shooterRsiShortThreshold, fiveMinuteRsi, fiveMinRsiLongThreshold, fiveMinRsiShortThreshold, shooterRsiRoc, shooterRsiRocLongThreshold, shooterRsiRocShortThreshold, quickChangeLookbackBars, quckChangeThreshold, curBarChangeThreshold, changeFromPrevBarThreshold, maxBarsToholdParabolicMoveActive, generateLabels)
f_parabolicFiltering Return true when price action indicates a parabolic active movement based on the provided inputs and thresholds.
Parameters:
_activeCount (int)
long (bool)
shooterRsi (float)
shooterRsiLongThreshold (float)
shooterRsiShortThreshold (float)
fiveMinuteRsi (float)
fiveMinRsiLongThreshold (float)
fiveMinRsiShortThreshold (float)
shooterRsiRoc (float)
shooterRsiRocLongThreshold (float)
shooterRsiRocShortThreshold (float)
quickChangeLookbackBars (int)
quckChangeThreshold (int)
curBarChangeThreshold (int)
changeFromPrevBarThreshold (int)
maxBarsToholdParabolicMoveActive (int)
generateLabels (bool)
rsiValid(rsi, buyThreshold, sellThreshold)
rsiValid Returns true if the provided RSI value is withing the associated threshold. For the unused threshold set it to na
Parameters:
rsi (float)
buyThreshold (float)
sellThreshold (float)
squezeBands(source, length)
squezeBands Returns the squeeze bands momentum color of current source series input
Parameters:
source (float)
length (int)
f_momentumOscilator(source, length, transperency)
f_momentumOscilator Returns the squeeze pro momentum value and bar color states of the series input
Parameters:
source (float)
length (int)
transperency (int)
f_getLookbackExtreme(lowSeries, highSeries, lbBars, long)
f_getLookbackExtreme Return the highest high or lowest low over the look back window
Parameters:
lowSeries (float)
highSeries (float)
lbBars (int)
long (bool)
f_getInitialMoveTarget(lbExtreme, priveMoveOffset, long)
f_getInitialMoveTarget Return the point delta required to achieve an initial rifle move (X points over Y lookback)
Parameters:
lbExtreme (float)
priveMoveOffset (int)
long (bool)
isSymbolSupported(sym)
isSymbolSupported Return true if provided symbol is one of the supported DOW Rifle Indicator symbols
Parameters:
sym (string)
getBasePrice(price)
getBasePrice Returns integer portion of provided float
Parameters:
price (float)
getLastTwoDigitsOfPrice(price)
getBasePrice Returns last two integer numerals of provided float value
Parameters:
price (float)
getNextLevelDown(price, lowestLevel, middleLevel, highestLevel)
getNextLevelDown Returns the next level above the provided price value
Parameters:
price (float)
lowestLevel (float)
middleLevel (float)
highestLevel (float)
getNextLevelUp(price, lowestLevel, middleLevel, highestLevel)
getNextLevelUp Returns the next level below the provided price value
Parameters:
price (float)
lowestLevel (float)
middleLevel (float)
highestLevel (float)
isALevel(price, lowestLevel, middleLevel, highestLevel)
isALevel Returns true if the provided price is onve of the specified levels
Parameters:
price (float)
lowestLevel (float)
middleLevel (float)
highestLevel (float)
getClosestLevel(price, lowestLevel, middleLevel, highestLevel)
getClosestLevel Returns the level closest to the price value provided
Parameters:
price (float)
lowestLevel (float)
middleLevel (float)
highestLevel (float)
f_fillSetupTableCell(_table, _col, _row, _text, _bgcolor, _txtcolor, _text_size)
f_fillSetupTableCell Helper function to fill a setup table celll
Parameters:
_table (table)
_col (int)
_row (int)
_text (string)
_bgcolor (color)
_txtcolor (color)
_text_size (string)
f_fillSetupTableRow(_table, _row, _col0Str, _col1Str, _col2Str, _bgcolor, _textColor, _textSize)
f_fillSetupTableRow Helper function to fill a setup table row
Parameters:
_table (table)
_row (int)
_col0Str (string)
_col1Str (string)
_col2Str (string)
_bgcolor (color)
_textColor (color)
_textSize (string)
f_addBlankRow(_table, _row)
f_addBlankRow Helper function to fill a setup table row with empty values
Parameters:
_table (table)
_row (int)
f_updateVersionTable(versionTable, versionStr, versionDateStr)
f_updateVersionTable Helper function to fill the version table with provided values
Parameters:
versionTable (table)
versionStr (string)
versionDateStr (string)
f_updateSetupTable(_table, parabolicMoveActive, initialMoveTargetOffset, initialMoveAchieved, shooterRsi, shooterRsiValid, rsiRocEnterThreshold, shooterRsiRoc, fiveMinuteRsi, fiveMinuteRsiValid, requireValid5MinuteRsiForEntry, stallLevelOffset, stallLevelExceeded, stallTargetOffset, recoverStallLevelValid, curBarChangeValid, volumeRoc, volumeRocThreshold, enableVolumeRocForTrigger, tradeActive, entryPrice, curCloseOffset, curSymCashDelta, djiCashDelta, showDjiDelta, longIndicator, fontSize)
f_updateSetupTable Manages writing current data to the setup table
Parameters:
_table (table)
parabolicMoveActive (bool)
initialMoveTargetOffset (float)
initialMoveAchieved (bool)
shooterRsi (float)
shooterRsiValid (bool)
rsiRocEnterThreshold (float)
shooterRsiRoc (float)
fiveMinuteRsi (float)
fiveMinuteRsiValid (bool)
requireValid5MinuteRsiForEntry (bool)
stallLevelOffset (float)
stallLevelExceeded (bool)
stallTargetOffset (float)
recoverStallLevelValid (bool)
curBarChangeValid (bool)
volumeRoc (float)
volumeRocThreshold (float)
enableVolumeRocForTrigger (bool)
tradeActive (bool)
entryPrice (float)
curCloseOffset (float)
curSymCashDelta (float)
djiCashDelta (float)
showDjiDelta (bool)
longIndicator (bool)
fontSize (string)
Cari dalam skrip untuk "momentum"
Step Channel Momentum Trend [ChartPrime]OVERVIEW
Step Channel Momentum Trend is a momentum-based price filtering system that adapts to market structure using pivot levels and ATR volatility. It builds a dynamic channel around a stepwise midline derived from swing highs and lows. The system colors price candles based on whether price remains inside this channel (low momentum) or breaks out (strong directional flow). This allows traders to clearly distinguish ranging conditions from trending ones and take action accordingly.
⯁ STRUCTURAL MIDLNE (STEP CHANNEL CORE)
The midline acts as the backbone of the trend system and is based on structure rather than smoothing.
Calculated as the average of the most recent confirmed Pivot High and Pivot Low.
The result is a step-like horizontal line that only updates when new pivot points are confirmed.
This design avoids lag and makes the line "snap" to recent structural shifts.
It reflects the equilibrium level between recent bullish and bearish control.
This unique step logic creates clear regime shifts and prevents noise from distorting trend interpretation.
⯁ DYNAMIC VOLATILITY BANDS (ATR FILTERING)
To detect momentum strength, the script constructs upper and lower bands using the ATR (Average True Range):
The distance from the midline is determined by ATR × multiplier (default: 200-period ATR × 0.6).
These bands adjust dynamically to volatility, expanding in high-ATR environments and contracting in calm markets.
The area between upper and lower bands represents a neutral or ranging market state.
Breakouts outside the bands are treated as significant momentum shifts.
This filtering approach ensures that only meaningful breakouts are visually emphasized — not every candle fluctuation.
⯁ MOMENTUM-BASED CANDLE COLORING
The system visually transforms price candles into momentum indicators:
When price (hl2) is above the upper band, candles are green → bullish momentum.
When price is below the lower band, candles are red → bearish momentum.
When price is between the bands, candles are orange → low or no momentum (range).
The candle body, wick, and border are all colored uniformly for visual clarity.
This gives traders instant feedback on when momentum is expanding or fading — ideal for breakout, pullback, or trend-following strategies.
⯁ PIVOT-BASED SWING ANCHORS
Each confirmed pivot is plotted as a label ⬥ directly on the chart:
They also serve as potential manual entry zones, SL/TP anchors, or confirmation points.
⯁ MOMENTUM STATE LABEL
To reinforce the current market mode, a live label is displayed at the most recent candle:
Displays either:
“ Momentum Up ” when price breaks above the upper band.
“ Momentum Down ” when price breaks below the lower band.
“ Range ” when price remains between the bands.
Label color matches the candle color for quick identification.
Automatically updates on each bar close.
This helps discretionary traders filter trades based on market phase.
USAGE
Use the green/red zones to enter with momentum and ride trending moves.
Use the orange zone to stay out or fade ranges.
The step midline can act as a breakout base, pullback anchor, or bias reference.
Combine with other indicators (e.g., order blocks, divergences, or volume) to build high-confluence systems.
CONCLUSION
Step Channel Momentum Trend gives traders a clean, adaptive framework for identifying trend direction, volatility-based breakouts, and ranging environments — all from structural logic and ATR responsiveness. Its stepwise midline provides clarity, while its dynamic color-coded candles make momentum shifts impossible to miss. Whether you’re scalping intraday momentum or managing swing entries, this tool helps you trade with the market’s rhythm — not against it.
Volatility Pulse with Dynamic ExitVolatility Pulse with Dynamic Exit
Overview
This strategy, Volatility Pulse with Dynamic Exit, is designed to capture impulsive price moves following volatility expansions, while ensuring risk is managed dynamically. It avoids trades during low-volatility periods and uses momentum confirmation to enter positions. Additionally, it features a time-based forced exit system to limit overexposure.
How It Works
A position is opened when the current ATR (Average True Range) significantly exceeds its 20-period average, signaling a volatility expansion.
To confirm the move is directional and not random noise, the strategy checks for momentum: the close must be above/below the close of 20 bars ago.
Low volatility zones are filtered out to avoid chop and poor trade entries.
Upon entry, a dynamic stop-loss is set at 1x ATR, while take-profit is set at 2x ATR, offering a 2:1 reward-to-risk ratio.
If the position remains open for more than 42 bars, it is forcefully closed, even if targets are not hit. This prevents long-lasting, stagnant trades.
Key Features
✅ Volatility-based breakout detection
✅ Momentum confirmation filter
✅ Dynamic stop-loss and take-profit based on real-time ATR
✅ Time-based forced exit (42 bars max holding)
✅ Low-volatility environment filter
✅ Realistic settings with 0.05% commission and slippage included
Parameters Explanation
ATR Length (14): Captures recent volatility over ~2 weeks (14 candles).
Momentum Lookback (20): Ensures meaningful price move confirmation.
Volatility Expansion Threshold (0.5x): Strategy activates only when ATR is at least 50% above its average.
Minimum ATR Filter (1.0x): Avoids entries in tight, compressed market ranges.
Max Holding (42 bars): Trades are closed after 42 bars if no exit signal is triggered.
Risk-Reward (2.0x): Aiming for 2x ATR as profit for every 1x ATR risk.
Originality Note
While volatility and momentum have been used separately in many strategies, this script combines both with a time-based dynamic exit system. This exit rule, combined with an ATR-based filter to exclude low-activity periods, gives the system a practical edge in real-world use. It avoids classic rehashes and integrates real trading constraints for better applicability.
Disclaimer
This is a research-focused trading strategy meant for backtesting and educational purposes. Always use proper risk management and perform due diligence before applying to real funds.
Money Flow Pulse💸 In markets where volatility is cheap and structure is noisy, what matters most isn’t just the move — it’s the effort behind it. Money Flow Pulse (MFP) offers a compact, color-coded readout of real-time conviction by scoring volume-weighted price action on a five-tier scale. It doesn’t try to predict reversals or validate trends. Instead, it reveals the quality of the move in progress: is it fading , driving , exhausting , or hollow ?
🎨 MFP draws from the traditional Money Flow Index (MFI), a volume-enhanced momentum oscillator, but transforms it into a modular “pressure readout” that fits seamlessly into any structural overlay. Rather than oscillating between extremes with little interpretive guidance, MFP discretizes the flow into clean, color-coded regimes ranging from strong inflow (+2) to strong outflow (–2). The result is a responsive diagnostic layer that complements, rather than competes with, tools like ATR and/or On-Balance Volume.
5️⃣ MFP uses a normalized MFI value smoothed over 13 periods and classified into a 5-tier readout of Volume-Driven Conviction :
🍆 Exhaustion Inflow — usually a top or blowoff; not strength, but overdrive (+2)
🥝 Active Inflow — supportive of trend continuation (+1)
🍋 Neutral — chop, coil, or fakeouts (0)
🍑 Selling Intent — weakening structure, possible fade setups (-1)
🍆 Exhaustion Outflow — often signals forced selling or accumulation traps (-2)
🎭 These tiers are not arbitrary. Each one is tuned to reflect real capital behavior across timeframes. For instance, while +1 may support continuation, +2 often precedes exhaustion — especially on the lower timeframes. Similarly, a –1 reading during a pullback suggests sell-side pressure is building, but a shift to –2 may mean capitulation is already underway. The difference between the two can define whether a move is tradable continuation or strategic exhaustion .
🌊 The MFI ROC (Rate of Change) feature can be toggled to become a volatility-aware pulse monitor beneath the derived MFI tier. Instead of scoring direction or structure, ROC reveals how fast conviction is changing — not just where it’s headed, but how hard it's accelerating or decaying. It measures the raw Δ between the current and previous MFI values, exposing bursts of energy, fading pressure, or transitional churn .
🎢 Visually, ROC appears as a low-opacity area fill, anchored to a shared lemon-yellow zero line. When the green swell rises, buying pressure is accelerating; when the red drops, flow is actively deteriorating. A subtle bump may signal early interest — while a steep wave hints at an emotional overreaction. The ROC value itself provides numeric insight alongside the raw MFI score. A reading of +3.50 implies strong upside momentum in the flow — often supporting trend ignition. A score of –6.00 suggests rapid deceleration or full exhaustion — often preceding reversals or failed breakouts.
・ MFI shows you where the flow is
・ ROC tells you how it’s behaving
😎 This blend reveals not just structure or intent — but also urgency . And in flow-based trading, urgency often precedes outcome.
🧩 Divergence isn’t delay — it’s disagreement . One of the most revealing features of MFP is how it exposes momentum dissonance — situations where price and flow part ways. These divergences often front-run pivots , traps , or velocity stalls . Unlike RSI-style divergence, which whispers of exhaustion, MFI divergence signals a breakdown in conviction. The structure may extend — but the effort isn’t there.
・ Price ▲ MFI ▼ → Effortless Markup : Often signals distribution or a grind into liquidity. Without rising MFI, the rally lacks true flow participation — a warning of fragility.
・ Price ▼ MFI ▲ → Absorption or Early Accumulation : Price breaks down, but money keeps flowing in — a hidden bid. Watch for MFI tier shifts or ROC bursts to confirm a reversal.
🏄♂️ These moments don’t require signal overlays or setup hunting. MFP narrates the imbalance. When price breaks structure but flow does not — or vice versa — you’re not seeing trend, you’re seeing disagreement, and that's where edge begins.
💤 MFP is especially effective on intraday charts where volume dislocations matter most. On the 1H or 15m chart, it helps distinguish between breakouts with conviction versus those lacking flow. On higher timeframes, its resolution softens — it becomes more of a drift indicator than a trigger device. That’s by design: MFP prioritizes pulse, not position. It’s not the fire, it’s the heat.
📎 Use MFP in confluence with structural overlays to validate price behavior. A ribbon expansion with rising MFP is real. A compression breakout without +1 flow is "fishy". Watch how MFP behaves near key zones like anchored VWAP, MAs or accumulation pivots. When MFP rises into a +2 and fails to sustain, the reversal isn’t just technical — it’s flow-based.
🪟 MFP doesn’t speak loudly, but it never whispers without reason. It’s the pulse check before action — the breath of the move before the breakout. While it stays visually minimal on the chart, the true power is in the often overlooked Data Window, where traders can read and interpret the score in real time. Once internalized, these values give structure-aware traders a framework for conviction, continuation, or caution.
🛜 MFP doesn’t chase momentum — it confirms conviction. And in markets defined by noise, that signal isn’t just helpful — it’s foundational.
DEMA Trend Oscillator Strategy📌 Overview
The DEMA Trend Oscillator Strategy is a dynamic trend-following approach based on the Normalized DEMA Oscillator SD.
It adapts in real-time to market volatility with the goal of improving entry accuracy and optimizing risk management.
⚠️ This strategy is provided for educational and research purposes only.
Past performance does not guarantee future results.
🎯 Strategy Objectives
The main goal of this strategy is to respond quickly to sudden price movements and trend reversals,
by combining momentum-based signals with volatility filters.
It is designed to be user-friendly for traders of all experience levels.
✨ Key Features
Normalized DEMA Oscillator: A momentum indicator that normalizes DEMA values on a 0–100 scale, allowing intuitive identification of trend strength
Two-Bar Confirmation Filter: Requires two consecutive bullish or bearish candles to reduce noise and enhance entry reliability
ATR x2 Trailing Stop: In addition to fixed stop-loss levels, a trailing stop based on 2× ATR is used to maximize profits during strong trends
📊 Trading Rules
Long Entry:
Normalized DEMA > 55 (strong upward momentum)
Candle low is above the upper SD band
Two consecutive bullish candles appear
Short Entry:
Normalized DEMA < 45 (downward momentum)
Candle high is below the lower SD band
Two consecutive bearish candles appear
Exit Conditions:
Take-profit at a risk-reward ratio of 1.5
Stop-loss triggered if price breaks below (long) or above (short) the SD band
Trailing stop activated based on 2× ATR to secure and extend profits
💰 Risk Management Parameters
Symbol & Timeframe: Any (AUDUSD 5M example)
Account size (virtual): $3000
Commission: 0.4PIPS(0.0004)
Slippage: 2 pips
Risk per trade: 5%
Number of trades (backtest):534
All parameters can be adjusted based on broker specifications and individual trading profiles.
⚙️ Trading Parameters & Considerations
Indicator: Normalized DEMA Oscillator SD
Parameter settings:
DEMA Period (len_dema): 40
Base Length: 20
Long Threshold: 55
Short Threshold: 45
Risk-Reward Ratio: 1.5
ATR Multiplier for Trailing Stop: 2.0
🖼 Visual Support
The chart displays the following visual elements:
Upper and lower SD bands (±2 standard deviations)
Entry signals shown as directional arrows
🔧 Strategy Improvements & Uniqueness
This strategy is inspired by “Normalized DEMA Oscillator SD” by QuantEdgeB,
but introduces enhancements such as a two-bar confirmation filter and an ATR-based trailing stop.
Compared to conventional trend-following strategies, it offers superior noise filtering and profit optimization.
✅ Summary
The DEMA Trend Oscillator Strategy is a responsive and practical trend-following method
that combines momentum detection with adaptive risk management.
Its visual clarity and logical structure make it a powerful and repeatable tool
for traders seeking consistent performance in trending markets.
⚠️ Always apply appropriate risk management. This strategy is based on historical data and does not guarantee future results.
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.
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.
Premarket Gap MomoTrader(SC)🚀 Pre-Market Momentum Trader | Dynamic Position Sizing 🔥
📈 Trade explosive pre-market breakouts with confidence! This algorithmic strategy automatically detects high-momentum setups, dynamically adjusts position size, and ensures risk control with a one-trade-per-day rule.
⸻
🎯 Key Features
✅ Pre-Market Trading (4:00 - 9:30 AM EST) – Only trades during the most volatile session for early breakouts.
✅ Dynamic Position Sizing – Adapts trade size based on candle strength:
• ≥90% body → 100% position
• ≥85% body → 50% position
• ≥75% body → 25% position
✅ 1 Trade Per Day – Avoids overtrading by allowing only one high-quality trade daily.
✅ Momentum Protection – Stays in the trade as long as:
• Every candle remains green (no red candles).
• Each new candle has increasing volume (confirming strong buying).
✅ Automated Exit – Closes position if:
• A red candle appears.
• Volume fails to increase on a green candle.
⸻
🔍 How It Works
📌 Entry Conditions:
✔️ Candle gains ≥5% from previous close.
✔️ Candle is green & body size ≥75% of total range.
✔️ Volume >15K (confirming liquidity).
✔️ Occurs within pre-market session (4:00 - 9:30 AM EST).
✔️ Only the first valid trade of the day is taken.
📌 Exit Conditions:
❌ First red candle after entry → Exit trade.
❌ First green candle with lower volume → Exit trade.
⸻
🏆 Why Use This?
🔹 Eliminates Fake Breakouts – No trade unless volume & momentum confirm.
🔹 Prevents Overtrading – Restricts to one quality trade per day.
🔹 Adaptable to Any Market – Works on stocks, crypto, or forex.
🔹 Hands-Free Execution – No manual chart watching required!
⸻
🚨 Important Notes
📢 Not financial advice. Trading involves risk—always backtest & practice on paper trading before using real money.
📢 Enable pre-market data in your TradingView settings for accurate results.
📢 Optimized for 1-minute & 5-minute timeframes.
🔔 Like this strategy? Leave a comment, share your results, and don’t forget to hit Follow for more 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.
Cluster Reversal Zones📌 Cluster Reversal Zones – Smart Market Turning Point Detector
📌 Category : Public (Restricted/Closed-Source) Indicator
📌 Designed for : Traders looking for high-accuracy reversal zones based on price clustering & liquidity shifts.
🔍 Overview
The Cluster Reversal Zones Indicator is an advanced market reversal detection tool that helps traders identify key turning points using a combination of price clustering, order flow analysis, and liquidity tracking. Instead of relying on static support and resistance levels, this tool dynamically adjusts to live market conditions, ensuring traders get the most accurate reversal signals possible.
📊 Core Features:
✅ Real-Time Reversal Zone Mapping – Detects high-probability market turning points using price clustering & order flow imbalance.
✅ Liquidity-Based Support/Resistance Detection – Identifies strong rejection zones based on real-time liquidity shifts.
✅ Order Flow Sensitivity for Smart Filtering – Filters out weak reversals by detecting real market participation behind price movements.
✅ Momentum Divergence for Confirmation – Aligns reversal zones with momentum divergences to increase accuracy.
✅ Adaptive Risk Management System – Adjusts risk parameters dynamically based on volatility and trend state.
🔒 Justification for Mashup
The Cluster Reversal Zones Indicator contains custom-built methodologies that extend beyond traditional support/resistance indicators:
✔ Smart Price Clustering Algorithm: Instead of plotting fixed support/resistance lines, this system analyzes historical price clustering to detect active reversal areas.
✔ Order Flow Delta & Liquidity Shift Sensitivity: The tool tracks real-time order flow data, identifying price zones with the highest accumulation or distribution levels.
✔ Momentum-Based Reversal Validation: Unlike traditional indicators, this tool requires a momentum shift confirmation before validating a potential reversal.
✔ Adaptive Reversal Filtering Mechanism: Uses a combination of historical confluence detection + live market validation to improve accuracy.
🛠️ How to Use:
• Works well for reversal traders, scalpers, and swing traders seeking precise turning points.
• Best combined with VWAP, Market Profile, and Delta Volume indicators for confirmation.
• Suitable for Forex, Indices, Commodities, Crypto, and Stock markets.
🚨 Important Note:
For educational & analytical purposes only.
Simple Trend Strength & MomentumThis indicator will show a combination of Trend Strength, Volatility using an Adaptive Moving Average (AMA), and Market Momentum.
You can use this indicator to identify trends, volatility, and momentum shifts in real-time, making it an excellent tool for both trend-following and breakout strategies.
The three main features of this indicator are:
Adaptive Moving Average (AMA): Tracks the trend direction with a dynamic smoothing factor that adjusts based on market volatility. The AMA line changes color based on trend strength (green for bullish, red for bearish). I manually compute the Adaptive Moving Average (AMA) using a smoothing factor derived from the market's efficiency ratio. I have used fastLength and slowLength to control the responsiveness of the AMA.
Volatility Bands: Plots upper and lower bands around the AMA line, indicating price volatility. These bands dynamically adjust based on ATR, with a color gradient that changes intensity based on market volatility.
Momentum Circles: Positive momentum (ROC above the threshold) is shown as a green circle below the bar, while negative momentum is marked by a red circle above the bar. This makes it easy to spot momentum shifts.
The green dots in the indicator represent positive momentum. Specifically, they are displayed when the Rate of Change (ROC) of the price exceeds a predefined threshold (set as threshold in the input). This indicates that the market is experiencing upward price movement at a rate faster than the defined threshold.
How it works:
Rate of Change (ROC) measures the percentage change in price over a specified period (in this case, 14 periods).
When the ROC is greater than the set threshold (1.5 by default), a green circle (dot) is plotted below the price bar to signal that there is significant positive momentum.
This can be seen as an indicator of bullish momentum, where price is increasing at a relatively fast pace compared to previous periods.
The green dots help you spot when the price is moving upward rapidly, potentially signaling a good time to enter a long position or watch for further price action.
NOTE: It is vice versa for red dots.
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).
Forex Pair Yield Momentum This Pine Script strategy leverages yield differentials between the 2-year government bond yields of two countries to trade Forex pairs. Yield spreads are widely regarded as a fundamental driver of currency movements, as highlighted by international finance theories like the Interest Rate Parity (IRP), which suggests that currencies with higher yields tend to appreciate due to increased capital flows:
1. Dynamic Yield Spread Calculation:
• The strategy dynamically calculates the yield spread (yield_a - yield_b) for the chosen Forex pair.
• Example: For GBP/USD, the spread equals US 2Y Yield - UK 2Y Yield.
2. Momentum Analysis via Bollinger Bands:
• Yield momentum is computed as the difference between the current spread and its moving
Bollinger Bands are applied to identify extreme deviations:
• Long Entry: When momentum crosses below the lower band.
• Short Entry: When momentum crosses above the upper band.
3. Reversal Logic:
• An optional checkbox reverses the trading logic, allowing long trades at the upper band and short trades at the lower band, accommodating different market conditions.
4. Trade Management:
• Positions are held for a predefined number of bars (hold_periods), and each trade uses a fixed contract size of 100 with a starting capital of $20,000.
Theoretical Basis:
1. Yield Differentials and Currency Movements:
• Empirical studies, such as Clarida et al. (2009), confirm that interest rate differentials significantly impact exchange rate dynamics, especially in carry trade strategies .
• Higher-yields tend to appreciate against lower-yielding currencies due to speculative flows and demand for higher returns.
2. Bollinger Bands for Momentum:
• Bollinger Bands effectively capture deviations in yield momentum, identifying opportunities where price returns to equilibrium (mean reversion) or extends in trend-following scenarios (momentum breakout).
• As Bollinger (2001) emphasized, this tool adapts to market volatility by dynamically adjusting thresholds .
References:
1. Dornbusch, R. (1976). Expectations and Exchange Rate Dynamics. Journal of Political Economy.
2. Obstfeld, M., & Rogoff, K. (1996). Foundations of International Macroeconomics.
3. Clarida, R., Davis, J., & Pedersen, N. (2009). Currency Carry Trade Regimes. NBER.
4. Bollinger, J. (2001). Bollinger on Bollinger Bands.
5. Mendelsohn, L. B. (2006). Forex Trading Using Intermarket Analysis.
Multi-Feature IndicatorThe Multi-Feature Indicator combines three popular technical analysis tools — RSI, Moving Averages (MA), and MACD — into a single indicator to provide unified buy and sell signals. This script is designed for traders who want to filter out noise and focus on signals confirmed by multiple criteria.
Features:
RSI (Relative Strength Index):
Measures momentum and identifies overbought (70) and oversold (30) conditions.
A signal is triggered when RSI crosses these thresholds.
Moving Averages (MA):
Uses a short-term moving average (default: 9 periods) and a long-term moving average (default: 21 periods).
Buy signals occur when the short-term MA crosses above the long-term MA, indicating an uptrend.
Sell signals occur when the short-term MA crosses below the long-term MA, indicating a downtrend.
MACD (Moving Average Convergence Divergence):
A trend-following momentum indicator that shows the relationship between two moving averages of an asset's price.
Signals are based on the crossover of the MACD line and its signal line.
Unified Buy and Sell Signals:
Buy Signal: Triggered when:
RSI crosses above 30 (leaving oversold territory).
Short-term MA crosses above the long-term MA.
MACD line crosses above the signal line.
Sell Signal: Triggered when:
RSI crosses below 70 (leaving overbought territory).
Short-term MA crosses below the long-term MA.
MACD line crosses below the signal line.
Visualization:
The indicator plots the short-term and long-term moving averages on the price chart.
Green "BUY" labels appear below price bars when all buy conditions are met.
Red "SELL" labels appear above price bars when all sell conditions are met.
Parameters:
RSI Length: Default is 14. This controls the sensitivity of the RSI.
Short MA Length: Default is 9. This determines the short-term trend.
Long MA Length: Default is 21. This determines the long-term trend.
Use Case:
The Multi-Feature Indicator is ideal for traders seeking higher confirmation before entering or exiting trades. By combining momentum (RSI), trend (MA), and momentum shifts (MACD), it reduces false signals and enhances decision-making.
How to Use:
Apply the indicator to your chart in TradingView.
Look for "BUY" or "SELL" signals, which appear when all conditions align.
Use this tool in conjunction with other analysis techniques for best results.
Note:
The default settings are suitable for many assets, but you may need to adjust them for different timeframes or market conditions.
This indicator is meant to assist in trading decisions and should not be used as the sole basis for trading.
NASI +The NASI + indicator is an advanced adaptation of the classic McClellan Oscillator, a tool widely used to gauge market breadth. It calculates the McClellan Oscillator by measuring the difference between the 19-day and 39-day EMAs of net advancing issues, which are optionally adjusted to account for the relative strength of advancing vs. declining stocks.
To enhance this analysis, NASI + applies the Relative Strength Index (RSI) to the cumulative McClellan Oscillator values, generating a unique momentum-based view of market breadth. Additionally, two extra EMAs—a 10-day and a 4-day EMA—are applied to the RSI, providing further refinement to signals for overbought and oversold conditions.
With NASI +, users benefit from:
-A deeper analysis of market momentum through cumulative breadth data.
-Enhanced sensitivity to trend shifts with the applied RSI and dual EMAs.
-Clear visual cues for overbought and oversold conditions, aiding in intuitive signal identification.
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.
Burst PowerThe Burst Power indicator is to be used for Indian markets where most stocks have a maximum price band limit of 20%.
This indicator is intended to identify stocks with high potential for significant price movements. By analysing historical price action over a user-defined lookback period, it calculates a Burst Power score that reflects the stock's propensity for rapid and substantial moves. This can be helpful for stock selection in strategies involving momentum bursts, swing trading, or identifying stocks with explosive potential.
Key Components
____________________
Significant Move Counts:
5% Moves: Counts the number of days within the lookback period where the stock had a positive close-to-close move between 5% and 10%.
10% Moves: Counts the number of days with a positive close-to-close move between 10% and 19%.
19% Moves: Counts the number of days with a positive close-to-close move of 19% or more.
Maximum Price Move (%):
Identifies the largest positive close-to-close percentage move within the lookback period, along with the date it occurred.
Burst Power Score:
A composite score calculated using the counts of significant moves: Burst Power =(Count5%/5) +(Count10%/2) + (Count19%/0.5)
The score is then rounded to the nearest whole number.
A higher Burst Power score indicates a higher frequency of significant price bursts.
Visual Indicators:
Table Display: Presents all the calculated data in a customisable table on the chart.
Markers on Chart: Plots markers on the chart where significant moves occurred, aiding visual analysis.
Using the Lookback Period
____________________________
The lookback period determines how much historical data the indicator analyses. Users can select from predefined options:
3 Months
6 Months
1 Year
3 Years
5 Years
A shorter lookback period focuses on recent price action, which may be more relevant for short-term trading strategies. A longer lookback period provides a broader historical context, useful for identifying long-term patterns and behaviors.
Interpreting the Burst Power Score
__________________________________
High Burst Power Score (≥15):
Indicates the stock frequently experiences significant price moves.
Suitable for traders seeking quick momentum bursts and swing trading opportunities.
Stocks with high scores may be more volatile but offer potential for rapid gains.
Moderate Burst Power Score (10 to 14):
Suggests occasional significant price movements.
May suit traders looking for a balance between volatility and stability.
Low Burst Power Score (<10):
Reflects fewer significant price bursts.
Stocks are more likely to exhibit longer, sustainable, but slower price trends.
May be preferred by traders focusing on steady growth or longer-term investments.
Note: Trading involves uncertainties, and the Burst Power score should be considered as one of many factors in a comprehensive trading strategy. It is essential to incorporate broader market analysis and risk management practices.
Customisation Options
_________________________
The indicator offers several customisation settings to tailor the display and functionality to individual preferences:
Display Mode:
Full Mode: Shows the detailed table with all components, including significant move counts, maximum price move, and the Burst Power score.
Mini Mode: Displays only the Burst Power score and its corresponding indicator (green, orange, or red circle).
Show Latest Date Column:
Toggle the display of the "Latest Date" column in the table, which shows the most recent occurrence of each significant move category.
Theme (Dark Mode):
Switch between Dark Mode and Light Mode for better visual integration with your chart's color scheme.
Table Position and Size:
Position: Place the table at various locations on the chart (top, middle, bottom; left, center, right).
Size: Adjust the table's text size (tiny, small, normal, large, huge, auto) for optimal readability.
Header Size: Customise the font size of the table headers (Small, Medium, Large).
Color Settings:
Disable Colors in Table: Option to display the table without background colors, which can be useful for printing or if colors are distracting.
Bullish Closing Filter:
Another customisation here is to count a move only when the closing for the day is strong. For this, we have an additional filter to see if close is within the chosen % of the range of the day. Closing within the top 1/3, for instance, indicates a way more bullish day tha, say, closing within the bottom 25%.
Move Markers on chart:
The indicator also marks out days with significant moves. You can choose to hide or show the markers on the candles/bars.
Practical Applications
________________________
Momentum Trading: High Burst Power scores can help identify stocks that are likely to experience rapid price movements, suitable for momentum traders.
Swing Trading: Traders looking for short- to medium-term opportunities may focus on stocks with moderate to high Burst Power scores.
Positional Trading: Lower Burst Power scores may indicate steadier stocks that are less prone to volatility, aligning with long-term investment strategies.
Risk Management: Understanding a stock's propensity for significant moves can aid in setting appropriate stop-loss and take-profit levels.
Disclaimer: Trading involves significant risk, and past performance is not indicative of future results. The Burst Power indicator is intended for educational purposes and should not be construed as financial advice. Always conduct thorough research and consult with a qualified financial professional before making investment decisions.
KASPA Slope OscillatorKASPA Slope Oscillator for analyzing KASPA on the 1D (daily) chart.
The indicator is plotted in a separate pane below the price chart and uses a mathematical approach to calculate and visualize the momentum or "slope" of KASPA's price movements.
Input Parameters:
Slope Window (days):
Defines the period (66 days by default) over which the slope is calculated.
Normalization Window (days):
The window size (85 days) for normalizing the slope values between 0 and 100.
Smoothing Period:
The number of days (15 days) over which the slope values are smoothed to reduce noise.
Overbought and Oversold Levels:
Threshold levels set at 80 (overbought) and 20 (oversold), respectively.
Calculation of the Slope:
Logarithmic Price Calculation:
Converts the close price of KASPA into a logarithmic scale to account for exponential growth or decay.
Rolling Slope:
Computes the rate of change in logarithmic prices over the defined slope window.
Normalization:
The slope is normalized between 0 and 100, allowing easier identification of extreme values.
Smoothing and Visualization:
Smoothing the Slope:
A Simple Moving Average (SMA) is applied to the normalized slope for the specified smoothing period.
Plotting the Oscillator:
The smoothed slope is plotted on the oscillator chart. Horizontal lines indicate overbought (80), oversold (20), and the mid-level (50).
Background Color Indications:
Background colors (red or green) indicate when the slope crosses above the overbought or below the oversold levels, respectively, signaling potential buy or sell conditions.
Detection of Local Maxima and Minima:
The code identifies local peaks (maxima) above the overbought level and troughs (minima) below the oversold level.
Vertical background lines are highlighted in red or green at these points, signaling potential reversals.
Short Summary:
The oscillator line fluctuates between 0 and 100, representing the normalized momentum of the price.
Red background areas indicate periods when the oscillator is above the overbought level (80), suggesting a potential overbought condition or a sell signal.
Green background areas indicate periods when the oscillator is below the oversold level (20), suggesting a potential oversold condition or a buy signal.
The vertical lines on the background mark local maxima and minima where price reversals may occur.
(I also want to thank @ForgoWork for optimizing visuality and cleaning up the source code)
US Futures Momentum OverviewThe "US Futures Momentum Overview" indicator is designed to provide a comprehensive view of momentum across various U.S. futures markets. It calculates the Rate of Change (ROC) for multiple futures contracts and displays them as lines on a chart. Each futures market is plotted with a unique color for easy differentiation, allowing traders to quickly assess the momentum in different markets.
Features:
ROC Calculation: Measures the percentage change in price over a specified period, indicating the rate of change in momentum.
Futures Markets Covered: Includes major U.S. indices, commodities, and agricultural products.
How to Use:
Momentum Analysis: Observe the ROC lines for each futures market. A positive ROC indicates increasing momentum, while a negative ROC suggests decreasing momentum.
Trend Identification: Use the ROC values to identify strong trends in different markets. Markets with higher positive ROC values show stronger upward momentum.
Comparison: Compare momentum across various futures markets to identify which ones are showing stronger trends and might offer better trading opportunities.
Adaptive Fisherized Z-scoreHello Fellas,
It's time for a new adaptive fisherized indicator of me, where I apply adaptive length and more on a classic indicator.
Today, I chose the Z-score, also called standard score, as indicator of interest.
Special Features
Advanced Smoothing: JMA, T3, Hann Window and Super Smoother
Adaptive Length Algorithms: In-Phase Quadrature, Homodyne Discriminator, Median and Hilbert Transform
Inverse Fisher Transform (IFT)
Signals: Enter Long, Enter Short, Exit Long and Exit Short
Bar Coloring: Presents the trade state as bar colors
Band Levels: Changes the band levels
Decision Making
When you create such a mod you need to think about which concepts are the best to conclude. I decided to take Inverse Fisher Transform instead of normalization to make a version which fits to a fixed scale to avoid the usual distortion created by normalization.
Moreover, I chose JMA, T3, Hann Window and Super Smoother, because JMA and T3 are the bleeding-edge MA's at the moment with the best balance of lag and responsiveness. Additionally, I chose Hann Window and Super Smoother because of their extraordinary smoothing capabilities and because Ehlers favours them.
Furthermore, I decided to choose the half length of the dominant cycle instead of the full dominant cycle to make the indicator more responsive which is very important for a signal emitter like Z-score. Signal emitters always need to be faster or have the same speed as the filters they are combined with.
Usage
The Z-score is a low timeframe scalper which works best during choppy/ranging phases. The direction you should trade is determined by the last trend change. E.g. when the last trend change was from bearish market to bullish market and you are now in a choppy/ranging phase confirmed by e.g. Chop Zone or KAMA slope you want to do long trades.
Interpretation
The Z-score indicator is a momentum indicator which shows the number of standard deviations by which the value of a raw score (price/source) is above or below the mean value of what is being observed or measured. Easily explained, it is almost the same as Bollinger Bands with another visual representation form.
Signals
B -> Buy -> Z-score crosses above lower band
S -> Short -> Z-score crosses below upper band
BE -> Buy Exit -> Z-score crosses above 0
SE -> Sell Exit -> Z-score crosses below 0
If you were reading till here, thank you already. Now, follows a bunch of knowledge for people who don't know the concepts I talk about.
T3
The T3 moving average, short for "Tim Tillson's Triple Exponential Moving Average," is a technical indicator used in financial markets and technical analysis to smooth out price data over a specific period. It was developed by Tim Tillson, a software project manager at Hewlett-Packard, with expertise in Mathematics and Computer Science.
The T3 moving average is an enhancement of the traditional Exponential Moving Average (EMA) and aims to overcome some of its limitations. The primary goal of the T3 moving average is to provide a smoother representation of price trends while minimizing lag compared to other moving averages like Simple Moving Average (SMA), Weighted Moving Average (WMA), or EMA.
To compute the T3 moving average, it involves a triple smoothing process using exponential moving averages. Here's how it works:
Calculate the first exponential moving average (EMA1) of the price data over a specific period 'n.'
Calculate the second exponential moving average (EMA2) of EMA1 using the same period 'n.'
Calculate the third exponential moving average (EMA3) of EMA2 using the same period 'n.'
The formula for the T3 moving average is as follows:
T3 = 3 * (EMA1) - 3 * (EMA2) + (EMA3)
By applying this triple smoothing process, the T3 moving average is intended to offer reduced noise and improved responsiveness to price trends. It achieves this by incorporating multiple time frames of the exponential moving averages, resulting in a more accurate representation of the underlying price action.
JMA
The Jurik Moving Average (JMA) is a technical indicator used in trading to predict price direction. Developed by Mark Jurik, it’s a type of weighted moving average that gives more weight to recent market data rather than past historical data.
JMA is known for its superior noise elimination. It’s a causal, nonlinear, and adaptive filter, meaning it responds to changes in price action without introducing unnecessary lag. This makes JMA a world-class moving average that tracks and smooths price charts or any market-related time series with surprising agility.
In comparison to other moving averages, such as the Exponential Moving Average (EMA), JMA is known to track fast price movement more accurately. This allows traders to apply their strategies to a more accurate picture of price action.
Inverse Fisher Transform
The Inverse Fisher Transform is a transform used in DSP to alter the Probability Distribution Function (PDF) of a signal or in our case of indicators.
The result of using the Inverse Fisher Transform is that the output has a very high probability of being either +1 or –1. This bipolar probability distribution makes the Inverse Fisher Transform ideal for generating an indicator that provides clear buy and sell signals.
Hann Window
The Hann function (aka Hann Window) is named after the Austrian meteorologist Julius von Hann. It is a window function used to perform Hann smoothing.
Super Smoother
The Super Smoother uses a special mathematical process for the smoothing of data points.
The Super Smoother is a technical analysis indicator designed to be smoother and with less lag than a traditional moving average.
Adaptive Length
Length based on the dominant cycle length measured by a "dominant cycle measurement" algorithm.
Happy Trading!
Best regards,
simwai
---
Credits to
@cheatcountry
@everget
@loxx
@DasanC
@blackcat1402
Velocity Acceleration Indicator [CC]The Velocity Acceleration Indicator was created by Scott Cong (Stocks and Commodities Sep 2023, pgs 8-15). This is another personal variation of his formula designed to capture the overall velocity acceleration of the underlying stock by applying the velocity formula to the original indicator to find the acceleration of the underlying velocity. I changed a few things around and managed actually to get less lag and quicker signals for this version, so make sure you compare the Velocity Indicator script that I published yesterday. This indicator is also visually similar to a typical stochastic indicator but uses a different underlying calculation. This works well as a momentum indicator, and the values are completely unbounded, so the best ways to determine bullish or bearish trends is either by using a crossover or crossunder between the indicator and the midline or to buy or sell the indicator when it reaches a high or low point and starts to fall or rise respectively. I used the zero line for my default version to help determine the bullish or bearish trends. I have also included multiple colors to differentiate between very strong signals and normal signals, so very strong signals are darker in color, and normal signals use lighter colors. Buy when the line turns green and sell when it turns red.
Let me know if there are any other indicators or scripts you would like to see me publish! I will have some more new scripts in the next week or so.
JS-TechTrading: VWAP Momentum_Pullback StrategyGeneral Description and Unique Features of this Script
Introducing the VWAP Momentum-Pullback Strategy (long-only) that offers several unique features:
1. Our script/strategy utilizes Mark Minervini's Trend-Template as a qualifier for identifying stocks and other financial securities in confirmed uptrends.
NOTE: In this basic version of the script, the Trend-Template has to be used as a separate indicator on TradingView (Public Trend-Template indicators are available on TradingView – community scripts). It is recommended to only execute buy signals in case the stock or financial security is in a stage 2 uptrend, which means that the criteria of the trend-template are fulfilled.
2. Our strategy is based on the supply/demand balance in the market, making it timeless and effective across all timeframes. Whether you are day trading using 1- or 5-min charts or swing-trading using daily charts, this strategy can be applied and works very well.
3. We have also integrated technical indicators such as the RSI and the MA / VWAP crossover into this strategy to identify low-risk pullback entries in the context of confirmed uptrends. By doing so, the risk profile of this strategy and drawdowns are being reduced to an absolute minimum.
Minervini’s Trend-Template and the ‘Stage-Analysis’ of the Markets
This strategy is a so-called 'long-only' strategy. This means that we only take long positions, short positions are not considered.
The best market environment for such strategies are periods of stable upward trends in the so-called stage 2 - uptrend.
In stable upward trends, we increase our market exposure and risk.
In sideways markets and downward trends or bear markets, we reduce our exposure very quickly or go 100% to cash and wait for the markets to recover and improve. This allows us to avoid major losses and drawdowns.
This simple rule gives us a significant advantage over most undisciplined traders and amateurs!
'The Trend is your Friend'. This is a very old but true quote.
What's behind it???
• 98% of stocks made their biggest gains in a Phase 2 upward trend.
• If a stock is in a stable uptrend, this is evidence that larger institutions are buying the stock sustainably.
• By focusing on stocks that are in a stable uptrend, the chances of profit are significantly increased.
• In a stable uptrend, investors know exactly what to expect from further price developments. This makes it possible to locate low-risk entry points.
The goal is not to buy at the lowest price – the goal is to buy at the right price!
Each stock goes through the same maturity cycle – it starts at stage 1 and ends at stage 4
Stage 1 – Neglect Phase – Consolidation
Stage 2 – Progressive Phase – Accumulation
Stage 3 – Topping Phase – Distribution
Stage 4 – Downtrend – Capitulation
This strategy focuses on identifying stocks in confirmed stage 2 uptrends. This in itself gives us an advantage over long-term investors and less professional traders.
By focusing on stocks in a stage 2 uptrend, we avoid losses in downtrends (stage 4) or less profitable consolidation phases (stages 1 and 3). We are fully invested and put our money to work for us, and we are fully invested when stocks are in their stage 2 uptrends.
But how can we use technical chart analysis to find stocks that are in a stable stage 2 uptrend?
Mark Minervini has developed the so-called 'trend template' for this purpose. This is an essential part of our JS-TechTrading pullback strategy. For our watchlists, only those individual values that meet the tough requirements of Minervini's trend template are eligible.
The Trend Template
• 200d MA increasing over a period of at least 1 month, better 4-5 months or longer
• 150d MA above 200d MA
• 50d MA above 150d MA and 200d MA
• Course above 50d MA, 150d MA and 200d MA
• Ideally, the 50d MA is increasing over at least 1 month
• Price at least 25% above the 52w low
• Price within 25% of 52w high
• High relative strength according to IBD.
NOTE: In this basic version of the script, the Trend-Template has to be used as a separate indicator on TradingView (Public Trend-Template indicators are available in TradingView – community scripts). It is recommended to only execute buy signals in case the stock or financial security is in a stage 2 uptrend, which means that the criteria of the trend-template are fulfilled.
This strategy can be applied to all timeframes from 5 min to daily.
The VWAP Momentum-Pullback Strateg y
For the JS-TechTrading VWAP Momentum-Pullback Strategy, only stocks and other financial instruments that meet the selected criteria of Mark Minervini's trend template are recommended for algorithmic trading with this startegy.
A further prerequisite for generating a buy signals is that the individual value is in a short-term oversold state (RSI).
When the selling pressure is over and the continuation of the uptrend can be confirmed by the MA / VWAP crossover after reaching a price low, a buy signal is issued by this strategy.
Stop-loss limits and profit targets can be set variably.
Relative Strength Index (RSI)
The Relative Strength Index (RSI) is a technical indicator developed by Welles Wilder in 1978. The RSI is used to perform a market value analysis and identify the strength of a trend as well as overbought and oversold conditions. The indicator is calculated on a scale from 0 to 100 and shows how much an asset has risen or fallen relative to its own price in recent periods.
The RSI is calculated as the ratio of average profits to average losses over a certain period of time. A high value of the RSI indicates an overbought situation, while a low value indicates an oversold situation. Typically, a value > 70 is considered an overbought threshold and a value < 30 is considered an oversold threshold. A value above 70 signals that a single value may be overvalued and a decrease in price is likely , while a value below 30 signals that a single value may be undervalued and an increase in price is likely.
For example, let's say you're watching a stock XYZ. After a prolonged falling movement, the RSI value of this stock has fallen to 26. This means that the stock is oversold and that it is time for a potential recovery. Therefore, a trader might decide to buy this stock in the hope that it will rise again soon.
The MA / VWAP Crossover Trading Strategy
This strategy combines two popular technical indicators: the Moving Average (MA) and the Volume Weighted Average Price (VWAP). The MA VWAP crossover strategy is used to identify potential trend reversals and entry/exit points in the market.
The VWAP is calculated by taking the average price of an asset for a given period, weighted by the volume traded at each price level. The MA, on the other hand, is calculated by taking the average price of an asset over a specified number of periods. When the MA crosses above the VWAP, it suggests that buying pressure is increasing, and it may be a good time to enter a long position. When the MA crosses below the VWAP, it suggests that selling pressure is increasing, and it may be a good time to exit a long position or enter a short position.
Traders typically use the MA VWAP crossover strategy in conjunction with other technical indicators and fundamental analysis to make more informed trading decisions. As with any trading strategy, it is important to carefully consider the risks and potential rewards before making any trades.
This strategy is applicable to all timeframes and the relevant parameters for the underlying indicators (RSI and MA/VWAP) can be adjusted and optimized as needed.
Backtesting
Backtesting gives outstanding results on all timeframes and drawdowns can be reduced to a minimum level. In this example, the hourly chart for MCFT has been used.
Settings for backtesting are:
- Period from April 2020 until April 2021 (1 yr)
- Starting capital 100k USD
- Position size = 25% of equity
- 0.01% commission = USD 2.50.- per Trade
- Slippage = 2 ticks
Other comments
• This strategy has been designed to identify the most promising, highest probability entries and trades for each stock or other financial security.
• The RSI qualifier is highly selective and filters out the most promising swing-trading entries. As a result, you will normally only find a low number of trades for each stock or other financial security per year in case you apply this strategy for the daily charts. Shorter timeframes will result in a higher number of trades / year.
• As a result, traders need to apply this strategy for a full watchlist rather than just one financial security.
Fisherized CCIIntroduction
This here is a non-repainting indicator where I use inverse Fisher transformation and smoothing on the well-known CCI (Commdity Channel Index) momentum indicator.
"The Inverse Fisher Transform" describes the calculation and use of the inverse Fisher transform by Dr . Ehlers in 2004. The transform is applied to any indicator with a known probability distribution function. It enables to transform an indicator signal into the range between +1 and -1. This can help to eliminate the noise of an indicator.
The CCI is an momentum indicator which describes the distance of the price to the average price.
For smoothing I used the Hann Window and NET (Noise Elimination Technique) methods.
Additional Features
Divergence Analysis
Trend-adaptive Histogram
Timeframe selection
Usage
It is usually used to spot potential trend reverals or mean-reversion (against the trend) trades on lower timeframes. IMO it can be even used to spot trend-following trades. It always depends on which settings you have, which timeframe do you use and which indicators you combine with it.
The suggested timeframe for this indicator is 15 min (with the length setting on 50).
The histogram with adaptive mode enabled could be used as filter applied on the buy and sell signals.
The divergence analysis can help to spot additional entries/exits or confirm the buy and sell signals.
Always try to find the best settings! This indicators has a lot of customization options you should take advantage of.
Signals
The indicator uses the following logic to generate the buy and sell signals:
Normal
Buy -> When CCI and MA go above the top band (usually +100) and cross
Sell -> When CCI and MA go below the the bottom band (usually -100) and cross
Fisherized
Buy -> When CCI and MA go above the the zero line and cross
Sell -> When CCI and MA go below the the zero line and cross
Have fun with the indicator! I am open for feedback and questions. :)