Morozov16,
1) Скорее всего там не один критерий, а несколько с разным весом.
2) Вес критериев скорее всего динамический.
3) Каждая контора использует свой алгоритм.
ИМХО, Исходя из предположений выше, пока Вы угадаете какой критерий «греть» алгоритм изменится и все исследования надо будет начинать сначала.
3Create, Потому что при передаче методу Console.WriteLine объекта вызывается его метод ToString(). Если в объекте (в твоем случае OrderBook) метод ToString() не переопределен, то вызовется метод из базового класса Object, в котором метод ToString() возвращает полное имя типа (в твоем случае Binance.NetCore.Entities.OrderBook)
Если вывести на консоль JSON, то есть 3 варианта:
1) Возвращать из методов GetApiStream и GetOrderBook строку не преобразовывая ее в объект.
2) Переопределить метод ToString() в классе OrderBook. Из метода ToString() возвращать
JsonConvert.SerializeObject(this) (если используешь Newthonsoft.JSON)
3) Конвертировать объект в JSON непосредственно перед выводом на консоль
Console.WriteLine(JsonConvert.SerializeObject(limits))
fdroid, отредактировал исходя из вашей же критики. Изначально под «всех» имел ввиду наиболее популярные. Если у человека стоит задача удержания пользователей, то ориентироваться на всякую «экзотику» не вижу смысла.
2 ярус 5 ячейка 3 место
X = 2503;
место = X % 100;
ячейка = (X / 100) % 10;
ярус = X / 1000;