Machine Learning Adaptive DMI Signals [AlgoAlpha]🟠 OVERVIEW
The Directional Movement Index (DMI) is commonly calculated using a fixed lookback length. But market conditions change over time, and a length that works well during one period may become less effective during another.
This script builds multiple DMI models across a user-defined range of lengths and continuously evaluates their past performance. Each DMI length acts as an independent expert. As new directional flips occur, the script measures how well each expert performed and updates its internal scoring system.
The result is an adaptive DMI that automatically shifts toward lengths that have recently produced better directional signals while reducing the influence of weaker performers.
🟠 CONCEPTS
Expert DMI — A DMI calculation running at a specific lookback length within the tested range.
Directional Flip — A change in trend state when +DI crosses above -DI or when -DI crosses above +DI.
Reward Score — A performance score assigned to each completed flip based on return, move quality, pullback behavior, or win rate.
Maximum Favorable Excursion (MFE) — The largest move in the trade's favor before the next directional flip.
Maximum Adverse Excursion (MAE) — The largest move against the trade before the next directional flip.
Recency Decay — A weighting system that gradually reduces the influence of older observations so recent market behavior has greater impact.
Softmax Weighting — A probability-style weighting process that gives greater influence to higher-scoring DMI lengths when estimating the adaptive length.
🟠 FEATURES
Adaptive +DI and -DI Lines — Displays directional movement using a dynamically selected DMI length that adjusts over time.
Directional Clouds — Color-filled regions between the DI lines help visualize which side currently has directional control.
Bullish and Bearish Flip Signals — ▲ and ▼ markers appear when the Adaptive +DI and -DI lines cross.
ADX Strength Display — Strength squares at the bottom of the pane become more visible as trend strength increases and fade as strength decreases.
Information Table — Displays the active adaptive length, selected scoring mode, memory count, and current bullish or bearish trend state in a customizable table.
🟠 HOW TO USE
Watch for bullish flips when Adaptive +DI crosses above Adaptive -DI to identify potential shifts toward upward directional control.
Watch for bearish flips when Adaptive -DI crosses above Adaptive +DI to identify potential shifts toward downward directional control.
Use the ADX strength squares to gauge whether directional movement is strengthening or weakening.
Increase the tested length range when evaluating a wider variety of market conditions.
Increase Memory and Forget Old Trades values for more stable adaptation and slower length changes.
Decrease Memory or lower the decay factor when faster adaptation to recent behavior is preferred.
Experiment with the available scoring methods to determine whether return, trend quality, or consistency is more important for your analysis.
🟠 CONCLUSION
Machine Learning Adaptive DMI combines traditional DMI calculations with a performance-driven adaptive length selection process. Instead of relying on a fixed lookback period, it continuously evaluates how different DMI lengths have behaved and adjusts accordingly. This provides a dynamic view of directional strength, trend bias, and signal quality that reflects recent market behavior. Indicator

Indicator

