public void ComparesWithExternalDataLowerBand()
        {
            var kch = new KeltnerChannels(20, 1.5m, MovingAverageType.Simple);

            TestHelper.TestIndicator(kch, "spy_with_keltner.csv", "Keltner Channels 20 Bottom",
                                     (ind, expected) => Assert.AreEqual(expected, (double)((KeltnerChannels)ind).LowerBand.Current.Value, 1e-3));
        }
        public void ComparesWithExternalDataUpperBand()
        {
            var kch = new KeltnerChannels(20, 1.5m, MovingAverageType.Simple);

            TestHelper.TestIndicator(kch, "spy_with_keltner.csv", "Keltner Channels 20 Top",
                                     (ind, expected) => ((double)((KeltnerChannels)ind).UpperBand.Current.Price).Should()
                                     .BeApproximately(expected, 1e-3));
        }
Exemple #3
0
 protected override void Initialize()
 {
     MacD = Indicators.MacdHistogram(LngCycle, ShrtCycle, SigPeriod);
     // Initialize keltner Channels
     _momentum = Indicators.MomentumOscillator(MarketSeries.Close, Periods);
     LR_Slope  = Indicators.LinearRegressionSlope(MarketSeries.Close, Periods);
     Klt       = Indicators.KeltnerChannels(Klt_Periods, MovingAverageType.Exponential, Klt_ATR_Periods, MovingAverageType.Simple, Klt_stdDev);
     bb        = Indicators.BollingerBands(bb_Source, bb_Periods, bb_stdDev, MovingAverageType.Simple);
 }
Exemple #4
0
        //public IndicatorDataSeries bb_main { get; set; }
        //[Output("4", Color = Colors.Red, PlotType = PlotType.Line, Thickness = 2)]
        //public IndicatorDataSeries bb_top { get; set; }

        //[Output("5", Color = Colors.Red, PlotType = PlotType.Line, Thickness = 2)]
        //public IndicatorDataSeries bb_bottom { get; set; }

        //public IndicatorDataSeries bb_bottom;

        //////////////////////////////////



        protected override void Initialize()
        {
            MacD_Series = MarketData.GetSeries(MacD_TF);
            // Initialize keltner Channels
            LR_Slope  = Indicators.LinearRegressionSlope(MarketSeries.Close, Periods);
            _momentum = Indicators.MomentumOscillator(MarketSeries.Close, Periods);
            MacD      = Indicators.MacdHistogram(MacD_Series.Close, LngCycle, ShrtCycle, SigPeriod);

            Klt = Indicators.KeltnerChannels(20, MovingAverageType.Exponential, 10, MovingAverageType.Simple, 1.5);
            bb  = Indicators.BollingerBands(bb_Source, 20, 2.0, MovingAverageType.Simple);
            //form1 = new System.Windows.Forms.Form();
        }
Exemple #5
0
 protected override void OnStart()
 {
     Positions.Closed += OnPositionClosed;
     Positions.Opened += OnPositionOpened;
     startingBalance   = Account.Balance;
     streakTrades      = 0;
     startTime         = Server.Time;
     avgTimes          = new List <int>();
     avgTrades         = new List <int>();
     keltner           = Indicators.KeltnerChannels(maPeriod, MovingAverageType.Weighted, maPeriod, MovingAverageType.Weighted, bandDistance);
     brokenTop         = false;
     brokenBottom      = false;
 }
        //////////////////////////////////

        protected override void Initialize()
        {
            Squeeze   = theBullet[Draw_String];
            ECO       = CreateDataSeries();
            CO_Series = CreateDataSeries();
            HL_Series = CreateDataSeries();

            EMA_CO   = Indicators.ExponentialMovingAverage(CO_Series, Interval_1);
            EMA_CO_S = Indicators.ExponentialMovingAverage(EMA_CO.Result, Interval_2);

            EMA_HL   = Indicators.ExponentialMovingAverage(HL_Series, Interval_1);
            EMA_HL_S = Indicators.ExponentialMovingAverage(EMA_HL.Result, Interval_2);

            Klt = Indicators.KeltnerChannels(Klt_Periods, MovingAverageType.Exponential, Klt_ATR_Periods, MovingAverageType.Simple, Klt_stdDev);
            bb  = Indicators.BollingerBands(bb_Source, bb_Periods, bb_stdDev, MovingAverageType.Simple);
        }
        public void ResetsProperly()
        {
            var kch = new KeltnerChannels(20, 1.5m, MovingAverageType.Simple);

            foreach (var data in TestHelper.GetTradeBarStream("spy_with_keltner.csv", false))
            {
                kch.Update(data);
            }

            Assert.True(kch.IsReady);
            Assert.True(kch.UpperBand.IsReady);
            Assert.True(kch.LowerBand.IsReady);
            Assert.True(kch.MiddleBand.IsReady);
            Assert.True(kch.AverageTrueRange.IsReady);

            kch.Reset();

            TestHelper.AssertIndicatorIsInDefaultState(kch);
            TestHelper.AssertIndicatorIsInDefaultState(kch.UpperBand);
            TestHelper.AssertIndicatorIsInDefaultState(kch.LowerBand);
            TestHelper.AssertIndicatorIsInDefaultState(kch.AverageTrueRange);
        }