public ITaLibOutput <double[]> ParabolicSar(Frequency unitType, int historiesLength, int acceleration = 0, int maximum = 0) { var inputs = new IndicatorsInputs(database, historiesLength); database.FillMarketHistory(unitType, inputs.OutputArrayLength); double[] highs = database.CurrentHistory .Select(bar => bar.PriceHigh) .ToArray(); double[] lows = database.CurrentHistory .Select(bar => bar.PriceLow) .ToArray(); var output = new TaLibOutput <double[]> { Series = new double[inputs.OutputArrayLength], HistoryWasCustom = database.HistoryIsCustom }; int outBeginningIndex = 0; int outNBElement = 0; output.Outcome = Core.Sar(startIdx: inputs.StartingIndex, endIdx: inputs.EndIndex, inHigh: highs, inLow: lows, optInAcceleration: acceleration, optInMaximum: maximum, outBegIdx: out outBeginningIndex, outNBElement: out outNBElement, outReal: output.Series); output.AlgorithmsBeginningIndex = outBeginningIndex; output.NBElement = outNBElement; return(output); }
public ITaLibOutput <double[]> MidPointPriceOverPeriod(Frequency unitType, int historiesLength, int timePeriod = 14) { var inputs = new IndicatorsInputs(database, historiesLength); database.FillMarketHistory(unitType, inputs.OutputArrayLength); double[] highs = database.CurrentHistory .Select(bar => bar.PriceHigh) .ToArray(); double[] lows = database.CurrentHistory .Select(bar => bar.PriceLow) .ToArray(); var output = new TaLibOutput <double[]> { Series = new double[inputs.OutputArrayLength], HistoryWasCustom = database.HistoryIsCustom }; int outBeginningIndex = 0; int outNBElement = 0; output.Outcome = Core.MidPrice(startIdx: inputs.StartingIndex, endIdx: inputs.EndIndex, inHigh: highs, inLow: lows, optInTimePeriod: timePeriod, outBegIdx: out outBeginningIndex, outNBElement: out outNBElement, outReal: output.Series); output.AlgorithmsBeginningIndex = outBeginningIndex; output.NBElement = outNBElement; return(output); }
public ITaLibOutput <double[]> MovingAverageWithVariablePeriod(Frequency unitType, double[] periodsPerPrices, int historiesLength, Core.MAType movingAverageType = Core.MAType.Sma, int minPeriod = 2, int maxPeriod = 30) { var inputs = new IndicatorsInputs(database, historiesLength); database.FillMarketHistory(unitType, inputs.OutputArrayLength); double[] closingHistory = database.CurrentHistory .Select(bar => bar.ClosingPrice) .ToArray(); var output = new TaLibOutput <double[]> { Series = new double[inputs.OutputArrayLength], HistoryWasCustom = database.HistoryIsCustom }; int outBeginningIndex = 0; int outNBElement = 0; output.Outcome = Core.MovingAverageVariablePeriod(startIdx: inputs.StartingIndex, endIdx: inputs.EndIndex, inReal: closingHistory, inPeriods: periodsPerPrices, optInMinPeriod: minPeriod, optInMaxPeriod: maxPeriod, optInMAType: movingAverageType, outBegIdx: out outBeginningIndex, outNBElement: out outNBElement, outReal: output.Series); output.AlgorithmsBeginningIndex = outBeginningIndex; output.NBElement = outNBElement; return(output); }
public ITaLibOutput <double[]> HilbertTransformInstantaneousTrendline(Frequency unitType, int historiesLength) { var inputs = new IndicatorsInputs(database, historiesLength); database.FillMarketHistory(unitType, inputs.OutputArrayLength); double[] closingHistory = database.CurrentHistory .Select(bar => bar.ClosingPrice) .ToArray(); var output = new TaLibOutput <double[]> { Series = new double[inputs.OutputArrayLength], HistoryWasCustom = database.HistoryIsCustom }; int outBeginningIndex = 0; int outNBElement = 0; output.Outcome = Core.HtTrendline(startIdx: inputs.StartingIndex, endIdx: inputs.EndIndex, inReal: closingHistory, outBegIdx: out outBeginningIndex, outNBElement: out outNBElement, outReal: output.Series); output.AlgorithmsBeginningIndex = outBeginningIndex; output.NBElement = outNBElement; return(output); }
public ITaLibOutput <double[]> KaufmanAdaptiveMovingAverage(Frequency unitType, int historiesLength, int timePeriod = 30) { var inputs = new IndicatorsInputs(database, historiesLength); database.FillMarketHistory(unitType, inputs.OutputArrayLength); double[] closingHistory = database.CurrentHistory .Select(bar => bar.ClosingPrice) .ToArray(); var output = new TaLibOutput <double[]> { Series = new double[inputs.OutputArrayLength], HistoryWasCustom = database.HistoryIsCustom }; int outBeginningIndex = 0; int outNBElement = 0; output.Outcome = Core.Kama(startIdx: inputs.StartingIndex, endIdx: inputs.EndIndex, inReal: closingHistory, optInTimePeriod: timePeriod, outBegIdx: out outBeginningIndex, outNBElement: out outNBElement, outReal: output.Series); output.AlgorithmsBeginningIndex = outBeginningIndex; output.NBElement = outNBElement; return(output); }
public ITaLibOutput <double[]> PercentagePriceOscillator(Frequency unitType, int historiesLength, Core.MAType MovingAverageType = Core.MAType.Sma, int fastPeriod = 12, int slowPeriod = 26) { var inputs = new IndicatorsInputs(database, historiesLength); database.FillMarketHistory(unitType, inputs.OutputArrayLength); double[] closingHistory = database.CurrentHistory .Select(bar => bar.ClosingPrice) .ToArray(); var output = new TaLibOutput <double[]> { Series = new double[inputs.OutputArrayLength], HistoryWasCustom = database.HistoryIsCustom }; int outBeginningIndex = 0; int outNBElement = 0; output.Outcome = Core.Ppo(startIdx: inputs.StartingIndex, endIdx: inputs.EndIndex, inReal: closingHistory, optInFastPeriod: fastPeriod, optInSlowPeriod: slowPeriod, optInMAType: MovingAverageType, outBegIdx: out outBeginningIndex, outNBElement: out outNBElement, outReal: output.Series); output.AlgorithmsBeginningIndex = outBeginningIndex; output.NBElement = outNBElement; return(output); }
public ITaLibOutput <double[]> ChaikinADOscillator(Frequency unitType, int historiesLength, int fastPeriod = 3, int slowPeriod = 10) { var inputs = new IndicatorsInputs(database, historiesLength); database.FillMarketHistory(unitType, inputs.OutputArrayLength); double[] highs = database.CurrentHistory .Select(bar => bar.PriceHigh) .ToArray(); double[] lows = database.CurrentHistory .Select(bar => bar.PriceLow) .ToArray(); double[] closes = database.CurrentHistory .Select(bar => bar.ClosingPrice) .ToArray(); double[] volumes = database.CurrentHistory .Select(bar => bar.Volume) .ToArray(); var output = new TaLibOutput <double[]> { Series = new double[inputs.OutputArrayLength], HistoryWasCustom = database.HistoryIsCustom }; int outBeginningIndex = 0; int outNBElement = 0; output.Outcome = Core.AdOsc(startIdx: inputs.StartingIndex, endIdx: inputs.EndIndex, inHigh: highs, inLow: lows, inClose: closes, inVolume: volumes, optInFastPeriod: fastPeriod, optInSlowPeriod: slowPeriod, outBegIdx: out outBeginningIndex, outNBElement: out outNBElement, outReal: output.Series); output.AlgorithmsBeginningIndex = outBeginningIndex; output.NBElement = outNBElement; return(output); }
public ITaLibOutput <double[]> MoneyFlowIndex(Frequency unitType, int historiesLength, int timePeriod = 14) { var inputs = new IndicatorsInputs(database, historiesLength); database.FillMarketHistory(unitType, inputs.OutputArrayLength); double[] closingHistory = database.CurrentHistory .Select(bar => bar.ClosingPrice) .ToArray(); double[] inHigh = database.CurrentHistory .Select(bar => bar.PriceHigh) .ToArray(); double[] inClose = database.CurrentHistory .Select(bar => bar.ClosingPrice) .ToArray(); double[] volumes = database.CurrentHistory .Select(bar => bar.ClosingPrice) .ToArray(); var output = new TaLibOutput <double[]> { Series = new double[inputs.OutputArrayLength], HistoryWasCustom = database.HistoryIsCustom }; int outBeginningIndex = 0; int outNBElement = 0; output.Outcome = Core.Mfi(startIdx: inputs.StartingIndex, endIdx: inputs.EndIndex, inHigh: inHigh, inLow: inClose, inClose: inClose, inVolume: volumes, optInTimePeriod: timePeriod, outBegIdx: out outBeginningIndex, outNBElement: out outNBElement, outReal: output.Series); output.AlgorithmsBeginningIndex = outBeginningIndex; output.NBElement = outNBElement; return(output); }
public ITaLibOutput <double[]> AveragePrice(Frequency unitType, int historiesLength) { var inputs = new IndicatorsInputs(database, historiesLength); database.FillMarketHistory(unitType, inputs.OutputArrayLength); double[] opens = database.CurrentHistory .Select(bar => bar.OpeningPrice) .ToArray(); double[] highs = database.CurrentHistory .Select(bar => bar.PriceHigh) .ToArray(); double[] lows = database.CurrentHistory .Select(bar => bar.PriceLow) .ToArray(); double[] closes = database.CurrentHistory .Select(bar => bar.ClosingPrice) .ToArray(); var output = new TaLibOutput <double[]> { Series = new double[inputs.OutputArrayLength], HistoryWasCustom = database.HistoryIsCustom }; int outBeginningIndex = 0; int outNBElement = 0; output.Outcome = Core.AvgPrice(startIdx: inputs.StartingIndex, endIdx: inputs.EndIndex, inOpen: opens, inHigh: highs, inLow: lows, inClose: closes, outBegIdx: out outBeginningIndex, outNBElement: out outNBElement, outReal: output.Series); output.AlgorithmsBeginningIndex = outBeginningIndex; output.NBElement = outNBElement; return(output); }
public ITaLibOutput <double[]> ParabolicSarExtended(Frequency unitType, int historiesLength, int startvalue = 0, int offsetonreverse = 0, int accelerationinitlong = 0, int accelerationlong = 0, int accelerationmaxlong = 0, int accelerationinitshort = 0, int accelerationshort = 0, int accelerationmaxshort = 0) { var inputs = new IndicatorsInputs(database, historiesLength); database.FillMarketHistory(unitType, inputs.OutputArrayLength); double[] highs = database.CurrentHistory .Select(bar => bar.PriceHigh) .ToArray(); double[] lows = database.CurrentHistory .Select(bar => bar.PriceLow) .ToArray(); var output = new TaLibOutput <double[]> { Series = new double[inputs.OutputArrayLength], HistoryWasCustom = database.HistoryIsCustom }; int outBeginningIndex = 0; int outNBElement = 0; output.Outcome = Core.SarExt(startIdx: inputs.StartingIndex, endIdx: inputs.EndIndex, inHigh: highs, inLow: lows, optInStartValue: startvalue, optInOffsetOnReverse: offsetonreverse, optInAccelerationInitLong: accelerationinitlong, optInAccelerationInitShort: accelerationinitshort, optInAccelerationLong: accelerationlong, optInAccelerationMaxLong: accelerationmaxlong, optInAccelerationMaxShort: accelerationmaxshort, optInAccelerationShort: accelerationshort, outBegIdx: out outBeginningIndex, outNBElement: out outNBElement, outReal: output.Series); output.AlgorithmsBeginningIndex = outBeginningIndex; output.NBElement = outNBElement; return(output); }
public ITaLibOutput <double[]> UltimateOscillator(Frequency unitType, int historiesLength, int timePeriod1 = 7, int timePeriod2 = 14, int timePeriod3 = 28) { var inputs = new IndicatorsInputs(database, historiesLength); database.FillMarketHistory(unitType, inputs.OutputArrayLength); double[] closingHistory = database.CurrentHistory .Select(bar => bar.ClosingPrice) .ToArray(); double[] highs = database.CurrentHistory .Select(bar => bar.PriceHigh) .ToArray(); double[] lows = database.CurrentHistory .Select(bar => bar.PriceLow) .ToArray(); var output = new TaLibOutput <double[]> { Series = new double[inputs.OutputArrayLength], HistoryWasCustom = database.HistoryIsCustom }; int outBeginningIndex = 0; int outNBElement = 0; output.Outcome = Core.UltOsc(startIdx: inputs.StartingIndex, endIdx: inputs.EndIndex, inHigh: highs, inLow: lows, inClose: closingHistory, optInTimePeriod1: timePeriod1, optInTimePeriod2: timePeriod2, optInTimePeriod3: timePeriod3, outBegIdx: out outBeginningIndex, outNBElement: out outNBElement, outReal: output.Series); output.AlgorithmsBeginningIndex = outBeginningIndex; output.NBElement = outNBElement; return(output); }