Momentum Lifecycle Detector [BullByte]Momentum Lifecycle Detector
An early trend detection oscillator that tracks momentum through five lifecycle phases - from birth to death - using DI spread acceleration analysis . Designed to identify momentum ignition before traditional ADX signals, and warn of trend exhaustion before it becomes obvious.
WHAT THIS INDICATOR DOES
The Momentum Lifecycle Detector (MLD) is a momentum oscillator with integrated trend phase classification. It answers the question every trend trader needs answered: "Where in its life is this momentum right now?"
Most trend strength indicators tell you a trend exists after the move is already underway. ADX crossing above 25 is a lagging confirmation. MLD solves this by detecting the birth of momentum at the earliest mathematically identifiable point, then tracking that momentum through five distinct lifecycle phases until it dies.
The indicator displays:
An ATR-normalized momentum oscillator (the main line you follow)
A signal line for crossover analysis
A histogram showing momentum-signal divergence
A colored lifecycle band showing the current phase
Consolidation zone boxes marking coiled energy before breakouts
A reversal atmosphere glow when momentum curvature suggests reversal
A dashboard summarizing momentum conditions at a glance
Adaptive dead zone and choppy market warnings
THE PROBLEM THIS SOLVES - WHY TRADERS NEED EARLY TREND DETECTION
Traditional ADX tells you a trend is strong when it crosses above 25. By that point, the optimal entry window has often closed. Conversely, ADX gives no clear warning when a trend is dying - it just slowly rolls over after the move has already reversed.
The core innovation in MLD is measuring the acceleration of the gap between +DI and -DI. Here is the mathematical logic:
Spread = |+DI minus -DI| - How far apart are bullish and bearish pressure?
Velocity = Spread minus Spread - Is that gap widening or narrowing?
Acceleration = Velocity minus Velocity - Is the widening itself speeding up?
When acceleration is positive and velocity is positive while ADX is still low, a new trend is actively forming. This is the mathematical fingerprint of momentum at birth - detectable bars before ADX would give any signal.
WHY THESE SPECIFIC COMPONENTS - JUSTIFICATION FOR THE INTEGRATION
This indicator combines several analytical methods into a unified lifecycle detection framework. Each component serves a specific, non-redundant purpose. Here is why each exists:
Zero-Lag EMA Momentum Oscillator
Purpose : The primary visual output traders watch and trade.
Method : Difference between fast ZLEMA (default 9) and slow ZLEMA (default 21), divided by ATR, multiplied by 100.
Why ZLEMA : Standard EMA lags behind price. ZLEMA compensates by adding the difference between the current price and its lagged value before smoothing. This produces earlier momentum readings without adding noise.
Why ATR normalization: Raw price differences are not comparable across instruments. A 5-point move means something different on a $10 stock versus Bitcoin. Dividing by ATR makes oscillator readings universal - a reading of +50 represents the same relative momentum strength on any chart, any timeframe.
Gaussian-Weighted Directional Indicators
Purpose : Feed responsive directional data into the lifecycle detection engine.
Method : Instead of standard Wilder smoothing for +DI and -DI, a Gaussian (bell-curve) decay function applies exponentially more weight to recent bars. The formula is exp(-(n/len)^2).
Why Gaussian weighting : Standard DI treats all bars in the lookback equally. A directional move from 14 bars ago counts the same as one happening now. Gaussian decay makes DI inherently more responsive to fresh moves without shortening the period (which would increase noise).
ZLEMA-Smoothed ADX
Purpose : Trend strength measurement for phase classification.
Method : DX calculated from Gaussian-weighted DI values, smoothed with ZLEMA instead of traditional Wilder smoothing.
Why ZLEMA-smoothed: Standard Wilder-smoothed ADX is deliberately sluggish by design. For lifecycle detection, we need ADX that responds faster to "waking up" and "rolling over" behaviors that define phase transitions.
DI Spread Acceleration Engine
Purpose : The core innovation - detects momentum birth before ADX confirms.
Method : Calculates the absolute spread between +DI and -DI, derives its velocity (first derivative) and acceleration (second derivative), smooths both with 3-period EMA.
Why this matters: This is what differentiates MLD from existing ADX-based tools. Acceleration of the DI spread is a leading indicator. By the time ADX crosses a threshold, spread acceleration has already been positive for multiple bars. This enables IGNITION detection before traditional signals fire.
Kaufman Efficiency Ratio
Purpose : Regime filter that warns when conditions are choppy.
Method : ER = net price movement divided by total price movement. Values near 1.0 mean efficient directional movement. Values near 0.0 mean price went back and forth without progress.
Why included: Momentum oscillators generate false signals in ranging markets. When ER is low, ADX is weak, and momentum sits inside the dead zone, the background turns gray - warning traders that conditions do not support directional strategies.
Momentum Curvature Analysis
Purpose : Early warning of potential reversals via oscillator curvature.
Method : Second derivative of momentum (how the slope is changing). When momentum is negative but curving upward (positive curvature with positive slope), bullish pressure is building from underneath before the trend visibly reverses. Strength is normalized against 30-bar standard deviation of curvature.
Important : This is purely mathematical curvature of the plotted oscillator. It does not use order flow, volume profile, bid/ask data, or any external source. The term "atmosphere" is a visual metaphor for the glow effect.
These components form an integrated pipeline - they are not independent indicators placed on the same pane. The oscillator provides visual momentum reading, Gaussian DI and ZLEMA ADX feed the lifecycle engine, spread acceleration detects phase transitions, ER provides regime context, and curvature adds reversal awareness. Each output feeds downstream components.
THE FIVE LIFECYCLE PHASES - DETECTION LOGIC EXPLAINED
The lifecycle band at the bottom displays one of five phases. Each has specific mathematical conditions that must all be true simultaneously. A state machine with configurable inertia prevents rapid flickering.
IGNITION - Cyan Band
Conditions : DI crossover within last N bars (default 4), spread acceleration above threshold (default 0.2), spread velocity above threshold (default 0.3), ADX rising for two consecutive bars.
Meaning : Momentum is being born. DI lines just crossed, the gap is accelerating open, ADX is waking. This is the earliest actionable signal. ADX may still be below 20.
State machine : IGNITION transitions instantly (1-bar inertia) because early detection speed matters.
THRUST - Green or Red Band (direction-coded)
Conditions : Past ignition window but within 3x that window, spread velocity above threshold (default 0.5), ADX surged more than threshold (default 1.5) over 3 bars.
Meaning : Young trend gaining real power. Spread velocity is high, ADX is confirming with a surge. The trend is no longer hypothesis - it is building strength.
State machine : THRUST transitions instantly.
PRIME - Deeper Green or Red Band (direction-coded)
Conditions : ADX above strong threshold (default 20), ADX either rising or above its signal line, DI spread above minimum (default 10).
Meaning : Mature, established trend. Maximum directional strength. Most productive phase - but also where exhaustion can begin. Use trailing stops.
State machine : Requires configured inertia (default 2 bars) before transition.
FADING - Orange Band
Conditions : ADX above strong threshold BUT falling AND below its signal line, OR ADX strong but spread velocity sharply negative (below -0.5).
Meaning : Trend is dying. ADX rolling over, DI gap closing. Time to tighten stops, take partials, prepare for next cycle.
State machine: Requires configured inertia before transition.
DEAD - Dark Gray Band
Conditions : None of the above active.
Meaning : No meaningful directional momentum. Market ranging, consolidating, or in transition. Directional strategies unlikely to perform well.
HOW TO READ THE OSCILLATOR PLOT
Momentum Line (thick, color-coded)
Bright green : Momentum positive and rising (bullish, strengthening)
Faded green : Momentum positive but falling (bullish, weakening)
Bright red: Momentum negative and falling (bearish, strengthening)
Faded red : Momentum negative but rising (bearish, weakening)
Gray : Momentum inside dead zone (noise, not signal)
Signal Line (thin orange)
EMA of momentum. Crossovers between momentum and signal highlight directional shifts, similar to MACD signal line usage.
Momentum-Signal Fill (shaded area between the two lines)
Teal shading: Momentum above signal (bullish bias)
Maroon shading: Momentum below signal (bearish bias)
This fill provides instant visual recognition of which line is dominant.
Histogram (vertical columns at zero line)
Shows the gap between momentum and signal.
Bright columns: Gap expanding (momentum pulling away, trend strengthening)
Faded columns: Gap contracting (momentum converging, trend weakening)
Green: Momentum above signal. Red: Momentum below signal.
Dead Zone (gray horizontal band around zero)
Dynamically calculated as a multiple (default 0.5x) of momentum's 50-bar standard deviation.
When momentum is inside this zone, directional signals are unreliable - the reading is within normal noise range.
Zero Line (dotted horizontal)
Momentum above zero: Net bullish pressure
Momentum below zero: Net bearish pressure
Zero line crosses represent directional bias shifts.
CONSOLIDATION ZONES - COILED ENERGY BEFORE BREAKOUTS
Yellow boxes appear on the oscillator when momentum energy is coiling - a potential precursor to a strong directional move.
Detection Logic
Two conditions must be simultaneously true:
Histogram (momentum-signal gap) is unusually tight relative to its recent 50-bar standard deviation.
Momentum slope is unusually flat relative to its recent 50-bar standard deviation.
Both thresholds are adaptive - they automatically adjust to each instrument's typical behavior. This means the indicator detects relative consolidation, not absolute levels, making it equally effective on volatile crypto and stable bonds.
Zone Lifecycle
New zone starts as dotted-border, light yellow box.
If it persists for minimum bar count (default 5), it upgrades to solid-border, brighter yellow - a validated zone.
If momentum drifts too far from where zone started (exceeds drift tolerance relative to zone height), the zone is invalidated and deleted. This prevents slow trends from being falsely labeled as consolidation.
When zone breaks (convergence conditions end), box color changes based on breakout direction: teal for bullish breakout, maroon for bearish breakout.
Only one active zone exists at a time to keep the chart clean.
How to Trade It
Validated consolidation zones (solid border) represent coiled momentum. Breakouts from these zones, especially when accompanied by IGNITION or THRUST phase, often produce strong directional moves. The breakout color immediately tells you the direction.
REVERSAL ATMOSPHERE - CURVATURE-BASED REVERSAL WARNING
A soft colored glow appears around the momentum line when mathematical curvature suggests a reversal is forming.
How It Works
The indicator calculates the second derivative of momentum (curvature - how the slope itself is changing).
Bullish reversal detection: Momentum is below zero (bearish), but slope has turned positive (rising), and curvature is positive (the rise is accelerating). This is the mathematical signature of a bottom forming - momentum is still negative but fighting back.
Bearish reversal detection: Mirror image. Momentum is above zero, but slope is negative and curvature is negative. A top is forming.
Visual Output
Green glow: Bullish reversal pressure building
Red glow: Bearish reversal pressure building
Glow intensity increases with curvature strength, normalized against 30-bar standard deviation
Glow width is configurable (default 8 units)
Important Clarification
This is purely mathematical analysis of the oscillator's own curvature. It does not incorporate order flow data, market depth, bid/ask spreads, or any external data source. The term "atmosphere" is a visual metaphor describing the glow effect, not a claim about market microstructure.
CHOPPY MARKET BACKGROUND - REGIME WARNING
When three conditions are all simultaneously true, the pane background turns gray:
Efficiency Ratio below choppy threshold (default 0.30)
ADX below choppy threshold (default 18)
Momentum inside dead zone
This gray background is a visual warning: "Market conditions are choppy. Momentum signals here are statistically less reliable. Consider waiting for cleaner conditions."
DASHBOARD - THE MOMENTUM WEATHER REPORT
A compact panel (position and size configurable) displaying five key readings:
PHASE
Current lifecycle phase name in corresponding color. Instantly shows where momentum is in its lifecycle.
BIRTH
DI spread acceleration status - is new momentum being created?
ACCELERATING (cyan) : Strong positive acceleration, momentum actively being born
BUILDING (green) : Moderate positive acceleration
QUIET (gray): No significant acceleration
DECELERATING (red): Negative acceleration, momentum creation slowing or reversing
FLOW
Directional bias with magnitude.
BULL : Bullish DI dominance. Number is DI spread (gap between +DI and -DI)
BEAR : Bearish DI dominance
FLAT : Momentum in dead zone, no meaningful directional bias
WEATHER
Overall assessment combining phase and vitality.
FAVORABLE (green): Active phase (IGNITION/THRUST/PRIME) with momentum outside dead zone. Conditions support directional trading.
CAUTION (orange): FADING phase, or PRIME with negative spread velocity. Trend may be exhausting.
UNFAVORABLE (red): DEAD phase or momentum in dead zone. Avoid directional strategies.
PRESSURE
Reversal pressure from curvature analysis.
BULLISH REV (green): Strong bullish reversal curvature
BEARISH REV (red): Strong bearish reversal curvature
BUILDING (cyan): Moderate reversal curvature forming
NONE (gray): No significant reversal pressure
COMPLETE SETTINGS REFERENCE
Core Momentum Oscillator
Fast ZLEMA Length (default 9): Fast moving average responsiveness. Lower = faster, noisier.
Slow ZLEMA Length (default 21): Baseline moving average. Gap between fast and slow produces momentum.
Signal Line Length (default 5): Smoothing period for signal line.
Momentum Smoothing (default 3): Additional noise reduction on raw momentum.
ATR Period (default 14): Normalization period for cross-instrument comparability.
Consolidation Zones
Show Consolidation Zones (default true): Toggle zone detection.
Histogram Sensitivity (default 1.0): How tight momentum-signal gap must be. Lower = stricter.
Slope Sensitivity (default 1.0): How flat momentum must be. Lower = stricter.
Minimum Bars (default 5): Shortest valid consolidation duration.
Drift Tolerance (default 0.4): Maximum directional drift before zone invalidation.
Regime Detection
Efficiency Ratio Period (default 10): Lookback for price efficiency calculation.
ER Smoothing (default 5): Smoothing to prevent rapid regime flipping.
Trend Threshold (default 0.4): ER above this = trending market.
Dead Zone Multiplier (default 0.5): Standard deviations defining the noise band.
Choppy ER Threshold (default 0.30): ER below this contributes to choppy warning.
Choppy ADX Threshold (default 18): ADX below this contributes to choppy warning.
Momentum Lifecycle
Show Lifecycle Band (default true): Toggle the colored phase band.
DI Calculation Length (default 14): Period for Gaussian-weighted +DI/-DI.
ADX Smoothing (default 14): ZLEMA smoothing on DX.
ADX Signal Length (default 5): EMA of ADX for crossover detection.
Ignition Window (default 4): Bars after DI cross qualifying for IGNITION.
State Inertia (default 2): Bars a phase must persist before official transition.
Ignition Accel Threshold (default 0.2): Minimum spread acceleration for IGNITION.
Ignition Velocity Threshold (default 0.3): Minimum spread velocity for IGNITION.
Thrust Velocity Threshold (default 0.5): Minimum spread velocity for THRUST.
ADX Surge Threshold (default 1.5): Minimum ADX rise over 3 bars for THRUST.
ADX Strong Threshold (default 20): ADX above this = strong trend (PRIME/FADING).
DI Spread Minimum (default 10): Minimum DI gap for PRIME confirmation.
Reversal Atmosphere
Show Reversal Atmosphere (default true): Toggle the curvature glow effect.
Glow Width (default 8): Visual width of atmospheric glow. Cosmetic only.
Display
Show Histogram (default true): Toggle momentum-signal histogram.
Show Momentum-Signal Fill (default true): Toggle shaded area between lines.
Show Choppy Background (default true): Toggle gray background warning.
Dashboard
Show Dashboard (default true): Toggle the weather report panel.
Dashboard Position (default Top Right): Panel location on chart.
Dashboard Size (default Small): Text size in panel.
Alerts
Alert on Ignition (default true): Notify when entering IGNITION phase.
Alert on Fading (default true): Notify when entering FADING phase.
Confirm on Bar Close (default true): Wait for bar close before firing alerts. Prevents false signals from intra-bar noise.
ALERTS
Two alert conditions target the most actionable lifecycle transitions:
IGNITION Onset
Fires when lifecycle enters IGNITION phase. Alert message includes directional bias (Bullish/Bearish), current ADX value, and how many bars since DI cross.
FADING Onset
Fires when lifecycle enters FADING phase. Alert message includes ADX value and current spread velocity.
Bar Close Confirmation
When enabled (default), alerts only fire after the bar closes. This prevents false alerts triggered by intra-bar price spikes that later reverse. Recommended to keep enabled for reliable signals.
RECOMMENDED TIMEFRAMES AND INSTRUMENTS
MLD works across all timeframes and instruments due to ATR normalization.
Default settings optimized for: Daily and 4-hour charts.
For lower timeframes (15m, 5m): Consider increasing Momentum Smoothing to 5 and State Inertia to 3 to filter noise.
For weekly charts: Default settings work without adjustment.
For highly volatile instruments (crypto, small caps): The adaptive thresholds automatically adjust. No manual tuning typically required.
For low-volatility instruments (bonds, some forex pairs): Consider reducing Dead Zone Multiplier to 0.3 for more sensitivity.
PRACTICAL EXAMPLE - MOMENTUM LIFECYCLE IN ACTION
Consider a stock range-bound for weeks. ADX reads 12. Traditional trend tools show nothing actionable.
Then +DI crosses above -DI. ADX is still 12. No traditional signal. But MLD detects that the DI spread is accelerating - the gap is not just opening, it is opening faster each bar. ADX has risen for two consecutive bars (waking up). The lifecycle band turns cyan: IGNITION. The dashboard shows BIRTH: ACCELERATING, WEATHER: FAVORABLE.
Over the next few bars, spread velocity increases. ADX surges upward. The band turns green: THRUST. The trend is confirmed and building.
ADX crosses above 20, continues rising, spread stays wide. Band turns deeper green: PRIME. This is the productive phase.
Eventually ADX peaks, starts falling, drops below its signal line. Spread velocity turns negative. Band turns orange: FADING. Dashboard shows WEATHER: CAUTION. Time to trail stops tightly.
ADX falls back below 20, momentum enters dead zone. Band turns gray: DEAD. The lifecycle is complete.
The value: MLD flagged IGNITION several bars before ADX would have signaled anything. It flagged FADING while ADX was still technically strong but deteriorating. This is the early detection advantage.
Chart Example 1:
BTC/USDT 5-minute is showing a classic FADING lifecycle : a bullish thrust peaked around 13:00–14:00, entered a validated consolidation zone, and is now visibly breaking down. The momentum line is curving sharply downward inside the yellow box, the band is orange (FADING), and FLOW has flipped to BEAR 17.9 : confirming the consolidation resolved bearishly, not bullishly. The earlier cyan IGNITION flash (~14:30) failed to sustain, overwhelmed by the dominant fading structure. The dashboard reads WEATHER: CAUTION, PRESSURE: NONE : no reversal energy building yet.
Chart Example 2:
BTC/USDT 15-minute is in DEAD phase with WEATHER: UNFAVORABLE : no tradeable momentum present. The dashboard tells the complete story: FLOW is FLAT meaning neither bulls nor bears have directional control, and PRESSURE is NONE meaning no reversal energy is building beneath the surface either. Despite BIRTH showing ACCELERATING, without flow direction or reversal pressure to back it up, the acceleration has no confirmed destination yet. Stand aside and wait for the lifecycle band to shift out of DEAD before committing.
WHAT MAKES THIS INDICATOR ORIGINAL
The originality lies in three specific innovations not present in standard ADX/DI implementations or common momentum oscillators:
DI Spread Acceleration Analysis
Standard tools measure the DI spread itself or track ADX thresholds. MLD applies derivative analysis - velocity and acceleration - to the spread, transforming a traditionally lagging measurement into a leading indicator of trend formation.
Gaussian-Weighted DI Calculation
Standard DI uses Wilder smoothing with equal weight to all bars. Gaussian decay weighting makes DI inherently more responsive to recent directional moves without the noise penalty of shorter periods.
Five-Phase Lifecycle Classification with Inertia-Gated State Machine
Rather than binary trend/no-trend output, MLD maps momentum onto a lifecycle model with distinct phases and specific mathematical criteria. The state machine prevents flickering while allowing speed-critical states (IGNITION, THRUST) to transition immediately.
These are integrated innovations, not independent indicators on the same pane. Each feeds into the lifecycle engine or provides context for its output.
DISCLAIMER
This indicator performs mathematical calculations on price data (open, high, low, close) only. It does not use order flow data, volume profile, market depth, bid/ask information, institutional positioning data, or any external data source.
Terms like "momentum birth," "reversal atmosphere," "weather," and " lifecycle " are descriptive metaphors for mathematical concepts (derivatives, curvature, efficiency ratios, state classification). They are not claims about market microstructure or participant behavior.
No indicator predicts future price movement. MLD identifies mathematical conditions historically associated with specific momentum behaviors. These conditions may or may not produce expected outcomes in any given instance.
This tool supplements - it does not replace - a complete trading plan including risk management, position sizing, and multiple forms of analysis. Always use proper risk management. Past indicator behavior does not guarantee future results. Indicator

