Tuesday, 14 February 2017

What is the data order for ta-lib calculations

public static double TA_MACDTest(int startIdx,int endIdx,Object[] InputValues, int FastEMAPeriods, int SlowEMAPeriods, int SignalEMAPeriods)
{
    int i = 1;
    double[] newInputValues = new double[InputValues.Count()];
    int intItr = 0;
    foreach (object objValue in InputValues)
    {
        newInputValues[intItr] = Convert.ToDouble(objValue);
        intItr = intItr + 1;
    }
    int outBegIdx;
    int outNBElement;

    double[] outMACD = new double[endIdx - startIdx + 1];
    double[] outMACDSignal = new double[endIdx - startIdx + 1];
    double[] outMACDHist = new double[endIdx - startIdx + 1];

    Core.RetCode res = Core.Macd(startIdx, endIdx, newInputValues, FastEMAPeriods, SlowEMAPeriods, SignalEMAPeriods, out  outBegIdx, out  outNBElement, outMACD, outMACDSignal, outMACDHist);
    List<Macdres> resarr = new List<Macdres>(endIdx - startIdx + 1);
    Macdres macdres = new Macdres();
    macdres.Index = i;
    macdres.Macd = outMACD.Last();
    macdres.Signal = outMACDSignal[i];
    macdres.MacdHistogram = outMACDHist[i];
    return macdres.Macd;
}

No comments:

Post a Comment