internal void DetectTrade(Fill fill)
        {
            var id = fill.Instrument.Id;

            if (this.detectors[id] == null)
            {
                var detector = new TradeDetector(TradeDetectionType.FIFO, this.portfolio);
                detector.TradeDetected += (sender, e) =>
                {
                    var info = e.TradeInfo;
                    foreach (var item in Items)
                    {
                        item.OnRoundTrip(info);
                    }
                };
                this.detectors[id] = detector;
            }
            this.detectors[id].Add(fill);
        }