Indicator

Indicator

Indicator

Directional Movement Index (DMI) + AlertsThis is a Study with associated visual indicators and Bullish/Bearish Alerts for Directional Movement (DMI). It consists of an Average Directional Index (ADX), Plus Directional Indicator (+DI) and Minus Directional Indicator (-DI).
Published by J. Welles Wilder in 1978 for use with currencies and commodities which are typically more volatile than stocks and have stronger trends.
Development Notes
---------------------------
This indicator, and most of the descriptions below, were derived largely from the PulseWire reference manual. Feedback and suggestions for improvement are more than welcome, as well are recommended Input settings and best practices for use.
pulsewire.com/chart/?solution=43000502250
Strategy Description
---------------------------
ADX defines whether or not there is a trend present; +DI and -DI compliment the ADX by taking direction into account. An ADX above 25 indicates a strong trend, and a Bullish alert is subsequently triggered when +DI is above -DI and a Bearish alert when -DI is above +DI.
Note that the Bullish or Bearish crossover alert will only trigger if ADX is simultaneously above 25 during the crossover event. If ADX later rises to 25 and +DI is still greater than -DI, or -DI greater than +DI, then a delayed alert will not trigger by design.
Basic Use
---------------------------
Acceptable DMI values are up to the trader's interpretation and may change depending on the financial instrument being examined. Recommend not changing any default values without being first familiar with their purpose and impact on the indicator at large.
Confidence in price action and trend is higher when two or more indicators are in agreement -- therefore we recommend not using this indicator by itself to determine entry or exit trade opportunities.
Recommend also choosing 'Once Per Bar Close' when creating alerts.
Inputs
---------------------------
ADX Smoothing - the time period to be used in calculating the ADX which has a smoothing component (14 is the Default).
DI Length - the time period to be used in calculating the DI (14 is the Default).
Key Level - any trade with the ADX above the key level is a strong indicator that it is trending (23 to 25 is the suggested setting).
Sensitivity - an incremental variable to test whether the past n candles are in the same bullish or bearish state before triggering a delayed crossover alert (3 is the Default). Filter out some noise and reduces active alerts.
Show ADX Option - two visual styles are provided for user preference, a visible ADX line or a background overlay (green or red when ADX is above the key level, for bullish or bearish, and gray when below).
Color Candles - an option to transpose the bullish and bearish crossovers to the main candle bars. Can be turned off in the Style Tab by deselecting 'Bar Colors'. Dark blue is bullish, dark purple is bearish, and the black inner color is neutral. Note that the outer red and green border will still be distinguished by whether each individual candle is bearish or bullish during the specified timeframe.
Indicator Visuals
---------------------------
Bullish or Bearish plot based on DMI strategy (ADX and +/-DI values).
Visual cues are intended to improve analysis and decrease interpretation time during trading, as well as to aid in understanding the purpose of this study and how its inclusion can benefit a comprehensive trading strategy.
Trend Strength
---------------------------
To analyze trend strength, the focus should be on the ADX line and not the +DI or -DI lines. An ADX reading above 25 indicates a strong trend, while a reading below 20 indicates a weak or non-existent trend. A reading between those two values would be considered indeterminable. Though what is truly a strong trend or a weak trend depends on the financial instrument being examined; historical analysis can assist in determining appropriate values.
Bullish DI Cross
---------------------------
1. ADX must be over 25 (strong trend) (value is determined by the trader)
2. +DI cross above -DI
3. Set Stop Loss at the current day's low (any +DI cross-backs below -DI should be ignored)
4. Set trailing stop if ADX strengthens (i.e., signal rises)
Bearish DI Cross
---------------------------
1. ADX must be over 25 (strong trend) (value is determined by the trader)
2. -DI cross above +DI
3. Set Stop Loss at the current day's high (any -DI cross-backs below +DI should be ignored)
4. Set trailing stop if ADX strengthens (i.e., signal rises)
Disclaimer
---------------------------
This post and the script are not intended to provide any financial advice. Trade at your own risk.
No known repainting.
Version 1.1
-------------------------
- Added multi-timeframe resolution using PineCoders secure security function to eliminate repainting.
- Cleaned up option for selecting ADX view; and added a colored line as a choice, based on same bullish, bearish, or neutral colors as the background.
- Added exit crossover indicator to aid in an overall strategy development. This ability pairs better with my CHOP Zone Entry Strategy which relies on DMI Exits. Note that exit conditions don't employ the sensitivity variable. Green labels are for Bullish exits and red are for Bearish.
-- Exit condition is triggered if in an active Bullish or Bearish position and ADX drops below 25, Or if either the -DI crosses above +DI (for previously Bullish) or +DI crosses above -DI (for previously Bearish).
- Added reverse position determination. Triggers when a Bullish entry occurs on the same candle as a Bearish exit, or vice versa. Green labels are for Bullish reverses and red are for Bearish.
- Added selectable option to choose visible labels -- Bearish, Bullish, Both, Exits, Reverses, or All.
-- Note that a reverse label will only show if the opposing entry and exit labels are set to show, otherwise the reverse will revert to the appropriate entry or exit on the chart.
- Added alerts to account for new conditions.
-- Note that alerts for crossovers, exits, and reverses will only be triggered if the associated labels are selected to be shown (i.e., what you choose to see on the chart is what you will be alerted to).
Version 1.2
-------------------------
- Changed exit condition to be decided on by whether ADX is below 25 and on a +/-DI crossover. Versus being either or. The previous version had too many false triggers. This variety can now show multiple Bullish or Bearish alerts before an Exit condition too. I'm tempted to simply make this condition based on ADX, and not DI … thoughts? See lines 138 and 139.
- Updated the Background view to have deeper shades of colors dependent upon the ADX trend strength.
- Added an Oscillator view for the ADX and momentum computations to color the histogram by trend. DI lines are hidden.
-- If ADX is Bullish, then the oscillator is colored light green in an uptrend and dark green in a downtrend; if Bearish, then its light red in an uptrend and dark redin a downtrend; if adx is below key level, then it is light gray in a downtrend and dark grey in the uptrend.
- Added option to Hide ADX in case only the Directional lines are desired. This could be useful if you would like to have the ADX oscillator in one panel and +/-DI crossovers in another.
- Added a Columnar view for the ADX. DI lines are hidden. This view is really simple and compact, with the trend strength still easily understood. Colors are the same as for the oscillator -- the deeper the shade of green or red, then the higher the ADX trend strength level.
- Added a Trend Strength label.
ADX Trend Strength Trade (Y/N) Setup Types
0 to 10 = Barely Breathing N N/A
10 to 20 = Weak Trend Y Range/Pre-Breakout
20 to 30 = Potentially Starting to Trend Y Early Stage Trend
30 to 50 = Strong Trend Y Ride the Wave
50 to 75 = Very Strong Trend N Exhaustion
75 to 100 = Extremely Strong Trend N N/A
Version 1.3
-------------------------
Updated to Pine Script v5 to resolve errors from the deprecated v4 version.
This is a reissue of a previously published script that was hidden due to a v4 compatibility issue.
'https://www.pulsewire.com/script/9OoEHrv5-Directional-Movement-Index-DMI-Alerts/' Indicator

