Post
Topic
Board Securities
Re: [BTC-TC] Virtual Community Exchange w/ Options, DRIP, 2FA, API, CSV, etc.
by
burnside
on 23/07/2013, 14:10:06 UTC
What happened that made it seem as if the bot had advance knowledge about your trades?
The point is that the frontend of BTCT waits before it reloads the page. Why is this "wait time" programmed in the front end when it is not needed?

Because of the trade bots have an advantage.

The wait-period is a standard, though perhaps somewhat outdated, method for a website to show a successful request message. Show a short message, then automatically return to the previous page. Not showing a message and instantly reloading the previous page is, in my opinion, bad design and can leave users confused.

A better, more modern solution is to use AJAX-methods for submitting orders and make a popup box appear on the page when an order is submitted and the contents of the page are updated without actually reloading the page.

As for the bot-advantage, I believe the order is processed when you reach the message-page, so there is no delay in actually having the order listed, just a short delay in seeing the new orderbook.

I agree that the ajax response would be nice.  To do it though you have to ajaxify not just the response, but also the reload of the underlying page.  I was concerned that I'd miss something trying to reload just certain pieces of the underlying page, so I chose to do something that reloads the entire page.

Say we do a simple buy transaction.  The parts of the page that need to reload are:

- the header (balance display)
- the ticker table showing recent trade stats
- the volume graph
- the market depth graph
- the table of your current orders
- the order book
- the trade history (trade tab)
- the outstanding share count (details tab)


Regarding the bots...

ANNOUNCING... A potentially breaking change, depending on how your bot is written.

I will be rolling out a change tonight that will limit any bid or ask order to a maximum of 4 significant digits.  What does this mean?  Here are some examples:

Bid           Becomes

10123.5    10120.0
1012.35    1012.00
101.235    101.200
10.1235    10.1200
1.01235    1.01200
0.101235    0.101200
0.0101235    0.0101200

I hope that makes sense.  It will thus require any order placed to be a semi-reasonable increment above or below existing orders.  Bots should no longer be able to outbid you by using insignificant digits.  Important note!  The system already rounds down on bids and up on asks but this change will make this behavior that much more apparent.  If you place a bid or ask and it shows up for more or less than you were expecting, it's the rounding and it is intentional.

I expect to roll out this change in 6-8 hours.

Cheers.


Something to do with this change being implemented maybe?

Trading is back.  I was working on the release above.  I apologize for how long it took.  Should have been super simple but when I rolled my dev code into prod it wasn't working and tracking down the issue took a while.  I'm getting too old for the middle of the night roll-outs.  Wink

Note that filling some orders now is going to be kind of tricky.  Ex:

order book ask: 0.11111
you bid: 0.11111
system rounds to 4 significant digits: 0.1111
0.1111 < 0.11111 so an order gets placed instead.
You'd have to bid 0.1112 to fill the order.

I'm currently working on this issue.


Cheers.