示例#1
0
        public static StochFResult StochF(
            int startIdx,
            int endIdx,
            double[] high,
            double[] low,
            double[] close,
            int fastK_Period,
            int fastD_Period,
            MAType fastD_MAType)
        {
            int outBegIdx    = default;
            int outNBElement = default;

            double[] outFastK = new double[endIdx - startIdx + 1];
            double[] outFastD = new double[endIdx - startIdx + 1];

            RetCode retCode = TACore.StochF(
                startIdx,
                endIdx,
                high,
                low,
                close,
                fastK_Period,
                fastD_Period,
                fastD_MAType,
                ref outBegIdx,
                ref outNBElement,
                ref outFastK,
                ref outFastD);

            return(new(retCode, outBegIdx, outNBElement, outFastK, outFastD));
        }
示例#2
0
        public static SarResult Sar(
            int startIdx,
            int endIdx,
            double[] high,
            double[] low,
            double acceleration,
            double maximum)
        {
            int outBegIdx    = default;
            int outNBElement = default;

            double[] outReal = new double[endIdx - startIdx + 1];

            RetCode retCode = TACore.Sar(
                startIdx,
                endIdx,
                high,
                low,
                acceleration,
                maximum,
                ref outBegIdx,
                ref outNBElement,
                ref outReal);

            return(new(retCode, outBegIdx, outNBElement, outReal));
        }
示例#3
0
        public static MacdResult Macd(
            int startIdx,
            int endIdx,
            double[] real,
            int optInFastPeriod,
            int optInSlowPeriod,
            int optInSignalPeriod)
        {
            int outBegIdx    = 0;
            int outNBElement = 0;

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

            RetCode retCode = TACore.Macd(
                startIdx,
                endIdx,
                real,
                optInFastPeriod,
                optInSlowPeriod,
                optInSignalPeriod,
                ref outBegIdx,
                ref outNBElement,
                ref outMACD,
                ref outMACDSignal,
                ref outMACDHist);

            return(new(retCode, outBegIdx, outNBElement, outMACD, outMACDSignal, outMACDHist));
        }
示例#4
0
        public static StochRsiResult StochRsi(
            int startIdx,
            int endIdx,
            double[] real,
            int timePeriod,
            int fastK_Period,
            int fastD_Period,
            MAType fastD_MAType)
        {
            int outBegIdx    = 0;
            int outNBElement = 0;

            double[] outFastK = new double[endIdx - startIdx + 1];
            double[] outFastD = new double[endIdx - startIdx + 1];

            RetCode retCode = TACore.StochRsi(
                startIdx,
                endIdx,
                real,
                timePeriod,
                fastK_Period,
                fastD_Period,
                fastD_MAType,
                ref outBegIdx,
                ref outNBElement,
                ref outFastK,
                ref outFastD);

            return(new(retCode, outBegIdx, outNBElement, outFastK, outFastD));
        }
示例#5
0
        public static BopResult Bop(
            int startIdx,
            int endIdx,
            double[] open,
            double[] high,
            double[] low,
            double[] close)
        {
            int outBegIdx    = default;
            int outNBElement = default;

            double[] outReal = new double[endIdx - startIdx + 1];

            RetCode retCode = TACore.Bop(
                startIdx,
                endIdx,
                open,
                high,
                low,
                close,
                ref outBegIdx,
                ref outNBElement,
                ref outReal);

            return(new(retCode, outBegIdx, outNBElement, outReal));
        }
示例#6
0
        public static UltOscResult UltOsc(
            int startIdx,
            int endIdx,
            double[] high,
            double[] low,
            double[] close,
            int timePeriod1,
            int timePeriod2,
            int timePeriod3)
        {
            int outBegIdx    = default;
            int outNBElement = default;

            double[] outReal = new double[endIdx - startIdx + 1];

            RetCode retCode = TACore.UltOsc(
                startIdx,
                endIdx,
                high,
                low,
                close,
                timePeriod1,
                timePeriod2,
                timePeriod3,
                ref outBegIdx,
                ref outNBElement,
                ref outReal);

            return(new(retCode, outBegIdx, outNBElement, outReal));
        }
示例#7
0
        public static PlusDIResult PlusDI(
            int startIdx,
            int endIdx,
            double[] high,
            double[] low,
            double[] close,
            int timePeriod)
        {
            int outBegIdx    = default;
            int outNBElement = default;

            double[] outReal = new double[endIdx - startIdx + 1];

            RetCode retCode = TACore.PlusDI(
                startIdx,
                endIdx,
                high,
                low,
                close,
                timePeriod,
                ref outBegIdx,
                ref outNBElement,
                ref outReal);

            return(new(retCode, outBegIdx, outNBElement, outReal));
        }
示例#8
0
        public static MovingAverageVariablePeriodResult MovingAverageVariablePeriod(
            int startIdx,
            int endIdx,
            double[] real,
            double[] periods,
            int minPeriod,
            int maxPeriod,
            MAType maType)
        {
            int outBegIdx    = default;
            int outNBElement = default;

            double[] outReal = new double[endIdx - startIdx + 1];

            RetCode retCode = TACore.MovingAverageVariablePeriod(
                startIdx,
                endIdx,
                real,
                periods,
                minPeriod,
                maxPeriod,
                maType,
                ref outBegIdx,
                ref outNBElement,
                ref outReal);

            return(new(retCode, outBegIdx, outNBElement, outReal));
        }
示例#9
0
        public static AdOscResult AdOsc(
            int startIdx,
            int endIdx,
            double[] high,
            double[] low,
            double[] close,
            double[] volume,
            int fastPeriod,
            int slowPeriod)
        {
            int outBegIdx    = default;
            int outNBElement = default;

            double[] outReal = new double[endIdx - startIdx + 1];

            RetCode retCode = TACore.AdOsc(
                startIdx,
                endIdx,
                high,
                low,
                close,
                volume,
                fastPeriod,
                slowPeriod,
                ref outBegIdx,
                ref outNBElement,
                ref outReal);

            return(new(retCode, outBegIdx, outNBElement, outReal));
        }
示例#10
0
        public static MedPriceResult MedPrice(int startIdx, int endIdx, double[] high, double[] low)
        {
            int outBegIdx    = default;
            int outNBElement = default;

            double[] outReal = new double[endIdx - startIdx + 1];

            RetCode retCode = TACore.MedPrice(startIdx, endIdx, high, low, ref outBegIdx, ref outNBElement, ref outReal);

            return(new(retCode, outBegIdx, outNBElement, outReal));
        }
示例#11
0
        public static ObvResult Obv(int startIdx, int endIdx, double[] real, double[] volume)
        {
            int outBegIdx    = default;
            int outNBElement = default;

            double[] outReal = new double[endIdx - startIdx + 1];

            RetCode retCode = TACore.Obv(startIdx, endIdx, real, volume, ref outBegIdx, ref outNBElement, ref outReal);

            return(new(retCode, outBegIdx, outNBElement, outReal));
        }
示例#12
0
        public static TemaResult Tema(int startIdx, int endIdx, double[] real, int timePeriod)
        {
            int outBegIdx    = default;
            int outNBElement = default;

            double[] outReal = new double[endIdx - startIdx + 1];

            RetCode retCode = TACore.Tema(startIdx, endIdx, real, timePeriod, ref outBegIdx, ref outNBElement, ref outReal);

            return(new(retCode, outBegIdx, outNBElement, outReal));
        }
示例#13
0
        public static MultResult Mult(int startIdx, int endIdx, double[] real0, double[] real1)
        {
            int outBegIdx    = default;
            int outNBElement = default;

            double[] outReal = new double[endIdx - startIdx + 1];

            RetCode retCode = TACore.Mult(startIdx, endIdx, real0, real1, ref outBegIdx, ref outNBElement, ref outReal);

            return(new(retCode, outBegIdx, outNBElement, outReal));
        }
示例#14
0
        public static HtDcPeriodResult HtDcPeriod(int startIdx, int endIdx, double[] real)
        {
            int outBegIdx    = default;
            int outNBElement = default;

            double[] outReal = new double[endIdx - startIdx + 1];

            RetCode retCode = TACore.HtDcPeriod(startIdx, endIdx, real, ref outBegIdx, ref outNBElement, ref outReal);

            return(new(retCode, outBegIdx, outNBElement, outReal));
        }
示例#15
0
        public static AcosResult Acos(int startIdx, int endIdx, double[] real)
        {
            int outBegIdx    = 0;
            int outNBElement = 0;

            double[] outReal = new double[endIdx - startIdx + 1];

            RetCode retCode = TACore.Acos(startIdx, endIdx, real, ref outBegIdx, ref outNBElement, ref outReal);

            return(new(retCode, outBegIdx, outNBElement, outReal));
        }
