Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - alexpmorris

Pages: [1]
I just updated the post to reflect a new understanding of the problem.  You'll still have to get through @abit's flagging.  However, it turns out that @abit, @pc, and myself are both right and wrong on particular aspects.  It turns out it's not a margin-call related issue, though there are some things that could probably be revisited given some of the things that were brought up.  And it turns out it is also a bit of a "rounding issue" after all, but not quite in a way that anyone's brought up. 

The "problem", at least for the community to decide if they consider it a "problem", is that you're not just "buying", you're "Buying at least". THAT's where the "rounding errors" are compounding.


What if I want to buy 1.5 INTELLIGUYPIZZA at 4.50 TEST, but by accident I entered 345 instead. Yes, I'm aware of the "GUI warning". But that's not the point here. The offer is 4.50, and there's plenty available. So, no problem... instead, I'll just get my 1.5 at 4.50 instead of 345, right?

WRONG!  Here's what you'll really be getting... bought 113 INTELLIGUY PIZZA at 4.50 TEST/INTELLIGUYPIZZA.

For reference, here's the link for original post with the full update:

from steemit:
@abit: I'm not a native English speaker, so perhaps have misunderstood you about the 540000/100 data. That behavior is correct, if it's what you wanted to say, then you're correct. However it has nothing to do with call orders. More discussion in the github issue.

Rounding issues won't cost you a lot of money, it's usually no more than one satoshi of token of one side of the market. But call orders may cost much more. You didn't have a picture of call orders in the post.

I still think your post is a bit too exaggerated, or is click-bait. If you've presented the issue in a better way, or with more accurate info, I may have upvoted. Perhaps I'll change to an upvote after the post is updated.

Thank you anyway.

response (also on steemit):

>@abit: Rounding issues won't cost you a lot of money, it's usually no more than one satoshi of token of one side of the market.

@abit and @pc, you call a 40% overpay a "rounding issue"?  The trades are not being ROUNDED.  They are transacting EXACTLY AS ENTERED.  And once again, I clearly stated that I believe this may be related to the CALL ORDER LOGIC, as opposed to outright call orders.  Just look at all the other fills on these books.  Where else are you seeing such large "rounding" errors, costing magnitudes more than "1 SATOSHI"!

1 satoshi = 0.00000001 bitcoin = US $0.0000267

The WHALESHARE buyer PAID 8.58 BTS each for 2 WHALESHARE
The WHALESHARE buyer OVERPAID by 43%!!! 
With BTS around US $0.30 at the time, that's an overpay 5.16 BTS, or US$1.548, or 57977 satoshi

The HERO seller ASKED 919 BTS each for 0.00134 HERO
The HERO buyer (me) PAID 925 BTS each for 0.0002 HERO
A difference of 6 BTS each sounds much more than a mere "rounding error".

The OBITS seller ASKED 8.16138 BTS each for 1409.0418 OBITS
The OBITS buyer (me) PAID 8.17 BTS each for 0.0100 OBITS
The previous OBITS buyer PAID 8.16138 BTS each for 1 OBITS (from the same offer)
A difference of nearly 0.01 BTS (0.00862 each) each is again more than a "rounding error".

How much more money should I toss away proving my point?  A few more 40% hits maybe?  If you're all so confident I'm wrong, you're welcome to swing your size around and BID 10 BTS each for 100 OBITS.

In response to @pc, I know all about the NON-DECIMAL ASSET PAIR rounding issue. However, that ONLY applies to assets where BOTH tokens are non-decimal in nature.  In fact, I warned the community of this a few weeks back as well, when that exact scenario happened to a bunch of members of the Whaleshares community (including myself) who were trying to buy BEYONDBIT_WHALESHARE.  I wrote all about it here:

It seems these assets may be "sneaking" into the margin call code.  If I'm wrong, fine, I said I might be, but writing this off as a mere "rounding error" is disengenuous.  Where else in the code would a person's order NOT be correctly PRICE ADJUSTED to match the inside market???

So how about this @abit.  Why don't you tell me the exact title you'd like to see on my post.  I'll also paste any text you would like at the top of the post, as long as it is clearly stated as YOUR point of view.  After that, how about you unflag the post and let the community make up its own mind...

thank you for your comment @fav, just to address your points...

I think the clickbaity title hit a nerve there...