Adaptive Kalman Trend Filter (Zeiierman)█ Overview
The Adaptive Kalman Trend Filter indicator is an advanced trend-following tool designed to help traders accurately identify market trends. Utilizing the Kalman Filter—a statistical algorithm rooted in control theory and signal processing—this indicator adapts to changing market conditions, smoothing price data to filter out noise. By focusing on state vector-based calculations, it dynamically adjusts trend and range measurements, making it an excellent tool for both trend-following and range-based trading strategies. The indicator's adaptive nature is enhanced by options for volatility adjustment and three unique Kalman filter models, each tailored for different market conditions.
█ How It Works
The Kalman Filter works by maintaining a model of the market state through matrices that represent state variables, error covariances, and measurement uncertainties. Here’s how each component plays a role in calculating the indicator’s trend:
⚪ State Vector (X): The state vector is a two-dimensional array where each element represents a market property. The first element is an estimate of the true price, while the second element represents the rate of change or trend in that price. This vector is updated iteratively with each new price, maintaining an ongoing estimate of both price and trend direction.
⚪ Covariance Matrix (P): The covariance matrix represents the uncertainty in the state vector’s estimates. It continuously adapts to changing conditions, representing how much error we expect in our trend and price estimates. Lower covariance values suggest higher confidence in the estimates, while higher values indicate less certainty, often due to market volatility.
⚪ Process Noise (Q): The process noise matrix (Q) is used to account for uncertainties in price movements that aren’t explained by historical trends. By allowing some degree of randomness, it enables the Kalman Filter to remain responsive to new data without overreacting to minor fluctuations. This noise is particularly useful in smoothing out price movements in highly volatile markets.
⚪ Measurement Noise (R): Measurement noise is an external input representing the reliability of each new price observation. In this indicator, it is represented by the setting Measurement Noise and determines how much weight is given to each new price point. Higher measurement noise makes the indicator less reactive to recent prices, smoothing the trend further.
⚪ Update Equations:
Prediction: The state vector and covariance matrix are first projected forward using a state transition matrix (F), which includes market estimates based on past data. This gives a “predicted” state before the next actual price is known.
Kalman Gain Calculation: The Kalman gain is calculated by comparing the predicted state with the actual price, balancing between the covariance matrix and measurement noise. This gain determines how much of the observed price should influence the state vector.
Correction: The observed price is then compared to the predicted price, and the state vector is updated using this Kalman gain. The updated covariance matrix reflects any adjustment in uncertainty based on the latest data.
█ Three Kalman Filter Models
Standard Model: Assumes that market fluctuations follow a linear progression without external adjustments. It is best suited for stable markets.
Volume Adjusted Model: Adjusts the filter sensitivity based on trading volume. High-volume periods result in stronger trends, making this model suitable for volume-driven assets.
Parkinson Adjusted Model: Uses the Parkinson estimator, accounting for volatility through high-low price ranges, making it effective in markets with high intraday fluctuations.
These models enable traders to choose a filter that aligns with current market conditions, enhancing trend accuracy and responsiveness.
█ Trend Strength
The Trend Strength provides a visual representation of the current trend's strength as a percentage based on oscillator calculations from the Kalman filter. This table divides trend strength into color-coded segments, helping traders quickly assess whether the market is strongly trending or nearing a reversal point. A high trend strength percentage indicates a robust trend, while a low percentage suggests weakening momentum or consolidation.
█ Trend Range
The Trend Range section evaluates the market's directional movement over a specified lookback period, highlighting areas where price oscillations indicate a trend. This calculation assesses how prices vary within the range, offering an indication of trend stability or the likelihood of reversals. By adjusting the trend range setting, traders can fine-tune the indicator’s sensitivity to longer or shorter trends.
█ Sigma Bands
The Sigma Bands in the indicator are based on statistical standard deviations (sigma levels), which act as dynamic support and resistance zones. These bands are calculated using the Kalman Filter's trend estimates and adjusted for volatility (if enabled). The bands expand and contract according to market volatility, providing a unique visualization of price boundaries. In high-volatility periods, the bands widen, offering better protection against false breakouts. During low volatility, the bands narrow, closely tracking price movements. Traders can use these sigma bands to spot potential entry and exit points, aiming for reversion trades or trend continuation setups.
Trend Based
Volatility Based
█ How to Use
Trend Following:
When the Kalman Filter is green, it signals a bullish trend, and when it’s red, it indicates a bearish trend. The Sigma Cloud provides additional insights into trend strength. In a strong bullish trend, the cloud remains below the Kalman Filter line, while in a strong bearish trend, the cloud stays above it. Expansion and contraction of the Sigma Cloud indicate market momentum changes. Rapid expansion suggests an impulsive move, which could either signal the continuation of the trend or be an early sign of a possible trend reversal.
Mean Reversion: Watch for prices touching the upper or lower sigma bands, which often act as dynamic support and resistance.
Volatility Breakouts: Enable volatility-adjusted sigma bands. During high volatility, watch for price movements that extend beyond the bands as potential breakout signals.
Trend Continuation: When the Kalman Filter line aligns with a high trend strength, it signals a continuation in that direction.
█ Settings
Measurement Noise: Adjusts how sensitive the indicator is to price changes. Higher values smooth out fluctuations but delay reaction, while lower values increase sensitivity to short-term changes.
Kalman Filter Model: Choose between the standard, volume-adjusted, and Parkinson-adjusted models based on market conditions.
Band Sigma: Sets the standard deviation used for calculating the sigma bands, directly affecting the width of the dynamic support and resistance.
Volatility Adjusted Bands: Enables bands to dynamically adapt to volatility, increasing their effectiveness in fluctuating markets.
Trend Strength: Defines the lookback period for trend strength calculation. Shorter periods result in more responsive trend strength readings, while longer periods smooth out the calculation.
Trend Range: Specifies the lookback period for the trend range, affecting the assessment of trend stability over time.
-----------------
Disclaimer
The information contained in my Scripts/Indicators/Ideas/Algos/Systems does not constitute financial advice or a solicitation to buy or sell any securities of any type. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
My Scripts/Indicators/Ideas/Algos/Systems are only for educational purposes!
Indicator

