Bitcoin Forum
December 04, 2016, 10:30:39 AM *
News: Latest stable version of Bitcoin Core: 0.13.1  [Torrent].
 
   Home   Help Search Donate Login Register  
Pages: « 1 [2] 3 »  All
  Print  
Author Topic: official-britcoin readded to bitcoincharts/bitcoinwatch even with "absurd data"  (Read 4653 times)
dooglus
Legendary
*
Offline Offline

Activity: 1988



View Profile
July 14, 2011, 01:09:48 AM
 #21

Nothing is wrong with BritCoin itself, but there must be SOMETHING wrong when it is reporting that a sale was made where somebody paid 10,000 pound for a BitCoin, I am certain that sale never went through or was for a small amount of BitCoins, it shouldn't have even got matched in the first place!

All the erroneous data needs to be cleaned out, when you look at BitCoin Charts and display the last 60 days' activity for BritCoin its all skewered because of this rubbish data!

No, they really happen; I had one myself (not at that crazy rate though).

Their software is buggy; user beware!

Unfortunately if you point out this bug to Britcoin they fob you off.

Their software is buggy and I've offered a fix for it several times now.

The problem is that decisions are made based on how much you are still wanting, rather than the original price you requested.

Genjix has claimed that the 'want' field isn't actually used any more:

You're right, we do ignore the want field. It's mostly left for display and is kind of redundant. It's not even needed.

but I think he's mistaken.  The 'want' field is still used, and is exactly what's causing the problem.

Here are some examples that show how very low and very high priced trades happen:



This is how very low priced trades happen:

User A has 50 GBP and wants 5 BTC (buying BTC at 10 GBP/BTC)
User B has 6 BTC and wants 54 GBP (selling BTC at 9 GBP/BTC)

User A's order goes in first, and is unmatched.
User B's order goes in 2nd, and is partially matched at User A's rate of 10 GBP/BTC.
User B gives 5 BTC to user A and gets 50 GBP in exchange.
User B now has 1 BTC and the 'wants' value is updated to 4 GBP.

User C can now come along and buy User B's remaining 1 BTC for 4 GBP, even though the market price is in the range of 9 or 10 GBP/BTC.

Note that overall, User B gets 54 BTC for his 6 BTC, and so actually gets the price he was expecting to.  It's just that some was better than expected (5 sold to A for 10 GBP each) and some was much worse than expected (1 sold to C for 4 GBP).



This is how very high priced trades happen:

User A has 5 BTC and wants 45 GBP (selling 5 BTC at 9 GBP/BTC)
User B has 51 GBP and wants 5.1 BTC (buying 5.1 BTC at 10 GBP/BTC)

User A's order goes in first, and is unmatched.
User B's order goes in 2nd, and is partially matched at User A's rate of 9 GBP/BTC.
User B gives 45 GBP to user A and gets 5 BTC in exchange.
User B now has 6 GBP and the 'wants' value is updated to 0.1 BTC.

User C can now come along and sell 0.1 BTC to User B for 6 GBP, at a price of 60 GBP/BTC even though the market price is in the range of 9 or 10 GBP/BTC.

Note that overall, User B gets 5+0.1=5.1 BTC for his 45+6=51 GBP, and so actually gets the price he was expecting to.  It's just that some was better than expected (5 bought from A for 9 GBP each) and some was much worse than expected (0.1 bought from C for 60 GBP each).



This is why absurdly priced trades show up in the API - it's because they actually happen.

My patch to fix this and stop the silly priced trades is here:
  https://gitorious.org/intersango/intersango/merge_requests/3

Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1480847439
Hero Member
*
Offline Offline

Posts: 1480847439

View Profile Personal Message (Offline)

Ignore
1480847439
Reply with quote  #2

1480847439
Report to moderator
1480847439
Hero Member
*
Offline Offline

Posts: 1480847439

View Profile Personal Message (Offline)

Ignore
1480847439
Reply with quote  #2

1480847439
Report to moderator
phantomcircuit
Sr. Member
****
Offline Offline

Activity: 463


View Profile
July 14, 2011, 07:47:59 AM
 #22

Nothing is wrong with BritCoin itself, but there must be SOMETHING wrong when it is reporting that a sale was made where somebody paid 10,000 pound for a BitCoin, I am certain that sale never went through or was for a small amount of BitCoins, it shouldn't have even got matched in the first place!

All the erroneous data needs to be cleaned out, when you look at BitCoin Charts and display the last 60 days' activity for BritCoin its all skewered because of this rubbish data!

No, they really happen; I had one myself (not at that crazy rate though).

Their software is buggy; user beware!

Unfortunately if you point out this bug to Britcoin they fob you off.

If you would like to see the order matching for yourself.. just go and look https://gitorious.org/intersango/intersango/blobs/master/cron/process_orders.php
dooglus
Legendary
*
Offline Offline

Activity: 1988



View Profile
July 14, 2011, 07:52:47 AM
 #23

If you would like to see the order matching for yourself.. just go and look https://gitorious.org/intersango/intersango/blobs/master/cron/process_orders.php

I've seen it.  Do you have any comment on my post immediately previous to yours?  Do you accept that orders are being matched at prices neither party requested?

phantomcircuit
Sr. Member
****
Offline Offline

Activity: 463


View Profile
July 14, 2011, 08:17:49 AM
 #24

If you would like to see the order matching for yourself.. just go and look https://gitorious.org/intersango/intersango/blobs/master/cron/process_orders.php

I've seen it.  Do you have any comment on my post immediately previous to yours?  Do you accept that orders are being matched at prices neither party requested?

Can you point me to a specific order in which the order was filled at a price neither party requested?

In the past the problem has been people putting in orders that were a terrible deal for themselves and them going through.
realnowhereman
Hero Member
*****
Offline Offline

Activity: 504



View Profile
July 14, 2011, 10:02:32 AM
 #25

In the past (and I reported it in the thread were dooglas subsequently posted a patch to fix it), I lost 30 BTC because britcoin matched an order at my limit price instead of the current market price.

Asking us to point at orders to prove the case won't work because the order book has changed in the meantime (I seriously doubt you are snapshotting the entire orderbook at every trade).

It happened because I wanted to change a large sum of GBP into BTC.  Looking at the orderbook I saw that it would mostly go through at the current best price, but I'd have to take a hit for the last bit of it.

Let's say current bids were at 10 GBP.  I entered a give want that was equivalent to a price of 12.8, which I knew was well above what was necessary to clear my whole sale instantly.

Britcoin, instead of matching the 10 orders first, skipped those bids and matched the whole order at 12.8, leaving all the 10 GBP bids in the orderbook.  Someone got a very good deal that day.  Thank goodness I hadn't entered 100 GBP as an easy way of clearing fast.

I didn't complain too loudly, because to be fair it says "alpha" all over britcoin; but when I did report it (http://forum.bitcoin.org/index.php?topic=4984.msg200608#msg200608), genjix just said "that's impossible"; until dooglas posted patch (http://forum.bitcoin.org/index.php?topic=4984.msg264777#msg264777).  Then it wasn't impossible.

It looks awfully like that patch either hasn't been applied, or there is another bug.  Until britcoin was pulled from bitcoincharts, it was pretty obvious something was wrong because of the weird random spikes in the plot.

I like britcoin, but you have to be careful when you're using it not to rely on it to get the best deal for you, it has bugs that will screw you over.


Update:

In the past the problem has been people putting in orders that were a terrible deal for themselves and them going through.

