Commit Graph

19 Commits

Author SHA1 Message Date
Martin-Molinero 684ba1b25a remove missing files 2018-03-15 17:41:24 -07:00
Andrew Hart d4177fd5f5 Renamed IApi live websocket methods 2016-11-07 18:39:51 -05:00
Andrew Hart 30cfc2f14c WebSocketConnection now properly authenticates with server 2016-11-07 10:44:08 -05:00
Andrew Hart fc03df6f35 WebSocketConnection.cs manages web socket connection to live data server 2016-11-07 09:25:30 -05:00
Andrew Hart 6da8111fed ApiDataQueueHandler attempts to recover from abnormal closures 2016-11-02 09:04:39 -04:00
Andrew Hart 2d47d5de1a Added live-data-url and live-data-port to config.json 2016-11-01 15:43:50 -04:00
Andrew Hart f11c5aefa9 Refactored TryOpenSocketConnection to return bool
In order to tell to the caller whether the websocket connection is open or not, TryOpenSocketConnection now returns a bool.  ApiDataQueueHandler also now operates on BaseData in order to handle all types of securities.
2016-11-01 15:40:09 -04:00
Andrew Hart b6850abf79 Added ApiDataQueueHandler for live data websocket connections 2016-11-01 15:17:27 -04:00
snugs 6689e5e35b Removes SecurityType from IDataQueueHandler interface
The SecurityType can be resolved via Symbol.ID.SecurityType
2015-12-11 10:47:57 -05:00
snugs 7b6c82841f Initial implementation of SecurityIdentifier 2015-11-12 13:55:42 -05:00
snugs d958bd208e Use Symbol in IDataQueueHandler interface 2015-11-12 13:55:40 -05:00
snugs e1938baafe Clean up using directives 2015-09-01 22:17:35 -04:00
snugs df79ce30c2 Adds the Symbol type
This includes updating all usages of symbol as a security identifier to use the new type.
The type includes a unique field, SID, as well as the current ticker's value. This allows
for consistent addressability while also allowing the ticker to evolve over time with the
mapping changes.

Effort was made to maintain compile and runtime backwards compatibility.
2015-09-01 22:17:10 -04:00
snugs 25d645a8a2 Rewrite StreamStore to remove locks 2015-08-21 17:47:27 -04:00
snugs b9a72e62ca Update IDataFeed to use single time slice bridge
DataFeeds now expose a single bridge (BlockingCollection<TimeSlice>)
	- IDataFeed now responsible for all time syncing, DataStream was removed
	- BlockingCollection allows for easy throttling of data feed thread without sleeps (internally using semaphore slim)
	- Slimmed down IDataFeed interface to not include members unused externally

DataFeeds now use raw IEnumerator<BaseData> instead of subscription data readers directly
	- Simplifies fill forward logic (see FillForwardEnumerator.cs and FillForwardEnumeratorTest.cs)
	- Allows for composition (raw reader -> fill forward, user/market filters)
	- SubscriptionDataReader now handles refreshing source (continuous enumeration)

LiveTradingDataFeed cleaned up to work with time slice bridge
	- RealTimeSynchronizedTimer handles pushing time slices into bridge every second, with or without data
	- Subscriptions with tick resolution get their data pushed directly into the bridge immediately

Fill forward changes
	- Implemented as an IEnumerator<BaseData>
	- Fill forward lower res on higher res (daily gets filled forward on second/minute/hour bars)
	- Second/minute/hour will not be filled forward on daily bars (at midnight) in line with current behavior

MISC:
	- Performance boost in backtesting brokerage via not checking _pending.Count, instead use local bool to determine if there's pending orders
	- Added a FakeDataQueue to aid in testing LiveTradingDataFeed
	- FileSystemDataFeed now uses CancellationTokenSource to handle thread exits
	- Added logging
2015-06-30 15:18:34 -04:00
QuantConnect f4342a9615 Update data queue to get next base data instead of ticks 2015-05-18 01:01:25 -04:00
QuantConnect a82510cff7 Removed unused interface methods 2015-04-18 00:55:46 -04:00
QuantConnect 2325623630 Namespace comment removed 2015-04-07 14:37:23 -04:00
QuantConnect 3251d303ff Splitting job and data queue handlers for ease of datafeed implementation. Half complete 2015-04-06 17:28:16 -04:00