FastQuant.BarSliceFactory.OnBarOpen C# (CSharp) Méthode

OnBarOpen() private méthode

private OnBarOpen ( Bar bar ) : bool
bar Bar
Résultat bool
        internal bool OnBarOpen(Bar bar)
        {
            var item = this.items[(int)bar.Size] = this.items[(int)bar.Size] ?? new BarSliceItem();
            if (item.CloseDateTime == bar.OpenDateTime)
            {
                item.Bars.Add(bar);
                return false;
            }
            if (item.barCount == 0)
                item.CloseDateTime = bar.OpenDateTime.AddSeconds(bar.Size);

            item.barCount++;
            return true;
        }
    }

Usage Example

        // TODO: rewrite it
        private void OnBar(Event e)
        {
            DataEventCount++;
            var bar = (Bar)e;

            if (this.framework.Clock.Mode == ClockMode.Simulation)
            {
                this.framework.Clock.DateTime = bar.DateTime;
            }

            if (bar.Status != BarStatus.Open)
            {
                this.framework.DataManager.OnBar(bar);
                this.framework.InstrumentManager.GetById(bar.InstrumentId).Bar = bar;
                this.framework.ProviderManager.ExecutionSimulator.OnBar(bar);
                this.framework.StrategyManager.OnBar(bar);

                if (bar.Type == BarType.Time || bar.Type == BarType.Session)
                {
                    BarSliceFactory.OnBar(bar);
                }

                return;
            }

            if ((bar.Type == BarType.Time || bar.Type == BarType.Session) && !BarSliceFactory.OnBarOpen(bar))
            {
                return;
            }
            this.framework.ProviderManager.ExecutionSimulator.OnBarOpen(bar);
            this.framework.StrategyManager.OnBarOpen(bar);
        }