mathpaquette / IQFeed.CSharpApiClient

IQFeed.CSharpApiClient is fastest and the most well-designed C# DTN IQFeed socket API connector available
MIT License
120 stars 43 forks source link

Protocol 6.2 #117

Closed NichUK closed 3 years ago

NichUK commented 3 years ago

@mathpaquette

Here's a pass at protocol 6.2 fufilling issue #61.

I believe it's completely functional, and all the tests pass (locally). I have added (and may add some more tests) to better test the new functionality.

Protocol 6.2 additions (details: from IQ Feed)

Can you have a look please, and let me know if there's anything you particularly dislike or want to discuss!

NichUK commented 3 years ago

I don't think we should be looking to add this to "master" until it's out of beta with IQ, but if you think it's OK, then I'd be quite up for making the protocol_6.2 branch available for people to play with/test with IQ's beta feed.

mathpaquette commented 3 years ago

I don't think we should be looking to add this to "master" until it's out of beta with IQ, but if you think it's OK, then I'd be quite up for making the protocol_6.2 branch available for people to play with/test with IQ's beta feed.

well. it depends... I'm more trunk based development oriented meaning master has all latest changes. Worst case, we can have a protocol6.1 branch and simply not adding this commit or others specific for 6.2

but I think the focus now is really 6.2

mathpaquette commented 3 years ago

@mathpaquette

Here's a pass at protocol 6.2 fufilling issue #61.

I believe it's completely functional, and all the tests pass (locally). I have added (and may add some more tests) to better test the new functionality.

Protocol 6.2 additions (details: from IQ Feed)

  • [ ] New Level2 messages and events (market by price, market by order)
  • [ ] Keep access to current Level2 messages (protocol 6.1) for the present - remove them in a future update
  • [ ] Add Level 1 Trade Corrections data and events
  • [ ] Handle new Lookup data identifier fields (maintaining compatibility with existing files and data)

Can you have a look please, and let me know if there's anything you particularly dislike or want to discuss!

Of course. Thank you so so much!!

mathpaquette commented 3 years ago

very interesting stuff!! Wow much more work than I was expected. Ill review in deeper with my IDE but looks great! Not sure we need that much backward compatibility for all Parsing logic, maybe we need to sort this out.

NichUK commented 3 years ago

The backwards compatibility is only where there may be file data already stored in a previous protocol format. Places where it's online only, are 6.2 only.