用.NET语言写出计算股票技术指标BIAS,4个参数,第一个参数为datatable类型,其他为int型,返回值为datatable类型,double类型全部四舍五入保留3位小数。
时间: 2023-05-17 07:07:43 浏览: 119
以下是用.NET语言写出计算股票技术指标BIAS的代码:
```
public static DataTable CalculateBIAS(DataTable dt, int n1, int n2, int n3)
{
DataTable result = new DataTable();
result.Columns.Add("日期", typeof(DateTime));
result.Columns.Add("BIAS" + n1, typeof(double));
result.Columns.Add("BIAS" + n2, typeof(double));
result.Columns.Add("BIAS" + n3, typeof(double));
for (int i = n3; i < dt.Rows.Count; i++)
{
double close = Convert.ToDouble(dt.Rows[i]["收盘价"]);
double ma1 = CalculateMA(dt, i - n1 + 1, i + 1);
double ma2 = CalculateMA(dt, i - n2 + 1, i + 1);
double ma3 = CalculateMA(dt, i - n3 + 1, i + 1);
double bias1 = Math.Round((close - ma1) / ma1 * 100, 3);
double bias2 = Math.Round((close - ma2) / ma2 * 100, 3);
double bias3 = Math.Round((close - ma3) / ma3 * 100, 3);
result.Rows.Add(dt.Rows[i]["日期"], bias1, bias2, bias3);
}
return result;
}
public static double CalculateMA(DataTable dt, int start, int end)
{
double sum = 0;
for (int i = start; i < end; i++)
{
sum += Convert.ToDouble(dt.Rows[i]["收盘价"]);
}
return sum / (end - start);
}
```
其中,参数n1、n2、n3分别表示计算BIAS的天数,dt为股票数据的DataTable,包含日期和收盘价两列。返回值为一个新的DataTable,包含日期和三个BIAS值。
阅读全文