+1 888 340 6572

# Oscillators > Dynamo (Dynamic Momentum Oscillator)

Article/Author: E. Marshall Wall

File Includes:

Indicator - Dynamo Dynamic Momentum Oscillator)
Function - HighestSofar
Function - LowestSoFar

Category: Indicator > Oscillators

Description:

In July 1996 Futures magazine, E. Marshall Wall introduces the Dynamic Momentum Oscillator (Dynamo). Please refer to this article for interpretation.

The Dynamo oscillator is a normalizing function which adjusts the values of a standard oscillator for trendiness by taking the difference between the value of the oscillator and a moving average of the oscillator and then subtracting that value from the oscillator midpoint.

Dynamo Oscillator is calculated according:

Dynamo = Mc - ( MAo - O )

where:

Mc = the midpoint of the oscillator
MAo = a moving average of the oscillator
O = the oscillator

Usage:

This concept can be applied to most any oscillator to improve its results.

Example: Applying the Dynamo Oscillator to a 5-period %K slowed 3 periods Stochastic Oscillator would give:

50-(Mov(Stoch(5,3),21,S)-Stoch(5,3))

where:

Mc = Stochastic Oscillator's midpoint = 50
MAo = Moving average of the Stochastic = Mov(Stoch(5,3),21,S
O = Stochastic Oscillator = Stoch(5,3)

Inputs:

OscLen - number of bars to calculate an oscillator
MaLen - number of bars to calculate a moving average
LowBand - oversold line
HiBand - over bought line

EasyLanguage Code:
```INPUTS : OSCLEN(10), MALEN(20), LOWBAND(23), HIBAND(77);
VAR: OSCVAL(0), MAVAL(0), MIDPNT(0);

OSCVAL = AVERAGE(FASTK(OSCLEN), OSCLEN);

MAVAL = AVERAGE(OSCVAL, MALEN);

MIDPNT = (LOWESTSOFAR(AVERAGE(FASTK(OSCLEN), OSCLEN)) + HIGHESTSOFAR(AVERAGE(FASTK(OSCLEN), OSCLEN))) / 2;

PLOT1(MIDPNT - (MAVAL - OSCVAL), "DYNAMO");
PLOT2(LOWBAND, "LOWBAND");
PLOT3(HIBAND,"HIBAND");```