Indicator

Directional Movement Index FLEXA common problem experienced by short term traders using DMI/ADX is that the session breaks results in carry-over effects from the prior session. For example, a large gap up would result in a positive DMI, even though momentum is clearly negative. Note the extremely different results in the morning session, when the gap is reversed.
The DMI-FLEX algoritm resets the +DI and -DI values to the prior session ending midpoint, so that new momentum can be observed from the indicator. (Note for Pinescript coders: rma function does not accept series int, thus the explicit pine_rma function)
DMI-FLEX has the added feature that the ADX value, instead of a separate line, is shown as shading between the +DI and -DI lines, and the color itself is determined by whether +DI is above -DI for a bullish color, or -DI is above +DI for a bearish color.
DMI Flex also gives you the flexibility of inverse colors, in case your chart has inverted scale.
Summary and How to use:
1) Green when +DI is above -DI
2) Red when -DI is above +DI
3) Deeper shading represents a higher ADX value.
Indicator

Ichimoku Cloud and ADX with Trailing Stop Loss (by Coinrule)The Ichimoku Cloud is a collection of technical indicators that show support and resistance levels, as well as momentum and trend direction. It does this by taking multiple averages and plotting them on a chart. It also uses these figures to compute a “cloud” that attempts to forecast where the price may find support or resistance in the future.
The Ichimoku Cloud was developed by Goichi Hosoda, a Japanese journalist, and published in the late 1960s. It provides more data points than the standard candlestick chart. While it seems complicated at first glance, those familiar with how to read the charts often find it easy to understand with well-defined trading signals.
The Ichimoku Cloud is composed of five lines or calculations, two of which comprise a cloud where the difference between the two lines is shaded in.
The lines include a nine-period average, a 26-period average, an average of those two averages, a 52-period average, and a lagging closing price line.
The cloud is a key part of the indicator. When the price is below the cloud, the trend is down. When the price is above the cloud, the trend is up.
The above trend signals are strengthened if the cloud is moving in the same direction as the price. For example, during an uptrend, the top of the cloud is moving up, or during a downtrend, the bottom of the cloud is moving down.
DMI is simple to interpret. When +DI > - DI, it means the price is trending up. On the other hand, when -DI > +DI , the trend is weak or moving on the downside. The ADX does not give an indication about the direction but about the strength of the trend.
Typically values of ADX above 25 mean that the trend is steeply moving up or down, based on the -DI and +D positioning. This script aims to capture swings in the DMI, and thus, in the trend of the asset, using a contrarian approach.
Trading on high values of ADX, the strategy tries to spot extremely oversold and overbought conditions. Values of ADX above 45 may suggest that the trend has overextended and is may be about to reverse.
This strategy combines the Ichimoku Cloud with the ADX indicator to better enter trades.
Long orders are placed when these basic signals are triggered.
Long Position:
Tenkan-Sen is above the Kijun-Sen
Chikou-Span is above the close of 26 bars ago
Close is above the Kumo Cloud
MACD line crosses over the signal line
-DI is greater than +DI
ADX is greater than 45
Close Position:
3% increase trailing
3% decrease trailing
The script is backtested from 1 January 2018 and provides good returns.
The strategy assumes each order is using 30% of the available coins to make the results more realistic and to simulate you only ran this strategy on 30% of your holdings. A trading fee of 0.1% is also taken into account and is aligned to the base fee applied on Binance.
This script also works well on MATIC (1d timeframe), ETH (1d timeframe), and SOL (1d timeframe). Strategy

