C# 根据MS图表中其他两个系列的差异创建一个系列

C# 根据MS图表中其他两个系列的差异创建一个系列,c#,charts,dataset,mschart,C#,Charts,Dataset,Mschart,在我的图表中创建了两个系列。我想创建另一个系列(H),其值是第一个系列(v1)的值减去第二个系列(S)的值。正如您所见,S是使用金融公式推导出来的。有人知道我如何创作H系列吗 chartIndicators.DataSource = data; chartIndicators.Series["v1"].XValueMember = "x"; chartIndicators.Series["v1"].YValueMembers = "y1"; chartIndicators.DataBind();

在我的图表中创建了两个系列。我想创建另一个系列(H),其值是第一个系列(v1)的值减去第二个系列(S)的值。正如您所见,S是使用金融公式推导出来的。有人知道我如何创作H系列吗

chartIndicators.DataSource = data;
chartIndicators.Series["v1"].XValueMember = "x";
chartIndicators.Series["v1"].YValueMembers = "y1";
chartIndicators.DataBind();


    // transform to macd  
chartIndicators.DataManipulator.FinancialFormula(FinancialFormula.MovingAverageConvergenceDivergence, "v1");

// signal
chartIndicators.DataManipulator.FinancialFormula(FinancialFormula.ExponentialMovingAverage, "9", "v1", "S");
我可以从以下数据集生成系列H吗?如果可以,我怎么做?还是有更好的方法

DataSet dsV1 = chartIndicators.DataManipulator.ExportSeriesValues("v1");
DataSet dsS = chartIndicators.DataManipulator.ExportSeriesValues("S");

我自己找到了解决办法:

    for (int i = 0; i < dsS.Tables[0].DefaultView.Count;i++) {
        double y = Convert.ToDouble(dsV1.Tables[0].DefaultView[i][1]) - Convert.ToDouble(dsS.Tables[0].DefaultView[i][1]);
        double x = Convert.ToDateTime(dsV1.Tables[0].DefaultView[i][0]).ToOADate();
        chartIndicators.Series["H"].Points.AddXY(x, y);                
    }
for(int i=0;i