Velocity Divergence Radar [JOAT]
Velocity Divergence Radar - Momentum Physics Edition
Overview
Velocity Divergence Radar is an open-source oscillator indicator that applies physics concepts to market analysis. It calculates price velocity (rate of change), acceleration (rate of velocity change), and jerk (rate of acceleration change) to provide a multi-dimensional view of momentum. The indicator also includes divergence detection and force vector analysis.
What This Indicator Does
The indicator calculates and displays:
Velocity - Rate of price change over a configurable period, smoothed with EMA
Acceleration - Rate of velocity change, showing momentum shifts
Jerk (3rd Derivative) - Rate of acceleration change, indicating momentum stability
Force Vectors - Volume-weighted acceleration representing market force
Kinetic Energy - Calculated as 0.5 * mass (volume ratio) * velocity squared
Momentum Conservation - Tracks momentum relative to historical average
Divergence Detection - Identifies when price and velocity diverge at pivots
How It Works
Velocity is calculated as smoothed rate of change:
calculateVelocity(series float price, simple int period) =>
float roc = ta.roc(price, period)
float velocity = ta.ema(roc, period / 2)
velocity
Acceleration is the change in velocity:
calculateAcceleration(series float velocity, simple int period) =>
float accel = ta.change(velocity, period)
float smoothAccel = ta.ema(accel, period / 2)
smoothAccel
Jerk is the change in acceleration:
calculateJerk(series float acceleration, simple int period) =>
float jerk = ta.change(acceleration, period)
float smoothJerk = ta.ema(jerk, period / 2)
smoothJerk
Force is calculated using F = m * a (mass approximated by volume ratio):
calculateForceVector(series float mass, series float acceleration) =>
float force = mass * acceleration
float forceDirection = math.sign(force)
float forceMagnitude = math.abs(force)
Signal Generation
Signals are generated based on velocity behavior:
Bullish Divergence: Price makes lower low while velocity makes higher low
Bearish Divergence: Price makes higher high while velocity makes lower high
Velocity Cross: Velocity crosses above/below zero line
Extreme Velocity: Velocity exceeds 1.5x the upper/lower zone threshold
Jerk Extreme: Jerk exceeds 2x standard deviation
Force Extreme: Force magnitude exceeds 2x average
Dashboard Panel (Top-Right)
Velocity - Current velocity value
Acceleration - Current acceleration value
Momentum Strength - Combined velocity and acceleration strength
Radar Score - Composite score based on velocity and acceleration
Direction - STRONG UP/SLOWING UP/STRONG DOWN/SLOWING DOWN/FLAT
Jerk - Current jerk value
Force Vector - Current force magnitude
Kinetic Energy - Current kinetic energy value
Physics Score - Overall physics-based momentum score
Signal - Current actionable status
Visual Elements
Velocity Line - Main oscillator line with color based on direction
Velocity EMA - Smoothed velocity for trend reference
Acceleration Histogram - Bar chart showing acceleration direction
Jerk Area - Filled area showing jerk magnitude
Vector Magnitude - Line showing combined vector strength
Radar Scan - Oscillating pattern for visual effect
Zone Lines - Upper and lower threshold lines
Divergence Labels - BULL DIV / BEAR DIV markers
Extreme Markers - Triangles at velocity extremes
Input Parameters
Velocity Period (default: 14) - Period for velocity calculation
Acceleration Period (default: 7) - Period for acceleration calculation
Divergence Lookback (default: 10) - Bars to scan for divergence
Radar Sensitivity (default: 1.0) - Zone threshold multiplier
Jerk Analysis (default: true) - Enable 3rd derivative calculation
Force Vectors (default: true) - Enable force analysis
Kinetic Energy (default: true) - Enable energy calculation
Momentum Conservation (default: true) - Enable momentum tracking
Suggested Use Cases
Identify momentum direction using velocity sign and magnitude
Watch for divergences as potential reversal warnings
Use acceleration to detect momentum shifts before price confirms
Monitor jerk for momentum stability assessment
Combine force and kinetic energy for conviction analysis
Timeframe Recommendations
Works on all timeframes. Higher timeframes provide smoother readings; lower timeframes show more granular momentum changes.
Limitations
Physics analogies are conceptual and not literal market physics
Divergence detection uses pivot-based lookback and may lag
Force calculation uses volume ratio as mass proxy
Kinetic energy is a derived metric, not actual energy
Open-Source and Disclaimer
This script is published as open-source under the Mozilla Public License 2.0 for educational purposes. It does not constitute financial advice. Past performance does not guarantee future results. Always use proper risk management.
- Made with passion by officialjackofalltrades
Physics
Navier-Cauchy Market Elasticity [PhenLabs]📊 Navier-Cauchy Market Elasticity
Version: PineScript™ v6
📌 Description
The Navier-Cauchy Market Elasticity (NCME) indicator takes a new step into technical analysis by applying materials science principles to financial markets. Similar to last weeks release utilizing Navier-Stokes dynamics equation this indicator focuses on the elastic interaction of virtual “solids”. Based on elasticity theory used in engineering, NCME treats price movements as material deformations, calculating market stress and strain using proven physics formulas. This unique approach reveals hidden market dynamics invisible to traditional indicators.
By implementing Lamé parameters and Young’s modulus calculations, NCME identifies critical stress points where markets exhibit extreme tension or compression. These zones often precede significant price movements, providing traders with advanced warning of potential reversals or breakouts.
🚀 Points of Innovation
• First indicator to apply Navier-Cauchy elasticity equations to market analysis
• Dynamic stress tensor calculations adapted for one-dimensional price movements
• Real-time Poisson ratio adjustments for market-specific elasticity modeling
• Gradient-based coloring system that visualizes stress intensity variations
• Advanced display modes with customizable visual layers for professional analysis
• Physics-based volatility normalization using Young’s modulus principles
🔧 Core Components
• Elasticity Engine: Calculates market elasticity using volatility-adjusted Young’s modulus
• Stress Tensor System: Computes normal stress values using Lamé parameters (λ and μ)
• Strain Measurement: Tracks price displacement relative to historical movement patterns
• Dynamic Bands: Statistical deviation bands that adapt to market elasticity changes
🔥 Key Features
• Four Display Modes: Choose between Histogram, Line, Both, or Advanced visualization
• Five Color Schemes: Modern, Classic, Neon, Ocean, and Fire themes with gradient support
• Background Stress Zones: Five distinct zones showing market stress levels visually
• Customizable Smoothing: Adjustable period for noise reduction without signal lag
• Extreme Value Detection: Automatic marking of critical stress points with visual alerts
• Advanced Mode Options: Glow effects, momentum ribbon, and extreme dots toggles
🎨 Visualization
• Stress Line: Primary indicator showing real-time market stress with gradient coloring
• Histogram Bars: Normalized stress values with dynamic opacity based on magnitude
• Reference Bands: Primary and secondary deviation bands for context
• Background Zones: Color-coded regions indicating stress intensity levels
• Signal Dots: Markers appearing at extreme stress points for easy identification
📖 Usage Guidelines
Display Settings
• Display Style
○ Default: Advanced
○ Options: Histogram, Line, Both, Advanced
○ Description: Controls visual presentation mode. Advanced offers the most comprehensive view with multiple layers
• Smoothing Period
○ Default: 3
○ Range: 1-50
○ Description: Moving average periods for noise reduction. Higher values create smoother signals but may introduce lag
Elasticity Parameters
• Displacement Length
○ Default: 14
○ Range: 1-100
○ Description: Lookback period for strain calculation. Shorter periods detect rapid stress changes
• Elasticity Length
○ Default: 30
○ Range: 1-200
○ Description: Period for volatility-based elasticity calculation. Longer periods provide more stable readings
• Poisson Ratio
○ Default: 0.3
○ Range: 0-0.5
○ Description: Theoretical elasticity ratio. 0.3 works well for most markets; adjust for specific asset classes
✅ Best Use Cases
• Identifying market tension before major breakouts
• Detecting compression zones during accumulation phases
• Confirming trend strength through stress persistence
• Timing reversals at extreme stress levels
• Multi-timeframe stress analysis for comprehensive market view
⚠️ Limitations
• Requires sufficient price history for accurate elasticity calculations
• May produce false signals during unprecedented market events
• Works best in liquid markets with consistent volume
• Not suitable as a standalone trading system
💡 What Makes This Unique
• Physics-Based Foundation: First indicator to properly implement elasticity theory
• Academic Rigor: Based on proven Navier-Cauchy equations from materials science
• Visual Innovation: Multiple display modes with professional-grade aesthetics
• Adaptive Technology: Self-adjusting parameters based on market conditions
🔬 How It Works
1. Strain Calculation:
• Measures price displacement over specified period
• Normalizes displacement relative to price level
2. Elasticity Determination:
• Calculates Young’s modulus using inverse volatility
• Updates Lamé parameters based on Poisson ratio
3. Stress Computation:
• Applies elasticity theory formula: σ = (λ + 2μ) × ε
• Scales result for visual clarity
• Applies smoothing to reduce noise
💡 Note: NCME represents a breakthrough in applying physics principles to market analysis. While based on proven scientific formulas, remember that markets are complex systems influenced by human psychology and external factors. Use NCME as part of a comprehensive trading strategy with proper risk management.
Particle Physics Moving AverageThis indicator simulates the physics of a particle attracted by a distance-dependent force towards the evolving value of the series it's applied to.
Its parameters include:
The mass of the particle
The exponent of the force function f=d^x
A "medium damping factor" (viscosity of the universe)
Compression/extension damping factors (for simulating spring-damping functions)
This implementation also adds a second set of all of these parameters, and tracks 16 particles evenly interpolated between the two sets.
It's a kind of Swiss Army Knife of Moving Average-type functions; For instance, because the position and velocity of the particle include a "historical knowlege" of the series, it turns out that the Exponential Moving Average function simply "falls out" of the algorithm in certain configurations; instead of being configured by defining a period of samples over which to calculate an Exponential Moving Average, in this derivation, it is tuned by changing the mass and/or medium damping parameters.
But the algorithm can do much more than simply replicate an EMA... A particle acted on by a force that is a linear function of distance (force exponent=1) simulates the physics of a sprung-mass system, with a mass-dependent resonant frequency. By altering the particle mass and damping parameters, you can simulate something like an automobile suspension, letting your particle track a stock's price like a Cadillac or a Corvette (or both, including intermediates) depending on your setup. Particles will have a natural resonance with a frequency that depends on its mass... A higher mass particle (i.e. higher inertia) will resonate at a lower frequency than one with a lower mass (and of course, in this indicator, you can display particles that interpolate through a range of masses.)
The real beauty of this general-purpose algorithm is that the force function can be extended with other components, affecting the trajectory of the particle; For instance "volume" could be factored into the current distance-based force function, strengthening or weakening the impulse accordingly. (I'll probably provide updates to the script that incoroprate different ideas I come up with.)
As currently pictured above, the indicator is interpolating between a medium-damped EMA-like configuration (red) and a more extension-damped suspension-like configuration (blue).
This indicator is merely a tool that provides a space to explore such a simulation, to let you see how tweaking parameters affects the simulations. It doesn't provide buy or sell signals, although you might find that it could be adapted into an MACD-like signal generator... But you're on your own for that.
Newton Force and MomentumThis indicator is meant to show the Force of price, based on Newton's Second Law of Motion; and the momentum of price. Force is the value on the left, and momentum on the right.
Originally this was supposed to only be an indicator looking at Force, but because the already popular indicator called "Momentum" does not calculate the momentum of price, but rather the change of price depending on how far back you want to look; I decided to add the Momentum aspect to the indicator.
*BTW if you find this script useful thank and follow @overttherainbow, because they are the one who gave me the idea for this script.*
Mathematical Derivatives of PriceThis indicator is meant to show the Velocity (1st order derivative), Acceleration (2nd order derivative), Jerk (3rd order derivative), Snap (4th order derivative), Crackle (5th order derivative), & Pop (6th order derivative) of price. The values at the top of the indicator window are in this order from left to right. I don't particularly know how this would be used in a trading strategy, but if you're ever curious about how quickly price is moving and how much it is accelerating, then you could use this tool.
*If you only care about velocity and acceleration, and don't like how squished the window is because of the long decimal numbers then edit the "precision" value in the first line of the script to a smaller number of your choosing.*