示例#16
0
        public static HtTrendModeResult HtTrendMode(int startIdx, int endIdx, double[] real)
        {
            int outBegIdx    = default;
            int outNBElement = default;

            int[] outInteger = new int[endIdx - startIdx + 1];

            RetCode retCode = TACore.HtTrendMode(startIdx, endIdx, real, ref outBegIdx, ref outNBElement, ref outInteger);

            return(new(retCode, outBegIdx, outNBElement, outInteger));
        }
示例#17
0
        public static HtSineResult HtSine(int startIdx, int endIdx, double[] real)
        {
            int outBegIdx    = default;
            int outNBElement = default;

            double[] outSine     = new double[endIdx - startIdx + 1];
            double[] outLeadSine = new double[endIdx - startIdx + 1];

            RetCode retCode = TACore.HtSine(startIdx, endIdx, real, ref outBegIdx, ref outNBElement, ref outSine, ref outLeadSine);

            return(new(retCode, outBegIdx, outNBElement, outSine, outLeadSine));
        }
示例#18
0
        public static MinIndexResult MinIndex(int startIdx, int endIdx, double[] real, int timePeriod)
        {
            int outBegIdx    = default;
            int outNBElement = default;

            int[] outInteger = new int[endIdx - startIdx + 1];

            RetCode retCode = TACore.MinIndex(
                startIdx,
                endIdx,
                real,
                timePeriod,
                ref outBegIdx,
                ref outNBElement,
                ref outInteger);

            return(new(retCode, outBegIdx, outNBElement, outInteger));
        }
示例#19
0
        public static HtPhasorResult HtPhasor(int startIdx, int endIdx, double[] real)
        {
            int outBegIdx    = default;
            int outNBElement = default;

            double[] outInPhase    = new double[endIdx - startIdx + 1];
            double[] outQuadrature = new double[endIdx - startIdx + 1];

            RetCode retCode = TACore.HtPhasor(
                startIdx,
                endIdx,
                real,
                ref outBegIdx,
                ref outNBElement,
                ref outInPhase,
                ref outQuadrature);

            return(new(retCode, outBegIdx, outNBElement, outInPhase, outQuadrature));
        }
示例#20
0
        public static VarianceResult Variance(int startIdx, int endIdx, double[] real, int timePeriod, double nbDev)
        {
            int outBegIdx    = default;
            int outNBElement = default;

            double[] outReal = new double[endIdx - startIdx + 1];

            RetCode retCode = TACore.Variance(
                startIdx,
                endIdx,
                real,
                timePeriod,
                nbDev,
                ref outBegIdx,
                ref outNBElement,
                ref outReal);

            return(new(retCode, outBegIdx, outNBElement, outReal));
        }
示例#21
0
        public static AroonOscResult AroonOsc(int startIdx, int endIdx, double[] high, double[] low, int timePeriod)
        {
            int outBegIdx    = default;
            int outNBElement = default;

            double[] outReal = new double[endIdx - startIdx + 1];

            RetCode retCode = TACore.AroonOsc(
                startIdx,
                endIdx,
                high,
                low,
                timePeriod,
                ref outBegIdx,
                ref outNBElement,
                ref outReal);

            return(new(retCode, outBegIdx, outNBElement, outReal));
        }
示例#22
0
        public static ApoResult Apo(int startIdx, int endIdx, double[] real, int fastPeriod, int slowPeriod, MAType maType)
        {
            int outBegIdx    = default;
            int outNBElement = default;

            double[] outReal = new double[endIdx - startIdx + 1];

            RetCode retCode = TACore.Apo(
                startIdx,
                endIdx,
                real,
                fastPeriod,
                slowPeriod,
                maType,
                ref outBegIdx,
                ref outNBElement,
                ref outReal);

            return(new(retCode, outBegIdx, outNBElement, outReal));
        }
示例#23
0
        public static MinMaxResult MinMax(int startIdx, int endIdx, double[] real, int timePeriod)
        {
            int outBegIdx    = default;
            int outNBElement = default;

            double[] outMin = new double[endIdx - startIdx + 1];
            double[] outMax = new double[endIdx - startIdx + 1];

            RetCode retCode = TACore.MinMax(
                startIdx,
                endIdx,
                real,
                timePeriod,
                ref outBegIdx,
                ref outNBElement,
                ref outMin,
                ref outMax);

            return(new(retCode, outBegIdx, outNBElement, outMin, outMax));
        }