No; the problem is that britcoin was (or is) matching the whole order at the limit price.  When users enter that they are willing to accept 5 GBP per BTC; that doesn't mean they will only accept 5 GBP; it means they want as much as possible and will go as low as 5 GBP.  Therefore if there are people offering 10 GBP in the orderbook, then those should be matched first.  To not do so is not fair to either the buyers (who miss out on a sale), nor to the seller who wanted to accept multiple offers in the orderbook.

1AAZ4xBHbiCr96nsZJ8jtPkSzsg1CqhwDa
dooglus
Legendary
*
Offline Offline

Activity: 1988



View Profile
July 14, 2011, 09:10:35 PM
 #26

There are/were two separate issues.  It used to be that new orders were being matched with existing orders at the price specified in the new order.  So if there was an existing offer to sell me bitcoins for 10 GBP each and I asked to buy some at 5000 GBP each, I would be charged 5000 GBP for them, rather than 10 GBP each.  I made a patch for this and it was applied around the 26th or 27th of June:

June 26, 2011, 06:08:15 am
Merged dooglus's gitorious branch after testing it today. Grin

June 27, 2011, 04:45:06 am
yep, it was done a little afterwards since phantom forgot to do it.

After that, new orders were initially matched at the price specified by existing orders, but if they were only partially matched, the "I have" and "I want" fields were updated by subtracting the amounts that were bought and sold by the initial trade.  This leaves undesirable implied prices in the order, as I described in my recent post:

This is how very high priced trades happen:

User A has 5 BTC and wants 45 GBP (selling 5 BTC at 9 GBP/BTC)
User B has 51 GBP and wants 5.1 BTC (buying 5.1 BTC at 10 GBP/BTC)

User A's order goes in first, and is unmatched.
User B's order goes in 2nd, and is partially matched at User A's rate of 9 GBP/BTC.
User B gives 45 GBP to user A and gets 5 BTC in exchange.
User B now has 6 GBP and the 'wants' value is updated to 0.1 BTC.

User C can now come along and sell 0.1 BTC to User B for 6 GBP, at a price of 60 GBP/BTC even though the market price is in the range of 9 or 10 GBP/BTC.

Note that overall, User B gets 5+0.1=5.1 BTC for his 45+6=51 GBP, and so actually gets the price he was expecting to.  It's just that some was better than expected (5 bought from A for 9 GBP each) and some was much worse than expected (0.1 bought from C for 60 GBP each).

Genjix claims that this "want" field isn't used, but it still is being used, and is the cause of this problem:

June 26, 2011, 12:58:18 pm
You're right, we do ignore the want field. It's mostly left for display and is kind of redundant. It's not even needed.

Now phantomcircuit asks for a 'specific order' showing the problem.  It's hard to give specific details, since we don't have access to the britcoin database.  All we can see are the trades that are published through the API:

Can you point me to a specific order in which the order was filled at a price neither party requested?

In the past the problem has been people putting in orders that were a terrible deal for themselves and them going through.

This "in the past" problem is the one that I fixed in my first patch, applied on June 26th or 27th.  But bad trades have been happening since then to a lesser extent.  Here's one:



I mentioned it in this post, and provided a fix:

Did anyone notice the recent trade at 45 pence per BTC?

Code:
Fri Jul  1 10:21:01 2011   9.889100   2.214555
Fri Jul  1 10:49:01 2011   9.889100   5.423131
Fri Jul  1 11:19:01 2011   9.881400   1.000000
Fri Jul  1 12:00:01 2011   0.446300   0.007894
Fri Jul  1 12:26:01 2011  10.000000  10.000000
Fri Jul  1 12:31:02 2011  10.000000   3.000000
Fri Jul  1 12:31:02 2011  10.000000   2.000000

I think this was caused by the code still using the updated want_amount database field.

I committed a fix for this a few days ago and mailed Genjix.  The fix is here if anyone could look it over for me:

  https://gitorious.org/~dooglus/intersango/dooglus-intersango/commit/126d05d8f23a2745da8db65fb57414eca607d0d8


I don't have a copy of the orderbook at the time, but I really think it is unlikely that no buy orders were in the book for anything above 0.45 GBP when the price was around 10 GBP/BTC at the time.

zebedee
Donator
Hero Member
*
Offline Offline

Activity: 666



View Profile
July 16, 2011, 03:30:18 AM
 #27

And true to form Britcoin continue to ignore the problem, and say it doesn't exist, despite

a) the buggy code (from a broken data model) being pointed out by dooglus several times now
b) several trades matched at silly prices being pointed out to them.

For a site entrusted with other people's money, whose owners deplore other exchanges for being "unprofessional", that is looking for FSA approval whilst being apparently unaware that the FSA has rules requiring "best execution", this is an arrogant and casual attitude in the extreme.
dooglus
Legendary
*
Offline Offline

Activity: 1988



View Profile
July 16, 2011, 06:08:31 AM
 #28

And true to form Britcoin continue to ignore the problem, and say it doesn't exist

I don't think I've ever seen them say it doesn't exist.  But I don't think I've seen them acknowledge it, either.  This seems weird, since there so clearly is a problem.

Here's an example from less than 24 hours ago - it's still showing up in the API right now:

Code:
Fri Jul 15 01:32:02 2011   8.865600   5.060000
Fri Jul 15 01:32:02 2011   8.870000   0.100000
Fri Jul 15 01:52:01 2011  13.517500   0.014591
Fri Jul 15 01:58:01 2011   8.896900   0.500000
Fri Jul 15 01:59:01 2011   8.896900   3.878000

It's a one bitcent trade.  Are we to believe it moved the market price from 8.8 to 13.5?

Here's the same trade on bitcoincharts:


dooglus
Legendary
*
Offline Offline

Activity: 1988



View Profile
July 18, 2011, 09:07:06 PM
 #29

This one should be easy to find in the database.  It's the most recent trade:

Code:
Mon Jul 18 13:19:01 2011   7.571500   7.954886
Mon Jul 18 13:21:02 2011   7.518800   3.990000
Mon Jul 18 13:25:01 2011   7.530900  10.286550
Mon Jul 18 13:32:01 2011   1.533500   0.045114

The orderbook has plenty of people willing to buy around the 7 to 8 GBP price:



but the price crashed down to 1.5 GBP:



Is anyone working on fixing this bug?

genjix
Legendary
*
Offline Offline

Activity: 1232


View Profile
July 18, 2011, 10:26:50 PM
 #30

Sorry this was my fault. I was supposed to be working on this before we transferred exchange development. At which point this task wasn't re-assigned to somebody.

We've had much more serious bureaucratic problems which we've been rushing around to fix and keep the site operational. Things to do with banks.

Everybody has been working on a new exchange platform that is supposed to be more secure, better designed and scalable. Development hasn't been focusing on maintaining the current software since it was hoped the new site would be out within 2 weeks, and then 2 weeks more .etc

Anyway, I'm looking at this myself over the next few days. It's not as simple as just merging your fix, since I really need to go through everything with a fine toothed comb, run test suites and make sure the algorithm is fully understood. Although from the previous work we paid you for, your patches were good.
dooglus
Legendary
*
Offline Offline

Activity: 1988



View Profile
July 18, 2011, 11:19:44 PM
 #31

Anyway, I'm looking at this myself over the next few days. It's not as simple as just merging your fix, since I really need to go through everything with a fine toothed comb, run test suites and make sure the algorithm is fully understood. Although from the previous work we paid you for, your patches were good.

I can split my patch into smaller separate patches if that helps the process.  I renamed the parameters of the 'pacman' function because they were really counter-intuitive as they were, and that's in the same patch that stops the "want" fields from being used to determine prices.

genjix
Legendary
*
Offline Offline

Activity: 1232


View Profile
July 19, 2011, 07:58:13 AM
 #32

I have this:

      1) Ignore the 'want_amount' column when deciding how much to trade.  Only use the initially requested price and the amount column.
      2) Update the 'want_amount' column for display only, based on the remaining 'amount' and the initially requested price.
      3) Be more careful to process orders in the correct order.  Previously prices were truncated at 4 decimal places.
      4) Use clearer variable names in pacman() rather than confusing 'our' and 'them'.
      5) Don't match with orders before they are 'processed'.

3) is done by using $order_by at the start of the fulfill_order main loop. 5) has the extra AND processed=TRUE in the matching orders select statement. 4) filled = us and partial = them and 2) I'm not too concerned about if there's a bug since it's only a display thing and easily fixable.

That just leaves 1)... which I have to see actually works and test a whole bunch.
dooglus
Legendary
*
Offline Offline

Activity: 1988



View Profile
July 19, 2011, 08:47:24 AM
 #33

As a comment for 1) I should have written something like this:

Code:
We're trading at 'their' price, which is determined by:
  $them->initial_want_amount
and
  $them->initial_amount

We have
  $our->amount
and they have
  $them->amount

To determine who 'swamps' who, we check whether:
  $our->amount / $them->amount
is greater or less than
  $them->initial_want_amount / $them->initial_amount.

Multiply both sides by $them->initial_amount and $them->amount
shows that it's the same as checking whether:
  $our->amount * $them->initial_amount
is greater or less than
  $them->initial_want_amount * $them->amount

That should help in understanding the change.  Add it to the code if you like.

For 2), you're right - once we stop using the 'want' fields to make the trades, it's just a display thing.  It's mostly not a problem for long on the site, since the leftover order is usually quickly matched, but sometimes they stick around.  Here's one:



For 3), it was a problem with how MySQL defaults to only using 4 decimal places of precision when dividing.  See this example:

Code:

mysql> select 1/3;
+--------+
| 1/3    |
+--------+
| 0.3333 |
+--------+
1 row in set (0.00 sec)

mysql> SET div_precision_increment = 8;
Query OK, 0 rows affected (0.02 sec)

mysql> select 1/3;
+------------+
| 1/3        |
+------------+
| 0.33333333 |
+------------+
1 row in set (0.00 sec)

To fix it, I set div_precision_increment to 8 instead of 4, and make sure that the division has the bigger number on top, here:

Code:
    if ($our->initial_amount > $our->initial_want_amount)
        $order_by = "initial_want_amount / initial_amount ASC";
    else
        $order_by = "initial_amount / initial_want_amount DESC";

Hope that helps!  Smiley

genjix
Legendary
*
Offline Offline

Activity: 1232


View Profile
July 19, 2011, 09:59:08 AM
 #34

OK, but more correct for:
Code:
To determine who 'swamps' who, we check whether:
  $our->amount / $them->amount
is greater or less than
  $them->initial_want_amount / $them->initial_amount.

Multiply both sides by $them->initial_amount and $them->amount
shows that it's the same as checking whether:
  $our->amount * $them->initial_amount
is greater or less than
  $them->initial_want_amount * $them->amount

Would be to say that we're still using the same check as before:
$our->amount >= $them->want_amount

Except that we're not relying on the inaccurate want_amount:

$our->amount >= $them->amount * $them->initial_want_amount / $them->initial_amount
$our->amount * $them->initial_amount >= $them->amount * $them->initial_want_amount

Which is the same as that end result above Smiley
dooglus
Legendary
*
Offline Offline

Activity: 1988



View Profile
July 19, 2011, 10:19:52 AM
 #35

$our->amount >= $them->amount * $them->initial_want_amount / $them->initial_amount

Which is the same as that end result above Smiley

Exactly.

Basically, it's:

how_much_we_now_have >= how_much_they_can_now_afford_at_the_price_they_originally_set

genjix
Legendary
*
Offline Offline

Activity: 1232


View Profile
July 19, 2011, 12:51:46 PM
 #36

I ran it with fake data, but it still seems there, although a lot better.

Code:
SELECT
    txid,
    b_r AS b_rate,
    a_r AS a_rate,
    r AS rate,
    r - a_r AS diff,
    b_r > a_r,
    r > a_r,
    r < b_r

Code:
| 21151 |  8.67436975 |    9.50000000 |  9.50000002 |     0.00000002 |         0 |       1 |       0 |
| 21162 |  8.24300000 |    9.34579439 |  9.34579440 |     0.00000001 |         0 |       1 |       0 |
| 21185 |  8.25115931 |    8.98876404 |  8.98876405 |     0.00000001 |         0 |       1 |       0 |
| 21189 |  8.25000000 |    8.80000000 |  8.80000001 |     0.00000001 |         0 |       1 |       0 |
| 21205 |  9.01000000 |    9.52380952 |  9.52380957 |     0.00000005 |         0 |       1 |       0 |
| 21216 |  7.90378007 |    9.02553191 |  9.02553194 |     0.00000003 |         0 |       1 |       0 |
| 21238 |  8.00000000 |    9.58944282 |  9.58944394 |     0.00000112 |         0 |       1 |       0 |
| 21279 |  9.84000000 |    9.84000000 |  9.84000001 |     0.00000001 |         0 |       1 |       0 |
| 21286 |  9.61966508 |    9.89119683 |  9.89119685 |     0.00000002 |         0 |       1 |       0 |
| 21301 |  9.99900000 |   10.30927835 | 10.30927950 |     0.00000115 |         0 |       1 |       0 |
| 21307 | 10.31000000 |   10.41666667 | 10.41666676 |     0.00000009 |         0 |       1 |       0 |
| 21311 |  9.86000000 |   10.31100000 | 10.31100003 |     0.00000003 |         0 |       1 |       0 |
| 21322 |  9.90000000 |   10.31867322 | 10.31867325 |     0.00000003 |         0 |       1 |       0 |
| 21327 |  9.90000000 |    9.90484429 |  9.90484438 |     0.00000009 |         0 |       1 |       0 |
| 21332 |  9.60000000 |    9.90099010 |  9.90099012 |     0.00000002 |         0 |       1 |       0 |
| 21369 |  9.53330000 |    9.58904110 |  9.58904111 |     0.00000001 |         0 |       1 |       0 |
| 21372 |  9.10000000 |    9.53333333 |  9.53333334 |     0.00000001 |         0 |       1 |       0 |
| 21382 |  9.80000000 |    9.80000000 |  9.80000002 |     0.00000002 |         0 |       1 |       0 |
| 21384 |  9.58333333 |    9.80006353 |  9.80006417 |     0.00000064 |         0 |       1 |       0 |
| 21402 | 10.30000000 |   10.30000000 | 10.30000003 |     0.00000003 |         0 |       1 |       0 |
| 21407 |  9.59571219 |    9.66197183 |  9.66197194 |     0.00000011 |         0 |       1 |       0 |
| 21410 |  9.20000000 |    9.59956116 |  9.59956117 |     0.00000001 |         0 |       1 |       0 |
| 21412 |  9.15263158 |    9.52380952 |  9.52380959 |     0.00000007 |         0 |       1 |       0 |
| 21417 |  9.70000000 |    9.70000000 |  9.70000001 |     0.00000001 |         0 |       1 |       0 |
| 21418 |  0.10204082 |    0.10309278 |  0.10309279 |     0.00000001 |         0 |       1 |       0 |
| 21421 |  9.60000000 |    9.61538462 |  9.61538466 |     0.00000004 |         0 |       1 |       0 |
| 21427 |  9.75000000 |    9.75184996 |  9.75185021 |     0.00000025 |         0 |       1 |       0 |
| 21437 |  9.70000000 |    9.75073314 |  9.75073327 |     0.00000013 |         0 |       1 |       0 |
| 21452 |  9.93589744 |   10.00000000 | 10.00000026 |     0.00000026 |         0 |       1 |       0 |
| 21458 |  9.49096105 |    9.99000999 |  9.99100000 |     0.00099001 |         0 |       1 |       0 |
| 21459 |  9.49096105 |    9.98336106 |  9.98336107 |     0.00000001 |         0 |       1 |       0 |
| 21460 |  9.49096105 |    9.94035785 |  9.94035789 |     0.00000004 |         0 |       1 |       0 |
| 21470 |  9.70714286 |    9.74023438 |  9.74023439 |     0.00000001 |         0 |       1 |       0 |
| 21508 |  9.89500000 |    9.89583333 |  9.89583374 |     0.00000041 |         0 |       1 |       0 |
| 21519 |  9.88000000 |    9.88242680 |  9.88242682 |     0.00000002 |         0 |       1 |       0 |
| 21520 |  9.88000000 |    9.88142292 |  9.88142294 |     0.00000002 |         0 |       1 |       0 |
| 21523 |  9.50814815 |    9.83146067 |  9.83146068 |     0.00000001 |         0 |       1 |       0 |
| 21533 |  9.70000000 |    9.73501295 |  9.73501302 |     0.00000007 |         0 |       1 |       0 |
| 21547 |  9.60517290 |   10.18000000 | 10.18000001 |     0.00000001 |         0 |       1 |       0 |
| 21560 |  8.99448652 |    9.70873786 |  9.70873787 |     0.00000001 |         0 |       1 |       0 |
| 21578 |  9.92000000 |    9.92000000 |  9.92000001 |     0.00000001 |         0 |       1 |       0 |
| 21588 |  9.92000000 |    9.92000000 |  9.92000001 |     0.00000001 |         0 |       1 |       0 |
| 21597 |  9.60000000 |    9.61458333 |  9.61458334 |     0.00000001 |         0 |       1 |       0 |
| 21612 |  9.80000000 |    9.80000000 |  9.80000162 |     0.00000162 |         0 |       1 |       0 |
| 21632 |  9.81000000 |    9.81048387 |  9.81048392 |     0.00000005 |         0 |       1 |       0 |
| 21634 |  9.55000000 |    9.75592417 |  9.75592434 |     0.00000017 |         0 |       1 |       0 |
| 21636 |  9.52380952 |    9.69162996 |  9.69163017 |     0.00000021 |         0 |       1 |       0 |
| 21648 |  0.10162602 |    0.10193680 |  0.10193683 |     0.00000003 |         0 |       1 |       0 |
| 21657 |  9.80000000 |    9.85221675 |  9.85221678 |     0.00000003 |         0 |       1 |       0 |
| 21659 |  9.80000000 |    9.80000000 |  9.80000003 |     0.00000003 |         0 |       1 |       0 |
| 21661 |  9.54600000 |    9.80000000 |  9.80000003 |     0.00000003 |         0 |       1 |       0 |
| 21672 |  9.50000000 |    9.52380952 |  9.52380953 |     0.00000001 |         0 |       1 |       0 |
| 21678 |  9.10248962 |    9.51632772 |  9.51632775 |     0.00000003 |         0 |       1 |       0 |
| 21697 | 10.00000000 |   10.00000000 | 10.00000006 |     0.00000006 |         0 |       1 |       0 |
| 21852 |  9.89950996 |    9.96464646 |  9.96464647 |     0.00000001 |         0 |       1 |       0 |
| 21895 | 10.00000000 |   10.00000000 | 10.00000059 |     0.00000059 |         0 |       1 |       0 |
| 21897 |  9.80000000 |    9.80000015 |  9.80000016 |     0.00000001 |         0 |       1 |       0 |
| 21917 |  9.89795918 |    9.94000000 |  9.94000016 |     0.00000016 |         0 |       1 |       0 |
| 21922 |  9.65027322 |    9.89795918 |  9.89795928 |     0.00000010 |         0 |       1 |       0 |
| 21931 |  9.90097561 |    9.90159500 |  9.91666667 |     0.01507167 |         0 |       1 |       0 |
| 21936 | 10.00000000 |   10.00000000 | 10.00000101 |     0.00000101 |         0 |       1 |       0 |
| 21973 | 10.00000000 |   10.10006920 | 10.10060606 |     0.00053686 |         0 |       1 |       0 |
| 21976 | 10.00000000 |   10.00353723 | 10.00353724 |     0.00000001 |         0 |       1 |       0 |
| 21990 | 10.20000000 |   10.20000000 | 10.20000002 |     0.00000002 |         0 |       1 |       0 |
| 22026 | 10.01000000 |   10.01000000 | 10.01000013 |     0.00000013 |         0 |       1 |       0 |
| 22052 | 10.05000001 |   10.10695187 | 10.10695199 |     0.00000012 |         0 |       1 |       0 |
| 22054 | 10.00000036 |   10.05000001 | 10.05000002 |     0.00000001 |         0 |       1 |       0 |
| 22058 | 10.00000000 |   10.00000036 | 10.00000038 |     0.00000002 |         0 |       1 |       0 |
| 22065 | 10.18425926 |   10.19368975 | 10.19369104 |     0.00000129 |         0 |       1 |       0 |
| 22079 | 10.19896730 |   10.19900498 | 10.19900525 |     0.00000027 |         0 |       1 |       0 |
| 22101 |  9.89998520 |   10.10101010 | 10.10102500 |     0.00001490 |         0 |       1 |       0 |
| 22103 |  9.87628631 |    9.90000005 |  9.90002500 |     0.00002495 |         0 |       1 |       0 |
| 22105 |  9.86914894 |    9.87629088 |  9.87631079 |     0.00001991 |         0 |       1 |       0 |
| 22112 |  9.85254140 |    9.85300018 |  9.85300020 |     0.00000002 |         0 |       1 |       0 |
| 22119 |  9.87000000 |    9.87000000 |  9.87000078 |     0.00000078 |         0 |       1 |       0 |
| 22122 |  9.85129999 |    9.87000000 |  9.87000005 |     0.00000005 |         0 |       1 |       0 |
| 22126 |  9.81176471 |   10.10101010 | 10.10174509 |     0.00073499 |         0 |       1 |       0 |
| 22130 |  9.53006341 |    9.85136353 |  9.85136354 |     0.00000001 |         0 |       1 |       0 |
| 22149 | 10.17741935 |   10.20408163 | 10.20408178 |     0.00000015 |         0 |       1 |       0 |
| 22155 | 10.09594096 |   10.17964072 | 10.17964073 |     0.00000001 |         0 |       1 |       0 |
| 22158 | 10.09988095 |   10.09989063 | 10.09989064 |     0.00000001 |         0 |       1 |       0 |
| 22169 |  9.88300000 |    9.90783410 |  9.90783417 |     0.00000007 |         0 |       1 |       0 |
| 22174 |  9.72700623 |    9.85620192 |  9.85620200 |     0.00000008 |         0 |       1 |       0 |
| 22349 |  0.08571429 |    0.09502692 |  0.09502693 |     0.00000001 |         0 |       1 |       0 |
| 22370 | 10.58918919 |   10.58957655 | 10.58957660 |     0.00000005 |         0 |       1 |       0 |
| 22408 | 10.59296482 |   10.59322034 | 10.59322035 |     0.00000001 |         0 |       1 |       0 |
| 22426 | 10.58201058 |   10.59190031 | 10.59190033 |     0.00000002 |         0 |       1 |       0 |
| 22428 | 10.55891679 |   10.58201058 | 10.58201059 |     0.00000001 |         0 |       1 |       0 |
| 22433 | 10.50000000 |   10.55894274 | 10.55894275 |     0.00000001 |         0 |       1 |       0 |
| 22449 | 10.54952830 |   10.57692308 | 10.57693985 |     0.00001677 |         0 |       1 |       0 |
| 22451 | 10.54000000 |   10.54952830 | 10.54953223 |     0.00000393 |         0 |       1 |       0 |
| 22454 | 10.50000000 |   10.54852321 | 10.54853526 |     0.00001205 |         0 |       1 |       0 |
| 22514 | 10.00000000 |   10.69230769 | 10.69230770 |     0.00000001 |         0 |       1 |       0 |
| 22521 | 10.72000000 |   10.72000000 | 10.72000001 |     0.00000001 |         0 |       1 |       0 |
| 22534 | 10.60445387 |   10.69137562 | 10.69137565 |     0.00000003 |         0 |       1 |       0 |
| 22543 | 10.59936373 |   10.59995760 | 10.59995761 |     0.00000001 |         0 |       1 |       0 |
| 22565 | 10.45000000 |   10.49987398 | 10.49987400 |     0.00000002 |         0 |       1 |       0 |
| 22580 | 10.70500000 |   10.70620985 | 10.70620987 |     0.00000002 |         0 |       1 |       0 |
| 22586 | 10.50000000 |   10.55361305 | 10.55361306 |     0.00000001 |         0 |       1 |       0 |
| 22601 | 10.58901099 |   10.59651899 | 10.59651900 |     0.00000001 |         0 |       1 |       0 |
| 22659 |  0.09259259 |    0.09389671 |  0.09389672 |     0.00000001 |         0 |       1 |       0 |
| 22667 | 10.58333333 |   10.77348066 | 10.77348093 |     0.00000027 |         0 |       1 |       0 |
| 22673 | 10.69137562 |   10.69137562 | 10.69137563 |     0.00000001 |         0 |       1 |       0 |
| 22696 | 10.57538356 |   10.57538459 | 10.57538464 |     0.00000005 |         0 |       1 |       0 |
| 22705 |  0.09125000 |    0.09436443 |  0.09523810 |     0.00087367 |         0 |       1 |       0 |
| 22731 | 10.60000000 |   10.60500000 | 10.60501617 |     0.00001617 |         0 |       1 |       0 |
| 22746 | 10.66098081 |   10.66098081 | 10.66098082 |     0.00000001 |         0 |       1 |       0 |
| 22749 |  0.09320000 |    0.09478673 |  0.09478677 |     0.00000004 |         0 |       1 |       0 |
| 22751 | 10.72961373 |   10.72961373 | 10.72961374 |     0.00000001 |         0 |       1 |       0 |
| 22752 | 10.54854468 |   10.54938272 | 10.54938284 |     0.00000012 |         0 |       1 |       0 |
| 22756 | 10.53539987 |   10.55672982 | 10.55672985 |     0.00000003 |         0 |       1 |       0 |
| 22757 | 10.53539987 |   10.55408971 | 10.55408975 |     0.00000004 |         0 |       1 |       0 |
| 22775 |  0.09486667 |    0.09492063 |  0.09492064 |     0.00000001 |         0 |       1 |       0 |
| 22777 | 10.54049446 |   10.54111033 | 10.54111034 |     0.00000001 |         0 |       1 |       0 |
| 22780 | 10.52984875 |   10.53370787 | 10.53675136 |     0.00304349 |         0 |       1 |       0 |
| 22782 | 10.52989470 |   10.53014493 | 10.53039927 |     0.00025434 |         0 |       1 |       0 |
| 22785 | 10.52619474 |   10.53000000 | 10.53039927 |     0.00039927 |         0 |       1 |       0 |
| 22792 | 10.52333333 |   10.52631579 | 10.52631581 |     0.00000002 |         0 |       1 |       0 |
| 22799 | 10.49971544 |   10.50057727 | 10.50057728 |     0.00000001 |         0 |       1 |       0 |
| 22809 |  9.98523246 |   10.31000005 | 10.31000006 |     0.00000001 |         0 |       1 |       0 |
| 22815 |  0.09462366 |    0.09615385 |  0.10000000 |     0.00384615 |         0 |       1 |       0 |
| 22840 | 10.16197004 |   10.21355617 | 10.21355618 |     0.00000001 |         0 |       1 |       0 |
| 22855 |  9.99996277 |   10.47120419 | 10.47120420 |     0.00000001 |         0 |       1 |       0 |
| 22861 |  9.99996277 |   10.10135822 | 10.10135857 |     0.00000035 |         0 |       1 |       0 |
| 22904 | 10.01000000 |   10.01000000 | 10.01000009 |     0.00000009 |         0 |       1 |       0 |
| 22906 | 10.07900000 |   10.07900000 | 10.07900001 |     0.00000001 |         0 |       1 |       0 |
| 22936 |  9.88000000 |   10.15228426 | 10.15228427 |     0.00000001 |         0 |       1 |       0 |
| 22940 |  9.79914530 |   10.08064516 | 10.08064532 |     0.00000016 |         0 |       1 |       0 |
| 22944 | 10.05000000 |   10.06711409 | 10.06763944 |     0.00052535 |         0 |       1 |       0 |
| 22967 | 10.09070000 |   10.12441736 | 10.12441850 |     0.00000114 |         0 |       1 |       0 |
| 22969 | 10.09000000 |   10.09081736 | 10.09081752 |     0.00000016 |         0 |       1 |       0 |
| 22971 | 10.05000000 |   10.05025126 | 10.05025127 |     0.00000001 |         0 |       1 |       0 |
| 22979 |  9.80000000 |   10.46308975 | 10.46308997 |     0.00000022 |         0 |       1 |       0 |
| 23000 |  9.80000000 |    9.88300000 |  9.88300001 |     0.00000001 |         0 |       1 |       0 |
| 23011 |  9.75764344 |    9.84218063 |  9.84218064 |     0.00000001 |         0 |       1 |       0 |
| 23018 |  9.61538462 |    9.84065728 |  9.84065729 |     0.00000001 |         0 |       1 |       0 |
| 23029 |  9.09090909 |    9.83006086 |  9.83006088 |     0.00000002 |         0 |       1 |       0 |
| 23041 |  9.00000000 |    9.80392157 |  9.80392164 |     0.00000007 |         0 |       1 |       0 |
| 23044 |  8.87500000 |    9.80000000 |  9.80000001 |     0.00000001 |         0 |       1 |       0 |
| 23054 |  9.75000000 |    9.76000048 |  9.76000050 |     0.00000002 |         0 |       1 |       0 |
| 23055 |  8.89947090 |    9.74658869 |  9.74658870 |     0.00000001 |         0 |       1 |       0 |
| 23061 |  1.98150594 |    9.76145203 |  9.76145206 |     0.00000003 |         0 |       1 |       0 |
| 23067 |  9.70000000 |    9.72222222 |  9.72222230 |     0.00000008 |         0 |       1 |       0 |
| 23070 |  9.52931034 |    9.72222222 |  9.72222223 |     0.00000001 |         0 |       1 |       0 |
| 23072 |  9.52931034 |    9.71999985 |  9.71999986 |     0.00000001 |         0 |       1 |       0 |
| 23077 |  9.53446034 |    9.71020000 |  9.71020011 |     0.00000011 |         0 |       1 |       0 |
| 23087 |  9.53488372 |    9.70499998 |  9.70499999 |     0.00000001 |         0 |       1 |       0 |
| 23104 |  9.55414013 |    9.61538462 |  9.61538474 |     0.00000012 |         0 |       1 |       0 |
| 23131 | 10.00000000 |   10.00000000 | 10.00000002 |     0.00000002 |         0 |       1 |       0 |
| 23136 |  9.70000000 |    9.89000000 |  9.89003517 |     0.00003517 |         0 |       1 |       0 |
| 23138 |  9.57000000 |    9.70000000 |  9.70000433 |     0.00000433 |         0 |       1 |       0 |
| 23155 |  9.50000000 |    9.55414013 |  9.55414022 |     0.00000009 |         0 |       1 |       0 |
| 23168 |  9.43563729 |    9.54407514 |  9.54407515 |     0.00000001 |         0 |       1 |       0 |
| 23181 |  9.44125000 |    9.54000000 |  9.54000001 |     0.00000001 |         0 |       1 |       0 |
| 23190 |  8.80000000 |    9.54000000 |  9.54000003 |     0.00000003 |         0 |       1 |       0 |
| 23194 |  8.93594606 |    9.53488372 |  9.53488373 |     0.00000001 |         0 |       1 |       0 |
| 23205 |  8.87209432 |    9.52380952 |  9.52380954 |     0.00000002 |         0 |       1 |       0 |
| 23211 |  9.30000000 |    9.50570342 |  9.50570343 |     0.00000001 |         0 |       1 |       0 |
| 23217 |  9.32801251 |    9.50200000 |  9.50200002 |     0.00000002 |         0 |       1 |       0 |
| 23235 | 10.00000000 |   10.00000000 | 10.00000002 |     0.00000002 |         0 |       1 |       0 |
| 23259 |  9.72916667 |    9.74025974 |  9.74025975 |     0.00000001 |         0 |       1 |       0 |
| 23261 |  9.69863014 |    9.73260073 |  9.73260074 |     0.00000001 |         0 |       1 |       0 |
| 23271 |  9.29950000 |    9.80392157 |  9.80392166 |     0.00000009 |         0 |       1 |       0 |
| 23274 |  9.20000000 |    9.52380952 |  9.52380960 |     0.00000008 |         0 |       1 |       0 |
| 23275 |  9.20000000 |    9.49748744 |  9.49748745 |     0.00000001 |         0 |       1 |       0 |
| 23301 |  9.60000000 |    9.70873786 |  9.70873789 |     0.00000003 |         0 |       1 |       0 |
| 23304 |  9.38000000 |    9.60431655 |  9.60431656 |     0.00000001 |         0 |       1 |       0 |
| 23326 |  9.64000000 |    9.65517241 |  9.65517244 |     0.00000003 |         0 |       1 |       0 |
| 23337 |  9.64000000 |    9.65517241 |  9.65517315 |     0.00000074 |         0 |       1 |       0 |
| 23341 |  9.65517241 |    9.65517241 |  9.65517248 |     0.00000007 |         0 |       1 |       0 |
| 23343 |  9.65517241 |    9.65517241 |  9.65517242 |     0.00000001 |         0 |       1 |       0 |
| 23345 |  9.65600000 |    9.65600000 |  9.65600023 |     0.00000023 |         0 |       1 |       0 |
| 23347 |  9.65600000 |    9.65600000 |  9.65600002 |     0.00000002 |         0 |       1 |       0 |
| 23349 |  9.65600000 |    9.65600000 |  9.65600002 |     0.00000002 |         0 |       1 |       0 |
| 23351 |  9.65600000 |    9.65600000 |  9.65600002 |     0.00000002 |         0 |       1 |       0 |
| 23353 |  9.65600000 |    9.65600000 |  9.65600002 |     0.00000002 |         0 |       1 |       0 |
| 23362 |  9.40000000 |    9.60219479 |  9.60568928 |     0.00349449 |         0 |       1 |       0 |
| 23390 |  9.00999991 |    9.36329588 |  9.36329589 |     0.00000001 |         0 |       1 |       0 |
| 23392 |  9.00999990 |    9.36000000 |  9.36000001 |     0.00000001 |         0 |       1 |       0 |
| 23399 |  9.00999990 |    9.34000000 |  9.34000001 |     0.00000001 |         0 |       1 |       0 |
| 23410 |  8.83052632 |    9.30000000 |  9.30000001 |     0.00000001 |         0 |       1 |       0 |
| 23417 |  8.82000000 |    9.30000000 |  9.30000091 |     0.00000091 |         0 |       1 |       0 |
| 23421 |  8.80000000 |    9.30000000 |  9.30000001 |     0.00000001 |         0 |       1 |       0 |
| 23434 |  9.20000000 |    9.29368030 |  9.29368032 |     0.00000002 |         0 |       1 |       0 |
| 23439 |  9.20000000 |    9.21339805 |  9.21339806 |     0.00000001 |         0 |       1 |       0 |
| 23471 |  8.82203567 |    9.15000000 |  9.15000001 |     0.00000001 |         0 |       1 |       0 |
| 23490 |  9.09857143 |    9.11016467 |  9.11016468 |     0.00000001 |         0 |       1 |       0 |
| 23512 |  9.09000000 |    9.09978043 |  9.09978044 |     0.00000001 |         0 |       1 |       0 |
| 23548 |  8.28909609 |    9.05000001 |  9.05000004 |     0.00000003 |         0 |       1 |       0 |
| 23557 |  8.25010000 |    9.03996325 |  9.03996326 |     0.00000001 |         0 |       1 |       0 |
| 23563 |  8.18840580 |    9.03000000 |  9.03000001 |     0.00000001 |         0 |       1 |       0 |
| 23568 |  8.19843342 |    9.02999999 |  9.03000000 |     0.00000001 |         0 |       1 |       0 |
| 23579 |  8.20030914 |    9.01000000 |  9.01000004 |     0.00000004 |         0 |       1 |       0 |
| 23603 |  7.82666667 |    8.98888889 |  8.98888891 |     0.00000002 |         0 |       1 |       0 |
| 23609 |  7.82608696 |    8.96552360 |  8.96552361 |     0.00000001 |         0 |       1 |       0 |
| 23646 |  8.00000000 |    8.92861000 |  8.92861004 |     0.00000004 |         0 |       1 |       0 |
| 23650 |  7.44305239 |    8.92855357 |  8.92855358 |     0.00000001 |         0 |       1 |       0 |
| 23659 |  7.38801411 |    8.90000000 |  8.90000006 |     0.00000006 |         0 |       1 |       0 |
| 23661 |  7.35000000 |    8.90000000 |  8.90000004 |     0.00000004 |         0 |       1 |       0 |
| 23686 |  6.90807799 |    8.82207984 |  8.82207985 |     0.00000001 |         0 |       1 |       0 |
| 23706 |  7.51211632 |    8.69565217 |  8.69565218 |     0.00000001 |         0 |       1 |       0 |
| 23724 |  8.09900000 |    8.64814815 |  8.64814823 |     0.00000008 |         0 |       1 |       0 |
| 23729 |  8.09900000 |    8.61056751 |  8.61056752 |     0.00000001 |         0 |       1 |       0 |
| 23737 |  8.00000000 |    8.53578947 |  8.53578950 |     0.00000003 |         0 |       1 |       0 |
| 23824 |  8.99022451 |    8.99280576 |  8.99280579 |     0.00000003 |         0 |       1 |       0 |
| 23833 |  9.00000000 |    9.00900901 |  9.00900905 |     0.00000004 |         0 |       1 |       0 |
| 23972 |  9.25000000 |    9.30000000 |  9.30000008 |     0.00000008 |         0 |       1 |       0 |
| 23975 |  9.00000000 |    9.25000000 |  9.25000001 |     0.00000001 |         0 |       1 |       0 |
| 23981 |  9.05000000 |    9.05000000 |  9.05000044 |     0.00000044 |         0 |       1 |       0 |
| 23990 |  9.41379310 |    9.48766603 |  9.48766648 |     0.00000045 |         0 |       1 |       0 |
| 24017 |  0.10582011 |    0.10834553 |  0.10834554 |     0.00000001 |         0 |       1 |       0 |
| 24018 |  9.45000000 |    9.45000000 |  9.45000017 |     0.00000017 |         0 |       1 |       0 |
| 24042 |  9.30000000 |    9.43396226 |  9.43396227 |     0.00000001 |         0 |       1 |       0 |
| 24054 |  9.28026151 |    9.48766603 |  9.48766606 |     0.00000003 |         0 |       1 |       0 |
| 24076 |  9.20000000 |    9.45454545 |  9.45454546 |     0.00000001 |         0 |       1 |       0 |
| 24097 |  9.17431193 |    9.37353539 |  9.37353630 |     0.00000091 |         0 |       1 |       0 |
| 24100 |  9.18900000 |    9.19963201 |  9.19963202 |     0.00000001 |         0 |       1 |       0 |
| 24118 |  8.80000000 |    9.11000000 |  9.11000002 |     0.00000002 |         0 |       1 |       0 |
| 24127 |  8.80000000 |    9.05660377 |  9.05660378 |     0.00000001 |         0 |       1 |       0 |
| 24149 |  9.03138406 |    9.09090909 |  9.09090912 |     0.00000003 |         0 |       1 |       0 |
| 24152 |  9.00000000 |    9.03070439 |  9.03070441 |     0.00000002 |         0 |       1 |       0 |
| 24156 |  9.02000000 |    9.02527076 |  9.02527081 |     0.00000005 |         0 |       1 |       0 |
| 24160 |  8.90000000 |    8.92857143 |  8.92857144 |     0.00000001 |         0 |       1 |       0 |
| 24179 |  8.90000000 |    8.95000782 |  8.95001312 |     0.00000530 |         0 |       1 |       0 |
| 24180 |  8.90000000 |    8.93655049 |  8.93655050 |     0.00000001 |         0 |       1 |       0 |
| 24191 |  8.89634703 |    8.90032377 |  8.90032378 |     0.00000001 |         0 |       1 |       0 |
| 24205 |  8.80000000 |    8.89679715 |  8.89679716 |     0.00000001 |         0 |       1 |       0 |
| 24223 |  9.00000000 |    9.00000000 |  9.00000001 |     0.00000001 |         0 |       1 |       0 |
| 24228 |  8.87000000 |    9.03150000 |  9.03150004 |     0.00000004 |         0 |       1 |       0 |
| 24281 |  0.10599770 |    0.10946907 |  0.10946908 |     0.00000001 |         0 |       1 |       0 |
| 24309 |  9.42948718 |    9.48766603 |  9.48766613 |     0.00000010 |         0 |       1 |       0 |
| 24314 |  9.33000000 |    9.43916865 |  9.43916874 |     0.00000009 |         0 |       1 |       0 |
| 24326 |  9.39506173 |    9.39516908 |  9.39516919 |     0.00000011 |         0 |       1 |       0 |
| 24356 |  9.17431193 |    9.20000000 |  9.20000004 |     0.00000004 |         0 |       1 |       0 |
| 24379 |  0.10571429 |    0.10752688 |  0.11111111 |     0.00358423 |         0 |       1 |       0 |
| 24388 |  9.21501706 |    9.25000000 |  9.25000311 |     0.00000311 |         0 |       1 |       0 |
| 24390 |  9.15331808 |    9.21501706 |  9.21501790 |     0.00000084 |         0 |       1 |       0 |
| 24409 |  0.10733333 |    0.11098779 |  0.11111111 |     0.00012332 |         0 |       1 |       0 |
| 24412 |  0.10733333 |    0.10925000 |  0.10925004 |     0.00000004 |         0 |       1 |       0 |
| 24420 |  9.31646201 |    9.43396226 |  9.43396230 |     0.00000004 |         0 |       1 |       0 |
| 24421 |  9.31646201 |    9.31677019 |  9.31677020 |     0.00000001 |         0 |       1 |       0 |
| 24425 |  9.02119982 |    9.43396226 |  9.43396227 |     0.00000001 |         0 |       1 |       0 |
| 24433 |  9.34570000 |    9.40366972 |  9.40366979 |     0.00000007 |         0 |       1 |       0 |
| 24436 |  8.45872306 |    9.35000000 |  9.35000004 |     0.00000004 |         0 |       1 |       0 |
| 24446 |  8.76393521 |    9.33488915 |  9.33488916 |     0.00000001 |         0 |       1 |       0 |
| 24455 |  8.76393521 |    9.01009999 |  9.01010000 |     0.00000001 |         0 |       1 |       0 |
| 24465 |  9.00894479 |    9.00900901 |  9.00900902 |     0.00000001 |         0 |       1 |       0 |
| 24481 |  8.98500000 |    8.99526066 |  8.99526068 |     0.00000002 |         0 |       1 |       0 |
| 24501 |  8.97692308 |    9.27643785 |  9.27643792 |     0.00000007 |         0 |       1 |       0 |
| 24512 |  8.95998135 |    9.00900000 |  9.00900006 |     0.00000006 |         0 |       1 |       0 |
| 24531 |  8.93250000 |    8.95000000 |  8.95000001 |     0.00000001 |         0 |       1 |       0 |
| 24549 |  8.92600000 |    8.96226415 |  8.96292698 |     0.00066283 |         0 |       1 |       0 |
| 24551 |  0.11112346 |    0.11115038 |  0.11538462 |     0.00423424 |         0 |       1 |       0 |
| 24558 |  9.00000000 |    9.25581395 |  9.25581396 |     0.00000001 |         0 |       1 |       0 |
| 24559 |  8.97700000 |    8.99900000 |  8.99900025 |     0.00000025 |         0 |       1 |       0 |
| 24562 |  8.97660000 |    8.97700000 |  8.97700015 |     0.00000015 |         0 |       1 |       0 |
| 24574 |  8.93200000 |    8.97666068 |  8.97666085 |     0.00000017 |         0 |       1 |       0 |
| 24575 |  8.93200000 |    8.93255263 |  8.93255264 |     0.00000001 |         0 |       1 |       0 |
| 24585 |  9.05920647 |    9.17431193 |  9.17431219 |     0.00000026 |         0 |       1 |       0 |
| 24590 |  8.92500000 |    9.15564598 |  9.15564599 |     0.00000001 |         0 |       1 |       0 |
| 24607 |  8.72000000 |    8.95014768 |  8.95014770 |     0.00000002 |         0 |       1 |       0 |
| 24614 |  8.33333333 |    8.94000000 |  8.94000001 |     0.00000001 |         0 |       1 |       0 |
| 24622 |  8.88888889 |    8.93333333 |  8.93333334 |     0.00000001 |         0 |       1 |       0 |
| 24660 |  8.93650000 |    8.93655049 |  8.93655050 |     0.00000001 |         0 |       1 |       0 |
| 24666 |  8.85500000 |    8.93637890 |  8.93637891 |     0.00000001 |         0 |       1 |       0 |
| 24668 |  8.75938285 |    8.92800000 |  8.92800002 |     0.00000002 |         0 |       1 |       0 |
| 24693 |  8.86500000 |    8.93617021 |  8.93617027 |     0.00000006 |         0 |       1 |       0 |
| 24694 |  8.86500000 |    8.92500037 |  8.92500038 |     0.00000001 |         0 |       1 |       0 |
| 24706 |  8.86200000 |    8.87311446 |  8.87311447 |     0.00000001 |         0 |       1 |       0 |
| 24801 |  8.67000000 |    8.69594595 |  8.69594600 |     0.00000005 |         0 |       1 |       0 |
| 24802 |  8.67000000 |    8.69594368 |  8.69594370 |     0.00000002 |         0 |       1 |       0 |
| 24809 |  8.60000000 |    8.69565217 |  8.69565220 |     0.00000003 |         0 |       1 |       0 |
| 24834 |  8.70000000 |    8.87000000 |  8.87000001 |     0.00000001 |         0 |       1 |       0 |
| 24848 |  8.64857143 |    8.70000000 |  8.70000001 |     0.00000001 |         0 |       1 |       0 |
| 24878 |  8.70000000 |    8.70130142 |  8.70130143 |     0.00000001 |         0 |       1 |       0 |
| 24880 |  8.70000000 |    8.70000000 |  8.70000004 |     0.00000004 |         0 |       1 |       0 |
| 24888 |  8.62510001 |    8.72000000 |  8.72000057 |     0.00000057 |         0 |       1 |       0 |
| 24889 |  8.62510001 |    8.70000000 |  8.70000001 |     0.00000001 |         0 |       1 |       0 |
| 24893 |  8.62500216 |    8.66551127 |  8.66551131 |     0.00000004 |         0 |       1 |       0 |
| 24894 |  8.62500216 |    8.63290160 |  8.63290161 |     0.00000001 |         0 |       1 |       0 |
| 24899 |  8.60000000 |    8.62500216 |  8.62500217 |     0.00000001 |         0 |       1 |       0 |
| 24912 |  8.60015764 |    8.70827286 |  8.70827290 |     0.00000004 |         0 |       1 |       0 |
| 24923 |  8.61000750 |    8.73362445 |  8.73362465 |     0.00000020 |         0 |       1 |       0 |
| 24948 |  8.51000000 |    8.65955182 |  8.65955185 |     0.00000003 |         0 |       1 |       0 |
| 24963 |  8.64000000 |    8.65800866 |  8.65800867 |     0.00000001 |         0 |       1 |       0 |
| 24968 |  8.52000000 |    8.64700000 |  8.64700001 |     0.00000001 |         0 |       1 |       0 |
| 24972 |  8.51083815 |    8.62079905 |  8.62079906 |     0.00000001 |         0 |       1 |       0 |
| 24995 |  8.26200000 |    8.60040000 |  8.60040001 |     0.00000001 |         0 |       1 |       0 |
| 25033 |  8.30000000 |    8.50014875 |  8.50015265 |     0.00000390 |         0 |       1 |       0 |
| 25051 |  8.21428571 |    8.42105263 |  8.42105269 |     0.00000006 |         0 |       1 |       0 |
| 25053 |  8.16995074 |    8.40336134 |  8.40336136 |     0.00000002 |         0 |       1 |       0 |
| 25085 |  8.01000000 |    8.24402308 |  8.24402314 |     0.00000006 |         0 |       1 |       0 |
| 25107 |  7.62711864 |    8.20102349 |  8.20102350 |     0.00000001 |         0 |       1 |       0 |
| 25118 |  7.99925415 |    8.27586207 |  8.27586209 |     0.00000002 |         0 |       1 |       0 |
| 25119 |  7.99925415 |    8.26990000 |  8.26990001 |     0.00000001 |         0 |       1 |       0 |
| 25120 |  7.99925415 |    8.26000000 |  8.26000005 |     0.00000005 |         0 |       1 |       0 |
| 25130 |  8.03000000 |    8.40336134 |  8.40341667 |     0.00005533 |         0 |       1 |       0 |
| 25133 |  8.02135231 |    8.40336134 |  8.40336135 |     0.00000001 |         0 |       1 |       0 |
| 25140 |  8.14947368 |    8.37864078 |  8.37864084 |     0.00000006 |         0 |       1 |       0 |
| 25189 |  7.70377235 |    8.09999988 |  8.09999989 |     0.00000001 |         0 |       1 |       0 |
| 25198 |  8.00000000 |    8.09061489 |  8.09061490 |     0.00000001 |         0 |       1 |       0 |
| 25214 |  7.50000000 |    8.04000000 |  8.04000004 |     0.00000004 |         0 |       1 |       0 |
| 25221 |  7.57572419 |    8.03946002 |  8.03946003 |     0.00000001 |         0 |       1 |       0 |
| 25233 |  7.51879699 |    8.01570000 |  8.01570001 |     0.00000001 |         0 |       1 |       0 |
| 25236 |  7.88000000 |    8.01428571 |  8.01428572 |     0.00000001 |         0 |       1 |       0 |
| 25266 |  8.20000000 |    8.50000000 |  8.50000037 |     0.00000037 |         0 |       1 |       0 |
| 25267 |  8.20000000 |    8.30700000 |  8.30737667 |     0.00037667 |         0 |       1 |       0 |
| 25268 |  8.20000000 |    8.30437505 | 10.00000000 |     1.69562495 |         0 |       1 |       0 |
| 25269 |  8.20000000 |    8.20000000 |  8.20000008 |     0.00000008 |         0 |       1 |       0 |
| 25279 |  8.30500000 |    8.50325882 |  8.50325886 |     0.00000004 |         0 |       1 |       0 |
| 25281 |  8.30450000 |    8.38000000 |  8.38000001 |     0.00000001 |         0 |       1 |       0 |
zebedee
Donator
Hero Member
*
Offline Offline

Activity: 666



View Profile
July 19, 2011, 01:57:21 PM
 #37

Hmm, reading the above, I wonder if I'm the only one thinking that storing price and amount would be a whole lot simpler?

And avoid bugs all over the place, from the GUI, to input, to trade matching?

The first thing in writing an algorithm is to get your schema / data structures correct.  The rest follows naturally.

If the data structure isn't correct, you spend the rest of your time trying to cover that fact up.

I'm glad it's being looked at, and I hope your new site does things properly, not in this half-assed way.
dooglus
Legendary
*
Offline Offline

Activity: 1988



View Profile
July 19, 2011, 07:56:13 PM
 #38

I ran it with fake data, but it still seems there, although a lot better.

Code:
SELECT
    txid,
    b_r AS b_rate,
    a_r AS a_rate,
    r AS rate,
    r - a_r AS diff,
    b_r > a_r,
    r > a_r,
    r < b_r

I don't understand what you're doing here.  Is this regarding point 3) in my path, and the precision of prices?  Which table are you selecting from?  I don't see any b_r in the database schema at all.

dooglus
Legendary
*
Offline Offline

Activity: 1988



View Profile
July 30, 2011, 07:17:25 PM
 #39

I'm glad to see the 'absurd' prices have stopped happening since you started using my patch on the 19th...  Smiley


mizerydearia
Hero Member
*****
Offline Offline

Activity: 574



View Profile
July 30, 2011, 09:58:05 PM
 #40

ftfy

I'm glad to see the 'absurd' prices have stopped happening since britcoin started using my patch on the 19th...  Smiley

Pages: « 1 [2] 3 »  All
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!