BSIP: 0032 Title: Always Match Orders At Maker Price Author: Abit More Status: Draft Type: Protocol Created: 2018-02-16 Discussion: https://github.com/bitshares/bitshares-core/issues/338 Replaces: - Worker: To be done # Abstract Currently, under most circumstances, when matching two orders, the maker price will be used. That said, the order that is placed earlier sets a price, another order that is placed later accepts the price, thus a match, two orders pay to each other at that price. For example, if one person (A) placed a limit order to sell 100 BTS at 0.1 USD per BTS, another person (B) then placed a new limit order to buy 100 BTS at 0.105 USD per BTS, the two orders will match at 0.1 USD per BTS, so A will pay 100 BTS and get 10 USD, B will pay 10 USD and get 100 BTS. However, when matching a taker limit order with a maker margin call order, the taker price is being used. For example, if trader A's margin call order is selling 100 BTS at no less than 0.1 USD per BTS, then trader B placed an order that buys 100 BTS at 0.105 USD per BTS, the two order will match at 0.105 USD per BTS, so A will pay 100 BTS and get 10.5 USD, B will pay 10.5 USD and get 100 BTS. This BSIP proposes a mechanism to change this behavior: always match orders at maker price. # Motivation Make the exchange system more user-friendly. # Rational To attract more users, the system should be fair. It's common sense that orders should be matched at maker price. # Specifications There is a parameter in price feed named MSSR, which stands for "maximum short squeeze ratio". Maker price of margin call orders is MSSP, which stands for "maximum short squeeze price", is calculated as `feed_price / ( 100% + MSSR )`. Note: `feed_price` here is in terms of debt/collateral, aka "how much debt per collateral". Matching between a limit order and a call order is done in `check_call_orders(...)` function of `database` class, price of limit order is always used. It need to be changed to use MSSP when the call order is maker. # Discussion [to be added if any] # Summary for Shareholders [to be added if any] # Copyright This document is placed in the public domain. # See Also * https://github.com/bitshares/bitshares-core/issues/338 * https://bitsharestalk.org/index.php?topic=25926.0