Directional Movement Indicator (DMI and ADX) - TartigradiaDirection Movement Indicator (DMI) is a trend indicator invented by Welles Wilder, who also authored RSI.
DMI+ and DMI- respectively indicate pressure towards bullish or bearish trends.
ADX is the average directional movement, which indicates whether the market is currently trending (high values above 25) or ranging (below 20) or undecided (between 20 and 25).
DMX is the non smoothed ADX, which allows to detect transitions from trending to ranging markets and inversely with zero lag, but at the expense of having much more noise.
This is an extended indicator, from the original one by BeikabuOyaji, please show them some love if you appreciate this indicator:
Usage: To use this indicator for entry: when DMI+ crosses over DMI-, there is a bullish sentiment, however ADX also needs to be above 25 to be significant, otherwise the move is not necessarily sustainable.
Inversely, when DMI+ crosses under DMI- and ADX is above 25, then the sentiment is significantly bearish, but if ADX is below 20, the signal should be disregarded.
This indicator automatically highlights the background in green when ADX is above 25, and in red when ADX is below 20, to ease interpretation.
Also, arrows can be activated in the Style menu to automatically show when the two conditions described above are met, or these can be used in a strategy. Indicator

Indicator

Indicator

Sideways Strategy DMI + Bollinger Bands (by Coinrule)Markets don’t always trade in a clear direction. At a closer look, most of the time, they move sideways. Relying on trend-following strategies all the time can thus lead to repeated false signals in such conditions.
However, before you can safely trade sideways, you have to identify the most suitable market conditions.
The main features of such strategies are:
Short-term trades, with quick entries and quick exits
Slightly contrarian and mean-reversionary
Require some indicator that tells you it’s a sideways market
This Sideways DMI + Bollinger Bands strategy incorporates such features to bring you a profitable alternative when the regular trend-following systems stop working.
ENTRY
1. The trading system requires confirmation for a sideways market from the Directional Movement Index (DMI) before you can start opening any trades. For this purpose, the strategy uses the absolute difference between positive and negative DMI, which must be lower than 20.
2. To pick the right moment to buy, the strategy looks at the Bollinger Bands (BB). It enters the trade when the price crosses over the lower BB.
EXIT
The strategy then exits when the move has been exhausted. Generally, in sideways markets, the price should revert lower. The position is closed when the price crosses back down below the upper BB.
The best time frame for this strategy based on our backtest is the 1-hr. Shorter timeframes can also work well on certain coins that are more volatile and trade sideways more often. However, as expected, these exhibit larger volatility in their returns. In general, this approach suits medium timeframes. A trading fee of 0.1% is taken into account. The fee is aligned to the base fee applied on Binance, which is the largest cryptocurrency exchange. Strategy

