LightningChartReviewing 17 different Money Flow Oscillators

ArticleAn introduction to some of the most important Money Flow Oscillators for technical analysis.

Written by a human | Updated on April 22nd, 2025

Money Flow Oscillators

This is the third part of the series on technical indicators for market analysis (trends, overbought, oversold, etc.). In the first two articles, we looked at Envelope Indicators and Moving Averages. These indicators work together and rely on the moving average to set high and low limits.

Moving averages help us find trends that may be found quickly or slowly, depending on the length of the period under analysis and the moving average smoothing. The smoothing of the moving average depends on the average and the number of times it is averaged.

The different types of moving averages are differentiated by these calculations and are named after the analyst who created them. Given this brief introduction, we will now begin the introduction to Money Flow Oscillators.

Money Flow Oscillators are another type of indicator that uses price and volume to identify oversold and overbought points in the market. These articles will serve as an introduction to upcoming development content, featuring the new tools that Lightning Chart will offer.

Accumulation/Distribution Indicator (A/D)

As the name implies, this indicator relies on volume to evaluate whether a security is accumulating or distributing. Accumulation refers to buying pressure and distribution refers to selling pressure.

This indicator also locates, when the price of an asset is generated in the opposite direction to a technical indicator. If the indicator falls while the price rises, it means that the volume is not enough to support a possible price drop. This indicator accumulates values which can be added or subtracted from the most recent period.

Formula:

A/D= (Close−Low) − (High−Close) / High−Low

​where:

  • Close = Closing price
  • Low = Low price for the period
  • High = High price for the period
Money-flow-oscillator-Accumulation-distribution-indicator

Chaikin Money Flow (CMF)

The Chaiking money flow was created by Marc Chaikin. Its objective is to measure the accumulation and distribution of shares over a period of time. Accumulation is established when the price approaches the maximum closing price. The distribution happens when the price gets closer to the minimum closing price.

Chaikin-technical-oscillator

Chaikin Oscillator

The oscillator measures distribution and accumulation based on the moving convergence line (MACD). MACD refers to the moving average convergence/divergence indicator (MACD or MAC-D). It follows the trend and shows the relationship between two exponential moving averages (EMA).

The Chaikin Oscillator can be measured with the subtraction between two exponential moving averages (EMA). Both EMAs with different periods, for example, the first 10 days and the second 3 days.

Formula:

Chaikin Oscillator = (3-day EMA of ADL)  -  (10-day EMA of ADL)

Where:

ADL = Accumulation/Distribution Line

Chaikin-Oscillator

Ease of Movement Indicator

This indicator helps identify the ease of price movement. It can also indicate the amount of price changes produced by units of volume. The ease of movement depends on the distance and amount of prices moved by a trading volume.

Formula:

Distance Moved = ((High + Low)/2 - (Prior High + Prior Low)/2)

Box Ratio = ((Volume/100,000,000)/(High - Low))

1-Period EMV = ((High + Low)/2 - (Prior High + Prior Low)/2) / ((Volume/100,000,000)/( High - Low))

14-Period Ease of Movement = 14-Period simple moving average of 1-period EMV

Ease-of-Movement-Indicator

Elder’s Force Index (EFI)

Created by Dr. Alexander Elder, it helps to identify trend direction by evaluating buying and selling pressure. To calculate buying and selling pressure, it uses price, volume, and time. If the result is above 0, it indicates a positive control in the buying trend attributing control to the bulls. If the result is less than 0, it indicates that the trend points to selling, giving control of the market to the bears.

Formula:

EFI = (Current price - Previous price) * Current volume

Elders-Force-Index

Klinger Volume Oscillator (KVO)

Created by Stephen Klinger, this indicator helps show the severity of the movement of a financial asset based on the volume of a period. This indicator is displayed as two oscillating lines and a central midline.

To calculate this indicator, you need to obtain the volume force. This is obtained by subtracting the 34-period EMA of volume strength from the 55-period EMA of volume strength.

Klinger = VF 34 period EMA − VF 55 period EMA

VF = Volumen Force:

VF = Volumen x [2 x ((dm/cm) – 1)] x Tendency x 100

