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.
Physics
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.*