NinjaScript > Language Reference > Indicator Methods >

Moving Average - Volume Weighted (VWMA)

Print this Topic Previous pageReturn to chapter overviewNext page


The Volume Weighted Moving Average is a weighted moving average that uses the volume as the weighting factor, so that higher volume days have more weight. It is a non-cumulative moving average, in that only data within the time period is used in the calculation.




VWMA(int period)
VWMA(IDataSeries input, int period)


Returns default value
VWMA(int period)[int barsAgo]
VWMA(IDataSeries input, int period)[int barsAgo]



Return Value

double; Accessing this method via an index value [int barsAgo] returns the indicator value of the referenced bar.





Indicator source data (?)


Number of bars used in the calculation




// OnBarUpdate method
protected override void OnBarUpdate()
   // Checks for a VWMA cross over to the long side
  if (CrossAbove(VWMA(14), VWMA(40), 1))
       Print("We have a moving average cross over long");
   // Prints the current 14 period VWMA of high prices to the output window
  double value = VWMA(High, 14)[0];
   Print("The current VWMA value of high prices is " + value.ToString());



Source Code

You can view this indicator method source code by selecting the menu Tools > Edit NinjaScript > Indicator within the NinjaTrader Control Center window.