示例#24
0
        public static MamaResult Mama(int startIdx, int endIdx, double[] real, double fastLimit, double slowLimit)
        {
            int outBegIdx    = default;
            int outNBElement = default;

            double[] outMAMA = new double[endIdx - startIdx + 1];
            double[] outFAMA = new double[endIdx - startIdx + 1];

            RetCode retCode = TACore.Mama(
                startIdx,
                endIdx,
                real,
                fastLimit,
                slowLimit,
                ref outBegIdx,
                ref outNBElement,
                ref outMAMA,
                ref outFAMA);

            return(new(retCode, outBegIdx, outNBElement, outMAMA, outFAMA));
        }
示例#25
0
        public static MacdFixResult MacdFix(int startIdx, int endIdx, double[] real, int signalPeriod)
        {
            int outBegIdx    = default;
            int outNBElement = default;

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

            RetCode retCode = TACore.MacdFix(
                startIdx,
                endIdx,
                real,
                signalPeriod,
                ref outBegIdx,
                ref outNBElement,
                ref outMACD,
                ref outMACDSignal,
                ref outMACDHist);

            return(new(retCode, outBegIdx, outNBElement, outMACD, outMACDSignal, outMACDHist));
        }
示例#26
0
        public static BollingerBandsResult BollingerBands(
            int startIdx,
            int endIdx,
            double[] real,
            int timePeriod,
            double nbDevUp,
            double nbDevDn,
            MAType maType)
        {
            int outBegIdx    = default;
            int outNBElement = default;

            double[] outRealUpperBand  = new double[endIdx - startIdx + 1];
            double[] outRealMiddleBand = new double[endIdx - startIdx + 1];
            double[] outRealLowerBand  = new double[endIdx - startIdx + 1];

            RetCode retCode = TACore.BollingerBands(
                startIdx,
                endIdx,
                real,
                timePeriod,
                nbDevUp,
                nbDevDn,
                maType,
                ref outBegIdx,
                ref outNBElement,
                ref outRealUpperBand,
                ref outRealMiddleBand,
                ref outRealLowerBand);

            return(new(
                       retCode,
                       outBegIdx,
                       outNBElement,
                       outRealUpperBand,
                       outRealMiddleBand,
                       outRealLowerBand));
        }
示例#27
0
        public static SarExtResult SarExt(
            int startIdx,
            int endIdx,
            double[] high,
            double[] low,
            double startValue,
            double offsetOnReverse,
            double accelerationInitLong,
            double accelerationLong,
            double accelerationMaxLong,
            double accelerationInitShort,
            double accelerationShort,
            double accelerationMaxShort)
        {
            int outBegIdx    = default;
            int outNBElement = default;

            double[] outReal = new double[endIdx - startIdx + 1];

            RetCode retCode = TACore.SarExt(
                startIdx,
                endIdx,
                high,
                low,
                startValue,
                offsetOnReverse,
                accelerationInitLong,
                accelerationLong,
                accelerationMaxLong,
                accelerationInitShort,
                accelerationShort,
                accelerationMaxShort,
                ref outBegIdx,
                ref outNBElement,
                ref outReal);

            return(new(retCode, outBegIdx, outNBElement, outReal));
        }
示例#28
0
        public static MovingAverageResult MovingAverage(
            int startIdx,
            int endIdx,
            double[] real,
            int timePeriod,
            MAType maType)
        {
            int outBegIdx    = default;
            int outNBElement = default;

            double[] outReal = new double[endIdx - startIdx + 1];

            RetCode retCode = TACore.MovingAverage(
                startIdx,
                endIdx,
                real,
                timePeriod,
                maType,
                ref outBegIdx,
                ref outNBElement,
                ref outReal);

            return(new(retCode, outBegIdx, outNBElement, outReal));
        }
示例#29
0
        public static MacdExtResult MacdExt(
            int startIdx,
            int endIdx,
            double[] real,
            int fastPeriod,
            MAType fastMAType,
            int slowPeriod,
            MAType slowMAType,
            int signalPeriod,
            MAType signalMAType)
        {
            int outBegIdx    = default;
            int outNBElement = default;

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

            RetCode retCode = TACore.MacdExt(
                startIdx,
                endIdx,
                real,
                fastPeriod,
                fastMAType,
                slowPeriod,
                slowMAType,
                signalPeriod,
                signalMAType,
                ref outBegIdx,
                ref outNBElement,
                ref outMACD,
                ref outMACDSignal,
                ref outMACDHist);

            return(new(retCode, outBegIdx, outNBElement, outMACD, outMACDSignal, outMACDHist));
        }