BitShares Forum
Main => General Discussion => Topic started by: botfund on October 16, 2015, 06:05:41 am
-
Well, I know you can sell USD and receive BTS to achieve buying BTS using USD.
I can do things like "to buy as many BTS using 60 USD" but what I can't do is "to buy exactly 10000 BTS for worst price of 0.006" if I "sell_asset xxx 60 USD 10000 BTS" when best price is 0.005.
For most (or almost all) other exchanges, you're specifying the exact quantity of BTS and the worst price you can accept.
-
you can walk the orderbook but will need to derive the effective price on your own
-
For most (or almost all) other exchanges, you're specifying the exact quantity of BTS and the worst price you can accept.
I suppose this is because bitUSD is the asset, not BTS? So you're always buying/selling bitUSD with BTS, not the other way around?
-
I suppose this is because bitUSD is the asset, not BTS? So you're always buying/selling bitUSD with BTS, not the other way around?
No, I don't think so. Reverse the trading pair will not help.
The point here is that we have only sell_asset which fixes sell amount which is fine if you sell BTS. But if you want to buy BTS, the only way is to sell_asset USD, but then you can only fix USD amount as it's the asset to be sold.
The needed change is not only on api part, it's also on the chain part and order matching.
-
you can walk the orderbook but will need to derive the effective price on your own
Yes. But when I place the order, I only care about how much BTS I want to buy and what the worse price I can afford. It's counter intuitive to say "I want to buy as much BTS with 5 USD with price better than 0.005".
-
No, I don't think so. Reverse the trading pair will not help.
The point here is that we have only sell_asset which fixes sell amount which is fine if you sell BTS. But if you want to buy BTS, the only way is to sell_asset USD, but then you can only fix USD amount as it's the asset to be sold.
Think about the way the system is designed - you're expecting BTS to be the asset which you are buying and selling, but this is not the case. bitUSD is the asset, so you sell a specific amount of bitUSD at price X which results in Y BTS. This is the same as any other exchange, only difference is on other exchanges BTS is the asset.
-
Think about the way the system is designed - you're expecting BTS to be the asset which you are buying and selling, but this is not the case. bitUSD is the asset, so you sell a specific amount of bitUSD at price X which results in Y BTS. This is the same as any other exchange, only difference is on other exchanges BTS is the asset.
Well, let's reverse it. Then I will want to buy exact 100 USD or sell exact 100 USD. We can't achieve this either. We can sell exact 100 USD, but we can't buy exact 100 USD (can only sell xxxx BTS but received USD amount will not be fixed).
-
Think about the way the system is designed - you're expecting BTS to be the asset which you are buying and selling, but this is not the case. bitUSD is the asset, so you sell a specific amount of bitUSD at price X which results in Y BTS. This is the same as any other exchange, only difference is on other exchanges BTS is the asset.
Well, let's reverse it. Then I will want to buy exact 100 USD or sell exact 100 USD. We can't achieve this either. We can sell exact 100 USD, but we can't buy exact 100 USD (can only sell xxxx BTS but received USD amount will not be fixed).
This is a complex issue. If you say you want to buy exactly $100 of BTS then the PRICE is contingent upon the order book which is constantly changing.
We assume you want to get as much BTS as possible for your $100, if that is the case then place a buy order with a price near infinity and you will get $100 worth at the best possible price.
-
This is a complex issue. If you say you want to buy exactly $100 of BTS then the PRICE is contingent upon the order book which is constantly changing.
We assume you want to get as much BTS as possible for your $100, if that is the case then place a buy order with a price near infinity and you will get $100 worth at the best possible price.
When I trade on exchanges, I'm thinking like this: "I'll buy 10000 BTS with the best price" or "I'll sell 10000 BTS with the best price". You see that I want the BTS amount fixed and price/USD changing. I can only do "selling 10000 BTS with the best price" on BTS2 but not "buying 10000 BTS with the best price" because I'm not assured how much BTS I will get. It's not a big issue because I will get more BTS than I asked but from a trader point of view I really hope BTS2 acts the same like a normal exchange.
btw, I also hope we can add maker/taker fee to improve the liquidity. Maker%+Taker% should be >= 0. The initial fee can start from something like [-0.1%, 0.1%] or [-0.1%, 0.2%] and can be adjusted by committees.