Non-generic history methods returning IEnumerable<TradeBar> have been marked as obsolete because they return an empty result when called with Forex and CFD security types.
The recommended replacements are their generic equivalents, using TradeBar or QuoteBar data type arguments, depending on the security type.
FuncSecuritySeeder implements this new interface and is used in BrokerageModelSecurityInitializer to seed new securities with a price when they are created. FuncSecuritySeeder uses a new method, GetSingleBarHistory, in QCAlgorithm.History to get the last price from the history provider.
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.
When this was originally written, we were assuming one subscription per security.
This removes that assumption and tries to find subscriptions matching the request
It seems the IronPython engine had a hard time resolving explicit interface
implementations, so we'll just remove the explcitness. It was originally provided
to coax algorithm writers to not directly use the provider due to its API.