Where:

  • dm = High – Low
  • cm = cm(previous) + dm si T = T previous
  • cm = dm(previous) + dm si T ≠ T previous

Where:

T= +1 if (High +Low + Close)>(Hprevious+Lprevious+Cprevious)

T=-1 if (High + Low + Close)<=(Hprevious+Lprevious+Cprevious)

Klinger-Volume-Oscillator

Market Facilitation Index (MFI)

Created by Bill Williams, similar to the Klinger oscillator, it measures the effectiveness of price movement based on prices per unit of volume. Unlike the Klinger oscillator, the calculation is more intuitive, since you only subtract the minimum of the day from the maximum and divide the result by the total volume.

Market-Facilitation-Index-Example

For the Market Facilitation Index, there are 4 groups proposed:

  1. Green: Indicates growth in MFI. When the number of participants in the market increases, the volume increases and therefore the MFI.
  1. Fade: The number of participants decreases and so does the volume.
  1. Fake: The MFI increases but the volume drops. The MFI increased due to speculation but not due to real data.
  1. Squat: The MFI drops but the volume increases. This is due to a conflict between the bulls and bears, stopping the increase in the MFI.
Market-Facilitation-Index

Money Flow Index (MFI)

Like the rest of the indicators, the Money Flow Index identifies overbought and oversold based on the study of volumes. An extra attribute of this indicator is the detection of divergences or the opposite movement of an asset in relation to others. An MFI above 80 equals an overbought reading, while readings below 20 indicate oversold.

Formula:

MFI =100− (100/1+Money Flow Ratio)

​Where:

  • MFI = 14 Period Negative Money Flow / 14 Period Positive Money Flow
  • ​Raw Money Flow = Typical Price * Volume
  • Typical Price= High + Low + Close / 3
Money-Flow-Index

Negative Volume Index (NVI)

Created by Paul Dysart, the Negative Volume Index is based on the amount of volume and price, with the aim of showing how low volumes in a period affect price movement. This indicator is commonly used with the Negative Volume Index (PVI), as a complement to help track the price of a security with the effects of volume.

Like the PVI, the NVI is represented as a line within a graph:

NVI-graph

Formula:

NVI= (Close Previous Close / Previous Close) * previous NVI

Negative-Volume-Index

Positive Volume Index (PVI)

The moving average evaluates trends based on positive price increases in volumes. If there is no increase in the last period, the PVI remains the same. These periods are usually 255 days (One year for the PVI), which helps confirm price increases if the PVI is above, otherwise, if it is below, it indicates a price drop.

Formula:

PreviousPVI + (TodayClosingPrice YesterdayClosingPrice / YesterdayClosingPrice) × PreviousPVI

Positive-Volume-Index

On-Balance Volume (OBV)

Developed by Joseph Granville, it is an indicator focused on predicting changes in stock price. This indicator is also of the Momentum type. A term given to the indicators focused on the speed of price change.

One of the critical behaviors of this indicator is that it adds volume to positive days and subtracts volume from negative ones. This is based on the accumulation of volume generated by buying and selling pressure.

This indicator is intuitive since if it reaches higher highs and lows, indicates that the bullish trend continues. If the opposite is the case (lower highs and lows) the trend will remain downward.

Excessive accumulation can mean a bullish breakout; if the OBV falls it means a bearish breakout. If the price continues to rise, but the OBV cannot adjust to this, a negative divergence occurs, causing the uptrend to fail.

If the price reaches minimum values and the OBV cannot adjust a positive divergence is generated, indicating that the downtrend is failing.

Formula:

On-balance-volume-formula-Money-Flow

Where:

  • OBV = Current on-balance volume level
  • OBVprev = Previous on-balance volume level
  • Volume = Latest trading volume amount
On-Balance-Volume-Example

Price Volume Trend (PVT)

This indicator helps balance between supply and demand. It is based on the percentage change of the trend of the stock and shows the balance between supply and demand. The Price Volume Trend uses volume to show strength in the trend.

PVT Indicators:

  • Signal Line Crossovers: Generates trading signals based on a moving average, usually called “Trade Lines”. When a stock is above the trading line, the trader can buy this stock; if it is below he can sell it. 
  • Divergency: When the highest high or lowest low is surpassed by the stock price, a limit should be placed above the high or low values to avoid risks.
