コード例 #1
0
 public ChaikinMoneyFlowIndicator(TimeSeries series, int timeFrame) : base(series)
 {
     _series          = series;
     _timeFrame       = timeFrame;
     _clvIndicator    = new CloseLocationValueIndicator(series);
     _volumeIndicator = new VolumeIndicator(series, timeFrame);
 }
コード例 #2
0
        public void setUp()
        {
            Random      r    = new Random();
            List <IBar> bars = new List <IBar>();

            for (int i = 0; i < 1000; i++)
            {
                double   open     = r.NextDouble();
                double   close    = r.NextDouble();
                double   max      = Math.Max(close + r.NextDouble(), open + r.NextDouble());
                double   min      = Math.Min(0, Math.Min(close - r.NextDouble(), open - r.NextDouble()));
                DateTime dateTime = DateTime.Now;
                IBar     bar      = new BaseBar(dateTime, (decimal)open, (decimal)close, (decimal)max, (decimal)min, i);
                bars.Add(bar);
            }
            this.series = new BaseTimeSeries("test", bars);

            this.openPriceIndicator = new OpenPriceIndicator(this.series);
            this.minPriceIndicator  = new MinPriceIndicator(this.series);
            this.maxPriceIndicator  = new MaxPriceIndicator(this.series);
            this.volumeIndicator    = new VolumeIndicator(this.series);
            ClosePriceIndicator closePriceIndicator = new ClosePriceIndicator(this.series);

            this.emaIndicator = new EMAIndicator(closePriceIndicator, 20);
        }
コード例 #3
0
        public void SetUp()
        {
            IList <Tick> ticks = new List <Tick>();

            // close, volume
            ticks.Add(GenerateTick.From(6, 100));
            ticks.Add(GenerateTick.From(7, 105));
            ticks.Add(GenerateTick.From(9, 130));
            ticks.Add(GenerateTick.From(12, 160));
            ticks.Add(GenerateTick.From(11, 150));
            ticks.Add(GenerateTick.From(10, 130));
            ticks.Add(GenerateTick.From(11, 95));
            ticks.Add(GenerateTick.From(13, 120));
            ticks.Add(GenerateTick.From(15, 180));
            ticks.Add(GenerateTick.From(12, 160));
            ticks.Add(GenerateTick.From(8, 150));
            ticks.Add(GenerateTick.From(4, 200));
            ticks.Add(GenerateTick.From(3, 150));
            ticks.Add(GenerateTick.From(4, 85));
            ticks.Add(GenerateTick.From(3, 70));
            ticks.Add(GenerateTick.From(5, 90));
            ticks.Add(GenerateTick.From(8, 100));
            ticks.Add(GenerateTick.From(9, 95));
            ticks.Add(GenerateTick.From(11, 110));
            ticks.Add(GenerateTick.From(10, 95));

            _data   = new TimeSeries(ticks);
            _close  = new ClosePriceIndicator(_data);
            _volume = new VolumeIndicator(_data, 2);
        }
コード例 #4
0
        public void setUp()
        {
            List <IBar> bars = new List <IBar>();

            // close, volume
            bars.Add(new MockBar(6, 100));
            bars.Add(new MockBar(7, 105));
            bars.Add(new MockBar(9, 130));
            bars.Add(new MockBar(12, 160));
            bars.Add(new MockBar(11, 150));
            bars.Add(new MockBar(10, 130));
            bars.Add(new MockBar(11, 95));
            bars.Add(new MockBar(13, 120));
            bars.Add(new MockBar(15, 180));
            bars.Add(new MockBar(12, 160));
            bars.Add(new MockBar(8, 150));
            bars.Add(new MockBar(4, 200));
            bars.Add(new MockBar(3, 150));
            bars.Add(new MockBar(4, 85));
            bars.Add(new MockBar(3, 70));
            bars.Add(new MockBar(5, 90));
            bars.Add(new MockBar(8, 100));
            bars.Add(new MockBar(9, 95));
            bars.Add(new MockBar(11, 110));
            bars.Add(new MockBar(10, 95));

            ITimeSeries data = new BaseTimeSeries(bars);

            close  = new ClosePriceIndicator(data);
            volume = new VolumeIndicator(data, 2);
        }
コード例 #5
0
 public IIIIndicator(ITimeSeries series)
     : base(series)
 {
     _closePriceIndicator = new ClosePriceIndicator(series);
     _maxPriceIndicator   = new MaxPriceIndicator(series);
     _minPriceIndicator   = new MinPriceIndicator(series);
     _volumeIndicator     = new VolumeIndicator(series);
 }
コード例 #6
0
        public void indicatorShouldRetrieveBarVolume()
        {
            ITimeSeries     series          = new MockTimeSeries();
            VolumeIndicator volumeIndicator = new VolumeIndicator(series);

            for (int i = 0; i < 10; i++)
            {
                Assert.AreEqual(volumeIndicator.GetValue(i), series.GetBar(i).Volume);
            }
        }
コード例 #7
0
 protected override void Awake()
 {
     if (instance == null)
     {
         instance = this;
     }
     else if (instance != this)
     {
         Destroy(gameObject);
     }
     base.Awake();
 }
コード例 #8
0
        public void Draw(CandleSeries series, IEnumerable <Candle> candles)
        {
            if (series == null)
            {
                throw new ArgumentNullException("series");
            }

            if (candles == null)
            {
                throw new ArgumentNullException("candles");
            }

            Series   = series;
            _candles = candles;

            _candlesCount = 0;

            var ohlcArea = new ChartArea {
                Height = 210
            };

            ChartPanel.AddArea(ohlcArea);

            _candlesElem = new ChartCandleElement();
            ChartPanel.AddElement(ohlcArea, _candlesElem, series);

            var volumeArea = new ChartArea {
                Height = 130
            };

            ChartPanel.AddArea(volumeArea);

            _volumeElem = new ChartIndicatorElement
            {
                IndicatorPainter = new VolumePainter(),
            };
            var indicator = new VolumeIndicator();

            _indicators.Add(_volumeElem, indicator);
            ChartPanel.AddElement(volumeArea, _volumeElem, series, indicator);

            CancelButton.Visibility = Visibility.Visible;

            _drawTimer.Flush();
        }
コード例 #9
0
        public void sumOfVolume()
        {
            List <IBar> bars = new List <IBar>();

            bars.Add(new MockBar(0, 10));
            bars.Add(new MockBar(0, 11));
            bars.Add(new MockBar(0, 12));
            bars.Add(new MockBar(0, 13));
            bars.Add(new MockBar(0, 150));
            bars.Add(new MockBar(0, 155));
            bars.Add(new MockBar(0, 160));
            VolumeIndicator volumeIndicator = new VolumeIndicator(new MockTimeSeries(bars), 3);

            Assert.AreEqual(volumeIndicator.GetValue(0), 10);
            Assert.AreEqual(volumeIndicator.GetValue(1), 21);
            Assert.AreEqual(volumeIndicator.GetValue(2), 33);
            Assert.AreEqual(volumeIndicator.GetValue(3), 36);
            Assert.AreEqual(volumeIndicator.GetValue(4), 175);
            Assert.AreEqual(volumeIndicator.GetValue(5), 318);
            Assert.AreEqual(volumeIndicator.GetValue(6), 465);
        }