Я тут
ссылочку одну размещу, заснял я это год назад, новичков много стало, пусть тоже знают как бывает)) Как грится, без комментариев
я уверен вам уже тогда должны были объяснить о том, какие проблемы создали программисты mtgox разработавшие протокол websocket на основе которого собирается реалтайм стакан на сайтах вида clarkmoody.
Каналы вебсокет сообщают только изменения стакана, фактически тупо стримят текущие события добавления и отмены ордеров. И нет НИКАКОЙ возможности (до сих пор) узнать точное состояние по стакану на выбранный момент! Зачем? когда только только подключаешься к каналу websocket то нужно это точное состояние по стакану, чтобы его можно было плавно модифицировать, ан нет.. его нет, но есть закешированный +-минута (и забирать его чаще чем раз в 15 минут низяяя, посчитают ддосером, правда я забираю раз в 5.. пока не банят).
Так откуда в кларкмуди появляется неверная информация? элементарно, допустим на ткущий момент кларкмуди имеет верный стакан, тут websocket сервис дисконнектится (он у гокса делает это чуть ли не при любой движухе и недоступен по минуте и больше бывает, правда я дума. это вина антиддос хостинга).. и кларкмуди теряет какую то часть сделок, т.е. вот кто то положил ордер на 1к битков, дисконнект, пока связи не было он его снял, снова коннект, тут это ткто то снова повесил ордер, кларкмуди добросовестно ПРИПЛЮСОВАЛ этот рдре к стакану, снова дисконнект.. дальше пояснять?
Таких тудасюдашек на гоксе ПОЛНО, ставят мега ордер на 10-15 секунд, тут же его убирают. Они так ботами рулят... а всему виной - формат передачи информации в websocket клиентам! передавали бы не дельту а последнее состояние на цену, а в идеале при реконнекте выдавали бы весь стакан или хотя бы часть, приближенную к рынку.. но нет, это не выгодно гоксу