Esempio n. 1
0
        protected override void OnStartUp()
        {
            onBasicBars = primType == RWT_HA.PrimaryOHLC.BARS;

            var b1 = RWT_HA.OHLCFactory.createPrimary(primType, Open, High, Low, Close, Input);
            var b2 = RWT_HA.OHLCFactory.createSecondary(b1, smoothType, smoothArg);

            bars      = new RWT_HA.Heiken_Ashi(b2);
            lastFilt  = 0.5 * (bars.High + bars.Low);
            lastProxy = lastFilt;

            filter = RWT_MA.MAFactory.create(filterType, filterArg);
            filter.init(lastFilt);


            linreg = new RWT_MA.LINREGSLOPE((double)lookback);
            linreg.init(lastFilt);

            dirUp = true;

            actualTolerance = tolerance;
            if (onBasicBars)
            {
                actualTolerance *= TickSize;
            }
        }
Esempio n. 2
0
        public static MovingAverage create(MAType type, double len)
        {
            MovingAverage ans = null;

            switch (type)
            {
            case MAType.SMA:
                ans = new RWT_MA.SMA(len);
                break;

            case MAType.HULL:
                ans = new RWT_MA.Hull(len);
                break;

            case MAType.GAUSSIAN:
                ans = new RWT_MA.GAUSSIAN((int)Math.Floor((len - (int)len) * 10), Math.Floor(len));
                break;

            case MAType.HULLEMA:
                ans = new RWT_MA.HullEMA(len);
                break;

            case MAType.KAMA210:
                ans = new RWT_MA.Kama210(len);
                break;

            case MAType.EMA:
                ans = new RWT_MA.EMA(len);
                break;

            case MAType.WMA:
                ans = new RWT_MA.WMA(len);
                break;

            case MAType.DEXPMA:
                ans = new RWT_MA.DEXPMA(len);
                break;

            case MAType.MEDIANFILT:
                ans = new RWT_MA.MEDIANFILT(len);
                break;

            case MAType.DELAY:
                ans = new RWT_MA.DELAY(len);
                break;

            case MAType.TEMA:
                ans = new RWT_MA.TEMA(len);
                break;

            case MAType.SUPER2POLE:
                ans = new RWT_MA.Super2(len);
                break;

            case MAType.SUPER3POLE:
                ans = new RWT_MA.Super3(len);
                break;

            case MAType.LINREGSLOPE:
                ans = new RWT_MA.LINREGSLOPE(len);
                break;
            }
            return(ans);
        }