• Как разработать стакан котировок на vue?

    @rPman
    А причем тут vue или python?

    Стакан это два списка отложенных заявок на покупку и продажу, отсортированных по цене. Например расположить список предложений на продажи сверху а на покупки снизу, отсортировав оба по цене по убыванию. Обычно в списке 2 или 3 колонки, цена, объем в базовой валюте и котировки, так же можно вместо объема для текущей цены выводить итоговую сумму с начала стакана (поэтому это и зовется стакан, где дно - крайние ордера).

    Теперь про производительность, не пытайтесь загружать список всех событий (отмена предыдущего ордера или выставление нового), как только этот поток станет больше десятка в секунду, браузеры перестанут справляться, по крайней мере я вижу проблемы с производительностью на куче мелких бирж которые так сделали.

    Группируйте данные по времени (например пол секунды..секунда), агрегируйте заявки по цене в пределах интервалов (например округлив цену до какого-то знака, сложив их объемы сделок в одну строчку) и выдавайте на клиент уже этот поток, так же ограничив отображение списка некоторым лимитом по цене, иначе в некоторых случаях придется загружать многомегабайтовый список (организуйте что то типа окна просмотра, если пользователь пожелает полистать список, подгружайте список по мере необходимости, правда биржи обычно не заморачиваются и тупо не дают смотреть дальше рынка - что очень неудобно). Используйте вебсокеты, передавайте список изменений а не полный список (даже если это окно), так как можете получить терабайты такого неэффективного трафика в месяц даже с небольшим количеством клиентов
    Ответ написан
    Комментировать