Price-Volume-Trend

Trade Volume Index (TVI)

The Trade Volume Index is an indicator that follows the direction of the price trend and depends on the data obtained by the “Intraday” process. Intraday refers to stocks traded on the markets within one trading hour.

To calculate the TVI, several factors are required. The MTV (minimum tick Value), has a default value of 0.5. It is also necessary to have a change in price. This change is a subtraction between the value of the intraday price minus the value of the last intraday price.

  • Change in a price higher than MTV:
    • TVI = Last TVI + Volumen (Accumulation)
  • Change in price lower than MTV:
    • Last TVI – Volume (Distribution)

If the change is maintained between both conditions, the TVI will remain the same.

Trade-Volume-Index

Twiggs Money Flow

The Trade Volume Index is an indicator that follows the direction of the price trend and depends on the data obtained by the “Intraday” process. Intraday refers to stocks traded on the markets within one trading hour.

To calculate the TVI, several factors are required. The MTV (minimum tick Value), has a default value of 0.5. It is also necessary to have a change in price. This change is a subtraction between the value of the intraday price minus the value of the last intraday price.

  • Change in a price higher than MTV:
    • TVI = Last TVI + Volumen (Accumulation)
  • Change in price lower than MTV:
    • Last TVI – Volume (Distribution)

If the change is maintained between both conditions, the TVI will remain the same.

Twiggs-Money-Flow-Formula
Twiggs-Money-Flow

Volume Oscillator

The Volume Oscillator measures the relationship of two moving averages to obtain volume. This volume is used in the aforementioned indicators. The oscillator subtracts the values from the moving averages. Usually a fast and a slow Moving Average are used.

The speed of moving averages is determined by the number of periods they cover. The values generated by the Volume Oscillator are usually represented in histograms. Histograms are graphs, very similar to bar graphs, that use columns to represent data points.

The difference between a histogram and a traditional bar graph is that histograms represent the distribution of frequencies, while the bar graph compares categories.

The Volume Oscillator will increase in relation to the rise of the market. If it is overbought the oscillator will reverse its direction, but if the market falls, the volume of the oscillator is reduced.

Volume-Oscillator

Volume Rate of Change (V-ROC)

The Volume Rate-of-Change shows the speed of change in volume. Therefore, this indicator depends on the volume values obtained to indicate the rise or fall of the market.

At higher volume, the market is more stable, while a decrease in volume can be taken as indecision in the market and high-risk probabilities.

Formula:

Volume ROC = ((Volume – Volume n-periods ago)/ Volume n-periods ago) *100

Volume Rate of Change (V-ROC)

Conclusion

Phew! The topic of money flow indicators is too extensive. If you made it this far, I really appreciate it. Trying to understand the wide variety of indicators can be complicated, especially if it is your first time reviewing this topic.

All of these indicators are based on the volume of the shares to be able to indicate whether the market is stable, rising, or falling, and allow traders to set risk limits or decide whether to sell shares. The volume is the most important data.

Some indicators are complemented by moving averages. It is common to see more than one moving average used, comparing various calculations generated for a specific number of periods.

Several indicators are variants of others, especially the “Chaikin Money Flow” indicator. For this reason, it will be common to read references to Marc Chaikin about his contributions to market indicators.

Other important parameters are accumulation and distribution. Both help identify buying and selling pressure and serve in making decisions based on the results of the indicators.

In this article, we tried to briefly explain each of the most important indicators. The content of each indicator can be more complex and full of examples, which would make this article too dense.

This introduction to volume indicators is the third part of a series of articles related to market study. Soon we will get to the programming articles, where we will generate practical examples with the help of the brand-new LightningChart JS Trader.

Thank you very much, bye!

Omar Urbano Software Engineer

Omar Urbano

Software Engineer

LinkedIn icon
divider-light

Continue learning with LightningChart

LightningChart Python Trader v1.2

LightningChart Python Trader v1.2

Announcing LightningChart Python Trader v1.2 New Product Features LightningChart Python Trader V1.2 introduces a couple of new technical indicators and drawing tools. Furthermore, several user-requested features and improvements have been added to the library.  New...