-
Notifications
You must be signed in to change notification settings - Fork 569
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[20][ety001] Order book: stack orders those prices are too close #1106
Comments
Can you confirm what you mean by prices are too close? |
Could be difficult to determine which orders should be consolidated together as it could possibly affect some normal orders in market... But this bot is indeed annoying and was making order depth chart quite useless. |
On some exchanges, for example https://www.binance.com/trade.html?symbol=BTS_BTC , user can group orders, so the order book is clearer: |
I'm not clear on how you'd group orders when the prices are all different. |
Group by decimals. Click the link you'll see. |
How about a new API that returns an order book that orders are grouped already? I think we can group the orders by percentage increase on price, we can say that a group of orders is a bucket, say 0.01% buckets, 0.1% buckets, 1% buckets and etc. An order group (e.g. an ask order group) would have there attributes :
And perhaps one or more of these attributes if you think are useful (to determine when to execute a new query, to subscribe to market order objects, to update user balance info and history, etc, although personally I think it's inefficient for UI to subscribe to order objects in busy markets in comparison to polling):
In order to implement this, the simplest way for the backend would be calculating on the fly which will use no extra RAM but every query uses CPU, the way with highest query performance is an plugin that has data pre-calculated with pre-defines buckets. Personally I prefer the latter, in this case we should define a default bucket list for both the UI and the backend. @wmbutler @svk31 @HarukaMa please advise. //Update: we can add similar API's for force settlements and call orders later. |
Grouped orders is a nice feature. Like Binance, Poloniex also groups by decimal places. I think @abitmore's idea of grouping by buckets based on price % is very interesting, although it's uncertain how useful a limited # of pre-selected buckets (i.e. .01%, .1%, 1%) will be. Perhaps consider a spinbox that enables users to easily adjust the % grouping up/down more incrementally. If this feature is added, Bitshares DEX and Poloniex will be the only 2 exchanges I can think of whose order books have both this grouping feature AND cumulative total of orders. This a very powerful combination of order book features that make placement of orders easier and much more convenient. We should not underestimate how much easier it is to place orders (esp. for noobs) when you can readily see things like a) how many XYZ coins can you get in exchange for the amount you wish to spend or b) how much it will cost you to get the number of XYZ coins you wish to buy. Grouped orders and especially cumulative order totals are incredibly helpful in this regard. re: the plugin idea, it seems that it would make sense to include cumulative total of orders in such an effort. I'll add that to bitshares/bitshares-core#639. |
To whom it may concern, I've finished the plugin and API: bitshares/bitshares-core#662. No need to replay after applied the patch, nor changed configured |
My gut says that the Foundation servers should implement this so we have some known nodes using it and others can follow at their leisure. |
Sample data with 0.1% groups pasted below, the first 10 groups contain 97 orders for BTS:CNY market:
|
Seems nobody is working on this? Perhaps 2 hours is too few. Maybe 10 hours would be OK. |
Moved this to April and increased hours to 5 |
Update: I've got a guy to work on this issue. Will provide more info later. |
Update: sample data at the bottom of the page: http://open-explorer.io/#/markets/BTS/USD (although data on the page seems wrong). |
Update: we've made good progress, will submit PR asap. @wmbutler according to the work we've done and foreseen, I think it's OK to update hours of this issue to 20. |
I really like this idea. I would just point out that it will only be partially helpful to display the total in terms of the base asset only. In other words, it should also show the total in terms of the quoted asset. Also, it is not helpful to show the total of each individual group. Instead, each row should show the cumulative sum total of all rows/groups up to (and including) that one. |
@tbone-bts basic data is a thing, UX is another. What you're asking is more data showing on the page, which can be derived from the basic data. By the way, since we don't have "buy limit order" feature, at this moment it's hard to place accurate bid orders when the market is changing frequently. |
The GUI already does this when parsing the orderbook, I realize you already implemented this in the backend now but tbh I don't see why that's even needed. It would be easy to extend the current grouping in the GUI to do what you want. |
For example, https://wallet.bitshares.org/#/market/BTS_CNY, even clicked "show all bids", the lowest bid is at In addition, to get this data with current code, need to fetch 300 orders from API node. The depth chart is pretty ugly. |
See PR #1467. |
@abitmore can you post the BTS address where you expect to receive payment? |
It's here: #1467 (comment) ety001.worker |
Check https://wallet.bitshares.org/#/market/BTS_CNY for example, unable to see other orders but only these:

The text was updated successfully, but these errors were encountered: