Author Topic: Strange behavior of the trading platform  (Read 7178 times)

0 Members and 1 Guest are viewing this topic.

Offline Troglodactyl

  • Hero Member
  • *****
  • Posts: 960
    • View Profile
I've been rolling over my shorts for quite a while with no issues now, so here are a few tips:

1. If you're setting a price limit on your short intending to buy at that exact price, then don't set the quantity.  Instead, manually enter the collateral amount as 2*price limit*desired quantity.  The quantity will display the amount this would collateralize at the current feed, but ignore that.  You can just buy the desired quantity at the price limit you set from your short and the orders will fill each other properly.

2. Expired shorts force a buy order at exactly the feed.  Margin called shorts force a buy at 10% above the feed.  You can see these two orders in the screenshots posted in this thread with their prices in yellow instead of green: The buy at 205 is the expired short order and the buy at 225 is the margin call order.

3. I don't know how much difference it makes, but I always increase my desired number of connections to 45 instead of 20 to try and minimize my latency on receiving new blocks and seeing new orders sooner.

The GUI is sometimes a little weird with my orders showing and hiding as they're in the process of being matched with each other, but if I ignore that it seems to work fine, and the GUI catches up with what actually happened soon after.  The new graphene system should resolve this sort of GUI issue since it pushes updates to the GUI instead of the GUI constantly checking for updated data.

awesome, thank you so much for the pointers, esp with #1. i've had some annoying trades not exactly matched in quantity, but that sounds like a great solution.

for #2, do the 10% over peg orders actually show up on in the order book? both @EstefanTT and i were placing orders for over the max bid in the order book, so they shouldn't have auto executed on us unless there were latent buy orders just not showing up.

I wasn't trading while there were active margin calls, but I did see the +10% order in the order book, and it is displayed in the screenshot.  Note the color coding: regular buys are green, forced buys from short expiration and margin calls are yellow, regular sells are red, and short sells are blue.

EDIT: I just confirmed shorting to myself still works fine.  At the time of execution, call price was about 199.5, lowest sell at 230, highest buy at 225.01, margin call order at 219.4 and expired short order at 199.46.  I shorted to myself at 227.
« Last Edit: July 17, 2015, 12:00:04 am by Troglodactyl »

Offline cylonmaker2053

  • Hero Member
  • *****
  • Posts: 1004
  • Saving the world one block at a time
    • View Profile
  • BitShares: cylonmaker2053
I've been rolling over my shorts for quite a while with no issues now, so here are a few tips:

1. If you're setting a price limit on your short intending to buy at that exact price, then don't set the quantity.  Instead, manually enter the collateral amount as 2*price limit*desired quantity.  The quantity will display the amount this would collateralize at the current feed, but ignore that.  You can just buy the desired quantity at the price limit you set from your short and the orders will fill each other properly.

2. Expired shorts force a buy order at exactly the feed.  Margin called shorts force a buy at 10% above the feed.  You can see these two orders in the screenshots posted in this thread with their prices in yellow instead of green: The buy at 205 is the expired short order and the buy at 225 is the margin call order.

3. I don't know how much difference it makes, but I always increase my desired number of connections to 45 instead of 20 to try and minimize my latency on receiving new blocks and seeing new orders sooner.

The GUI is sometimes a little weird with my orders showing and hiding as they're in the process of being matched with each other, but if I ignore that it seems to work fine, and the GUI catches up with what actually happened soon after.  The new graphene system should resolve this sort of GUI issue since it pushes updates to the GUI instead of the GUI constantly checking for updated data.

awesome, thank you so much for the pointers, esp with #1. i've had some annoying trades not exactly matched in quantity, but that sounds like a great solution.

for #2, do the 10% over peg orders actually show up on in the order book? both @EstefanTT and i were placing orders for over the max bid in the order book, so they shouldn't have auto executed on us unless there were latent buy orders just not showing up.

Offline Troglodactyl

  • Hero Member
  • *****
  • Posts: 960
    • View Profile
I've been rolling over my shorts for quite a while with no issues now, so here are a few tips:

1. If you're setting a price limit on your short intending to buy at that exact price, then don't set the quantity.  Instead, manually enter the collateral amount as 2*price limit*desired quantity.  The quantity will display the amount this would collateralize at the current feed, but ignore that.  You can just buy the desired quantity at the price limit you set from your short and the orders will fill each other properly.

2. Expired shorts force a buy order at exactly the feed.  Margin called shorts force a buy at 10% above the feed.  You can see these two orders in the screenshots posted in this thread with their prices in yellow instead of green: The buy at 205 is the expired short order and the buy at 225 is the margin call order.

3. I don't know how much difference it makes, but I always increase my desired number of connections to 45 instead of 20 to try and minimize my latency on receiving new blocks and seeing new orders sooner.

The GUI is sometimes a little weird with my orders showing and hiding as they're in the process of being matched with each other, but if I ignore that it seems to work fine, and the GUI catches up with what actually happened soon after.  The new graphene system should resolve this sort of GUI issue since it pushes updates to the GUI instead of the GUI constantly checking for updated data.

Offline cylonmaker2053

  • Hero Member
  • *****
  • Posts: 1004
  • Saving the world one block at a time
    • View Profile
  • BitShares: cylonmaker2053
thanks for the explanation for the imprecise short order amounts that are being executed; that makes sense, even though it's not exactly ideal.

the margin call invisible buyer concept doesn't make sense to me, since it seems as though they should be executed at any available price; since we have an entire order book on the sell side just sitting there at higher prices, it just doesn't add up. unless these buy orders at set to trigger at the margin call amount, but are not shown in the order book?

That's the most plausible explanation, but it would do no harm having a confirmation of that. The 10% penalty is no more, so it won't be bought back at any price.

interesting...then why wouldn't these buy triggers be input into the order book? hopefully that's another feature upgrade in 2.0 :)

Offline inarizushi

  • Sr. Member
  • ****
  • Posts: 316
    • View Profile
thanks for the explanation for the imprecise short order amounts that are being executed; that makes sense, even though it's not exactly ideal.

the margin call invisible buyer concept doesn't make sense to me, since it seems as though they should be executed at any available price; since we have an entire order book on the sell side just sitting there at higher prices, it just doesn't add up. unless these buy orders at set to trigger at the margin call amount, but are not shown in the order book?

That's the most plausible explanation, but it would do no harm having a confirmation of that. The 10% penalty is no more, so it won't be bought back at any price.
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline cylonmaker2053

  • Hero Member
  • *****
  • Posts: 1004
  • Saving the world one block at a time
    • View Profile
  • BitShares: cylonmaker2053
It's not expired shorts, but much more probably margin calls that are the invisible buyers. I would love to have an exact description of the market behavior... but apparently nobody wants to document that. It's quite upsetting, I really hope that BTS 2.0 will be documented in the finest details.

The fact that you don't effectively short the amounts you input comes from the fact that you short at a price over the price feed, and the collateral, computed automatically based on the price feed, is only sufficient for the amount that is finally shorted. It's extremely confusing, but "it's a feature, not a bug".

thanks for the explanation for the imprecise short order amounts that are being executed; that makes sense, even though it's not exactly ideal.

the margin call invisible buyer concept doesn't make sense to me, since it seems as though they should be executed at any available price; since we have an entire order book on the sell side just sitting there at higher prices, it just doesn't add up. unless these buy orders at set to trigger at the margin call amount, but are not shown in the order book?

Offline inarizushi

  • Sr. Member
  • ****
  • Posts: 316
    • View Profile
It's not expired shorts, but much more probably margin calls that are the invisible buyers. I would love to have an exact description of the market behavior... but apparently nobody wants to document that. It's quite upsetting, I really hope that BTS 2.0 will be documented in the finest details.

The fact that you don't effectively short the amounts you input comes from the fact that you short at a price over the price feed, and the collateral, computed automatically based on the price feed, is only sufficient for the amount that is finally shorted. It's extremely confusing, but "it's a feature, not a bug".
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline EstefanTT

It's what I did after I had the first "bug". Thses snapshot above are the 3rd test.

I confirmed a buy order of 1 BitUSD, I waited it appear in the list, then I create a short order at the same price.

It doesn't change anything, my buy order stayed there intact and the short have been bought by ... who knows ...  the invisible man, maybe superman ?

There is no invisible man... You cant roll shorts over when there are expired orders!

are you saying that expired orders are executed as bitUSD buy orders at whatever short price is input?

So the expired shorts are auto covering even at 20 BitShares over the price feed ?

Even like that it doesn't explain why am I having 9.07 BItUSD short on my 10 BitUSD order.

If the 1 BiitUSD test (see snapshots)  I sold at 228 bts have been bought by the expired shorts (20 bts above the price feed), why the next other order at 230 bts (789 BitUSD) stay there ? Where is the limit ? how can I caluclate it ?

Edit :
I know, I'm full of questions but I'm not probably the only one who didn't find the proper answers in the threads. I think all these questions (and more to come) have to be answered by someone who knows exactely why this is happenning. Off course, suppositions are greats until then.  ;)
« Last Edit: July 16, 2015, 09:12:32 pm by EstefanTT »
Bit20, the cryptocurrency index fund http://www.bittwenty.com
(BitShares French ConneXion - www.bitsharesfcx.com)

Offline Ander

  • Hero Member
  • *****
  • Posts: 3506
    • View Profile
  • BitShares: Ander
Happens to me all the time.  Sometimes I can roll them over, and sometimes I can't.

I heard that you don't have to roll them over anymore, but I also heard that some people were charged 10% when theirs expired.  I don't know who to believe, so I try rolling mine over like starting a week before expiration and eventually, I find a random time when my orders match.  At that point, I accept the miracle, and roll over all my positions.

This is IMHO the reason why our market cap blows.  Everyboody wants to short our smartcoins at this market cap (our only truly unique feature currently in play), but few have the patience and understanding to even get the client to sync, let alone fight superman.

I find it more difficult to roll over positions on days when the price tanks.  Days like today, however, are great days to accumulate short positions.

2.0 can't come soon enough...But I'm afraid that when it does, I won't be able to find the "2.0 is released" threads in a sea of:

FU Superman!

I agree.  We've been waiting for a working client for like 9 months now that will allow BTS to fulfill its potential.   I have to close everything else on my computer before I run bitshares, or it will crash when I go to the exchange screen, due to eating up all memory. 
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline cylonmaker2053

  • Hero Member
  • *****
  • Posts: 1004
  • Saving the world one block at a time
    • View Profile
  • BitShares: cylonmaker2053
It's what I did after I had the first "bug". Thses snapshot above are the 3rd test.

I confirmed a buy order of 1 BitUSD, I waited it appear in the list, then I create a short order at the same price.

It doesn't change anything, my buy order stayed there intact and the short have been bought by ... who knows ...  the invisible man, maybe superman ?

There is no invisible man... You cant roll shorts over when there are expired orders!

are you saying that expired orders are executed as bitUSD buy orders at whatever short price is input?

Offline lil_jay890

  • Hero Member
  • *****
  • Posts: 1197
    • View Profile
It's what I did after I had the first "bug". Thses snapshot above are the 3rd test.

I confirmed a buy order of 1 BitUSD, I waited it appear in the list, then I create a short order at the same price.

It doesn't change anything, my buy order stayed there intact and the short have been bought by ... who knows ...  the invisible man, maybe superman ?

There is no invisible man... You cant roll shorts over when there are expired orders!

Offline EstefanTT

It's what I did after I had the first "bug". Thses snapshot above are the 3rd test.

I confirmed a buy order of 1 BitUSD, I waited it appear in the list, then I create a short order at the same price.

It doesn't change anything, my buy order stayed there intact and the short have been bought by ... who knows ...  the invisible man, maybe superman ? 
Bit20, the cryptocurrency index fund http://www.bittwenty.com
(BitShares French ConneXion - www.bitsharesfcx.com)

Offline cylonmaker2053

  • Hero Member
  • *****
  • Posts: 1004
  • Saving the world one block at a time
    • View Profile
  • BitShares: cylonmaker2053
I made a last test to see if there is indeed something wrong or not :

I sold 1 BitUSD above the highest BUY ORDER and below the lowest SELL ORDER.   227 <  228  < 230

Guess what ? It has been bought instantly !

I made snapshots of it. The 3 snapshots were made in less than 10 sec.

1) I CREATE MY ORDER



2) I CONFIRMED AND IT APPEAR IN THE SELL ORDERS LIST



3) 1 or 2 SEC LATER IT HAS BEEN BOUGHT BY THE INVISIBLE MAN



what about executing your buy order first, so you're already in the order book, and then putting in your short order?

Offline EstefanTT

I made a last test to see if there is indeed something wrong or not :

I sold 1 BitUSD above the highest BUY ORDER and below the lowest SELL ORDER.   227 <  228  < 230

Guess what ? It has been bought instantly !

I made snapshots of it. The 3 snapshots were made in less than 10 sec.

1) I CREATE MY ORDER



2) I CONFIRMED AND IT APPEAR IN THE SELL ORDERS LIST



3) 1 or 2 SEC LATER IT HAS BEEN BOUGHT BY THE INVISIBLE MAN  :o



« Last Edit: July 17, 2015, 06:29:54 pm by EstefanTT »
Bit20, the cryptocurrency index fund http://www.bittwenty.com
(BitShares French ConneXion - www.bitsharesfcx.com)

Offline cylonmaker2053

  • Hero Member
  • *****
  • Posts: 1004
  • Saving the world one block at a time
    • View Profile
  • BitShares: cylonmaker2053
i had the exact same thing happen to me. i placed simultaneous buy and short orders for bitUSD in between the highest bid and lowest ask, but before my bid could execute someone else had purchased my short. i'm not sure how that is possible except for:

1) huge coincidence that someone simultaneously input the exact same amount and price buy order to match my short (obviously unlikely given that we're experiencing the same problems)

2) there are hidden orders in the exchange that don't show up in the public order book (problematic for trust)

3) a trade bot is able to somehow beat our orders to executing immediately after they spot our shorts hitting the system. i didn't think BTS is subject to HFT pressures, so i'm not sure how this could be the case.

so, bottom line is i have no clue, but it's disturbing!