Next to countless headlines I've seen on STEEMIT, I'd hardly regard mine as all that "clickbaity", except for perhaps the single EMOJI (versus the 10+ some others use to gain attention).  As you know, it's easy for your post to get lost in a sea of "spicy titles", so a bit of "flare" certainly can't hurt.  But I do get what you're saying, and given how it seems @abit misinterpreted much of what I presented, certainly plausible.

it's technically not a bug, at least as far as I understand.

Here's part of my response to @abit on my post, after that I leave it to you to decide...

>abit --> At present there is no margin call on the book of BTS/bitUSD pair. You will get best offers no matter what price you placed.

> me --> First you say "fat fingers are unforgivable", next you say it's not possible to "fat finger" above a sitting offer? Yet, somehow, I was consistently able to do exactly that. If you doubt my screen shots, I can dig up some block numbers for you to further examine as well, starting with this:

ca3d644c bedr00mshaman paid 2 WHALESHARE for 17.16 BTS 5 days ago
71820b4a bedr00mshaman wants 552 BTS for 92 WHALESHARE 5 days ago

Really appreciate the kind words @vegolino.  Others have come forward saying they've also noticed this happen on the DEX, and were confused by what was going on.  Nonetheless, this kind of "gunslinging reaction" by the #9 largest account holder on STEEMIT doesn't sit well with me.  This brings back more memories from my days on YouTube, and why we finally gave up on it. 

I shed light on a critical issue, and warned the community to be extra careful not to succumb to this "feature".  I even tried offering more insight into the problem, along with a potential solution, especially since (as I wrote), many seemed "highly skeptical it could even happen".  Before I posted, I brought it up one last time Friday morning at @officialfuzzy's BitShares Hangout, asking if anyone had any additional insight I may have overlooked.  I guess it still wasn't enough...

Regardless, I do really appreciate your comment.  I also added my BTS info to my profile.

@abit, I left you a long response on my post clearly addressing all the points you brought up.  However, for a problem that apparently doesn't exist, there certainly seems to be a lot of activity going on to address it.  So at least something good has come of this. 

Nonetheless, for all my effort, my post remains downvoted to ZERO by your single vote.  And speaking of FUD, this behavior has apparently triggered a whole new discussion on discord as to how a single vote on STEEMIT can negate hundreds of others in a single shot.

It's also taught me that perhaps it's "safer" in the future if I discover something like this again, just to keep it to myself...


And granted, you should know the code much better than I do.  However (unless I'm missing something else here), wouldn't min_price still match above the best offer price, and at the short squeeze price instead?

auto min_price = bitasset.current_feed.max_short_squeeze_price();

That's why I was trying to extract the actual inside offer price to use as the max fill price instead.

thank you @tbone for getting this up on bitsharestalk.  Apparently, this sparked a bit of a discussion in bitshares devtalk, and frankly, I really couldn't add much versus what @tbone and @dannote had already responded.  Regarding some of the questions that came up, if you look at my test examples, they were mostly *NOT* that far from the market, and frankly I'm not sure they were even "offsetting" a margin call, so much as *qualifying* into that "category".  That's because I always observed the trade executing at the INSIDE MARKET (albeit at a much higher price), as opposed to filling some margin call. 

But once again, just wanted to clarify, I'm not saying I have this completely correct, or that the proposed solution is correct or ideal.  I haven't worked enough on the code (or run enough tests) to be anywhere close to that certain.  I tried writing a test case to step through the code, and it appears that was more or less what was going on.  But there could be other factors at play that I missed.  As for handling this as limit orders come in, I thought of that too.  However, if you notice (again if I got this right), it seems more or less apply_order() is where that happens, and the first step after that is check_call_orders().

Regardless, it's definitely a problem, as others having agreed.  And I'd be surprised if many aren't taking advantage of it already.  Having traded for 20+ years, markets *don't* work this way.  Well, actually, the NYSE did work slightly that way when filling large blocks, and oh boy was that fun taking advantage of!  However, even that was related to market orders or large orders sweeping the book and matching them all at a single higher price.

I also agree any fixes should be in the blockchain itself.  When trading, whether GUIs, bots, whatever, the more checks that make the system work as most would expect, the better for the ecosystem. And as far as I can tell, this is not the consistent behavior that most would expect.

Pages: [1]