Directional Movement Index + Fisher Price Action With LabelsDIRECTIONAL MOVEMENT INDEX + FISHER PRICE ACTION WITH LABELS
Directional Movement Index shows buy and sell pressure.
Fisher transform shows price action trending bullish or bearish.
Caution dots notify you of conflicting trends.
***HOW TO USE***
The top lines are the fisher transform showing you the price action trend.
The bottom lines filled with color shows the DMI directional movement index.
The yellow dots at the bottom tell you if these two indicators are currently giving conflicting signals.
DMI
If the green line is above the red line and the background is colored green, there is more market buying than selling.
If the red line is above the green line and the background is colored red, there is more market selling than buying.
FISHER TRANSFORM
If the lines are painted green, the price action is trending up.
If the lines are painted red, the price action is trending down.
CAUTION DOTS
If a yellow dot shows up at the bottom of the chart, it is notifying you that the DMI and Fisher Transform are currently giving opposite signals…. so use caution.
***BULLISH/BEARISH LABEL***
There is also a label on the right side that tells you whether there is more buying or selling. This table updates in real time and changes colors so you can get an easy, quick interpretation of the current buy/sell pressure without having to look at the indicator data so you can make faster decisions on whether to enter or exit a trade.
Green means more market buying than selling.
Red means more market selling than buying.
Blue means an equal amount of market buying and selling.
If buying pressure is bullish but below the 20 level, a second label will show up in purple letting you know there is weak buying pressure so use caution.
If selling pressure is bearish but below the 20 level, a second label will show up in purple letting you know there is weak selling pressure so use caution.
There is a third label showing the current trend of the fisher transform. Green means bullish price action. Red means bearish price action.
The fourth label is orange and only shows up when the DMI and Fisher Transform are currently giving opposite signals, so make sure you use caution during those times.
***MARKETS***
This indicator can be used as a signal on all markets, including stocks, crypto, futures and forex.
***TIMEFRAMES***
This directional movement index + fisher transform indicator can be used on all timeframes.
***TIPS***
Try using numerous indicators of ours on your chart so you can instantly see the bullish or bearish trend of multiple indicators in real time without having to analyze the data. Some of our favorites are our Auto Fibonacci, Volume Profile, Momentum, Auto Support And Resistance and Money Flow Index in combination with this Directional Movement Index + Fisher Transform. They all have real time Bullish and Bearish labels as well so you can immediately understand each indicator's trend.
Indicator

