-
Notifications
You must be signed in to change notification settings - Fork 217
[GDAX] UserTrades and Trades duplicate each other when using authenticated stream #230
Comments
It is odd behaviour. My gut reaction would be to avoid any delays and return the current duplicated stream - this is something the user can resolve but in reality its a problem that every user will have to solve, and will cause much confusion. Is there any way to check if authenticated and then just use one stream of trades or the other - avoid merging them at all? |
It certainly wouldnt work for me - I require both public and private trades. Some exchanges really don't like you opening multiple sockets; their rate limiting can be quite aggressive in that regard. I think it'd be stretching the contract of the current API too. One argument is that maybe backing away from mixing authenticated and unauthenticated is the right solution. |
FYI: GDAX was removed from xchange because: |
@pchertalev: see discussion on #205 |
Is this the result of the implementation or a result of the way gdax sends events based on the various types you've subscribed to? If gdax sends the trade out twice for two different subscription types then I'm more inclined to say the bot/client should expect this behavior. |
This may be true, but if it is, I think it would make more sense to split the streams and have a new |
Is there a reason why coinbaspro was not updated to 4.3.14? |
That looks like a mistake on my part, @fynnfluegge. I'll correct it now. |
This will be fixed under the plan outlined on #274. |
As discussed in review of #160, if a user trade executes and the stream is authenticated, we return a
UserTrade
for that trade (from the authenticateduser
channel), but we also return the publicTrade
(from the publicfills
channel).Do we consider this a bug? The only way I can think of to de-duplicate the two, giving preference to the
UserTrade
, is to delay thefills
stream by just enough that we can assume that theUserTrade
will arrive first, then skip any IDs we've seen recently.Example implementation of
GDAXStreamingMarketDataService.getTrades()
:The text was updated successfully, but these errors were encountered: