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.