Replaces Enum `CalendarType` for static class with the same name. This class defines two properties (`Weekly` and `Monthly`) that can be used to define the previous calendar date (Monday or 1st of current month) which will correspont to the `Time` of a `IBaseData` object.
Refactor `PeriodCountConsolidatorBase` to define use `GetRoundedBarTime` based on a period specification that depends on the constructor overload: `integer`, `TimeSpan` or `Func<DateTime, CalendarInfo>`. The last one can be set with the `CalendarType` properties.
The existing IdentityDataConsolidator consumes all ticks, completely ignoring
the tick type. I doubt this is ever the desired behavior, but given my
reluctance to break existing regression and unit tests as well as perhaps
user algorithms, I've added a layer on top to provide the proper filtering.
Removed the stub type which mirrored the TickAggregator and also expanded
the TickAggregator implementations to provide full coverage of the possible
ticktype/resolution cases: OpenInterestTickAggregator and IdentityTickAggregator
- Missing `event` keyword prevented pythonnet to recognize `DataConsolidated` as a event handler.
- Adds python version of `RenkoConsolidatorAlgorithm`.
All consolidators now clear the event handlers list when being disposed.
In addition, SubscriptionManager.RemoveConsolidator will now dispose of
the consolidator before returning. This ensures the consolidator and any
downstream indicators that were attached to it can be properly cleaned
by garbage collection.
* Fixes 5 warnings with code CD1572
* Adds the Xml Comment parameter and implements the missing selector parameter
* Fixes rest of the 13 warnings with code CS1572
WorkingBar resolution was not set explicitly and that made it incoherent with the Consolidator, since the default is minute. It causes IDataConsolidator.Scan to emit a bar that was already emited
Refactors existing consolidators, indicators, and helper methods to depend on
IBaseData instead of BaseData. These updates also defines an IBaseDataBar to
act as an abstraction point between TradeBar and QuoteBar.
For tradebar data, duplicate time stamps means this is filled forward on a higher resolution,
for example, daily being filled forward onto minute bars.
For tick data, we don't do fill forward, so we don't apply this logic