Commit Graph

24 Commits

Author SHA1 Message Date
Martin Molinero 2fcd366b1a Removing DF thread - LTDF bridge
- Removing LiveTradingDataFeed bridge. LTDF will yield return Slices
directly from the enumerator, as done in the FSDF. The objective is for
both to share the same logic here and for it to be extracted in a next
PR
- Removing now unnecessary DataFeed running thread
- Adding if (_isStopping) { break; } statement for BaseDataExchange.
This is to avoid the thread to continue looping over the enumerators when stopping. Impacts when there are many securities.
2018-10-09 14:04:41 -03:00
AnshulYADAV, Computer Artist (CoArsey) 350e58567f Fixes 18 warnings with code CS1572 (#908)
* 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
2017-05-12 09:28:46 -04:00
quant1729 48721125dc Revert "Fixed bug with static zip archive caching. Added new caching data file provider. Refactored IDataFileProvider interface."
This reverts commit c59743dc42.
2017-01-11 11:27:28 +08:00
quant1729 c59743dc42 Fixed bug with static zip archive caching. Added new caching data file provider. Refactored IDataFileProvider interface. 2017-01-08 09:25:26 +08:00
quant1729 d2aad44272 Updated code as per PR discussion 2017-01-06 22:46:42 +08:00
quant1729 791645686f Simplified adding handlers to BaseDataExchange 2016-10-28 16:03:55 +02:00
quant1729 059b5f2edd Added support for quotebars in live trading datafeed 2016-10-26 21:11:59 +02:00
snugs 697e632f84 Properly dispose of removed live subscriptions 2015-12-14 18:17:08 -05:00
snugs b3772f8188 Change how to remove enumerators from exchange 2015-12-14 18:17:07 -05:00
snugs 1e469f5235 Revert BaseDataExchange to using concurrent dictionary 2015-12-14 18:17:07 -05:00
snugs a716cfee96 Require a symbol when adding enumerators to exchange 2015-12-14 18:17:04 -05:00
snugs 77ae122201 Fixes potential index out of bounds error 2015-12-14 17:18:08 -05:00
snugs 6345d9c961 Force usage of AddEnumerator call 2015-12-14 17:15:08 -05:00
snugs 6bd3ecc576 Adds BaseDataExchange.RemoveEnumeratorHandlers(predicate) 2015-12-11 19:45:32 -05:00
snugs a1e31c99d2 Adds BaseDataExchange Start/Stop traces 2015-12-11 17:54:46 -05:00
snugs 3b89fcbc25 BaseDataExchange - Allow enumerator specific handlers 2015-12-07 12:02:11 -05:00
snugs ad1dba45f6 Performance improvements to backtesting universes
The coarse optimization was removed when universes were made more generic.
2015-12-07 12:02:06 -05:00
snugs 6c673eca63 Adds EnumeratedFinished and ShouldMoveNext to BaseDataExchange handlers 2015-12-07 12:02:04 -05:00
snugs d55be2a813 Adds cancellation token support to BaseDataExchange 2015-12-07 12:02:03 -05:00
snugs f83a6ea63f Externalizes the thread in BaseDataExchange
Also calls Stop on exchanges in LiveTradingDataFeed
2015-12-07 11:58:47 -05:00
snugs f80f9de826 remove unused BaseDataExchange constructors 2015-12-07 11:58:46 -05:00
snugs a56a8bde81 Fixes memory leak in LiveTradingDataFeed
The issue here seems to be that the TradeBarBuilderEnumerator was able to grow unbounded in some circumstances.
2015-10-28 12:57:25 -04:00
snugs 3b248c34b3 Attempt to fix slow mem leak in live feed 2015-10-16 12:48:59 -04:00
snugs cd27c2833b Rewrites the LiveTradingDataFeed to be enumerator centric
This refactor was an effort to bring into line the various concepts between the
FileSystemDataFeed and the LiveTradingDataFeed. The former works using enumerators
and a time sync loop that uses the concept of a frontier to decide when to 'pull-off'
data that's at or before the frontier. This makes the feed uninterested in how the
data (via enumerators) is provided, and only concerns itself with things at the
subscription level, that is, time syncing and universe selection invocation.

These concepts were brought over to the LiveTradingDataFeed with some modification.
This change heavily uses object composition of enumerators to handle the various
concerns that were previously within the enumerator loops in the LiveTradingDataFeed.

Some enumerator types that help accomplish these concerns:

	FastForwardEnumerator 		- fast forwards an enumerator that contains old data
	RateLimitEnumerator			- prevents an enumerator from being invoked too frequently
	TradeBarBuilderEnumerator 	- Builds trade bars from tick data
	FrontierAwareEnumerator		- Emits the underlying when the frontier is on or after Current
	EnqueableEnumerator			- Acts as a liason between a push/pull system using a queue
2015-10-15 11:10:54 -04:00