Volume Profile With Buy & Sell Pressure LabelVOLUME PROFILE WITH BUY AND SELL PRESSURE LABEL
This volume profile indicator shows volume traded for each bar and is colored according to the difference in buy and sell pressure(DMI).
***HOW TO USE***
If the bar and background is colored green, there is more market buying than selling on that bar.
If the bar and background is colored red, there is more market selling than buying on that bar.
If the bar and background is colored blue, there is an equal amount of market buying and selling on that bar.
***BUY/SELL LABEL***
There is also a label on the right side that tells you whether there is more buying or selling on the current bar. This table updates in real time and changes colors so you can get an easy, quick interpretation of the current buy/sell pressure without having to look at the volume bars so you can make faster decisions on whether to enter or exit a trade. The table changes colors in sync with the volume bars and background. Green means more market buying than selling. Red means more market selling than buying. Blue means an equal amount of market buying and selling.
***MARKETS***
This indicator can be used as a signal on all markets, including stocks, crypto, futures and forex.
***TIMEFRAMES***
This volume profile indicator can be used on all timeframes.
***TIPS***
Try using numerous indicators of ours on your chart so you can instantly see the bullish or bearish trend of multiple indicators in real time without having to analyze the data. Some of our favorites are our Auto Fibonacci, DMI, Momentum, Auto Support And Resistance and Money Flow Index in combination with this Volume Profile. They all have real time Bullish and Bearish labels as well so you can immediately understand each indicator's trend.
Indicator

Candles Colored Green/Red According To Buy & Sell PressureCANDLES COLORED GREEN OR RED ACCORDING TO BUY & SELL PRESSURE
This indicator paints each candle green, red or blue depending on whether the buy/sell pressure for that candle is bullish, bearish or neutral.
***TURN OFF NORMAL CANDLE COLORS***
For this script to show properly on the chart, make sure you go to chart settings(gear icon in top right corner) and in the symbol tab, uncheck body, borders and wick.
***HOW TO USE***
When the directional movement index indicator shows more buying pressure than selling pressure, the candle will appear lime green. This indicates bullish buying pressure.
When the directional movement index indicator shows more selling pressure than buying pressure, the candle will appear red. This indicates bearish selling pressure.
When the directional movement index indicator shows the same amount of buy and sell pressure, the candle will appear blue. This indicates neutral buy/sell pressure.
Use the color changes to see if there is more buying or selling to pinpoint reversals and understand current market buying. Wait to enter or exit positions until the candles turn the opposite color.
***MARKETS***
This indicator can be used as a signal on all markets, including stocks, crypto, futures and forex.
***TIMEFRAMES***
This DMI color coded candlestick indicator can be used on all timeframes.
***TIPS***
Try using numerous indicators of ours on your chart so you can instantly see the bullish or bearish trend of multiple indicators in real time without having to analyze the data. Some of our favorites are our Auto Fibonacci, Directional Movement Index, Color Coded Buy & Sell Pressure Volume Profile, Auto Support And Resistance and Money Flow Index in combination with this Buy & Sell pressure Candle indicator.
Indicator

Indicator
