⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vwap.cs

📁 VWAP image analysis for stock system
💻 CS
字号:
using System;

namespace Fabrefactum
{
	/// <summary>
	/// Volume Weighted Average Price
	/// </summary>
	public class VWAP
	{
		private static TimeSeries _timeSeries;
		private static int _length = 1;

		private VWAP()
		{
		}

		/// <summary>
		/// Calculate VWAP for a timeseries
		/// </summary>
		/// <param name="outputColumn"></param>
		/// <param name="volumeColumn"></param>
		public static TimeSeries Calculate(TimeSeries timeSeries, int length, int calcColumn, int outputColumn, int volumeColumn)
		{
			_length = length;
			_timeSeries = timeSeries;
			for (int i = 0; i < timeSeries.Count; i++)
			{
				((object[])timeSeries[i])[outputColumn] = Value(i, calcColumn, volumeColumn);
			}
			return timeSeries;
		}

		/// <summary>
		/// Calculate VWAP for each value in the timeseries
		/// </summary>
		/// <param name="outputColumn"></param>
		/// <param name="volumeColumn"></param>
		/// <returns></returns>
		private static double Value(int index, int calcColumn, int volumeColumn)
		{
			if (index < _length - 1)
			{
				return double.NaN;
			}
			double d1 = 0.0;
			double d2 = 0.0;
			for (int i = index; i >= index - _length + 1; i--)
			{
				object[] series = (object[])_timeSeries[i];

				d1 += (double)series[calcColumn] * (double)series[volumeColumn];
				d2 += (double)series[volumeColumn];
			}
			d1 /= d2;
			return d1;
		}

	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -