diff --git a/.gitignore b/.gitignore index 9efd4db..22d079d 100644 --- a/.gitignore +++ b/.gitignore @@ -12,4 +12,5 @@ config.env config.yaml desert.go main -/vendor/ \ No newline at end of file +/vendor/ +*.db \ No newline at end of file diff --git a/README.md b/README.md index 1683661..be3f6a4 100644 --- a/README.md +++ b/README.md @@ -25,14 +25,52 @@ SDK предназначен для упрощения работы с API Ти Для непосредственного взаимодействия с INVEST API нужно создать клиента. Примеры использования SDK находятся в директории examples: - * md_stream.go, orders_stream.go, operations_stream.go - примеры работы со стримами - * instruments.go - примеры работы с сервисом инструментов - * marketdata.go - примеры работы с сервисом котировок - * operations.go - примеры работы с сервисом операций - * orders.go - примеры работы с сервисом торговых поручений - * stop_orders - примеры работы с сервисом стоп-заявок - * users.go - примеры работы с сервисом счетов - * sandbox.go - пример работы с песочницей + * `md_stream.go`, orders_stream.go, operations_stream.go - примеры работы со стримами + * `instruments.go` - примеры работы с сервисом инструментов + * `marketdata.go` - примеры работы с сервисом котировок + * `operations.go` - примеры работы с сервисом операций + * `orders.go` - примеры работы с сервисом торговых поручений + * `stop_orders` - примеры работы с сервисом стоп-заявок + * `users.go` - примеры работы с сервисом счетов + * `sandbox.go` - пример работы с песочницей + * `order_book_download/order_book.go` - пример сохранения стаканов из стрима маркетдаты в sqlite или json + +#### Конфигурация SDK +```go +type Config struct { +// EndPoint - Для работы с реальным контуром и контуром песочницы нужны разные эндпоинты. +// По умолчанию = sandbox-invest-public-api.tinkoff.ru:443 +// https://tinkoff.github.io/investAPI/url_difference/ +EndPoint string `yaml:"EndPoint"` +// Token - Ваш токен для Tinkoff InvestAPI +Token string `yaml:"APIToken"` +// AppName - Название вашего приложения, по умолчанию = tinkoff-api-go-sdk +AppName string `yaml:"AppName"` +// AccountId - Если уже есть аккаунт для апи можно указать напрямую, +// для песочницы создастся и запишется автоматически +AccountId string `yaml:"AccountId"` +// DisableResourceExhaustedRetry - Если true, то сдк не пытается ретраить, после получения ошибки об исчерпывании +// лимита запросов, если false, то сдк ждет нужное время и пытается выполнить запрос снова. По умолчанию = false +DisableResourceExhaustedRetry bool `yaml:"DisableResourceExhaustedRetry"` +// DisableAllRetry - Отключение всех ретраев +DisableAllRetry bool `yaml:"DisableAllRetry"` +// MaxRetries - Максимальное количество попыток переподключения, по умолчанию = 3 +// (если указать значение 0 это не отключит ретраи, для отключения нужно прописать DisableAllRetry = true) +MaxRetries uint `yaml:"MaxRetries"` +} +``` +Для проверки достаточно указать токен и запустить пример `sandbox.go` + +### Дополнительные возможности +* **Загрузка исторических данных.** В рамках сервиса `Marketdata`, метод `GetHistoricCandles` возвращает список +свечей в интервале (from - to), метод `GetAllHistoricCandles` возвращает все доступные свечи. +* **Получение метеданных.** В теле ответа Unary - методов присутствует `grpc.Header`, при момощи методов +`investgo.MessageFromHeader` и `investgo.RemainingLimitFromHeader` вы можете получить сообщение ошибки, +и текущий остаток запросов соответсвенно. Подробнее про заголовки [тут](https://tinkoff.github.io/investAPI/grpc/) +* **Переподключение.** По умолчанию включен ретраер, который при получении ошибок от grpc пытается выполнить запрос повторно, +а в случае со стримами переподклчается и переподписывает стрим на всю подписки. Отдельно можно +отключить ретраер для ошибки `ResourceExhausted`, по умолчанию он включен и в случае превышения лимитов Unary - запросов, +ретраер ждет нужное время и продолжает выполнение, *при этом никакого сообщения об ошибке для клиента нет*. #### Пример использования MarketDataStreamService ```go diff --git a/example.yaml b/example.yaml index 5b02122..0e5398a 100644 --- a/example.yaml +++ b/example.yaml @@ -3,4 +3,5 @@ APIToken: EndPoint: sandbox-invest-public-api.tinkoff.ru:443 AppName: invest-api-go-sdk DisableResourceExhaustedRetry: false +DisableAllRetry: false MaxRetries: 3 \ No newline at end of file diff --git a/examples/instruments.go b/examples/instruments.go index 41c3528..bd1260e 100644 --- a/examples/instruments.go +++ b/examples/instruments.go @@ -7,43 +7,44 @@ import ( pb "github.com/tinkoff/invest-api-go-sdk/proto" "go.uber.org/zap" "log" + "os/signal" + "syscall" "time" ) func main() { - // Загружаем конфигурацию для сдк + // загружаем конфигурацию для сдк из .yaml файла config, err := investgo.LoadConfig("config.yaml") if err != nil { log.Fatalf("config loading error %v", err.Error()) } - // контекст будет передан в сдк и будет использоваться для завершения работы - ctx, cancel := context.WithCancel(context.Background()) - defer cancel() - // Для примера передадим в качестве логгера uber zap - prod, err := zap.NewProduction() + ctx, cancel := signal.NotifyContext(context.Background(), syscall.SIGINT, syscall.SIGTERM, syscall.SIGKILL) + defer cancel() + // сдк использует для внутреннего логирования investgo.Logger + // для примера передадим uber.zap + prod := zap.NewExample() defer func() { err := prod.Sync() if err != nil { log.Printf("Prod.Sync %v", err.Error()) } }() - if err != nil { - log.Fatalf("logger creating error %e", err) + log.Fatalf("logger creating error %v", err) } logger := prod.Sugar() - - // Создаем клиента для апи инвестиций, он поддерживает grpc соединение + // создаем клиента для investAPI, он позволяет создавать нужные сервисы и уже + // через них вызывать нужные методы client, err := investgo.NewClient(ctx, config, logger) if err != nil { - logger.Fatalf("Client creating error %v", err.Error()) + logger.Fatalf("client creating error %v", err.Error()) } defer func() { - logger.Infof("Closing client connection") + logger.Infof("closing client connection") err := client.Stop() if err != nil { - logger.Error("client shutdown error %v", err.Error()) + logger.Errorf("client shutdown error %v", err.Error()) } }() @@ -130,15 +131,7 @@ func main() { } } - optionByTickerResp, err := instrumentsService.OptionByTicker("TT440CE3B", "SPBOPT") - if err != nil { - logger.Errorf(err.Error()) - } else { - option := optionByTickerResp.GetInstrument() - fmt.Printf("option name = %v, asset size = %v\n", option.GetName(), option.GetBasicAssetSize().ToFloat()) - } - - dividentsResp, err := instrumentsService.GetDividents("BBG004730N88", time.Now(), time.Now().Add(1000*time.Hour)) + dividentsResp, err := instrumentsService.GetDividents("BBG004730N88", time.Now().Add(-1000*time.Hour), time.Now()) if err != nil { logger.Errorf(err.Error()) fmt.Printf("header msg = %v\n", dividentsResp.GetHeader().Get("message")) diff --git a/examples/json/order_books.json b/examples/json/order_books.json deleted file mode 100644 index 4aef1db..0000000 --- a/examples/json/order_books.json +++ /dev/null @@ -1,17302 +0,0 @@ -[ - { - "Figi": "BBG004730N88", - "InstrumentUid": "e6123145-9665-43e0-8413-cd61b8aa9b13", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396803, - "LimitUp": 253.72, - "LimitDown": 206.56, - "Bids": [ - { - "Price": 233.76, - "Quantity": 195 - }, - { - "Price": 233.75, - "Quantity": 5 - }, - { - "Price": 233.74, - "Quantity": 48 - }, - { - "Price": 233.73, - "Quantity": 124 - }, - { - "Price": 233.72, - "Quantity": 201 - }, - { - "Price": 233.71, - "Quantity": 276 - }, - { - "Price": 233.7, - "Quantity": 632 - }, - { - "Price": 233.69, - "Quantity": 76 - }, - { - "Price": 233.68, - "Quantity": 511 - }, - { - "Price": 233.67, - "Quantity": 375 - }, - { - "Price": 233.66, - "Quantity": 76 - }, - { - "Price": 233.65, - "Quantity": 393 - }, - { - "Price": 233.64, - "Quantity": 264 - }, - { - "Price": 233.63, - "Quantity": 164 - }, - { - "Price": 233.62, - "Quantity": 314 - }, - { - "Price": 233.61, - "Quantity": 358 - }, - { - "Price": 233.6, - "Quantity": 2926 - }, - { - "Price": 233.59, - "Quantity": 185 - }, - { - "Price": 233.58, - "Quantity": 482 - }, - { - "Price": 233.57, - "Quantity": 975 - } - ], - "Asks": [ - { - "Price": 233.79, - "Quantity": 351 - }, - { - "Price": 233.8, - "Quantity": 3611 - }, - { - "Price": 233.81, - "Quantity": 160 - }, - { - "Price": 233.82, - "Quantity": 232 - }, - { - "Price": 233.83, - "Quantity": 964 - }, - { - "Price": 233.84, - "Quantity": 438 - }, - { - "Price": 233.85, - "Quantity": 717 - }, - { - "Price": 233.86, - "Quantity": 1073 - }, - { - "Price": 233.87, - "Quantity": 783 - }, - { - "Price": 233.88, - "Quantity": 936 - }, - { - "Price": 233.89, - "Quantity": 7891 - }, - { - "Price": 233.9, - "Quantity": 6290 - }, - { - "Price": 233.91, - "Quantity": 375 - }, - { - "Price": 233.92, - "Quantity": 2004 - }, - { - "Price": 233.93, - "Quantity": 75 - }, - { - "Price": 233.94, - "Quantity": 100 - }, - { - "Price": 233.95, - "Quantity": 493 - }, - { - "Price": 233.96, - "Quantity": 156 - }, - { - "Price": 233.97, - "Quantity": 2417 - }, - { - "Price": 233.98, - "Quantity": 2072 - } - ] - }, - { - "Figi": "BBG00475KKY8", - "InstrumentUid": "0da66728-6c30-44c4-9264-df8fac2467ee", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396803, - "LimitUp": 1490.6, - "LimitDown": 1096.4, - "Bids": [ - { - "Price": 1295.2, - "Quantity": 26 - }, - { - "Price": 1295, - "Quantity": 3984 - }, - { - "Price": 1294.8, - "Quantity": 3 - }, - { - "Price": 1294.6, - "Quantity": 2 - }, - { - "Price": 1294.4, - "Quantity": 109 - }, - { - "Price": 1294.2, - "Quantity": 70 - }, - { - "Price": 1294, - "Quantity": 430 - }, - { - "Price": 1293.8, - "Quantity": 17 - }, - { - "Price": 1293.6, - "Quantity": 370 - }, - { - "Price": 1293.4, - "Quantity": 730 - }, - { - "Price": 1293.2, - "Quantity": 1833 - }, - { - "Price": 1293, - "Quantity": 330 - }, - { - "Price": 1292.8, - "Quantity": 1442 - }, - { - "Price": 1292.6, - "Quantity": 708 - }, - { - "Price": 1292.4, - "Quantity": 16 - }, - { - "Price": 1292.2, - "Quantity": 1032 - }, - { - "Price": 1292, - "Quantity": 173 - }, - { - "Price": 1291.8, - "Quantity": 713 - }, - { - "Price": 1291.4, - "Quantity": 5 - }, - { - "Price": 1291.2, - "Quantity": 1330 - } - ], - "Asks": [ - { - "Price": 1296, - "Quantity": 207 - }, - { - "Price": 1296.2, - "Quantity": 38 - }, - { - "Price": 1296.4, - "Quantity": 131 - }, - { - "Price": 1296.6, - "Quantity": 218 - }, - { - "Price": 1296.8, - "Quantity": 150 - }, - { - "Price": 1297, - "Quantity": 170 - }, - { - "Price": 1297.2, - "Quantity": 271 - }, - { - "Price": 1297.4, - "Quantity": 185 - }, - { - "Price": 1297.6, - "Quantity": 372 - }, - { - "Price": 1297.8, - "Quantity": 1850 - }, - { - "Price": 1298, - "Quantity": 1016 - }, - { - "Price": 1298.2, - "Quantity": 2400 - }, - { - "Price": 1298.6, - "Quantity": 700 - }, - { - "Price": 1298.8, - "Quantity": 2020 - }, - { - "Price": 1299, - "Quantity": 1079 - }, - { - "Price": 1299.4, - "Quantity": 71 - }, - { - "Price": 1299.6, - "Quantity": 366 - }, - { - "Price": 1299.8, - "Quantity": 2420 - }, - { - "Price": 1300, - "Quantity": 3452 - }, - { - "Price": 1300.2, - "Quantity": 2 - } - ] - }, - { - "Figi": "BBG004730N88", - "InstrumentUid": "e6123145-9665-43e0-8413-cd61b8aa9b13", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396804, - "LimitUp": 253.72, - "LimitDown": 206.56, - "Bids": [ - { - "Price": 233.76, - "Quantity": 195 - }, - { - "Price": 233.75, - "Quantity": 5 - }, - { - "Price": 233.74, - "Quantity": 53 - }, - { - "Price": 233.73, - "Quantity": 124 - }, - { - "Price": 233.72, - "Quantity": 201 - }, - { - "Price": 233.71, - "Quantity": 276 - }, - { - "Price": 233.7, - "Quantity": 632 - }, - { - "Price": 233.69, - "Quantity": 76 - }, - { - "Price": 233.68, - "Quantity": 511 - }, - { - "Price": 233.67, - "Quantity": 375 - }, - { - "Price": 233.66, - "Quantity": 76 - }, - { - "Price": 233.65, - "Quantity": 393 - }, - { - "Price": 233.64, - "Quantity": 264 - }, - { - "Price": 233.63, - "Quantity": 164 - }, - { - "Price": 233.62, - "Quantity": 314 - }, - { - "Price": 233.61, - "Quantity": 359 - }, - { - "Price": 233.6, - "Quantity": 2926 - }, - { - "Price": 233.59, - "Quantity": 185 - }, - { - "Price": 233.58, - "Quantity": 782 - }, - { - "Price": 233.57, - "Quantity": 975 - } - ], - "Asks": [ - { - "Price": 233.79, - "Quantity": 351 - }, - { - "Price": 233.8, - "Quantity": 3611 - }, - { - "Price": 233.81, - "Quantity": 160 - }, - { - "Price": 233.82, - "Quantity": 232 - }, - { - "Price": 233.83, - "Quantity": 964 - }, - { - "Price": 233.84, - "Quantity": 438 - }, - { - "Price": 233.85, - "Quantity": 717 - }, - { - "Price": 233.86, - "Quantity": 1073 - }, - { - "Price": 233.87, - "Quantity": 783 - }, - { - "Price": 233.88, - "Quantity": 936 - }, - { - "Price": 233.89, - "Quantity": 7891 - }, - { - "Price": 233.9, - "Quantity": 6290 - }, - { - "Price": 233.91, - "Quantity": 375 - }, - { - "Price": 233.92, - "Quantity": 2004 - }, - { - "Price": 233.93, - "Quantity": 75 - }, - { - "Price": 233.94, - "Quantity": 100 - }, - { - "Price": 233.95, - "Quantity": 493 - }, - { - "Price": 233.96, - "Quantity": 156 - }, - { - "Price": 233.97, - "Quantity": 2417 - }, - { - "Price": 233.98, - "Quantity": 2072 - } - ] - }, - { - "Figi": "BBG004730N88", - "InstrumentUid": "e6123145-9665-43e0-8413-cd61b8aa9b13", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396804, - "LimitUp": 253.72, - "LimitDown": 206.56, - "Bids": [ - { - "Price": 233.74, - "Quantity": 25 - }, - { - "Price": 233.73, - "Quantity": 88 - }, - { - "Price": 233.71, - "Quantity": 328 - }, - { - "Price": 233.7, - "Quantity": 557 - }, - { - "Price": 233.69, - "Quantity": 76 - }, - { - "Price": 233.68, - "Quantity": 811 - }, - { - "Price": 233.67, - "Quantity": 75 - }, - { - "Price": 233.66, - "Quantity": 76 - }, - { - "Price": 233.65, - "Quantity": 393 - }, - { - "Price": 233.64, - "Quantity": 264 - }, - { - "Price": 233.63, - "Quantity": 164 - }, - { - "Price": 233.62, - "Quantity": 314 - }, - { - "Price": 233.61, - "Quantity": 659 - }, - { - "Price": 233.6, - "Quantity": 2926 - }, - { - "Price": 233.59, - "Quantity": 185 - }, - { - "Price": 233.58, - "Quantity": 482 - }, - { - "Price": 233.57, - "Quantity": 975 - }, - { - "Price": 233.56, - "Quantity": 213 - }, - { - "Price": 233.55, - "Quantity": 2085 - }, - { - "Price": 233.54, - "Quantity": 1022 - } - ], - "Asks": [ - { - "Price": 233.78, - "Quantity": 6 - }, - { - "Price": 233.79, - "Quantity": 351 - }, - { - "Price": 233.8, - "Quantity": 1911 - }, - { - "Price": 233.81, - "Quantity": 485 - }, - { - "Price": 233.82, - "Quantity": 232 - }, - { - "Price": 233.83, - "Quantity": 639 - }, - { - "Price": 233.84, - "Quantity": 463 - }, - { - "Price": 233.85, - "Quantity": 717 - }, - { - "Price": 233.86, - "Quantity": 1048 - }, - { - "Price": 233.87, - "Quantity": 783 - }, - { - "Price": 233.88, - "Quantity": 936 - }, - { - "Price": 233.89, - "Quantity": 7891 - }, - { - "Price": 233.9, - "Quantity": 6290 - }, - { - "Price": 233.91, - "Quantity": 375 - }, - { - "Price": 233.92, - "Quantity": 2004 - }, - { - "Price": 233.93, - "Quantity": 75 - }, - { - "Price": 233.94, - "Quantity": 1100 - }, - { - "Price": 233.95, - "Quantity": 493 - }, - { - "Price": 233.96, - "Quantity": 156 - }, - { - "Price": 233.97, - "Quantity": 1417 - } - ] - }, - { - "Figi": "BBG00475KKY8", - "InstrumentUid": "0da66728-6c30-44c4-9264-df8fac2467ee", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396804, - "LimitUp": 1490.6, - "LimitDown": 1096.4, - "Bids": [ - { - "Price": 1295.2, - "Quantity": 26 - }, - { - "Price": 1295, - "Quantity": 3984 - }, - { - "Price": 1294.8, - "Quantity": 3 - }, - { - "Price": 1294.6, - "Quantity": 2 - }, - { - "Price": 1294.4, - "Quantity": 109 - }, - { - "Price": 1294.2, - "Quantity": 70 - }, - { - "Price": 1294, - "Quantity": 430 - }, - { - "Price": 1293.8, - "Quantity": 17 - }, - { - "Price": 1293.6, - "Quantity": 370 - }, - { - "Price": 1293.4, - "Quantity": 730 - }, - { - "Price": 1293.2, - "Quantity": 1833 - }, - { - "Price": 1293, - "Quantity": 330 - }, - { - "Price": 1292.8, - "Quantity": 1442 - }, - { - "Price": 1292.6, - "Quantity": 708 - }, - { - "Price": 1292.4, - "Quantity": 16 - }, - { - "Price": 1292.2, - "Quantity": 1032 - }, - { - "Price": 1292, - "Quantity": 173 - }, - { - "Price": 1291.8, - "Quantity": 713 - }, - { - "Price": 1291.4, - "Quantity": 5 - }, - { - "Price": 1291.2, - "Quantity": 1330 - } - ], - "Asks": [ - { - "Price": 1296, - "Quantity": 197 - }, - { - "Price": 1296.4, - "Quantity": 169 - }, - { - "Price": 1296.6, - "Quantity": 218 - }, - { - "Price": 1296.8, - "Quantity": 150 - }, - { - "Price": 1297, - "Quantity": 170 - }, - { - "Price": 1297.2, - "Quantity": 271 - }, - { - "Price": 1297.4, - "Quantity": 185 - }, - { - "Price": 1297.6, - "Quantity": 372 - }, - { - "Price": 1297.8, - "Quantity": 1850 - }, - { - "Price": 1298, - "Quantity": 1016 - }, - { - "Price": 1298.2, - "Quantity": 2400 - }, - { - "Price": 1298.6, - "Quantity": 700 - }, - { - "Price": 1298.8, - "Quantity": 2020 - }, - { - "Price": 1299, - "Quantity": 1079 - }, - { - "Price": 1299.4, - "Quantity": 71 - }, - { - "Price": 1299.6, - "Quantity": 366 - }, - { - "Price": 1299.8, - "Quantity": 2420 - }, - { - "Price": 1300, - "Quantity": 3452 - }, - { - "Price": 1300.2, - "Quantity": 2 - }, - { - "Price": 1300.4, - "Quantity": 2 - } - ] - }, - { - "Figi": "BBG004730N88", - "InstrumentUid": "e6123145-9665-43e0-8413-cd61b8aa9b13", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396804, - "LimitUp": 253.72, - "LimitDown": 206.56, - "Bids": [ - { - "Price": 233.73, - "Quantity": 25 - }, - { - "Price": 233.72, - "Quantity": 130 - }, - { - "Price": 233.71, - "Quantity": 303 - }, - { - "Price": 233.7, - "Quantity": 582 - }, - { - "Price": 233.69, - "Quantity": 76 - }, - { - "Price": 233.68, - "Quantity": 811 - }, - { - "Price": 233.67, - "Quantity": 75 - }, - { - "Price": 233.66, - "Quantity": 76 - }, - { - "Price": 233.65, - "Quantity": 393 - }, - { - "Price": 233.64, - "Quantity": 264 - }, - { - "Price": 233.63, - "Quantity": 164 - }, - { - "Price": 233.62, - "Quantity": 314 - }, - { - "Price": 233.61, - "Quantity": 659 - }, - { - "Price": 233.6, - "Quantity": 2926 - }, - { - "Price": 233.59, - "Quantity": 185 - }, - { - "Price": 233.58, - "Quantity": 482 - }, - { - "Price": 233.57, - "Quantity": 975 - }, - { - "Price": 233.56, - "Quantity": 213 - }, - { - "Price": 233.55, - "Quantity": 2085 - }, - { - "Price": 233.54, - "Quantity": 1022 - } - ], - "Asks": [ - { - "Price": 233.78, - "Quantity": 6 - }, - { - "Price": 233.79, - "Quantity": 351 - }, - { - "Price": 233.8, - "Quantity": 1911 - }, - { - "Price": 233.81, - "Quantity": 460 - }, - { - "Price": 233.82, - "Quantity": 257 - }, - { - "Price": 233.83, - "Quantity": 637 - }, - { - "Price": 233.84, - "Quantity": 438 - }, - { - "Price": 233.85, - "Quantity": 742 - }, - { - "Price": 233.86, - "Quantity": 1048 - }, - { - "Price": 233.87, - "Quantity": 783 - }, - { - "Price": 233.88, - "Quantity": 936 - }, - { - "Price": 233.89, - "Quantity": 7891 - }, - { - "Price": 233.9, - "Quantity": 6290 - }, - { - "Price": 233.91, - "Quantity": 375 - }, - { - "Price": 233.92, - "Quantity": 2004 - }, - { - "Price": 233.93, - "Quantity": 75 - }, - { - "Price": 233.94, - "Quantity": 1100 - }, - { - "Price": 233.95, - "Quantity": 493 - }, - { - "Price": 233.96, - "Quantity": 156 - }, - { - "Price": 233.97, - "Quantity": 1417 - } - ] - }, - { - "Figi": "BBG004RVFCY3", - "InstrumentUid": "ca845f68-6c43-44bc-b584-330d2a1e5eb7", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396804, - "LimitUp": 5068.5, - "LimitDown": 4125, - "Bids": [ - { - "Price": 4611, - "Quantity": 35 - }, - { - "Price": 4610.5, - "Quantity": 69 - }, - { - "Price": 4610, - "Quantity": 1050 - }, - { - "Price": 4609.5, - "Quantity": 33 - }, - { - "Price": 4609, - "Quantity": 27 - }, - { - "Price": 4607.5, - "Quantity": 2 - }, - { - "Price": 4606.5, - "Quantity": 17 - }, - { - "Price": 4605.5, - "Quantity": 733 - }, - { - "Price": 4605, - "Quantity": 207 - }, - { - "Price": 4604, - "Quantity": 120 - }, - { - "Price": 4603, - "Quantity": 8 - }, - { - "Price": 4602, - "Quantity": 4 - }, - { - "Price": 4600, - "Quantity": 58 - }, - { - "Price": 4599.5, - "Quantity": 112 - }, - { - "Price": 4599, - "Quantity": 809 - }, - { - "Price": 4598, - "Quantity": 24 - }, - { - "Price": 4597, - "Quantity": 12 - }, - { - "Price": 4596.5, - "Quantity": 2 - }, - { - "Price": 4596, - "Quantity": 8 - }, - { - "Price": 4595.5, - "Quantity": 226 - } - ], - "Asks": [ - { - "Price": 4612, - "Quantity": 21 - }, - { - "Price": 4612.5, - "Quantity": 134 - }, - { - "Price": 4613, - "Quantity": 8 - }, - { - "Price": 4613.5, - "Quantity": 60 - }, - { - "Price": 4614, - "Quantity": 103 - }, - { - "Price": 4615, - "Quantity": 12 - }, - { - "Price": 4615.5, - "Quantity": 57 - }, - { - "Price": 4616, - "Quantity": 90 - }, - { - "Price": 4616.5, - "Quantity": 63 - }, - { - "Price": 4617, - "Quantity": 10 - }, - { - "Price": 4617.5, - "Quantity": 11 - }, - { - "Price": 4618, - "Quantity": 258 - }, - { - "Price": 4618.5, - "Quantity": 210 - }, - { - "Price": 4619, - "Quantity": 168 - }, - { - "Price": 4619.5, - "Quantity": 52 - }, - { - "Price": 4620, - "Quantity": 621 - }, - { - "Price": 4621, - "Quantity": 21 - }, - { - "Price": 4621.5, - "Quantity": 10 - }, - { - "Price": 4622, - "Quantity": 65 - }, - { - "Price": 4622.5, - "Quantity": 16 - } - ] - }, - { - "Figi": "BBG004730N88", - "InstrumentUid": "e6123145-9665-43e0-8413-cd61b8aa9b13", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396804, - "LimitUp": 253.72, - "LimitDown": 206.56, - "Bids": [ - { - "Price": 233.75, - "Quantity": 25 - }, - { - "Price": 233.74, - "Quantity": 1 - }, - { - "Price": 233.72, - "Quantity": 155 - }, - { - "Price": 233.71, - "Quantity": 303 - }, - { - "Price": 233.7, - "Quantity": 632 - }, - { - "Price": 233.69, - "Quantity": 76 - }, - { - "Price": 233.68, - "Quantity": 831 - }, - { - "Price": 233.67, - "Quantity": 75 - }, - { - "Price": 233.66, - "Quantity": 165 - }, - { - "Price": 233.65, - "Quantity": 393 - }, - { - "Price": 233.64, - "Quantity": 264 - }, - { - "Price": 233.63, - "Quantity": 164 - }, - { - "Price": 233.62, - "Quantity": 314 - }, - { - "Price": 233.61, - "Quantity": 659 - }, - { - "Price": 233.6, - "Quantity": 2926 - }, - { - "Price": 233.59, - "Quantity": 485 - }, - { - "Price": 233.58, - "Quantity": 192 - }, - { - "Price": 233.57, - "Quantity": 975 - }, - { - "Price": 233.56, - "Quantity": 84 - }, - { - "Price": 233.55, - "Quantity": 2085 - } - ], - "Asks": [ - { - "Price": 233.78, - "Quantity": 6 - }, - { - "Price": 233.79, - "Quantity": 351 - }, - { - "Price": 233.8, - "Quantity": 1822 - }, - { - "Price": 233.81, - "Quantity": 460 - }, - { - "Price": 233.82, - "Quantity": 257 - }, - { - "Price": 233.83, - "Quantity": 637 - }, - { - "Price": 233.84, - "Quantity": 438 - }, - { - "Price": 233.85, - "Quantity": 742 - }, - { - "Price": 233.86, - "Quantity": 1048 - }, - { - "Price": 233.87, - "Quantity": 783 - }, - { - "Price": 233.88, - "Quantity": 936 - }, - { - "Price": 233.89, - "Quantity": 7893 - }, - { - "Price": 233.9, - "Quantity": 6379 - }, - { - "Price": 233.91, - "Quantity": 375 - }, - { - "Price": 233.92, - "Quantity": 2004 - }, - { - "Price": 233.93, - "Quantity": 75 - }, - { - "Price": 233.94, - "Quantity": 1100 - }, - { - "Price": 233.95, - "Quantity": 493 - }, - { - "Price": 233.96, - "Quantity": 156 - }, - { - "Price": 233.97, - "Quantity": 1417 - } - ] - }, - { - "Figi": "BBG004730N88", - "InstrumentUid": "e6123145-9665-43e0-8413-cd61b8aa9b13", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396805, - "LimitUp": 253.72, - "LimitDown": 206.56, - "Bids": [ - { - "Price": 233.75, - "Quantity": 16 - }, - { - "Price": 233.74, - "Quantity": 1 - }, - { - "Price": 233.72, - "Quantity": 155 - }, - { - "Price": 233.71, - "Quantity": 303 - }, - { - "Price": 233.7, - "Quantity": 632 - }, - { - "Price": 233.69, - "Quantity": 76 - }, - { - "Price": 233.68, - "Quantity": 831 - }, - { - "Price": 233.67, - "Quantity": 75 - }, - { - "Price": 233.66, - "Quantity": 165 - }, - { - "Price": 233.65, - "Quantity": 393 - }, - { - "Price": 233.64, - "Quantity": 264 - }, - { - "Price": 233.63, - "Quantity": 164 - }, - { - "Price": 233.62, - "Quantity": 314 - }, - { - "Price": 233.61, - "Quantity": 659 - }, - { - "Price": 233.6, - "Quantity": 2926 - }, - { - "Price": 233.59, - "Quantity": 485 - }, - { - "Price": 233.58, - "Quantity": 192 - }, - { - "Price": 233.57, - "Quantity": 975 - }, - { - "Price": 233.56, - "Quantity": 84 - }, - { - "Price": 233.55, - "Quantity": 2085 - } - ], - "Asks": [ - { - "Price": 233.78, - "Quantity": 6 - }, - { - "Price": 233.79, - "Quantity": 351 - }, - { - "Price": 233.8, - "Quantity": 1822 - }, - { - "Price": 233.81, - "Quantity": 460 - }, - { - "Price": 233.82, - "Quantity": 257 - }, - { - "Price": 233.83, - "Quantity": 637 - }, - { - "Price": 233.84, - "Quantity": 438 - }, - { - "Price": 233.85, - "Quantity": 742 - }, - { - "Price": 233.86, - "Quantity": 1048 - }, - { - "Price": 233.87, - "Quantity": 783 - }, - { - "Price": 233.88, - "Quantity": 936 - }, - { - "Price": 233.89, - "Quantity": 7893 - }, - { - "Price": 233.9, - "Quantity": 6379 - }, - { - "Price": 233.91, - "Quantity": 375 - }, - { - "Price": 233.92, - "Quantity": 2004 - }, - { - "Price": 233.93, - "Quantity": 75 - }, - { - "Price": 233.94, - "Quantity": 100 - }, - { - "Price": 233.95, - "Quantity": 493 - }, - { - "Price": 233.96, - "Quantity": 156 - }, - { - "Price": 233.97, - "Quantity": 2417 - } - ] - }, - { - "Figi": "BBG004RVFCY3", - "InstrumentUid": "ca845f68-6c43-44bc-b584-330d2a1e5eb7", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396805, - "LimitUp": 5068.5, - "LimitDown": 4125, - "Bids": [ - { - "Price": 4611, - "Quantity": 35 - }, - { - "Price": 4610.5, - "Quantity": 69 - }, - { - "Price": 4610, - "Quantity": 1050 - }, - { - "Price": 4609.5, - "Quantity": 33 - }, - { - "Price": 4609, - "Quantity": 27 - }, - { - "Price": 4607.5, - "Quantity": 2 - }, - { - "Price": 4606.5, - "Quantity": 17 - }, - { - "Price": 4605.5, - "Quantity": 733 - }, - { - "Price": 4605, - "Quantity": 207 - }, - { - "Price": 4604, - "Quantity": 120 - }, - { - "Price": 4603, - "Quantity": 8 - }, - { - "Price": 4602, - "Quantity": 4 - }, - { - "Price": 4600, - "Quantity": 58 - }, - { - "Price": 4599.5, - "Quantity": 112 - }, - { - "Price": 4599, - "Quantity": 809 - }, - { - "Price": 4598, - "Quantity": 24 - }, - { - "Price": 4597, - "Quantity": 12 - }, - { - "Price": 4596.5, - "Quantity": 2 - }, - { - "Price": 4596, - "Quantity": 8 - }, - { - "Price": 4595.5, - "Quantity": 226 - } - ], - "Asks": [ - { - "Price": 4612, - "Quantity": 20 - }, - { - "Price": 4612.5, - "Quantity": 134 - }, - { - "Price": 4613, - "Quantity": 8 - }, - { - "Price": 4613.5, - "Quantity": 60 - }, - { - "Price": 4614, - "Quantity": 103 - }, - { - "Price": 4615, - "Quantity": 12 - }, - { - "Price": 4615.5, - "Quantity": 57 - }, - { - "Price": 4616, - "Quantity": 90 - }, - { - "Price": 4616.5, - "Quantity": 63 - }, - { - "Price": 4617, - "Quantity": 10 - }, - { - "Price": 4617.5, - "Quantity": 11 - }, - { - "Price": 4618, - "Quantity": 258 - }, - { - "Price": 4618.5, - "Quantity": 210 - }, - { - "Price": 4619, - "Quantity": 168 - }, - { - "Price": 4619.5, - "Quantity": 52 - }, - { - "Price": 4620, - "Quantity": 621 - }, - { - "Price": 4621, - "Quantity": 21 - }, - { - "Price": 4621.5, - "Quantity": 10 - }, - { - "Price": 4622, - "Quantity": 65 - }, - { - "Price": 4622.5, - "Quantity": 16 - } - ] - }, - { - "Figi": "BBG00475KKY8", - "InstrumentUid": "0da66728-6c30-44c4-9264-df8fac2467ee", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396805, - "LimitUp": 1490.6, - "LimitDown": 1096.4, - "Bids": [ - { - "Price": 1295.2, - "Quantity": 26 - }, - { - "Price": 1295, - "Quantity": 3984 - }, - { - "Price": 1294.8, - "Quantity": 3 - }, - { - "Price": 1294.6, - "Quantity": 2 - }, - { - "Price": 1294.4, - "Quantity": 109 - }, - { - "Price": 1294.2, - "Quantity": 70 - }, - { - "Price": 1294, - "Quantity": 430 - }, - { - "Price": 1293.8, - "Quantity": 17 - }, - { - "Price": 1293.6, - "Quantity": 370 - }, - { - "Price": 1293.4, - "Quantity": 730 - }, - { - "Price": 1293.2, - "Quantity": 1833 - }, - { - "Price": 1293, - "Quantity": 330 - }, - { - "Price": 1292.8, - "Quantity": 1442 - }, - { - "Price": 1292.6, - "Quantity": 708 - }, - { - "Price": 1292.4, - "Quantity": 16 - }, - { - "Price": 1292.2, - "Quantity": 1032 - }, - { - "Price": 1292, - "Quantity": 173 - }, - { - "Price": 1291.8, - "Quantity": 713 - }, - { - "Price": 1291.4, - "Quantity": 5 - }, - { - "Price": 1291.2, - "Quantity": 1330 - } - ], - "Asks": [ - { - "Price": 1296, - "Quantity": 187 - }, - { - "Price": 1296.4, - "Quantity": 169 - }, - { - "Price": 1296.6, - "Quantity": 218 - }, - { - "Price": 1296.8, - "Quantity": 150 - }, - { - "Price": 1297, - "Quantity": 170 - }, - { - "Price": 1297.2, - "Quantity": 271 - }, - { - "Price": 1297.4, - "Quantity": 185 - }, - { - "Price": 1297.6, - "Quantity": 372 - }, - { - "Price": 1297.8, - "Quantity": 1850 - }, - { - "Price": 1298, - "Quantity": 1016 - }, - { - "Price": 1298.2, - "Quantity": 2400 - }, - { - "Price": 1298.6, - "Quantity": 700 - }, - { - "Price": 1298.8, - "Quantity": 2020 - }, - { - "Price": 1299, - "Quantity": 1079 - }, - { - "Price": 1299.4, - "Quantity": 71 - }, - { - "Price": 1299.6, - "Quantity": 366 - }, - { - "Price": 1299.8, - "Quantity": 2420 - }, - { - "Price": 1300, - "Quantity": 3452 - }, - { - "Price": 1300.2, - "Quantity": 2 - }, - { - "Price": 1300.4, - "Quantity": 2 - } - ] - }, - { - "Figi": "BBG004730N88", - "InstrumentUid": "e6123145-9665-43e0-8413-cd61b8aa9b13", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396805, - "LimitUp": 253.72, - "LimitDown": 206.56, - "Bids": [ - { - "Price": 233.75, - "Quantity": 16 - }, - { - "Price": 233.74, - "Quantity": 1 - }, - { - "Price": 233.72, - "Quantity": 155 - }, - { - "Price": 233.71, - "Quantity": 303 - }, - { - "Price": 233.7, - "Quantity": 632 - }, - { - "Price": 233.69, - "Quantity": 76 - }, - { - "Price": 233.68, - "Quantity": 831 - }, - { - "Price": 233.67, - "Quantity": 75 - }, - { - "Price": 233.66, - "Quantity": 165 - }, - { - "Price": 233.65, - "Quantity": 393 - }, - { - "Price": 233.64, - "Quantity": 264 - }, - { - "Price": 233.63, - "Quantity": 164 - }, - { - "Price": 233.62, - "Quantity": 314 - }, - { - "Price": 233.61, - "Quantity": 659 - }, - { - "Price": 233.6, - "Quantity": 2926 - }, - { - "Price": 233.59, - "Quantity": 485 - }, - { - "Price": 233.58, - "Quantity": 192 - }, - { - "Price": 233.57, - "Quantity": 975 - }, - { - "Price": 233.56, - "Quantity": 84 - }, - { - "Price": 233.55, - "Quantity": 2085 - } - ], - "Asks": [ - { - "Price": 233.78, - "Quantity": 6 - }, - { - "Price": 233.79, - "Quantity": 351 - }, - { - "Price": 233.8, - "Quantity": 1822 - }, - { - "Price": 233.81, - "Quantity": 460 - }, - { - "Price": 233.82, - "Quantity": 257 - }, - { - "Price": 233.83, - "Quantity": 637 - }, - { - "Price": 233.84, - "Quantity": 438 - }, - { - "Price": 233.85, - "Quantity": 742 - }, - { - "Price": 233.86, - "Quantity": 1048 - }, - { - "Price": 233.87, - "Quantity": 783 - }, - { - "Price": 233.88, - "Quantity": 936 - }, - { - "Price": 233.89, - "Quantity": 7893 - }, - { - "Price": 233.9, - "Quantity": 6379 - }, - { - "Price": 233.91, - "Quantity": 375 - }, - { - "Price": 233.92, - "Quantity": 2004 - }, - { - "Price": 233.93, - "Quantity": 75 - }, - { - "Price": 233.94, - "Quantity": 100 - }, - { - "Price": 233.95, - "Quantity": 493 - }, - { - "Price": 233.96, - "Quantity": 156 - }, - { - "Price": 233.97, - "Quantity": 2417 - } - ] - }, - { - "Figi": "BBG004RVFCY3", - "InstrumentUid": "ca845f68-6c43-44bc-b584-330d2a1e5eb7", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396805, - "LimitUp": 5068.5, - "LimitDown": 4125, - "Bids": [ - { - "Price": 4611, - "Quantity": 35 - }, - { - "Price": 4610.5, - "Quantity": 69 - }, - { - "Price": 4610, - "Quantity": 1050 - }, - { - "Price": 4609.5, - "Quantity": 33 - }, - { - "Price": 4609, - "Quantity": 27 - }, - { - "Price": 4607.5, - "Quantity": 2 - }, - { - "Price": 4606.5, - "Quantity": 17 - }, - { - "Price": 4605.5, - "Quantity": 733 - }, - { - "Price": 4605, - "Quantity": 207 - }, - { - "Price": 4604, - "Quantity": 120 - }, - { - "Price": 4603, - "Quantity": 8 - }, - { - "Price": 4602, - "Quantity": 4 - }, - { - "Price": 4600, - "Quantity": 58 - }, - { - "Price": 4599.5, - "Quantity": 112 - }, - { - "Price": 4599, - "Quantity": 809 - }, - { - "Price": 4598, - "Quantity": 24 - }, - { - "Price": 4597, - "Quantity": 12 - }, - { - "Price": 4596.5, - "Quantity": 2 - }, - { - "Price": 4596, - "Quantity": 8 - }, - { - "Price": 4595.5, - "Quantity": 226 - } - ], - "Asks": [ - { - "Price": 4612, - "Quantity": 19 - }, - { - "Price": 4612.5, - "Quantity": 134 - }, - { - "Price": 4613, - "Quantity": 8 - }, - { - "Price": 4613.5, - "Quantity": 60 - }, - { - "Price": 4614, - "Quantity": 103 - }, - { - "Price": 4615, - "Quantity": 12 - }, - { - "Price": 4615.5, - "Quantity": 57 - }, - { - "Price": 4616, - "Quantity": 90 - }, - { - "Price": 4616.5, - "Quantity": 63 - }, - { - "Price": 4617, - "Quantity": 10 - }, - { - "Price": 4617.5, - "Quantity": 11 - }, - { - "Price": 4618, - "Quantity": 258 - }, - { - "Price": 4618.5, - "Quantity": 210 - }, - { - "Price": 4619, - "Quantity": 168 - }, - { - "Price": 4619.5, - "Quantity": 52 - }, - { - "Price": 4620, - "Quantity": 621 - }, - { - "Price": 4621, - "Quantity": 21 - }, - { - "Price": 4621.5, - "Quantity": 10 - }, - { - "Price": 4622, - "Quantity": 65 - }, - { - "Price": 4622.5, - "Quantity": 16 - } - ] - }, - { - "Figi": "BBG00475KKY8", - "InstrumentUid": "0da66728-6c30-44c4-9264-df8fac2467ee", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396806, - "LimitUp": 1490.6, - "LimitDown": 1096.4, - "Bids": [ - { - "Price": 1295.2, - "Quantity": 26 - }, - { - "Price": 1295, - "Quantity": 3984 - }, - { - "Price": 1294.8, - "Quantity": 3 - }, - { - "Price": 1294.6, - "Quantity": 2 - }, - { - "Price": 1294.4, - "Quantity": 109 - }, - { - "Price": 1294.2, - "Quantity": 70 - }, - { - "Price": 1294, - "Quantity": 430 - }, - { - "Price": 1293.8, - "Quantity": 17 - }, - { - "Price": 1293.6, - "Quantity": 370 - }, - { - "Price": 1293.4, - "Quantity": 730 - }, - { - "Price": 1293.2, - "Quantity": 1833 - }, - { - "Price": 1293, - "Quantity": 330 - }, - { - "Price": 1292.8, - "Quantity": 1442 - }, - { - "Price": 1292.6, - "Quantity": 708 - }, - { - "Price": 1292.4, - "Quantity": 16 - }, - { - "Price": 1292.2, - "Quantity": 1032 - }, - { - "Price": 1292, - "Quantity": 173 - }, - { - "Price": 1291.8, - "Quantity": 713 - }, - { - "Price": 1291.4, - "Quantity": 5 - }, - { - "Price": 1291.2, - "Quantity": 1330 - } - ], - "Asks": [ - { - "Price": 1296, - "Quantity": 160 - }, - { - "Price": 1296.2, - "Quantity": 48 - }, - { - "Price": 1296.4, - "Quantity": 169 - }, - { - "Price": 1296.6, - "Quantity": 218 - }, - { - "Price": 1296.8, - "Quantity": 150 - }, - { - "Price": 1297, - "Quantity": 170 - }, - { - "Price": 1297.2, - "Quantity": 271 - }, - { - "Price": 1297.4, - "Quantity": 185 - }, - { - "Price": 1297.6, - "Quantity": 372 - }, - { - "Price": 1297.8, - "Quantity": 1850 - }, - { - "Price": 1298, - "Quantity": 1016 - }, - { - "Price": 1298.2, - "Quantity": 2400 - }, - { - "Price": 1298.6, - "Quantity": 700 - }, - { - "Price": 1298.8, - "Quantity": 2020 - }, - { - "Price": 1299, - "Quantity": 1079 - }, - { - "Price": 1299.4, - "Quantity": 71 - }, - { - "Price": 1299.6, - "Quantity": 366 - }, - { - "Price": 1299.8, - "Quantity": 2420 - }, - { - "Price": 1300, - "Quantity": 3452 - }, - { - "Price": 1300.2, - "Quantity": 2 - } - ] - }, - { - "Figi": "BBG004730N88", - "InstrumentUid": "e6123145-9665-43e0-8413-cd61b8aa9b13", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396806, - "LimitUp": 253.72, - "LimitDown": 206.56, - "Bids": [ - { - "Price": 233.75, - "Quantity": 16 - }, - { - "Price": 233.74, - "Quantity": 1 - }, - { - "Price": 233.72, - "Quantity": 155 - }, - { - "Price": 233.71, - "Quantity": 303 - }, - { - "Price": 233.7, - "Quantity": 632 - }, - { - "Price": 233.69, - "Quantity": 76 - }, - { - "Price": 233.68, - "Quantity": 811 - }, - { - "Price": 233.67, - "Quantity": 164 - }, - { - "Price": 233.66, - "Quantity": 165 - }, - { - "Price": 233.65, - "Quantity": 393 - }, - { - "Price": 233.64, - "Quantity": 264 - }, - { - "Price": 233.63, - "Quantity": 164 - }, - { - "Price": 233.62, - "Quantity": 314 - }, - { - "Price": 233.61, - "Quantity": 659 - }, - { - "Price": 233.6, - "Quantity": 2926 - }, - { - "Price": 233.59, - "Quantity": 485 - }, - { - "Price": 233.58, - "Quantity": 192 - }, - { - "Price": 233.57, - "Quantity": 886 - }, - { - "Price": 233.56, - "Quantity": 1084 - }, - { - "Price": 233.55, - "Quantity": 2085 - } - ], - "Asks": [ - { - "Price": 233.79, - "Quantity": 351 - }, - { - "Price": 233.8, - "Quantity": 1822 - }, - { - "Price": 233.81, - "Quantity": 371 - }, - { - "Price": 233.82, - "Quantity": 257 - }, - { - "Price": 233.83, - "Quantity": 637 - }, - { - "Price": 233.84, - "Quantity": 438 - }, - { - "Price": 233.85, - "Quantity": 742 - }, - { - "Price": 233.86, - "Quantity": 1048 - }, - { - "Price": 233.87, - "Quantity": 783 - }, - { - "Price": 233.88, - "Quantity": 886 - }, - { - "Price": 233.89, - "Quantity": 7893 - }, - { - "Price": 233.9, - "Quantity": 6379 - }, - { - "Price": 233.91, - "Quantity": 464 - }, - { - "Price": 233.92, - "Quantity": 1704 - }, - { - "Price": 233.93, - "Quantity": 375 - }, - { - "Price": 233.94, - "Quantity": 100 - }, - { - "Price": 233.95, - "Quantity": 493 - }, - { - "Price": 233.96, - "Quantity": 156 - }, - { - "Price": 233.97, - "Quantity": 1367 - }, - { - "Price": 233.98, - "Quantity": 2072 - } - ] - }, - { - "Figi": "BBG004730N88", - "InstrumentUid": "e6123145-9665-43e0-8413-cd61b8aa9b13", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396806, - "LimitUp": 253.72, - "LimitDown": 206.56, - "Bids": [ - { - "Price": 233.75, - "Quantity": 16 - }, - { - "Price": 233.74, - "Quantity": 1 - }, - { - "Price": 233.72, - "Quantity": 155 - }, - { - "Price": 233.71, - "Quantity": 303 - }, - { - "Price": 233.7, - "Quantity": 632 - }, - { - "Price": 233.69, - "Quantity": 76 - }, - { - "Price": 233.68, - "Quantity": 811 - }, - { - "Price": 233.67, - "Quantity": 164 - }, - { - "Price": 233.66, - "Quantity": 165 - }, - { - "Price": 233.65, - "Quantity": 393 - }, - { - "Price": 233.64, - "Quantity": 264 - }, - { - "Price": 233.63, - "Quantity": 164 - }, - { - "Price": 233.62, - "Quantity": 314 - }, - { - "Price": 233.61, - "Quantity": 659 - }, - { - "Price": 233.6, - "Quantity": 2926 - }, - { - "Price": 233.59, - "Quantity": 485 - }, - { - "Price": 233.58, - "Quantity": 192 - }, - { - "Price": 233.57, - "Quantity": 886 - }, - { - "Price": 233.56, - "Quantity": 1084 - }, - { - "Price": 233.55, - "Quantity": 2085 - } - ], - "Asks": [ - { - "Price": 233.79, - "Quantity": 351 - }, - { - "Price": 233.8, - "Quantity": 1822 - }, - { - "Price": 233.81, - "Quantity": 371 - }, - { - "Price": 233.82, - "Quantity": 257 - }, - { - "Price": 233.83, - "Quantity": 637 - }, - { - "Price": 233.84, - "Quantity": 438 - }, - { - "Price": 233.85, - "Quantity": 742 - }, - { - "Price": 233.86, - "Quantity": 1048 - }, - { - "Price": 233.87, - "Quantity": 783 - }, - { - "Price": 233.88, - "Quantity": 886 - }, - { - "Price": 233.89, - "Quantity": 7893 - }, - { - "Price": 233.9, - "Quantity": 6379 - }, - { - "Price": 233.91, - "Quantity": 464 - }, - { - "Price": 233.92, - "Quantity": 1704 - }, - { - "Price": 233.93, - "Quantity": 375 - }, - { - "Price": 233.94, - "Quantity": 100 - }, - { - "Price": 233.95, - "Quantity": 493 - }, - { - "Price": 233.96, - "Quantity": 156 - }, - { - "Price": 233.97, - "Quantity": 1367 - }, - { - "Price": 233.98, - "Quantity": 2072 - } - ] - }, - { - "Figi": "BBG00475KKY8", - "InstrumentUid": "0da66728-6c30-44c4-9264-df8fac2467ee", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396806, - "LimitUp": 1490.6, - "LimitDown": 1096.4, - "Bids": [ - { - "Price": 1295.2, - "Quantity": 126 - }, - { - "Price": 1295, - "Quantity": 3984 - }, - { - "Price": 1294.8, - "Quantity": 3 - }, - { - "Price": 1294.6, - "Quantity": 2 - }, - { - "Price": 1294.4, - "Quantity": 109 - }, - { - "Price": 1294.2, - "Quantity": 70 - }, - { - "Price": 1294, - "Quantity": 430 - }, - { - "Price": 1293.8, - "Quantity": 17 - }, - { - "Price": 1293.6, - "Quantity": 370 - }, - { - "Price": 1293.4, - "Quantity": 730 - }, - { - "Price": 1293.2, - "Quantity": 1833 - }, - { - "Price": 1293, - "Quantity": 330 - }, - { - "Price": 1292.8, - "Quantity": 1442 - }, - { - "Price": 1292.6, - "Quantity": 708 - }, - { - "Price": 1292.4, - "Quantity": 16 - }, - { - "Price": 1292.2, - "Quantity": 1032 - }, - { - "Price": 1292, - "Quantity": 173 - }, - { - "Price": 1291.8, - "Quantity": 713 - }, - { - "Price": 1291.4, - "Quantity": 5 - }, - { - "Price": 1291.2, - "Quantity": 1330 - } - ], - "Asks": [ - { - "Price": 1296, - "Quantity": 160 - }, - { - "Price": 1296.2, - "Quantity": 48 - }, - { - "Price": 1296.4, - "Quantity": 108 - }, - { - "Price": 1296.6, - "Quantity": 218 - }, - { - "Price": 1296.8, - "Quantity": 150 - }, - { - "Price": 1297, - "Quantity": 200 - }, - { - "Price": 1297.2, - "Quantity": 271 - }, - { - "Price": 1297.4, - "Quantity": 185 - }, - { - "Price": 1297.6, - "Quantity": 372 - }, - { - "Price": 1297.8, - "Quantity": 1850 - }, - { - "Price": 1298, - "Quantity": 1016 - }, - { - "Price": 1298.2, - "Quantity": 2400 - }, - { - "Price": 1298.6, - "Quantity": 700 - }, - { - "Price": 1298.8, - "Quantity": 2020 - }, - { - "Price": 1299, - "Quantity": 1079 - }, - { - "Price": 1299.4, - "Quantity": 71 - }, - { - "Price": 1299.6, - "Quantity": 366 - }, - { - "Price": 1299.8, - "Quantity": 2420 - }, - { - "Price": 1300, - "Quantity": 3452 - }, - { - "Price": 1300.2, - "Quantity": 2 - } - ] - }, - { - "Figi": "BBG004730N88", - "InstrumentUid": "e6123145-9665-43e0-8413-cd61b8aa9b13", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396806, - "LimitUp": 253.72, - "LimitDown": 206.56, - "Bids": [ - { - "Price": 233.75, - "Quantity": 16 - }, - { - "Price": 233.74, - "Quantity": 1 - }, - { - "Price": 233.72, - "Quantity": 155 - }, - { - "Price": 233.71, - "Quantity": 303 - }, - { - "Price": 233.7, - "Quantity": 632 - }, - { - "Price": 233.69, - "Quantity": 76 - }, - { - "Price": 233.68, - "Quantity": 811 - }, - { - "Price": 233.67, - "Quantity": 164 - }, - { - "Price": 233.66, - "Quantity": 165 - }, - { - "Price": 233.65, - "Quantity": 393 - }, - { - "Price": 233.64, - "Quantity": 264 - }, - { - "Price": 233.63, - "Quantity": 164 - }, - { - "Price": 233.62, - "Quantity": 314 - }, - { - "Price": 233.61, - "Quantity": 1159 - }, - { - "Price": 233.6, - "Quantity": 2926 - }, - { - "Price": 233.59, - "Quantity": 185 - }, - { - "Price": 233.58, - "Quantity": 182 - }, - { - "Price": 233.57, - "Quantity": 886 - }, - { - "Price": 233.56, - "Quantity": 1084 - }, - { - "Price": 233.55, - "Quantity": 2085 - } - ], - "Asks": [ - { - "Price": 233.79, - "Quantity": 351 - }, - { - "Price": 233.8, - "Quantity": 1822 - }, - { - "Price": 233.81, - "Quantity": 371 - }, - { - "Price": 233.82, - "Quantity": 232 - }, - { - "Price": 233.83, - "Quantity": 437 - }, - { - "Price": 233.84, - "Quantity": 463 - }, - { - "Price": 233.85, - "Quantity": 917 - }, - { - "Price": 233.86, - "Quantity": 848 - }, - { - "Price": 233.87, - "Quantity": 808 - }, - { - "Price": 233.88, - "Quantity": 1086 - }, - { - "Price": 233.89, - "Quantity": 7893 - }, - { - "Price": 233.9, - "Quantity": 6379 - }, - { - "Price": 233.91, - "Quantity": 464 - }, - { - "Price": 233.92, - "Quantity": 1704 - }, - { - "Price": 233.93, - "Quantity": 375 - }, - { - "Price": 233.94, - "Quantity": 100 - }, - { - "Price": 233.95, - "Quantity": 493 - }, - { - "Price": 233.96, - "Quantity": 156 - }, - { - "Price": 233.97, - "Quantity": 1367 - }, - { - "Price": 233.98, - "Quantity": 2072 - } - ] - }, - { - "Figi": "BBG004RVFCY3", - "InstrumentUid": "ca845f68-6c43-44bc-b584-330d2a1e5eb7", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396807, - "LimitUp": 5068.5, - "LimitDown": 4125, - "Bids": [ - { - "Price": 4611, - "Quantity": 34 - }, - { - "Price": 4610.5, - "Quantity": 69 - }, - { - "Price": 4610, - "Quantity": 1050 - }, - { - "Price": 4609.5, - "Quantity": 33 - }, - { - "Price": 4609, - "Quantity": 27 - }, - { - "Price": 4607.5, - "Quantity": 2 - }, - { - "Price": 4606.5, - "Quantity": 17 - }, - { - "Price": 4605.5, - "Quantity": 733 - }, - { - "Price": 4605, - "Quantity": 207 - }, - { - "Price": 4604, - "Quantity": 120 - }, - { - "Price": 4603, - "Quantity": 8 - }, - { - "Price": 4602, - "Quantity": 4 - }, - { - "Price": 4600, - "Quantity": 58 - }, - { - "Price": 4599.5, - "Quantity": 112 - }, - { - "Price": 4599, - "Quantity": 809 - }, - { - "Price": 4598, - "Quantity": 24 - }, - { - "Price": 4597, - "Quantity": 12 - }, - { - "Price": 4596.5, - "Quantity": 2 - }, - { - "Price": 4596, - "Quantity": 8 - }, - { - "Price": 4595.5, - "Quantity": 226 - } - ], - "Asks": [ - { - "Price": 4612, - "Quantity": 19 - }, - { - "Price": 4612.5, - "Quantity": 134 - }, - { - "Price": 4613, - "Quantity": 8 - }, - { - "Price": 4613.5, - "Quantity": 60 - }, - { - "Price": 4614, - "Quantity": 103 - }, - { - "Price": 4615, - "Quantity": 12 - }, - { - "Price": 4615.5, - "Quantity": 57 - }, - { - "Price": 4616, - "Quantity": 90 - }, - { - "Price": 4616.5, - "Quantity": 63 - }, - { - "Price": 4617, - "Quantity": 10 - }, - { - "Price": 4617.5, - "Quantity": 11 - }, - { - "Price": 4618, - "Quantity": 258 - }, - { - "Price": 4618.5, - "Quantity": 210 - }, - { - "Price": 4619, - "Quantity": 168 - }, - { - "Price": 4619.5, - "Quantity": 52 - }, - { - "Price": 4620, - "Quantity": 621 - }, - { - "Price": 4621, - "Quantity": 21 - }, - { - "Price": 4621.5, - "Quantity": 10 - }, - { - "Price": 4622, - "Quantity": 65 - }, - { - "Price": 4622.5, - "Quantity": 16 - } - ] - }, - { - "Figi": "BBG004730N88", - "InstrumentUid": "e6123145-9665-43e0-8413-cd61b8aa9b13", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396807, - "LimitUp": 253.72, - "LimitDown": 206.56, - "Bids": [ - { - "Price": 233.75, - "Quantity": 16 - }, - { - "Price": 233.74, - "Quantity": 1 - }, - { - "Price": 233.72, - "Quantity": 155 - }, - { - "Price": 233.71, - "Quantity": 303 - }, - { - "Price": 233.7, - "Quantity": 632 - }, - { - "Price": 233.69, - "Quantity": 76 - }, - { - "Price": 233.68, - "Quantity": 811 - }, - { - "Price": 233.67, - "Quantity": 164 - }, - { - "Price": 233.66, - "Quantity": 165 - }, - { - "Price": 233.65, - "Quantity": 393 - }, - { - "Price": 233.64, - "Quantity": 264 - }, - { - "Price": 233.63, - "Quantity": 164 - }, - { - "Price": 233.62, - "Quantity": 614 - }, - { - "Price": 233.61, - "Quantity": 859 - }, - { - "Price": 233.6, - "Quantity": 2926 - }, - { - "Price": 233.59, - "Quantity": 185 - }, - { - "Price": 233.58, - "Quantity": 182 - }, - { - "Price": 233.57, - "Quantity": 886 - }, - { - "Price": 233.56, - "Quantity": 1084 - }, - { - "Price": 233.55, - "Quantity": 2085 - } - ], - "Asks": [ - { - "Price": 233.79, - "Quantity": 351 - }, - { - "Price": 233.8, - "Quantity": 1822 - }, - { - "Price": 233.81, - "Quantity": 371 - }, - { - "Price": 233.82, - "Quantity": 232 - }, - { - "Price": 233.83, - "Quantity": 437 - }, - { - "Price": 233.84, - "Quantity": 463 - }, - { - "Price": 233.85, - "Quantity": 917 - }, - { - "Price": 233.86, - "Quantity": 848 - }, - { - "Price": 233.87, - "Quantity": 808 - }, - { - "Price": 233.88, - "Quantity": 1086 - }, - { - "Price": 233.89, - "Quantity": 7893 - }, - { - "Price": 233.9, - "Quantity": 6379 - }, - { - "Price": 233.91, - "Quantity": 464 - }, - { - "Price": 233.92, - "Quantity": 1704 - }, - { - "Price": 233.93, - "Quantity": 375 - }, - { - "Price": 233.94, - "Quantity": 100 - }, - { - "Price": 233.95, - "Quantity": 493 - }, - { - "Price": 233.96, - "Quantity": 156 - }, - { - "Price": 233.97, - "Quantity": 1367 - }, - { - "Price": 233.98, - "Quantity": 2072 - } - ] - }, - { - "Figi": "BBG004730N88", - "InstrumentUid": "e6123145-9665-43e0-8413-cd61b8aa9b13", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396807, - "LimitUp": 253.72, - "LimitDown": 206.56, - "Bids": [ - { - "Price": 233.75, - "Quantity": 16 - }, - { - "Price": 233.74, - "Quantity": 1 - }, - { - "Price": 233.72, - "Quantity": 155 - }, - { - "Price": 233.71, - "Quantity": 303 - }, - { - "Price": 233.7, - "Quantity": 632 - }, - { - "Price": 233.69, - "Quantity": 76 - }, - { - "Price": 233.68, - "Quantity": 811 - }, - { - "Price": 233.67, - "Quantity": 164 - }, - { - "Price": 233.66, - "Quantity": 165 - }, - { - "Price": 233.65, - "Quantity": 393 - }, - { - "Price": 233.64, - "Quantity": 264 - }, - { - "Price": 233.63, - "Quantity": 164 - }, - { - "Price": 233.62, - "Quantity": 614 - }, - { - "Price": 233.61, - "Quantity": 859 - }, - { - "Price": 233.6, - "Quantity": 2926 - }, - { - "Price": 233.59, - "Quantity": 185 - }, - { - "Price": 233.58, - "Quantity": 182 - }, - { - "Price": 233.57, - "Quantity": 886 - }, - { - "Price": 233.56, - "Quantity": 1084 - }, - { - "Price": 233.55, - "Quantity": 2085 - } - ], - "Asks": [ - { - "Price": 233.79, - "Quantity": 351 - }, - { - "Price": 233.8, - "Quantity": 1822 - }, - { - "Price": 233.81, - "Quantity": 371 - }, - { - "Price": 233.82, - "Quantity": 232 - }, - { - "Price": 233.83, - "Quantity": 437 - }, - { - "Price": 233.84, - "Quantity": 463 - }, - { - "Price": 233.85, - "Quantity": 917 - }, - { - "Price": 233.86, - "Quantity": 848 - }, - { - "Price": 233.87, - "Quantity": 808 - }, - { - "Price": 233.88, - "Quantity": 1086 - }, - { - "Price": 233.89, - "Quantity": 7893 - }, - { - "Price": 233.9, - "Quantity": 6379 - }, - { - "Price": 233.91, - "Quantity": 464 - }, - { - "Price": 233.92, - "Quantity": 1704 - }, - { - "Price": 233.93, - "Quantity": 375 - }, - { - "Price": 233.94, - "Quantity": 100 - }, - { - "Price": 233.95, - "Quantity": 493 - }, - { - "Price": 233.96, - "Quantity": 156 - }, - { - "Price": 233.97, - "Quantity": 1367 - }, - { - "Price": 233.98, - "Quantity": 2072 - } - ] - }, - { - "Figi": "BBG00475KKY8", - "InstrumentUid": "0da66728-6c30-44c4-9264-df8fac2467ee", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396807, - "LimitUp": 1490.6, - "LimitDown": 1096.4, - "Bids": [ - { - "Price": 1295.2, - "Quantity": 126 - }, - { - "Price": 1295, - "Quantity": 3984 - }, - { - "Price": 1294.8, - "Quantity": 3 - }, - { - "Price": 1294.6, - "Quantity": 2 - }, - { - "Price": 1294.4, - "Quantity": 109 - }, - { - "Price": 1294.2, - "Quantity": 70 - }, - { - "Price": 1294, - "Quantity": 430 - }, - { - "Price": 1293.8, - "Quantity": 17 - }, - { - "Price": 1293.6, - "Quantity": 370 - }, - { - "Price": 1293.4, - "Quantity": 730 - }, - { - "Price": 1293.2, - "Quantity": 1833 - }, - { - "Price": 1293, - "Quantity": 330 - }, - { - "Price": 1292.8, - "Quantity": 1442 - }, - { - "Price": 1292.6, - "Quantity": 708 - }, - { - "Price": 1292.4, - "Quantity": 16 - }, - { - "Price": 1292.2, - "Quantity": 1032 - }, - { - "Price": 1292, - "Quantity": 173 - }, - { - "Price": 1291.8, - "Quantity": 713 - }, - { - "Price": 1291.4, - "Quantity": 5 - }, - { - "Price": 1291.2, - "Quantity": 1330 - } - ], - "Asks": [ - { - "Price": 1296, - "Quantity": 160 - }, - { - "Price": 1296.2, - "Quantity": 48 - }, - { - "Price": 1296.4, - "Quantity": 108 - }, - { - "Price": 1296.6, - "Quantity": 218 - }, - { - "Price": 1296.8, - "Quantity": 150 - }, - { - "Price": 1297, - "Quantity": 200 - }, - { - "Price": 1297.2, - "Quantity": 271 - }, - { - "Price": 1297.4, - "Quantity": 185 - }, - { - "Price": 1297.6, - "Quantity": 372 - }, - { - "Price": 1297.8, - "Quantity": 1850 - }, - { - "Price": 1298, - "Quantity": 1016 - }, - { - "Price": 1298.2, - "Quantity": 2400 - }, - { - "Price": 1298.6, - "Quantity": 700 - }, - { - "Price": 1298.8, - "Quantity": 2020 - }, - { - "Price": 1299, - "Quantity": 1079 - }, - { - "Price": 1299.4, - "Quantity": 71 - }, - { - "Price": 1299.6, - "Quantity": 366 - }, - { - "Price": 1299.8, - "Quantity": 2420 - }, - { - "Price": 1300, - "Quantity": 3452 - }, - { - "Price": 1300.2, - "Quantity": 2 - } - ] - }, - { - "Figi": "BBG004730N88", - "InstrumentUid": "e6123145-9665-43e0-8413-cd61b8aa9b13", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396807, - "LimitUp": 253.72, - "LimitDown": 206.56, - "Bids": [ - { - "Price": 233.75, - "Quantity": 3 - }, - { - "Price": 233.74, - "Quantity": 21 - }, - { - "Price": 233.73, - "Quantity": 205 - }, - { - "Price": 233.72, - "Quantity": 525 - }, - { - "Price": 233.7, - "Quantity": 332 - }, - { - "Price": 233.69, - "Quantity": 276 - }, - { - "Price": 233.68, - "Quantity": 700 - }, - { - "Price": 233.67, - "Quantity": 164 - }, - { - "Price": 233.66, - "Quantity": 165 - }, - { - "Price": 233.65, - "Quantity": 393 - }, - { - "Price": 233.64, - "Quantity": 264 - }, - { - "Price": 233.63, - "Quantity": 464 - }, - { - "Price": 233.62, - "Quantity": 334 - }, - { - "Price": 233.61, - "Quantity": 659 - }, - { - "Price": 233.6, - "Quantity": 2926 - }, - { - "Price": 233.59, - "Quantity": 185 - }, - { - "Price": 233.58, - "Quantity": 93 - }, - { - "Price": 233.57, - "Quantity": 1886 - }, - { - "Price": 233.56, - "Quantity": 84 - }, - { - "Price": 233.55, - "Quantity": 2085 - } - ], - "Asks": [ - { - "Price": 233.79, - "Quantity": 131 - }, - { - "Price": 233.8, - "Quantity": 1822 - }, - { - "Price": 233.81, - "Quantity": 371 - }, - { - "Price": 233.82, - "Quantity": 143 - }, - { - "Price": 233.83, - "Quantity": 437 - }, - { - "Price": 233.84, - "Quantity": 438 - }, - { - "Price": 233.85, - "Quantity": 917 - }, - { - "Price": 233.86, - "Quantity": 873 - }, - { - "Price": 233.87, - "Quantity": 783 - }, - { - "Price": 233.88, - "Quantity": 1086 - }, - { - "Price": 233.89, - "Quantity": 7918 - }, - { - "Price": 233.9, - "Quantity": 6379 - }, - { - "Price": 233.91, - "Quantity": 464 - }, - { - "Price": 233.92, - "Quantity": 1793 - }, - { - "Price": 233.93, - "Quantity": 75 - }, - { - "Price": 233.94, - "Quantity": 100 - }, - { - "Price": 233.95, - "Quantity": 493 - }, - { - "Price": 233.96, - "Quantity": 156 - }, - { - "Price": 233.97, - "Quantity": 1367 - }, - { - "Price": 233.98, - "Quantity": 2072 - } - ] - }, - { - "Figi": "BBG004RVFCY3", - "InstrumentUid": "ca845f68-6c43-44bc-b584-330d2a1e5eb7", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396807, - "LimitUp": 5068.5, - "LimitDown": 4125, - "Bids": [ - { - "Price": 4611, - "Quantity": 35 - }, - { - "Price": 4610.5, - "Quantity": 69 - }, - { - "Price": 4610, - "Quantity": 1070 - }, - { - "Price": 4609.5, - "Quantity": 13 - }, - { - "Price": 4609, - "Quantity": 27 - }, - { - "Price": 4607.5, - "Quantity": 2 - }, - { - "Price": 4606.5, - "Quantity": 17 - }, - { - "Price": 4605.5, - "Quantity": 733 - }, - { - "Price": 4605, - "Quantity": 207 - }, - { - "Price": 4604, - "Quantity": 120 - }, - { - "Price": 4603, - "Quantity": 8 - }, - { - "Price": 4602, - "Quantity": 4 - }, - { - "Price": 4600, - "Quantity": 58 - }, - { - "Price": 4599.5, - "Quantity": 112 - }, - { - "Price": 4599, - "Quantity": 809 - }, - { - "Price": 4598, - "Quantity": 24 - }, - { - "Price": 4597, - "Quantity": 12 - }, - { - "Price": 4596.5, - "Quantity": 2 - }, - { - "Price": 4596, - "Quantity": 8 - }, - { - "Price": 4595.5, - "Quantity": 226 - } - ], - "Asks": [ - { - "Price": 4612, - "Quantity": 19 - }, - { - "Price": 4612.5, - "Quantity": 134 - }, - { - "Price": 4613, - "Quantity": 8 - }, - { - "Price": 4613.5, - "Quantity": 60 - }, - { - "Price": 4614, - "Quantity": 103 - }, - { - "Price": 4615, - "Quantity": 12 - }, - { - "Price": 4615.5, - "Quantity": 57 - }, - { - "Price": 4616, - "Quantity": 90 - }, - { - "Price": 4616.5, - "Quantity": 63 - }, - { - "Price": 4617, - "Quantity": 10 - }, - { - "Price": 4617.5, - "Quantity": 11 - }, - { - "Price": 4618, - "Quantity": 258 - }, - { - "Price": 4618.5, - "Quantity": 210 - }, - { - "Price": 4619, - "Quantity": 168 - }, - { - "Price": 4619.5, - "Quantity": 52 - }, - { - "Price": 4620, - "Quantity": 621 - }, - { - "Price": 4621, - "Quantity": 21 - }, - { - "Price": 4621.5, - "Quantity": 10 - }, - { - "Price": 4622, - "Quantity": 65 - }, - { - "Price": 4622.5, - "Quantity": 16 - } - ] - }, - { - "Figi": "BBG004730N88", - "InstrumentUid": "e6123145-9665-43e0-8413-cd61b8aa9b13", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396808, - "LimitUp": 253.72, - "LimitDown": 206.56, - "Bids": [ - { - "Price": 233.76, - "Quantity": 20 - }, - { - "Price": 233.75, - "Quantity": 3 - }, - { - "Price": 233.74, - "Quantity": 110 - }, - { - "Price": 233.73, - "Quantity": 146 - }, - { - "Price": 233.72, - "Quantity": 525 - }, - { - "Price": 233.7, - "Quantity": 332 - }, - { - "Price": 233.69, - "Quantity": 276 - }, - { - "Price": 233.68, - "Quantity": 700 - }, - { - "Price": 233.67, - "Quantity": 264 - }, - { - "Price": 233.66, - "Quantity": 165 - }, - { - "Price": 233.65, - "Quantity": 393 - }, - { - "Price": 233.64, - "Quantity": 164 - }, - { - "Price": 233.63, - "Quantity": 464 - }, - { - "Price": 233.62, - "Quantity": 334 - }, - { - "Price": 233.61, - "Quantity": 659 - }, - { - "Price": 233.6, - "Quantity": 2926 - }, - { - "Price": 233.59, - "Quantity": 185 - }, - { - "Price": 233.58, - "Quantity": 93 - }, - { - "Price": 233.57, - "Quantity": 2486 - }, - { - "Price": 233.56, - "Quantity": 84 - } - ], - "Asks": [ - { - "Price": 233.79, - "Quantity": 131 - }, - { - "Price": 233.8, - "Quantity": 1822 - }, - { - "Price": 233.81, - "Quantity": 371 - }, - { - "Price": 233.82, - "Quantity": 143 - }, - { - "Price": 233.83, - "Quantity": 437 - }, - { - "Price": 233.84, - "Quantity": 438 - }, - { - "Price": 233.85, - "Quantity": 917 - }, - { - "Price": 233.86, - "Quantity": 873 - }, - { - "Price": 233.87, - "Quantity": 683 - }, - { - "Price": 233.88, - "Quantity": 1086 - }, - { - "Price": 233.89, - "Quantity": 7918 - }, - { - "Price": 233.9, - "Quantity": 6479 - }, - { - "Price": 233.91, - "Quantity": 464 - }, - { - "Price": 233.92, - "Quantity": 1793 - }, - { - "Price": 233.93, - "Quantity": 75 - }, - { - "Price": 233.94, - "Quantity": 100 - }, - { - "Price": 233.95, - "Quantity": 493 - }, - { - "Price": 233.96, - "Quantity": 156 - }, - { - "Price": 233.97, - "Quantity": 1367 - }, - { - "Price": 233.98, - "Quantity": 2072 - } - ] - }, - { - "Figi": "BBG004RVFCY3", - "InstrumentUid": "ca845f68-6c43-44bc-b584-330d2a1e5eb7", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396808, - "LimitUp": 5068.5, - "LimitDown": 4125, - "Bids": [ - { - "Price": 4611, - "Quantity": 35 - }, - { - "Price": 4610.5, - "Quantity": 69 - }, - { - "Price": 4610, - "Quantity": 1070 - }, - { - "Price": 4609.5, - "Quantity": 13 - }, - { - "Price": 4609, - "Quantity": 27 - }, - { - "Price": 4607.5, - "Quantity": 2 - }, - { - "Price": 4606.5, - "Quantity": 17 - }, - { - "Price": 4605.5, - "Quantity": 733 - }, - { - "Price": 4605, - "Quantity": 207 - }, - { - "Price": 4604, - "Quantity": 120 - }, - { - "Price": 4603, - "Quantity": 8 - }, - { - "Price": 4602, - "Quantity": 4 - }, - { - "Price": 4600, - "Quantity": 58 - }, - { - "Price": 4599.5, - "Quantity": 112 - }, - { - "Price": 4599, - "Quantity": 809 - }, - { - "Price": 4598, - "Quantity": 24 - }, - { - "Price": 4597, - "Quantity": 12 - }, - { - "Price": 4596.5, - "Quantity": 2 - }, - { - "Price": 4596, - "Quantity": 8 - }, - { - "Price": 4595.5, - "Quantity": 226 - } - ], - "Asks": [ - { - "Price": 4612, - "Quantity": 17 - }, - { - "Price": 4612.5, - "Quantity": 134 - }, - { - "Price": 4613, - "Quantity": 8 - }, - { - "Price": 4613.5, - "Quantity": 60 - }, - { - "Price": 4614, - "Quantity": 103 - }, - { - "Price": 4615, - "Quantity": 12 - }, - { - "Price": 4615.5, - "Quantity": 57 - }, - { - "Price": 4616, - "Quantity": 90 - }, - { - "Price": 4616.5, - "Quantity": 63 - }, - { - "Price": 4617, - "Quantity": 10 - }, - { - "Price": 4617.5, - "Quantity": 11 - }, - { - "Price": 4618, - "Quantity": 258 - }, - { - "Price": 4618.5, - "Quantity": 210 - }, - { - "Price": 4619, - "Quantity": 168 - }, - { - "Price": 4619.5, - "Quantity": 52 - }, - { - "Price": 4620, - "Quantity": 621 - }, - { - "Price": 4621, - "Quantity": 21 - }, - { - "Price": 4621.5, - "Quantity": 10 - }, - { - "Price": 4622, - "Quantity": 65 - }, - { - "Price": 4622.5, - "Quantity": 16 - } - ] - }, - { - "Figi": "BBG00475KKY8", - "InstrumentUid": "0da66728-6c30-44c4-9264-df8fac2467ee", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396808, - "LimitUp": 1490.6, - "LimitDown": 1096.4, - "Bids": [ - { - "Price": 1295.2, - "Quantity": 124 - }, - { - "Price": 1295, - "Quantity": 3984 - }, - { - "Price": 1294.8, - "Quantity": 3 - }, - { - "Price": 1294.6, - "Quantity": 2 - }, - { - "Price": 1294.4, - "Quantity": 109 - }, - { - "Price": 1294.2, - "Quantity": 70 - }, - { - "Price": 1294, - "Quantity": 430 - }, - { - "Price": 1293.8, - "Quantity": 17 - }, - { - "Price": 1293.6, - "Quantity": 370 - }, - { - "Price": 1293.4, - "Quantity": 730 - }, - { - "Price": 1293.2, - "Quantity": 1133 - }, - { - "Price": 1293, - "Quantity": 330 - }, - { - "Price": 1292.8, - "Quantity": 1442 - }, - { - "Price": 1292.6, - "Quantity": 708 - }, - { - "Price": 1292.4, - "Quantity": 716 - }, - { - "Price": 1292.2, - "Quantity": 1032 - }, - { - "Price": 1292, - "Quantity": 173 - }, - { - "Price": 1291.8, - "Quantity": 713 - }, - { - "Price": 1291.4, - "Quantity": 5 - }, - { - "Price": 1291.2, - "Quantity": 1330 - } - ], - "Asks": [ - { - "Price": 1296, - "Quantity": 160 - }, - { - "Price": 1296.2, - "Quantity": 48 - }, - { - "Price": 1296.4, - "Quantity": 108 - }, - { - "Price": 1296.6, - "Quantity": 218 - }, - { - "Price": 1296.8, - "Quantity": 150 - }, - { - "Price": 1297, - "Quantity": 200 - }, - { - "Price": 1297.2, - "Quantity": 271 - }, - { - "Price": 1297.4, - "Quantity": 185 - }, - { - "Price": 1297.6, - "Quantity": 372 - }, - { - "Price": 1297.8, - "Quantity": 1850 - }, - { - "Price": 1298, - "Quantity": 1016 - }, - { - "Price": 1298.2, - "Quantity": 3100 - }, - { - "Price": 1298.6, - "Quantity": 700 - }, - { - "Price": 1298.8, - "Quantity": 2020 - }, - { - "Price": 1299, - "Quantity": 379 - }, - { - "Price": 1299.4, - "Quantity": 71 - }, - { - "Price": 1299.6, - "Quantity": 366 - }, - { - "Price": 1299.8, - "Quantity": 2420 - }, - { - "Price": 1300, - "Quantity": 3452 - }, - { - "Price": 1300.2, - "Quantity": 2 - } - ] - }, - { - "Figi": "BBG004730N88", - "InstrumentUid": "e6123145-9665-43e0-8413-cd61b8aa9b13", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396808, - "LimitUp": 253.72, - "LimitDown": 206.56, - "Bids": [ - { - "Price": 233.77, - "Quantity": 25 - }, - { - "Price": 233.76, - "Quantity": 20 - }, - { - "Price": 233.74, - "Quantity": 135 - }, - { - "Price": 233.73, - "Quantity": 146 - }, - { - "Price": 233.72, - "Quantity": 575 - }, - { - "Price": 233.71, - "Quantity": 75 - }, - { - "Price": 233.7, - "Quantity": 332 - }, - { - "Price": 233.69, - "Quantity": 276 - }, - { - "Price": 233.68, - "Quantity": 700 - }, - { - "Price": 233.67, - "Quantity": 264 - }, - { - "Price": 233.66, - "Quantity": 165 - }, - { - "Price": 233.65, - "Quantity": 393 - }, - { - "Price": 233.64, - "Quantity": 174 - }, - { - "Price": 233.63, - "Quantity": 464 - }, - { - "Price": 233.62, - "Quantity": 314 - }, - { - "Price": 233.61, - "Quantity": 659 - }, - { - "Price": 233.6, - "Quantity": 2926 - }, - { - "Price": 233.59, - "Quantity": 185 - }, - { - "Price": 233.58, - "Quantity": 93 - }, - { - "Price": 233.57, - "Quantity": 2486 - } - ], - "Asks": [ - { - "Price": 233.79, - "Quantity": 131 - }, - { - "Price": 233.8, - "Quantity": 1822 - }, - { - "Price": 233.81, - "Quantity": 71 - }, - { - "Price": 233.82, - "Quantity": 143 - }, - { - "Price": 233.83, - "Quantity": 737 - }, - { - "Price": 233.84, - "Quantity": 1306 - }, - { - "Price": 233.85, - "Quantity": 917 - }, - { - "Price": 233.86, - "Quantity": 873 - }, - { - "Price": 233.87, - "Quantity": 684 - }, - { - "Price": 233.88, - "Quantity": 1086 - }, - { - "Price": 233.89, - "Quantity": 7918 - }, - { - "Price": 233.9, - "Quantity": 6479 - }, - { - "Price": 233.91, - "Quantity": 464 - }, - { - "Price": 233.92, - "Quantity": 1793 - }, - { - "Price": 233.93, - "Quantity": 75 - }, - { - "Price": 233.94, - "Quantity": 100 - }, - { - "Price": 233.95, - "Quantity": 493 - }, - { - "Price": 233.96, - "Quantity": 156 - }, - { - "Price": 233.97, - "Quantity": 1367 - }, - { - "Price": 233.98, - "Quantity": 2372 - } - ] - }, - { - "Figi": "BBG004730N88", - "InstrumentUid": "e6123145-9665-43e0-8413-cd61b8aa9b13", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396809, - "LimitUp": 253.72, - "LimitDown": 206.56, - "Bids": [ - { - "Price": 233.78, - "Quantity": 20 - }, - { - "Price": 233.77, - "Quantity": 25 - }, - { - "Price": 233.76, - "Quantity": 50 - }, - { - "Price": 233.74, - "Quantity": 176 - }, - { - "Price": 233.73, - "Quantity": 221 - }, - { - "Price": 233.72, - "Quantity": 575 - }, - { - "Price": 233.71, - "Quantity": 75 - }, - { - "Price": 233.7, - "Quantity": 332 - }, - { - "Price": 233.69, - "Quantity": 276 - }, - { - "Price": 233.68, - "Quantity": 700 - }, - { - "Price": 233.67, - "Quantity": 264 - }, - { - "Price": 233.66, - "Quantity": 165 - }, - { - "Price": 233.65, - "Quantity": 393 - }, - { - "Price": 233.64, - "Quantity": 174 - }, - { - "Price": 233.63, - "Quantity": 164 - }, - { - "Price": 233.62, - "Quantity": 378 - }, - { - "Price": 233.61, - "Quantity": 659 - }, - { - "Price": 233.6, - "Quantity": 4226 - }, - { - "Price": 233.59, - "Quantity": 185 - }, - { - "Price": 233.58, - "Quantity": 93 - } - ], - "Asks": [ - { - "Price": 233.8, - "Quantity": 1656 - }, - { - "Price": 233.81, - "Quantity": 71 - }, - { - "Price": 233.82, - "Quantity": 68 - }, - { - "Price": 233.83, - "Quantity": 537 - }, - { - "Price": 233.84, - "Quantity": 463 - }, - { - "Price": 233.85, - "Quantity": 1117 - }, - { - "Price": 233.86, - "Quantity": 848 - }, - { - "Price": 233.87, - "Quantity": 709 - }, - { - "Price": 233.88, - "Quantity": 1086 - }, - { - "Price": 233.89, - "Quantity": 7893 - }, - { - "Price": 233.9, - "Quantity": 6479 - }, - { - "Price": 233.91, - "Quantity": 464 - }, - { - "Price": 233.92, - "Quantity": 1793 - }, - { - "Price": 233.93, - "Quantity": 75 - }, - { - "Price": 233.94, - "Quantity": 100 - }, - { - "Price": 233.95, - "Quantity": 493 - }, - { - "Price": 233.96, - "Quantity": 156 - }, - { - "Price": 233.97, - "Quantity": 1367 - }, - { - "Price": 233.98, - "Quantity": 2372 - }, - { - "Price": 233.99, - "Quantity": 1698 - } - ] - }, - { - "Figi": "BBG004730N88", - "InstrumentUid": "e6123145-9665-43e0-8413-cd61b8aa9b13", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396809, - "LimitUp": 253.72, - "LimitDown": 206.56, - "Bids": [ - { - "Price": 233.79, - "Quantity": 8 - }, - { - "Price": 233.78, - "Quantity": 60 - }, - { - "Price": 233.77, - "Quantity": 25 - }, - { - "Price": 233.76, - "Quantity": 20 - }, - { - "Price": 233.75, - "Quantity": 137 - }, - { - "Price": 233.74, - "Quantity": 101 - }, - { - "Price": 233.73, - "Quantity": 221 - }, - { - "Price": 233.72, - "Quantity": 575 - }, - { - "Price": 233.71, - "Quantity": 75 - }, - { - "Price": 233.7, - "Quantity": 332 - }, - { - "Price": 233.69, - "Quantity": 276 - }, - { - "Price": 233.68, - "Quantity": 700 - }, - { - "Price": 233.67, - "Quantity": 264 - }, - { - "Price": 233.66, - "Quantity": 165 - }, - { - "Price": 233.65, - "Quantity": 393 - }, - { - "Price": 233.64, - "Quantity": 174 - }, - { - "Price": 233.63, - "Quantity": 164 - }, - { - "Price": 233.62, - "Quantity": 378 - }, - { - "Price": 233.61, - "Quantity": 659 - }, - { - "Price": 233.6, - "Quantity": 4226 - } - ], - "Asks": [ - { - "Price": 233.8, - "Quantity": 1606 - }, - { - "Price": 233.81, - "Quantity": 71 - }, - { - "Price": 233.82, - "Quantity": 68 - }, - { - "Price": 233.83, - "Quantity": 237 - }, - { - "Price": 233.84, - "Quantity": 463 - }, - { - "Price": 233.85, - "Quantity": 1417 - }, - { - "Price": 233.86, - "Quantity": 848 - }, - { - "Price": 233.87, - "Quantity": 709 - }, - { - "Price": 233.88, - "Quantity": 1086 - }, - { - "Price": 233.89, - "Quantity": 7893 - }, - { - "Price": 233.9, - "Quantity": 6479 - }, - { - "Price": 233.91, - "Quantity": 464 - }, - { - "Price": 233.92, - "Quantity": 1793 - }, - { - "Price": 233.93, - "Quantity": 75 - }, - { - "Price": 233.94, - "Quantity": 100 - }, - { - "Price": 233.95, - "Quantity": 493 - }, - { - "Price": 233.96, - "Quantity": 156 - }, - { - "Price": 233.97, - "Quantity": 1367 - }, - { - "Price": 233.98, - "Quantity": 2372 - }, - { - "Price": 233.99, - "Quantity": 1698 - } - ] - }, - { - "Figi": "BBG00475KKY8", - "InstrumentUid": "0da66728-6c30-44c4-9264-df8fac2467ee", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396809, - "LimitUp": 1490.6, - "LimitDown": 1096.4, - "Bids": [ - { - "Price": 1295.2, - "Quantity": 125 - }, - { - "Price": 1295, - "Quantity": 3984 - }, - { - "Price": 1294.8, - "Quantity": 3 - }, - { - "Price": 1294.6, - "Quantity": 2 - }, - { - "Price": 1294.4, - "Quantity": 109 - }, - { - "Price": 1294.2, - "Quantity": 70 - }, - { - "Price": 1294, - "Quantity": 430 - }, - { - "Price": 1293.8, - "Quantity": 17 - }, - { - "Price": 1293.6, - "Quantity": 370 - }, - { - "Price": 1293.4, - "Quantity": 730 - }, - { - "Price": 1293.2, - "Quantity": 1133 - }, - { - "Price": 1293, - "Quantity": 330 - }, - { - "Price": 1292.8, - "Quantity": 1442 - }, - { - "Price": 1292.6, - "Quantity": 708 - }, - { - "Price": 1292.4, - "Quantity": 716 - }, - { - "Price": 1292.2, - "Quantity": 1032 - }, - { - "Price": 1292, - "Quantity": 173 - }, - { - "Price": 1291.8, - "Quantity": 713 - }, - { - "Price": 1291.4, - "Quantity": 5 - }, - { - "Price": 1291.2, - "Quantity": 1330 - } - ], - "Asks": [ - { - "Price": 1296, - "Quantity": 160 - }, - { - "Price": 1296.2, - "Quantity": 48 - }, - { - "Price": 1296.4, - "Quantity": 108 - }, - { - "Price": 1296.6, - "Quantity": 218 - }, - { - "Price": 1296.8, - "Quantity": 150 - }, - { - "Price": 1297, - "Quantity": 200 - }, - { - "Price": 1297.2, - "Quantity": 271 - }, - { - "Price": 1297.4, - "Quantity": 185 - }, - { - "Price": 1297.6, - "Quantity": 372 - }, - { - "Price": 1297.8, - "Quantity": 1850 - }, - { - "Price": 1298, - "Quantity": 1016 - }, - { - "Price": 1298.2, - "Quantity": 3100 - }, - { - "Price": 1298.6, - "Quantity": 700 - }, - { - "Price": 1298.8, - "Quantity": 2020 - }, - { - "Price": 1299, - "Quantity": 379 - }, - { - "Price": 1299.4, - "Quantity": 71 - }, - { - "Price": 1299.6, - "Quantity": 366 - }, - { - "Price": 1299.8, - "Quantity": 2420 - }, - { - "Price": 1300, - "Quantity": 3452 - }, - { - "Price": 1300.2, - "Quantity": 2 - } - ] - }, - { - "Figi": "BBG004730N88", - "InstrumentUid": "e6123145-9665-43e0-8413-cd61b8aa9b13", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396810, - "LimitUp": 253.72, - "LimitDown": 206.56, - "Bids": [ - { - "Price": 233.79, - "Quantity": 26 - }, - { - "Price": 233.78, - "Quantity": 60 - }, - { - "Price": 233.76, - "Quantity": 45 - }, - { - "Price": 233.75, - "Quantity": 137 - }, - { - "Price": 233.74, - "Quantity": 76 - }, - { - "Price": 233.73, - "Quantity": 247 - }, - { - "Price": 233.72, - "Quantity": 575 - }, - { - "Price": 233.71, - "Quantity": 75 - }, - { - "Price": 233.7, - "Quantity": 332 - }, - { - "Price": 233.69, - "Quantity": 365 - }, - { - "Price": 233.68, - "Quantity": 700 - }, - { - "Price": 233.67, - "Quantity": 264 - }, - { - "Price": 233.66, - "Quantity": 165 - }, - { - "Price": 233.65, - "Quantity": 393 - }, - { - "Price": 233.64, - "Quantity": 164 - }, - { - "Price": 233.63, - "Quantity": 164 - }, - { - "Price": 233.62, - "Quantity": 378 - }, - { - "Price": 233.61, - "Quantity": 679 - }, - { - "Price": 233.6, - "Quantity": 4226 - }, - { - "Price": 233.59, - "Quantity": 96 - } - ], - "Asks": [ - { - "Price": 233.8, - "Quantity": 1513 - }, - { - "Price": 233.81, - "Quantity": 71 - }, - { - "Price": 233.82, - "Quantity": 68 - }, - { - "Price": 233.83, - "Quantity": 173 - }, - { - "Price": 233.84, - "Quantity": 438 - }, - { - "Price": 233.85, - "Quantity": 1417 - }, - { - "Price": 233.86, - "Quantity": 873 - }, - { - "Price": 233.87, - "Quantity": 684 - }, - { - "Price": 233.88, - "Quantity": 1086 - }, - { - "Price": 233.89, - "Quantity": 7893 - }, - { - "Price": 233.9, - "Quantity": 6479 - }, - { - "Price": 233.91, - "Quantity": 464 - }, - { - "Price": 233.92, - "Quantity": 1793 - }, - { - "Price": 233.93, - "Quantity": 164 - }, - { - "Price": 233.94, - "Quantity": 100 - }, - { - "Price": 233.95, - "Quantity": 493 - }, - { - "Price": 233.96, - "Quantity": 156 - }, - { - "Price": 233.97, - "Quantity": 1367 - }, - { - "Price": 233.98, - "Quantity": 2372 - }, - { - "Price": 233.99, - "Quantity": 1698 - } - ] - }, - { - "Figi": "BBG004RVFCY3", - "InstrumentUid": "ca845f68-6c43-44bc-b584-330d2a1e5eb7", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396809, - "LimitUp": 5068.5, - "LimitDown": 4125, - "Bids": [ - { - "Price": 4611, - "Quantity": 35 - }, - { - "Price": 4610.5, - "Quantity": 69 - }, - { - "Price": 4610, - "Quantity": 1070 - }, - { - "Price": 4609.5, - "Quantity": 13 - }, - { - "Price": 4609, - "Quantity": 27 - }, - { - "Price": 4607.5, - "Quantity": 2 - }, - { - "Price": 4606.5, - "Quantity": 17 - }, - { - "Price": 4605.5, - "Quantity": 733 - }, - { - "Price": 4605, - "Quantity": 207 - }, - { - "Price": 4604, - "Quantity": 120 - }, - { - "Price": 4603, - "Quantity": 34 - }, - { - "Price": 4602, - "Quantity": 4 - }, - { - "Price": 4600, - "Quantity": 58 - }, - { - "Price": 4599.5, - "Quantity": 112 - }, - { - "Price": 4599, - "Quantity": 809 - }, - { - "Price": 4598, - "Quantity": 24 - }, - { - "Price": 4597, - "Quantity": 12 - }, - { - "Price": 4596.5, - "Quantity": 2 - }, - { - "Price": 4596, - "Quantity": 8 - }, - { - "Price": 4595.5, - "Quantity": 226 - } - ], - "Asks": [ - { - "Price": 4612, - "Quantity": 17 - }, - { - "Price": 4612.5, - "Quantity": 134 - }, - { - "Price": 4613, - "Quantity": 8 - }, - { - "Price": 4613.5, - "Quantity": 60 - }, - { - "Price": 4614, - "Quantity": 103 - }, - { - "Price": 4615, - "Quantity": 12 - }, - { - "Price": 4615.5, - "Quantity": 57 - }, - { - "Price": 4616, - "Quantity": 90 - }, - { - "Price": 4616.5, - "Quantity": 63 - }, - { - "Price": 4617, - "Quantity": 10 - }, - { - "Price": 4617.5, - "Quantity": 11 - }, - { - "Price": 4618, - "Quantity": 258 - }, - { - "Price": 4618.5, - "Quantity": 210 - }, - { - "Price": 4619, - "Quantity": 168 - }, - { - "Price": 4619.5, - "Quantity": 52 - }, - { - "Price": 4620, - "Quantity": 621 - }, - { - "Price": 4621, - "Quantity": 21 - }, - { - "Price": 4621.5, - "Quantity": 10 - }, - { - "Price": 4622, - "Quantity": 65 - }, - { - "Price": 4622.5, - "Quantity": 16 - } - ] - }, - { - "Figi": "BBG00475KKY8", - "InstrumentUid": "0da66728-6c30-44c4-9264-df8fac2467ee", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396810, - "LimitUp": 1490.6, - "LimitDown": 1096.4, - "Bids": [ - { - "Price": 1295.2, - "Quantity": 125 - }, - { - "Price": 1295, - "Quantity": 3984 - }, - { - "Price": 1294.8, - "Quantity": 3 - }, - { - "Price": 1294.6, - "Quantity": 2 - }, - { - "Price": 1294.4, - "Quantity": 109 - }, - { - "Price": 1294.2, - "Quantity": 70 - }, - { - "Price": 1294, - "Quantity": 430 - }, - { - "Price": 1293.8, - "Quantity": 17 - }, - { - "Price": 1293.6, - "Quantity": 370 - }, - { - "Price": 1293.4, - "Quantity": 730 - }, - { - "Price": 1293.2, - "Quantity": 1133 - }, - { - "Price": 1293, - "Quantity": 330 - }, - { - "Price": 1292.8, - "Quantity": 1442 - }, - { - "Price": 1292.6, - "Quantity": 708 - }, - { - "Price": 1292.4, - "Quantity": 716 - }, - { - "Price": 1292.2, - "Quantity": 1032 - }, - { - "Price": 1292, - "Quantity": 173 - }, - { - "Price": 1291.8, - "Quantity": 713 - }, - { - "Price": 1291.4, - "Quantity": 5 - }, - { - "Price": 1291.2, - "Quantity": 1330 - } - ], - "Asks": [ - { - "Price": 1296, - "Quantity": 165 - }, - { - "Price": 1296.2, - "Quantity": 48 - }, - { - "Price": 1296.4, - "Quantity": 108 - }, - { - "Price": 1296.6, - "Quantity": 218 - }, - { - "Price": 1296.8, - "Quantity": 150 - }, - { - "Price": 1297, - "Quantity": 200 - }, - { - "Price": 1297.2, - "Quantity": 271 - }, - { - "Price": 1297.4, - "Quantity": 185 - }, - { - "Price": 1297.6, - "Quantity": 372 - }, - { - "Price": 1297.8, - "Quantity": 1850 - }, - { - "Price": 1298, - "Quantity": 1016 - }, - { - "Price": 1298.2, - "Quantity": 3100 - }, - { - "Price": 1298.6, - "Quantity": 700 - }, - { - "Price": 1298.8, - "Quantity": 2020 - }, - { - "Price": 1299, - "Quantity": 379 - }, - { - "Price": 1299.4, - "Quantity": 71 - }, - { - "Price": 1299.6, - "Quantity": 366 - }, - { - "Price": 1299.8, - "Quantity": 2420 - }, - { - "Price": 1300, - "Quantity": 3452 - }, - { - "Price": 1300.2, - "Quantity": 2 - } - ] - }, - { - "Figi": "BBG004730N88", - "InstrumentUid": "e6123145-9665-43e0-8413-cd61b8aa9b13", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396810, - "LimitUp": 253.72, - "LimitDown": 206.56, - "Bids": [ - { - "Price": 233.79, - "Quantity": 19 - }, - { - "Price": 233.78, - "Quantity": 70 - }, - { - "Price": 233.77, - "Quantity": 25 - }, - { - "Price": 233.76, - "Quantity": 20 - }, - { - "Price": 233.75, - "Quantity": 137 - }, - { - "Price": 233.74, - "Quantity": 101 - }, - { - "Price": 233.73, - "Quantity": 222 - }, - { - "Price": 233.72, - "Quantity": 575 - }, - { - "Price": 233.71, - "Quantity": 75 - }, - { - "Price": 233.7, - "Quantity": 332 - }, - { - "Price": 233.69, - "Quantity": 365 - }, - { - "Price": 233.68, - "Quantity": 700 - }, - { - "Price": 233.67, - "Quantity": 264 - }, - { - "Price": 233.66, - "Quantity": 165 - }, - { - "Price": 233.65, - "Quantity": 393 - }, - { - "Price": 233.64, - "Quantity": 194 - }, - { - "Price": 233.63, - "Quantity": 164 - }, - { - "Price": 233.62, - "Quantity": 378 - }, - { - "Price": 233.61, - "Quantity": 659 - }, - { - "Price": 233.6, - "Quantity": 4226 - } - ], - "Asks": [ - { - "Price": 233.8, - "Quantity": 1363 - }, - { - "Price": 233.81, - "Quantity": 71 - }, - { - "Price": 233.82, - "Quantity": 68 - }, - { - "Price": 233.83, - "Quantity": 148 - }, - { - "Price": 233.84, - "Quantity": 463 - }, - { - "Price": 233.85, - "Quantity": 1417 - }, - { - "Price": 233.86, - "Quantity": 848 - }, - { - "Price": 233.87, - "Quantity": 709 - }, - { - "Price": 233.88, - "Quantity": 1086 - }, - { - "Price": 233.89, - "Quantity": 7893 - }, - { - "Price": 233.9, - "Quantity": 6479 - }, - { - "Price": 233.91, - "Quantity": 464 - }, - { - "Price": 233.92, - "Quantity": 1793 - }, - { - "Price": 233.93, - "Quantity": 164 - }, - { - "Price": 233.94, - "Quantity": 100 - }, - { - "Price": 233.95, - "Quantity": 493 - }, - { - "Price": 233.96, - "Quantity": 156 - }, - { - "Price": 233.97, - "Quantity": 1367 - }, - { - "Price": 233.98, - "Quantity": 2372 - }, - { - "Price": 233.99, - "Quantity": 1698 - } - ] - }, - { - "Figi": "BBG004730N88", - "InstrumentUid": "e6123145-9665-43e0-8413-cd61b8aa9b13", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396810, - "LimitUp": 253.72, - "LimitDown": 206.56, - "Bids": [ - { - "Price": 233.79, - "Quantity": 39 - }, - { - "Price": 233.78, - "Quantity": 90 - }, - { - "Price": 233.76, - "Quantity": 45 - }, - { - "Price": 233.75, - "Quantity": 137 - }, - { - "Price": 233.74, - "Quantity": 76 - }, - { - "Price": 233.73, - "Quantity": 447 - }, - { - "Price": 233.72, - "Quantity": 375 - }, - { - "Price": 233.71, - "Quantity": 75 - }, - { - "Price": 233.7, - "Quantity": 532 - }, - { - "Price": 233.69, - "Quantity": 465 - }, - { - "Price": 233.68, - "Quantity": 400 - }, - { - "Price": 233.67, - "Quantity": 264 - }, - { - "Price": 233.66, - "Quantity": 165 - }, - { - "Price": 233.65, - "Quantity": 393 - }, - { - "Price": 233.64, - "Quantity": 164 - }, - { - "Price": 233.63, - "Quantity": 164 - }, - { - "Price": 233.62, - "Quantity": 378 - }, - { - "Price": 233.61, - "Quantity": 659 - }, - { - "Price": 233.6, - "Quantity": 4256 - }, - { - "Price": 233.59, - "Quantity": 96 - } - ], - "Asks": [ - { - "Price": 233.8, - "Quantity": 1081 - }, - { - "Price": 233.81, - "Quantity": 71 - }, - { - "Price": 233.82, - "Quantity": 68 - }, - { - "Price": 233.83, - "Quantity": 173 - }, - { - "Price": 233.84, - "Quantity": 438 - }, - { - "Price": 233.85, - "Quantity": 1417 - }, - { - "Price": 233.86, - "Quantity": 573 - }, - { - "Price": 233.87, - "Quantity": 684 - }, - { - "Price": 233.88, - "Quantity": 1386 - }, - { - "Price": 233.89, - "Quantity": 7893 - }, - { - "Price": 233.9, - "Quantity": 6479 - }, - { - "Price": 233.91, - "Quantity": 164 - }, - { - "Price": 233.92, - "Quantity": 1793 - }, - { - "Price": 233.93, - "Quantity": 164 - }, - { - "Price": 233.94, - "Quantity": 100 - }, - { - "Price": 233.95, - "Quantity": 793 - }, - { - "Price": 233.96, - "Quantity": 156 - }, - { - "Price": 233.97, - "Quantity": 1367 - }, - { - "Price": 233.98, - "Quantity": 2372 - }, - { - "Price": 233.99, - "Quantity": 1698 - } - ] - }, - { - "Figi": "BBG004730N88", - "InstrumentUid": "e6123145-9665-43e0-8413-cd61b8aa9b13", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396811, - "LimitUp": 253.72, - "LimitDown": 206.56, - "Bids": [ - { - "Price": 233.79, - "Quantity": 39 - }, - { - "Price": 233.78, - "Quantity": 90 - }, - { - "Price": 233.76, - "Quantity": 45 - }, - { - "Price": 233.75, - "Quantity": 137 - }, - { - "Price": 233.74, - "Quantity": 76 - }, - { - "Price": 233.73, - "Quantity": 447 - }, - { - "Price": 233.72, - "Quantity": 375 - }, - { - "Price": 233.71, - "Quantity": 75 - }, - { - "Price": 233.7, - "Quantity": 532 - }, - { - "Price": 233.69, - "Quantity": 465 - }, - { - "Price": 233.68, - "Quantity": 400 - }, - { - "Price": 233.67, - "Quantity": 264 - }, - { - "Price": 233.66, - "Quantity": 165 - }, - { - "Price": 233.65, - "Quantity": 393 - }, - { - "Price": 233.64, - "Quantity": 164 - }, - { - "Price": 233.63, - "Quantity": 164 - }, - { - "Price": 233.62, - "Quantity": 378 - }, - { - "Price": 233.61, - "Quantity": 659 - }, - { - "Price": 233.6, - "Quantity": 4256 - }, - { - "Price": 233.59, - "Quantity": 96 - } - ], - "Asks": [ - { - "Price": 233.8, - "Quantity": 1056 - }, - { - "Price": 233.81, - "Quantity": 71 - }, - { - "Price": 233.82, - "Quantity": 68 - }, - { - "Price": 233.83, - "Quantity": 173 - }, - { - "Price": 233.84, - "Quantity": 438 - }, - { - "Price": 233.85, - "Quantity": 1417 - }, - { - "Price": 233.86, - "Quantity": 573 - }, - { - "Price": 233.87, - "Quantity": 684 - }, - { - "Price": 233.88, - "Quantity": 1386 - }, - { - "Price": 233.89, - "Quantity": 7893 - }, - { - "Price": 233.9, - "Quantity": 6479 - }, - { - "Price": 233.91, - "Quantity": 164 - }, - { - "Price": 233.92, - "Quantity": 1793 - }, - { - "Price": 233.93, - "Quantity": 164 - }, - { - "Price": 233.94, - "Quantity": 100 - }, - { - "Price": 233.95, - "Quantity": 793 - }, - { - "Price": 233.96, - "Quantity": 156 - }, - { - "Price": 233.97, - "Quantity": 1367 - }, - { - "Price": 233.98, - "Quantity": 2372 - }, - { - "Price": 233.99, - "Quantity": 1698 - } - ] - }, - { - "Figi": "BBG004RVFCY3", - "InstrumentUid": "ca845f68-6c43-44bc-b584-330d2a1e5eb7", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396810, - "LimitUp": 5068.5, - "LimitDown": 4125, - "Bids": [ - { - "Price": 4611, - "Quantity": 35 - }, - { - "Price": 4610.5, - "Quantity": 69 - }, - { - "Price": 4610, - "Quantity": 1070 - }, - { - "Price": 4609.5, - "Quantity": 13 - }, - { - "Price": 4609, - "Quantity": 27 - }, - { - "Price": 4607.5, - "Quantity": 2 - }, - { - "Price": 4606.5, - "Quantity": 17 - }, - { - "Price": 4605.5, - "Quantity": 733 - }, - { - "Price": 4605, - "Quantity": 207 - }, - { - "Price": 4604, - "Quantity": 120 - }, - { - "Price": 4603, - "Quantity": 34 - }, - { - "Price": 4602.5, - "Quantity": 26 - }, - { - "Price": 4602, - "Quantity": 4 - }, - { - "Price": 4600, - "Quantity": 58 - }, - { - "Price": 4599.5, - "Quantity": 112 - }, - { - "Price": 4599, - "Quantity": 809 - }, - { - "Price": 4598, - "Quantity": 24 - }, - { - "Price": 4597, - "Quantity": 12 - }, - { - "Price": 4596.5, - "Quantity": 2 - }, - { - "Price": 4596, - "Quantity": 8 - } - ], - "Asks": [ - { - "Price": 4612, - "Quantity": 17 - }, - { - "Price": 4612.5, - "Quantity": 134 - }, - { - "Price": 4613, - "Quantity": 8 - }, - { - "Price": 4613.5, - "Quantity": 60 - }, - { - "Price": 4614, - "Quantity": 103 - }, - { - "Price": 4615, - "Quantity": 12 - }, - { - "Price": 4615.5, - "Quantity": 57 - }, - { - "Price": 4616, - "Quantity": 90 - }, - { - "Price": 4616.5, - "Quantity": 63 - }, - { - "Price": 4617, - "Quantity": 10 - }, - { - "Price": 4617.5, - "Quantity": 11 - }, - { - "Price": 4618, - "Quantity": 258 - }, - { - "Price": 4618.5, - "Quantity": 210 - }, - { - "Price": 4619, - "Quantity": 168 - }, - { - "Price": 4619.5, - "Quantity": 52 - }, - { - "Price": 4620, - "Quantity": 621 - }, - { - "Price": 4621, - "Quantity": 21 - }, - { - "Price": 4621.5, - "Quantity": 10 - }, - { - "Price": 4622, - "Quantity": 65 - }, - { - "Price": 4622.5, - "Quantity": 16 - } - ] - }, - { - "Figi": "BBG004730N88", - "InstrumentUid": "e6123145-9665-43e0-8413-cd61b8aa9b13", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396811, - "LimitUp": 253.72, - "LimitDown": 206.56, - "Bids": [ - { - "Price": 233.79, - "Quantity": 39 - }, - { - "Price": 233.78, - "Quantity": 100 - }, - { - "Price": 233.77, - "Quantity": 25 - }, - { - "Price": 233.76, - "Quantity": 20 - }, - { - "Price": 233.75, - "Quantity": 137 - }, - { - "Price": 233.74, - "Quantity": 101 - }, - { - "Price": 233.73, - "Quantity": 422 - }, - { - "Price": 233.72, - "Quantity": 375 - }, - { - "Price": 233.71, - "Quantity": 75 - }, - { - "Price": 233.7, - "Quantity": 532 - }, - { - "Price": 233.69, - "Quantity": 465 - }, - { - "Price": 233.68, - "Quantity": 400 - }, - { - "Price": 233.67, - "Quantity": 264 - }, - { - "Price": 233.66, - "Quantity": 165 - }, - { - "Price": 233.65, - "Quantity": 393 - }, - { - "Price": 233.64, - "Quantity": 164 - }, - { - "Price": 233.63, - "Quantity": 164 - }, - { - "Price": 233.62, - "Quantity": 378 - }, - { - "Price": 233.61, - "Quantity": 659 - }, - { - "Price": 233.6, - "Quantity": 4256 - } - ], - "Asks": [ - { - "Price": 233.8, - "Quantity": 1031 - }, - { - "Price": 233.81, - "Quantity": 71 - }, - { - "Price": 233.82, - "Quantity": 68 - }, - { - "Price": 233.83, - "Quantity": 173 - }, - { - "Price": 233.84, - "Quantity": 438 - }, - { - "Price": 233.85, - "Quantity": 1417 - }, - { - "Price": 233.86, - "Quantity": 573 - }, - { - "Price": 233.87, - "Quantity": 684 - }, - { - "Price": 233.88, - "Quantity": 1386 - }, - { - "Price": 233.89, - "Quantity": 7893 - }, - { - "Price": 233.9, - "Quantity": 6479 - }, - { - "Price": 233.91, - "Quantity": 164 - }, - { - "Price": 233.92, - "Quantity": 1793 - }, - { - "Price": 233.93, - "Quantity": 164 - }, - { - "Price": 233.94, - "Quantity": 100 - }, - { - "Price": 233.95, - "Quantity": 793 - }, - { - "Price": 233.96, - "Quantity": 156 - }, - { - "Price": 233.97, - "Quantity": 1367 - }, - { - "Price": 233.98, - "Quantity": 2372 - }, - { - "Price": 233.99, - "Quantity": 1698 - } - ] - }, - { - "Figi": "BBG004730N88", - "InstrumentUid": "e6123145-9665-43e0-8413-cd61b8aa9b13", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396811, - "LimitUp": 253.72, - "LimitDown": 206.56, - "Bids": [ - { - "Price": 233.79, - "Quantity": 35 - }, - { - "Price": 233.78, - "Quantity": 100 - }, - { - "Price": 233.77, - "Quantity": 25 - }, - { - "Price": 233.76, - "Quantity": 20 - }, - { - "Price": 233.75, - "Quantity": 137 - }, - { - "Price": 233.74, - "Quantity": 101 - }, - { - "Price": 233.73, - "Quantity": 422 - }, - { - "Price": 233.72, - "Quantity": 375 - }, - { - "Price": 233.71, - "Quantity": 75 - }, - { - "Price": 233.7, - "Quantity": 532 - }, - { - "Price": 233.69, - "Quantity": 465 - }, - { - "Price": 233.68, - "Quantity": 400 - }, - { - "Price": 233.67, - "Quantity": 264 - }, - { - "Price": 233.66, - "Quantity": 165 - }, - { - "Price": 233.65, - "Quantity": 393 - }, - { - "Price": 233.64, - "Quantity": 164 - }, - { - "Price": 233.63, - "Quantity": 164 - }, - { - "Price": 233.62, - "Quantity": 378 - }, - { - "Price": 233.61, - "Quantity": 659 - }, - { - "Price": 233.6, - "Quantity": 4256 - } - ], - "Asks": [ - { - "Price": 233.8, - "Quantity": 1031 - }, - { - "Price": 233.81, - "Quantity": 71 - }, - { - "Price": 233.82, - "Quantity": 68 - }, - { - "Price": 233.83, - "Quantity": 173 - }, - { - "Price": 233.84, - "Quantity": 438 - }, - { - "Price": 233.85, - "Quantity": 1417 - }, - { - "Price": 233.86, - "Quantity": 573 - }, - { - "Price": 233.87, - "Quantity": 684 - }, - { - "Price": 233.88, - "Quantity": 1386 - }, - { - "Price": 233.89, - "Quantity": 7893 - }, - { - "Price": 233.9, - "Quantity": 6479 - }, - { - "Price": 233.91, - "Quantity": 164 - }, - { - "Price": 233.92, - "Quantity": 1793 - }, - { - "Price": 233.93, - "Quantity": 164 - }, - { - "Price": 233.94, - "Quantity": 100 - }, - { - "Price": 233.95, - "Quantity": 793 - }, - { - "Price": 233.96, - "Quantity": 156 - }, - { - "Price": 233.97, - "Quantity": 1367 - }, - { - "Price": 233.98, - "Quantity": 2372 - }, - { - "Price": 233.99, - "Quantity": 1698 - } - ] - }, - { - "Figi": "BBG004730N88", - "InstrumentUid": "e6123145-9665-43e0-8413-cd61b8aa9b13", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396811, - "LimitUp": 253.72, - "LimitDown": 206.56, - "Bids": [ - { - "Price": 233.79, - "Quantity": 35 - }, - { - "Price": 233.78, - "Quantity": 100 - }, - { - "Price": 233.77, - "Quantity": 25 - }, - { - "Price": 233.76, - "Quantity": 20 - }, - { - "Price": 233.75, - "Quantity": 137 - }, - { - "Price": 233.74, - "Quantity": 101 - }, - { - "Price": 233.73, - "Quantity": 422 - }, - { - "Price": 233.72, - "Quantity": 375 - }, - { - "Price": 233.71, - "Quantity": 75 - }, - { - "Price": 233.7, - "Quantity": 532 - }, - { - "Price": 233.69, - "Quantity": 465 - }, - { - "Price": 233.68, - "Quantity": 400 - }, - { - "Price": 233.67, - "Quantity": 264 - }, - { - "Price": 233.66, - "Quantity": 165 - }, - { - "Price": 233.65, - "Quantity": 393 - }, - { - "Price": 233.64, - "Quantity": 164 - }, - { - "Price": 233.63, - "Quantity": 164 - }, - { - "Price": 233.62, - "Quantity": 378 - }, - { - "Price": 233.61, - "Quantity": 659 - }, - { - "Price": 233.6, - "Quantity": 4256 - } - ], - "Asks": [ - { - "Price": 233.8, - "Quantity": 1033 - }, - { - "Price": 233.81, - "Quantity": 71 - }, - { - "Price": 233.82, - "Quantity": 68 - }, - { - "Price": 233.83, - "Quantity": 173 - }, - { - "Price": 233.84, - "Quantity": 438 - }, - { - "Price": 233.85, - "Quantity": 1417 - }, - { - "Price": 233.86, - "Quantity": 573 - }, - { - "Price": 233.87, - "Quantity": 684 - }, - { - "Price": 233.88, - "Quantity": 1386 - }, - { - "Price": 233.89, - "Quantity": 7893 - }, - { - "Price": 233.9, - "Quantity": 6479 - }, - { - "Price": 233.91, - "Quantity": 164 - }, - { - "Price": 233.92, - "Quantity": 1793 - }, - { - "Price": 233.93, - "Quantity": 164 - }, - { - "Price": 233.94, - "Quantity": 100 - }, - { - "Price": 233.95, - "Quantity": 793 - }, - { - "Price": 233.96, - "Quantity": 156 - }, - { - "Price": 233.97, - "Quantity": 1367 - }, - { - "Price": 233.98, - "Quantity": 2372 - }, - { - "Price": 233.99, - "Quantity": 1698 - } - ] - }, - { - "Figi": "BBG004RVFCY3", - "InstrumentUid": "ca845f68-6c43-44bc-b584-330d2a1e5eb7", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396811, - "LimitUp": 5068.5, - "LimitDown": 4125, - "Bids": [ - { - "Price": 4611, - "Quantity": 34 - }, - { - "Price": 4610.5, - "Quantity": 70 - }, - { - "Price": 4610, - "Quantity": 1050 - }, - { - "Price": 4609.5, - "Quantity": 33 - }, - { - "Price": 4609, - "Quantity": 27 - }, - { - "Price": 4607.5, - "Quantity": 2 - }, - { - "Price": 4606.5, - "Quantity": 17 - }, - { - "Price": 4605.5, - "Quantity": 733 - }, - { - "Price": 4605, - "Quantity": 207 - }, - { - "Price": 4604, - "Quantity": 146 - }, - { - "Price": 4603, - "Quantity": 34 - }, - { - "Price": 4602.5, - "Quantity": 26 - }, - { - "Price": 4602, - "Quantity": 4 - }, - { - "Price": 4600, - "Quantity": 58 - }, - { - "Price": 4599.5, - "Quantity": 112 - }, - { - "Price": 4599, - "Quantity": 809 - }, - { - "Price": 4598, - "Quantity": 24 - }, - { - "Price": 4597, - "Quantity": 12 - }, - { - "Price": 4596.5, - "Quantity": 2 - }, - { - "Price": 4596, - "Quantity": 8 - } - ], - "Asks": [ - { - "Price": 4612, - "Quantity": 17 - }, - { - "Price": 4612.5, - "Quantity": 134 - }, - { - "Price": 4613, - "Quantity": 8 - }, - { - "Price": 4613.5, - "Quantity": 60 - }, - { - "Price": 4614, - "Quantity": 103 - }, - { - "Price": 4615, - "Quantity": 12 - }, - { - "Price": 4615.5, - "Quantity": 57 - }, - { - "Price": 4616, - "Quantity": 90 - }, - { - "Price": 4616.5, - "Quantity": 63 - }, - { - "Price": 4617, - "Quantity": 10 - }, - { - "Price": 4617.5, - "Quantity": 11 - }, - { - "Price": 4618, - "Quantity": 258 - }, - { - "Price": 4618.5, - "Quantity": 210 - }, - { - "Price": 4619, - "Quantity": 168 - }, - { - "Price": 4619.5, - "Quantity": 52 - }, - { - "Price": 4620, - "Quantity": 621 - }, - { - "Price": 4621, - "Quantity": 21 - }, - { - "Price": 4621.5, - "Quantity": 10 - }, - { - "Price": 4622, - "Quantity": 65 - }, - { - "Price": 4622.5, - "Quantity": 16 - } - ] - }, - { - "Figi": "BBG004730N88", - "InstrumentUid": "e6123145-9665-43e0-8413-cd61b8aa9b13", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396812, - "LimitUp": 253.72, - "LimitDown": 206.56, - "Bids": [ - { - "Price": 233.79, - "Quantity": 32 - }, - { - "Price": 233.78, - "Quantity": 100 - }, - { - "Price": 233.77, - "Quantity": 25 - }, - { - "Price": 233.76, - "Quantity": 20 - }, - { - "Price": 233.75, - "Quantity": 137 - }, - { - "Price": 233.74, - "Quantity": 101 - }, - { - "Price": 233.73, - "Quantity": 422 - }, - { - "Price": 233.72, - "Quantity": 375 - }, - { - "Price": 233.71, - "Quantity": 75 - }, - { - "Price": 233.7, - "Quantity": 532 - }, - { - "Price": 233.69, - "Quantity": 465 - }, - { - "Price": 233.68, - "Quantity": 400 - }, - { - "Price": 233.67, - "Quantity": 264 - }, - { - "Price": 233.66, - "Quantity": 165 - }, - { - "Price": 233.65, - "Quantity": 393 - }, - { - "Price": 233.64, - "Quantity": 164 - }, - { - "Price": 233.63, - "Quantity": 164 - }, - { - "Price": 233.62, - "Quantity": 378 - }, - { - "Price": 233.61, - "Quantity": 659 - }, - { - "Price": 233.6, - "Quantity": 4256 - } - ], - "Asks": [ - { - "Price": 233.8, - "Quantity": 1008 - }, - { - "Price": 233.81, - "Quantity": 71 - }, - { - "Price": 233.82, - "Quantity": 68 - }, - { - "Price": 233.83, - "Quantity": 148 - }, - { - "Price": 233.84, - "Quantity": 463 - }, - { - "Price": 233.85, - "Quantity": 1417 - }, - { - "Price": 233.86, - "Quantity": 548 - }, - { - "Price": 233.87, - "Quantity": 759 - }, - { - "Price": 233.88, - "Quantity": 1386 - }, - { - "Price": 233.89, - "Quantity": 7893 - }, - { - "Price": 233.9, - "Quantity": 6479 - }, - { - "Price": 233.91, - "Quantity": 164 - }, - { - "Price": 233.92, - "Quantity": 1793 - }, - { - "Price": 233.93, - "Quantity": 164 - }, - { - "Price": 233.94, - "Quantity": 100 - }, - { - "Price": 233.95, - "Quantity": 793 - }, - { - "Price": 233.96, - "Quantity": 156 - }, - { - "Price": 233.97, - "Quantity": 1367 - }, - { - "Price": 233.98, - "Quantity": 2372 - }, - { - "Price": 233.99, - "Quantity": 1698 - } - ] - }, - { - "Figi": "BBG004730N88", - "InstrumentUid": "e6123145-9665-43e0-8413-cd61b8aa9b13", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396812, - "LimitUp": 253.72, - "LimitDown": 206.56, - "Bids": [ - { - "Price": 233.79, - "Quantity": 32 - }, - { - "Price": 233.78, - "Quantity": 100 - }, - { - "Price": 233.77, - "Quantity": 25 - }, - { - "Price": 233.76, - "Quantity": 20 - }, - { - "Price": 233.75, - "Quantity": 137 - }, - { - "Price": 233.74, - "Quantity": 101 - }, - { - "Price": 233.73, - "Quantity": 422 - }, - { - "Price": 233.72, - "Quantity": 375 - }, - { - "Price": 233.71, - "Quantity": 75 - }, - { - "Price": 233.7, - "Quantity": 532 - }, - { - "Price": 233.69, - "Quantity": 465 - }, - { - "Price": 233.68, - "Quantity": 400 - }, - { - "Price": 233.67, - "Quantity": 264 - }, - { - "Price": 233.66, - "Quantity": 165 - }, - { - "Price": 233.65, - "Quantity": 393 - }, - { - "Price": 233.64, - "Quantity": 164 - }, - { - "Price": 233.63, - "Quantity": 164 - }, - { - "Price": 233.62, - "Quantity": 378 - }, - { - "Price": 233.61, - "Quantity": 659 - }, - { - "Price": 233.6, - "Quantity": 4256 - } - ], - "Asks": [ - { - "Price": 233.8, - "Quantity": 998 - }, - { - "Price": 233.81, - "Quantity": 71 - }, - { - "Price": 233.82, - "Quantity": 68 - }, - { - "Price": 233.83, - "Quantity": 148 - }, - { - "Price": 233.84, - "Quantity": 463 - }, - { - "Price": 233.85, - "Quantity": 1417 - }, - { - "Price": 233.86, - "Quantity": 548 - }, - { - "Price": 233.87, - "Quantity": 759 - }, - { - "Price": 233.88, - "Quantity": 1386 - }, - { - "Price": 233.89, - "Quantity": 7893 - }, - { - "Price": 233.9, - "Quantity": 6479 - }, - { - "Price": 233.91, - "Quantity": 164 - }, - { - "Price": 233.92, - "Quantity": 1793 - }, - { - "Price": 233.93, - "Quantity": 164 - }, - { - "Price": 233.94, - "Quantity": 100 - }, - { - "Price": 233.95, - "Quantity": 793 - }, - { - "Price": 233.96, - "Quantity": 156 - }, - { - "Price": 233.97, - "Quantity": 1367 - }, - { - "Price": 233.98, - "Quantity": 2372 - }, - { - "Price": 233.99, - "Quantity": 1698 - } - ] - }, - { - "Figi": "BBG00475KKY8", - "InstrumentUid": "0da66728-6c30-44c4-9264-df8fac2467ee", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396812, - "LimitUp": 1490.6, - "LimitDown": 1096.4, - "Bids": [ - { - "Price": 1295.2, - "Quantity": 125 - }, - { - "Price": 1295, - "Quantity": 3984 - }, - { - "Price": 1294.8, - "Quantity": 3 - }, - { - "Price": 1294.6, - "Quantity": 2 - }, - { - "Price": 1294.4, - "Quantity": 109 - }, - { - "Price": 1294.2, - "Quantity": 70 - }, - { - "Price": 1294, - "Quantity": 430 - }, - { - "Price": 1293.8, - "Quantity": 17 - }, - { - "Price": 1293.6, - "Quantity": 370 - }, - { - "Price": 1293.4, - "Quantity": 730 - }, - { - "Price": 1293.2, - "Quantity": 1133 - }, - { - "Price": 1293, - "Quantity": 330 - }, - { - "Price": 1292.8, - "Quantity": 1442 - }, - { - "Price": 1292.6, - "Quantity": 708 - }, - { - "Price": 1292.4, - "Quantity": 716 - }, - { - "Price": 1292.2, - "Quantity": 1032 - }, - { - "Price": 1292, - "Quantity": 173 - }, - { - "Price": 1291.8, - "Quantity": 713 - }, - { - "Price": 1291.4, - "Quantity": 5 - }, - { - "Price": 1291.2, - "Quantity": 1330 - } - ], - "Asks": [ - { - "Price": 1295.8, - "Quantity": 2 - }, - { - "Price": 1296, - "Quantity": 165 - }, - { - "Price": 1296.2, - "Quantity": 48 - }, - { - "Price": 1296.4, - "Quantity": 112 - }, - { - "Price": 1296.6, - "Quantity": 218 - }, - { - "Price": 1296.8, - "Quantity": 150 - }, - { - "Price": 1297, - "Quantity": 170 - }, - { - "Price": 1297.2, - "Quantity": 271 - }, - { - "Price": 1297.4, - "Quantity": 185 - }, - { - "Price": 1297.6, - "Quantity": 589 - }, - { - "Price": 1297.8, - "Quantity": 1850 - }, - { - "Price": 1298, - "Quantity": 1016 - }, - { - "Price": 1298.2, - "Quantity": 3100 - }, - { - "Price": 1298.6, - "Quantity": 700 - }, - { - "Price": 1298.8, - "Quantity": 2020 - }, - { - "Price": 1299, - "Quantity": 379 - }, - { - "Price": 1299.4, - "Quantity": 71 - }, - { - "Price": 1299.6, - "Quantity": 366 - }, - { - "Price": 1299.8, - "Quantity": 2420 - }, - { - "Price": 1300, - "Quantity": 3452 - } - ] - }, - { - "Figi": "BBG004730N88", - "InstrumentUid": "e6123145-9665-43e0-8413-cd61b8aa9b13", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396812, - "LimitUp": 253.72, - "LimitDown": 206.56, - "Bids": [ - { - "Price": 233.79, - "Quantity": 32 - }, - { - "Price": 233.78, - "Quantity": 100 - }, - { - "Price": 233.77, - "Quantity": 25 - }, - { - "Price": 233.76, - "Quantity": 20 - }, - { - "Price": 233.75, - "Quantity": 137 - }, - { - "Price": 233.74, - "Quantity": 101 - }, - { - "Price": 233.73, - "Quantity": 422 - }, - { - "Price": 233.72, - "Quantity": 375 - }, - { - "Price": 233.71, - "Quantity": 75 - }, - { - "Price": 233.7, - "Quantity": 532 - }, - { - "Price": 233.69, - "Quantity": 465 - }, - { - "Price": 233.68, - "Quantity": 400 - }, - { - "Price": 233.67, - "Quantity": 264 - }, - { - "Price": 233.66, - "Quantity": 165 - }, - { - "Price": 233.65, - "Quantity": 393 - }, - { - "Price": 233.64, - "Quantity": 164 - }, - { - "Price": 233.63, - "Quantity": 164 - }, - { - "Price": 233.62, - "Quantity": 378 - }, - { - "Price": 233.61, - "Quantity": 659 - }, - { - "Price": 233.6, - "Quantity": 4256 - } - ], - "Asks": [ - { - "Price": 233.8, - "Quantity": 998 - }, - { - "Price": 233.81, - "Quantity": 71 - }, - { - "Price": 233.82, - "Quantity": 68 - }, - { - "Price": 233.83, - "Quantity": 148 - }, - { - "Price": 233.84, - "Quantity": 463 - }, - { - "Price": 233.85, - "Quantity": 1417 - }, - { - "Price": 233.86, - "Quantity": 548 - }, - { - "Price": 233.87, - "Quantity": 1059 - }, - { - "Price": 233.88, - "Quantity": 1086 - }, - { - "Price": 233.89, - "Quantity": 7893 - }, - { - "Price": 233.9, - "Quantity": 6479 - }, - { - "Price": 233.91, - "Quantity": 164 - }, - { - "Price": 233.92, - "Quantity": 1793 - }, - { - "Price": 233.93, - "Quantity": 164 - }, - { - "Price": 233.94, - "Quantity": 100 - }, - { - "Price": 233.95, - "Quantity": 793 - }, - { - "Price": 233.96, - "Quantity": 156 - }, - { - "Price": 233.97, - "Quantity": 1367 - }, - { - "Price": 233.98, - "Quantity": 2372 - }, - { - "Price": 233.99, - "Quantity": 1698 - } - ] - }, - { - "Figi": "BBG004730N88", - "InstrumentUid": "e6123145-9665-43e0-8413-cd61b8aa9b13", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396812, - "LimitUp": 253.72, - "LimitDown": 206.56, - "Bids": [ - { - "Price": 233.79, - "Quantity": 32 - }, - { - "Price": 233.78, - "Quantity": 100 - }, - { - "Price": 233.77, - "Quantity": 25 - }, - { - "Price": 233.76, - "Quantity": 20 - }, - { - "Price": 233.75, - "Quantity": 137 - }, - { - "Price": 233.74, - "Quantity": 101 - }, - { - "Price": 233.73, - "Quantity": 422 - }, - { - "Price": 233.72, - "Quantity": 375 - }, - { - "Price": 233.71, - "Quantity": 75 - }, - { - "Price": 233.7, - "Quantity": 532 - }, - { - "Price": 233.69, - "Quantity": 465 - }, - { - "Price": 233.68, - "Quantity": 400 - }, - { - "Price": 233.67, - "Quantity": 264 - }, - { - "Price": 233.66, - "Quantity": 165 - }, - { - "Price": 233.65, - "Quantity": 393 - }, - { - "Price": 233.64, - "Quantity": 164 - }, - { - "Price": 233.63, - "Quantity": 164 - }, - { - "Price": 233.62, - "Quantity": 378 - }, - { - "Price": 233.61, - "Quantity": 659 - }, - { - "Price": 233.6, - "Quantity": 4236 - } - ], - "Asks": [ - { - "Price": 233.8, - "Quantity": 973 - }, - { - "Price": 233.81, - "Quantity": 71 - }, - { - "Price": 233.82, - "Quantity": 68 - }, - { - "Price": 233.83, - "Quantity": 173 - }, - { - "Price": 233.84, - "Quantity": 438 - }, - { - "Price": 233.85, - "Quantity": 1417 - }, - { - "Price": 233.86, - "Quantity": 573 - }, - { - "Price": 233.87, - "Quantity": 1034 - }, - { - "Price": 233.88, - "Quantity": 1086 - }, - { - "Price": 233.89, - "Quantity": 7893 - }, - { - "Price": 233.9, - "Quantity": 6479 - }, - { - "Price": 233.91, - "Quantity": 164 - }, - { - "Price": 233.92, - "Quantity": 1793 - }, - { - "Price": 233.93, - "Quantity": 164 - }, - { - "Price": 233.94, - "Quantity": 100 - }, - { - "Price": 233.95, - "Quantity": 793 - }, - { - "Price": 233.96, - "Quantity": 156 - }, - { - "Price": 233.97, - "Quantity": 1667 - }, - { - "Price": 233.98, - "Quantity": 2072 - }, - { - "Price": 233.99, - "Quantity": 1698 - } - ] - }, - { - "Figi": "BBG004RVFCY3", - "InstrumentUid": "ca845f68-6c43-44bc-b584-330d2a1e5eb7", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396812, - "LimitUp": 5068.5, - "LimitDown": 4125, - "Bids": [ - { - "Price": 4611, - "Quantity": 33 - }, - { - "Price": 4610.5, - "Quantity": 71 - }, - { - "Price": 4610, - "Quantity": 1050 - }, - { - "Price": 4609.5, - "Quantity": 33 - }, - { - "Price": 4609, - "Quantity": 27 - }, - { - "Price": 4607.5, - "Quantity": 2 - }, - { - "Price": 4606.5, - "Quantity": 17 - }, - { - "Price": 4605.5, - "Quantity": 733 - }, - { - "Price": 4605, - "Quantity": 207 - }, - { - "Price": 4604, - "Quantity": 146 - }, - { - "Price": 4603.5, - "Quantity": 26 - }, - { - "Price": 4603, - "Quantity": 34 - }, - { - "Price": 4602.5, - "Quantity": 26 - }, - { - "Price": 4602, - "Quantity": 4 - }, - { - "Price": 4600, - "Quantity": 58 - }, - { - "Price": 4599.5, - "Quantity": 112 - }, - { - "Price": 4599, - "Quantity": 809 - }, - { - "Price": 4598, - "Quantity": 24 - }, - { - "Price": 4597, - "Quantity": 12 - }, - { - "Price": 4596.5, - "Quantity": 2 - } - ], - "Asks": [ - { - "Price": 4612, - "Quantity": 17 - }, - { - "Price": 4612.5, - "Quantity": 134 - }, - { - "Price": 4613, - "Quantity": 8 - }, - { - "Price": 4613.5, - "Quantity": 60 - }, - { - "Price": 4614, - "Quantity": 103 - }, - { - "Price": 4615, - "Quantity": 12 - }, - { - "Price": 4615.5, - "Quantity": 57 - }, - { - "Price": 4616, - "Quantity": 90 - }, - { - "Price": 4616.5, - "Quantity": 63 - }, - { - "Price": 4617, - "Quantity": 10 - }, - { - "Price": 4617.5, - "Quantity": 11 - }, - { - "Price": 4618, - "Quantity": 258 - }, - { - "Price": 4618.5, - "Quantity": 210 - }, - { - "Price": 4619, - "Quantity": 168 - }, - { - "Price": 4619.5, - "Quantity": 52 - }, - { - "Price": 4620, - "Quantity": 621 - }, - { - "Price": 4621, - "Quantity": 21 - }, - { - "Price": 4621.5, - "Quantity": 10 - }, - { - "Price": 4622, - "Quantity": 65 - }, - { - "Price": 4622.5, - "Quantity": 16 - } - ] - }, - { - "Figi": "BBG004730N88", - "InstrumentUid": "e6123145-9665-43e0-8413-cd61b8aa9b13", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396813, - "LimitUp": 253.72, - "LimitDown": 206.56, - "Bids": [ - { - "Price": 233.78, - "Quantity": 20 - }, - { - "Price": 233.77, - "Quantity": 80 - }, - { - "Price": 233.76, - "Quantity": 45 - }, - { - "Price": 233.75, - "Quantity": 101 - }, - { - "Price": 233.74, - "Quantity": 76 - }, - { - "Price": 233.73, - "Quantity": 447 - }, - { - "Price": 233.72, - "Quantity": 375 - }, - { - "Price": 233.71, - "Quantity": 75 - }, - { - "Price": 233.7, - "Quantity": 532 - }, - { - "Price": 233.69, - "Quantity": 465 - }, - { - "Price": 233.68, - "Quantity": 400 - }, - { - "Price": 233.67, - "Quantity": 264 - }, - { - "Price": 233.66, - "Quantity": 165 - }, - { - "Price": 233.65, - "Quantity": 393 - }, - { - "Price": 233.64, - "Quantity": 164 - }, - { - "Price": 233.63, - "Quantity": 164 - }, - { - "Price": 233.62, - "Quantity": 378 - }, - { - "Price": 233.61, - "Quantity": 659 - }, - { - "Price": 233.6, - "Quantity": 4236 - }, - { - "Price": 233.59, - "Quantity": 96 - } - ], - "Asks": [ - { - "Price": 233.8, - "Quantity": 948 - }, - { - "Price": 233.81, - "Quantity": 71 - }, - { - "Price": 233.82, - "Quantity": 93 - }, - { - "Price": 233.83, - "Quantity": 148 - }, - { - "Price": 233.84, - "Quantity": 438 - }, - { - "Price": 233.85, - "Quantity": 1442 - }, - { - "Price": 233.86, - "Quantity": 548 - }, - { - "Price": 233.87, - "Quantity": 1034 - }, - { - "Price": 233.88, - "Quantity": 1086 - }, - { - "Price": 233.89, - "Quantity": 7893 - }, - { - "Price": 233.9, - "Quantity": 6479 - }, - { - "Price": 233.91, - "Quantity": 164 - }, - { - "Price": 233.92, - "Quantity": 1793 - }, - { - "Price": 233.93, - "Quantity": 164 - }, - { - "Price": 233.94, - "Quantity": 100 - }, - { - "Price": 233.95, - "Quantity": 793 - }, - { - "Price": 233.96, - "Quantity": 156 - }, - { - "Price": 233.97, - "Quantity": 1667 - }, - { - "Price": 233.98, - "Quantity": 2072 - }, - { - "Price": 233.99, - "Quantity": 1698 - } - ] - }, - { - "Figi": "BBG004RVFCY3", - "InstrumentUid": "ca845f68-6c43-44bc-b584-330d2a1e5eb7", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396813, - "LimitUp": 5068.5, - "LimitDown": 4125, - "Bids": [ - { - "Price": 4611, - "Quantity": 33 - }, - { - "Price": 4610.5, - "Quantity": 73 - }, - { - "Price": 4610, - "Quantity": 1050 - }, - { - "Price": 4609.5, - "Quantity": 33 - }, - { - "Price": 4609, - "Quantity": 27 - }, - { - "Price": 4607.5, - "Quantity": 2 - }, - { - "Price": 4606.5, - "Quantity": 17 - }, - { - "Price": 4605.5, - "Quantity": 733 - }, - { - "Price": 4605, - "Quantity": 207 - }, - { - "Price": 4604, - "Quantity": 146 - }, - { - "Price": 4603.5, - "Quantity": 26 - }, - { - "Price": 4603, - "Quantity": 34 - }, - { - "Price": 4602.5, - "Quantity": 26 - }, - { - "Price": 4602, - "Quantity": 4 - }, - { - "Price": 4600, - "Quantity": 58 - }, - { - "Price": 4599.5, - "Quantity": 112 - }, - { - "Price": 4599, - "Quantity": 809 - }, - { - "Price": 4598, - "Quantity": 24 - }, - { - "Price": 4597, - "Quantity": 12 - }, - { - "Price": 4596.5, - "Quantity": 2 - } - ], - "Asks": [ - { - "Price": 4612, - "Quantity": 17 - }, - { - "Price": 4612.5, - "Quantity": 134 - }, - { - "Price": 4613, - "Quantity": 8 - }, - { - "Price": 4613.5, - "Quantity": 60 - }, - { - "Price": 4614, - "Quantity": 103 - }, - { - "Price": 4615, - "Quantity": 12 - }, - { - "Price": 4615.5, - "Quantity": 57 - }, - { - "Price": 4616, - "Quantity": 90 - }, - { - "Price": 4616.5, - "Quantity": 63 - }, - { - "Price": 4617, - "Quantity": 10 - }, - { - "Price": 4617.5, - "Quantity": 11 - }, - { - "Price": 4618, - "Quantity": 258 - }, - { - "Price": 4618.5, - "Quantity": 210 - }, - { - "Price": 4619, - "Quantity": 168 - }, - { - "Price": 4619.5, - "Quantity": 52 - }, - { - "Price": 4620, - "Quantity": 621 - }, - { - "Price": 4621, - "Quantity": 21 - }, - { - "Price": 4621.5, - "Quantity": 10 - }, - { - "Price": 4622, - "Quantity": 65 - }, - { - "Price": 4622.5, - "Quantity": 16 - } - ] - }, - { - "Figi": "BBG00475KKY8", - "InstrumentUid": "0da66728-6c30-44c4-9264-df8fac2467ee", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396813, - "LimitUp": 1490.6, - "LimitDown": 1096.4, - "Bids": [ - { - "Price": 1295.2, - "Quantity": 108 - }, - { - "Price": 1295, - "Quantity": 3984 - }, - { - "Price": 1294.8, - "Quantity": 3 - }, - { - "Price": 1294.6, - "Quantity": 2 - }, - { - "Price": 1294.4, - "Quantity": 109 - }, - { - "Price": 1294.2, - "Quantity": 70 - }, - { - "Price": 1294, - "Quantity": 430 - }, - { - "Price": 1293.8, - "Quantity": 17 - }, - { - "Price": 1293.6, - "Quantity": 370 - }, - { - "Price": 1293.4, - "Quantity": 730 - }, - { - "Price": 1293.2, - "Quantity": 1133 - }, - { - "Price": 1293, - "Quantity": 330 - }, - { - "Price": 1292.8, - "Quantity": 1442 - }, - { - "Price": 1292.6, - "Quantity": 708 - }, - { - "Price": 1292.4, - "Quantity": 716 - }, - { - "Price": 1292.2, - "Quantity": 1032 - }, - { - "Price": 1292, - "Quantity": 173 - }, - { - "Price": 1291.8, - "Quantity": 713 - }, - { - "Price": 1291.4, - "Quantity": 5 - }, - { - "Price": 1291.2, - "Quantity": 1330 - } - ], - "Asks": [ - { - "Price": 1295.8, - "Quantity": 2 - }, - { - "Price": 1296, - "Quantity": 165 - }, - { - "Price": 1296.2, - "Quantity": 48 - }, - { - "Price": 1296.4, - "Quantity": 112 - }, - { - "Price": 1296.6, - "Quantity": 218 - }, - { - "Price": 1296.8, - "Quantity": 150 - }, - { - "Price": 1297, - "Quantity": 170 - }, - { - "Price": 1297.2, - "Quantity": 271 - }, - { - "Price": 1297.4, - "Quantity": 185 - }, - { - "Price": 1297.6, - "Quantity": 589 - }, - { - "Price": 1297.8, - "Quantity": 1850 - }, - { - "Price": 1298, - "Quantity": 1016 - }, - { - "Price": 1298.2, - "Quantity": 3100 - }, - { - "Price": 1298.6, - "Quantity": 700 - }, - { - "Price": 1298.8, - "Quantity": 2020 - }, - { - "Price": 1299, - "Quantity": 379 - }, - { - "Price": 1299.4, - "Quantity": 71 - }, - { - "Price": 1299.6, - "Quantity": 366 - }, - { - "Price": 1299.8, - "Quantity": 2420 - }, - { - "Price": 1300, - "Quantity": 3452 - } - ] - }, - { - "Figi": "BBG004730N88", - "InstrumentUid": "e6123145-9665-43e0-8413-cd61b8aa9b13", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396813, - "LimitUp": 253.72, - "LimitDown": 206.56, - "Bids": [ - { - "Price": 233.78, - "Quantity": 20 - }, - { - "Price": 233.77, - "Quantity": 115 - }, - { - "Price": 233.76, - "Quantity": 20 - }, - { - "Price": 233.74, - "Quantity": 190 - }, - { - "Price": 233.73, - "Quantity": 423 - }, - { - "Price": 233.72, - "Quantity": 375 - }, - { - "Price": 233.71, - "Quantity": 75 - }, - { - "Price": 233.7, - "Quantity": 532 - }, - { - "Price": 233.69, - "Quantity": 465 - }, - { - "Price": 233.68, - "Quantity": 400 - }, - { - "Price": 233.67, - "Quantity": 264 - }, - { - "Price": 233.66, - "Quantity": 165 - }, - { - "Price": 233.65, - "Quantity": 393 - }, - { - "Price": 233.64, - "Quantity": 164 - }, - { - "Price": 233.63, - "Quantity": 164 - }, - { - "Price": 233.62, - "Quantity": 388 - }, - { - "Price": 233.61, - "Quantity": 659 - }, - { - "Price": 233.6, - "Quantity": 4236 - }, - { - "Price": 233.59, - "Quantity": 96 - }, - { - "Price": 233.58, - "Quantity": 93 - } - ], - "Asks": [ - { - "Price": 233.8, - "Quantity": 808 - }, - { - "Price": 233.81, - "Quantity": 71 - }, - { - "Price": 233.82, - "Quantity": 68 - }, - { - "Price": 233.83, - "Quantity": 173 - }, - { - "Price": 233.84, - "Quantity": 438 - }, - { - "Price": 233.85, - "Quantity": 1417 - }, - { - "Price": 233.86, - "Quantity": 573 - }, - { - "Price": 233.87, - "Quantity": 1034 - }, - { - "Price": 233.88, - "Quantity": 1086 - }, - { - "Price": 233.89, - "Quantity": 7893 - }, - { - "Price": 233.9, - "Quantity": 6479 - }, - { - "Price": 233.91, - "Quantity": 164 - }, - { - "Price": 233.92, - "Quantity": 1793 - }, - { - "Price": 233.93, - "Quantity": 164 - }, - { - "Price": 233.94, - "Quantity": 100 - }, - { - "Price": 233.95, - "Quantity": 793 - }, - { - "Price": 233.96, - "Quantity": 156 - }, - { - "Price": 233.97, - "Quantity": 1667 - }, - { - "Price": 233.98, - "Quantity": 2072 - }, - { - "Price": 233.99, - "Quantity": 1698 - } - ] - }, - { - "Figi": "BBG004RVFCY3", - "InstrumentUid": "ca845f68-6c43-44bc-b584-330d2a1e5eb7", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396813, - "LimitUp": 5068.5, - "LimitDown": 4125, - "Bids": [ - { - "Price": 4611, - "Quantity": 22 - }, - { - "Price": 4610.5, - "Quantity": 84 - }, - { - "Price": 4610, - "Quantity": 1050 - }, - { - "Price": 4609.5, - "Quantity": 13 - }, - { - "Price": 4609, - "Quantity": 47 - }, - { - "Price": 4607.5, - "Quantity": 2 - }, - { - "Price": 4606.5, - "Quantity": 17 - }, - { - "Price": 4605.5, - "Quantity": 733 - }, - { - "Price": 4605, - "Quantity": 207 - }, - { - "Price": 4604, - "Quantity": 146 - }, - { - "Price": 4603.5, - "Quantity": 26 - }, - { - "Price": 4603, - "Quantity": 34 - }, - { - "Price": 4602.5, - "Quantity": 26 - }, - { - "Price": 4602, - "Quantity": 4 - }, - { - "Price": 4601, - "Quantity": 26 - }, - { - "Price": 4600, - "Quantity": 58 - }, - { - "Price": 4599.5, - "Quantity": 112 - }, - { - "Price": 4599, - "Quantity": 809 - }, - { - "Price": 4598, - "Quantity": 24 - }, - { - "Price": 4597, - "Quantity": 12 - } - ], - "Asks": [ - { - "Price": 4612, - "Quantity": 17 - }, - { - "Price": 4612.5, - "Quantity": 134 - }, - { - "Price": 4613, - "Quantity": 8 - }, - { - "Price": 4613.5, - "Quantity": 60 - }, - { - "Price": 4614, - "Quantity": 123 - }, - { - "Price": 4615, - "Quantity": 12 - }, - { - "Price": 4615.5, - "Quantity": 57 - }, - { - "Price": 4616, - "Quantity": 90 - }, - { - "Price": 4616.5, - "Quantity": 63 - }, - { - "Price": 4617, - "Quantity": 10 - }, - { - "Price": 4617.5, - "Quantity": 11 - }, - { - "Price": 4618, - "Quantity": 258 - }, - { - "Price": 4618.5, - "Quantity": 210 - }, - { - "Price": 4619, - "Quantity": 168 - }, - { - "Price": 4619.5, - "Quantity": 52 - }, - { - "Price": 4620, - "Quantity": 621 - }, - { - "Price": 4621, - "Quantity": 21 - }, - { - "Price": 4621.5, - "Quantity": 10 - }, - { - "Price": 4622, - "Quantity": 65 - }, - { - "Price": 4622.5, - "Quantity": 16 - } - ] - }, - { - "Figi": "BBG004730N88", - "InstrumentUid": "e6123145-9665-43e0-8413-cd61b8aa9b13", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396814, - "LimitUp": 253.72, - "LimitDown": 206.56, - "Bids": [ - { - "Price": 233.78, - "Quantity": 20 - }, - { - "Price": 233.77, - "Quantity": 115 - }, - { - "Price": 233.76, - "Quantity": 20 - }, - { - "Price": 233.75, - "Quantity": 94 - }, - { - "Price": 233.74, - "Quantity": 101 - }, - { - "Price": 233.73, - "Quantity": 423 - }, - { - "Price": 233.72, - "Quantity": 375 - }, - { - "Price": 233.71, - "Quantity": 75 - }, - { - "Price": 233.7, - "Quantity": 532 - }, - { - "Price": 233.69, - "Quantity": 465 - }, - { - "Price": 233.68, - "Quantity": 400 - }, - { - "Price": 233.67, - "Quantity": 264 - }, - { - "Price": 233.66, - "Quantity": 165 - }, - { - "Price": 233.65, - "Quantity": 393 - }, - { - "Price": 233.64, - "Quantity": 164 - }, - { - "Price": 233.63, - "Quantity": 164 - }, - { - "Price": 233.62, - "Quantity": 428 - }, - { - "Price": 233.61, - "Quantity": 659 - }, - { - "Price": 233.6, - "Quantity": 4226 - }, - { - "Price": 233.59, - "Quantity": 96 - } - ], - "Asks": [ - { - "Price": 233.8, - "Quantity": 789 - }, - { - "Price": 233.81, - "Quantity": 71 - }, - { - "Price": 233.82, - "Quantity": 68 - }, - { - "Price": 233.83, - "Quantity": 173 - }, - { - "Price": 233.84, - "Quantity": 438 - }, - { - "Price": 233.85, - "Quantity": 1217 - }, - { - "Price": 233.86, - "Quantity": 573 - }, - { - "Price": 233.87, - "Quantity": 1234 - }, - { - "Price": 233.88, - "Quantity": 886 - }, - { - "Price": 233.89, - "Quantity": 7893 - }, - { - "Price": 233.9, - "Quantity": 6679 - }, - { - "Price": 233.91, - "Quantity": 164 - }, - { - "Price": 233.92, - "Quantity": 1793 - }, - { - "Price": 233.93, - "Quantity": 164 - }, - { - "Price": 233.94, - "Quantity": 100 - }, - { - "Price": 233.95, - "Quantity": 793 - }, - { - "Price": 233.96, - "Quantity": 156 - }, - { - "Price": 233.97, - "Quantity": 1367 - }, - { - "Price": 233.98, - "Quantity": 2372 - }, - { - "Price": 233.99, - "Quantity": 1698 - } - ] - }, - { - "Figi": "BBG004RVFCY3", - "InstrumentUid": "ca845f68-6c43-44bc-b584-330d2a1e5eb7", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396814, - "LimitUp": 5068.5, - "LimitDown": 4125, - "Bids": [ - { - "Price": 4611, - "Quantity": 22 - }, - { - "Price": 4610.5, - "Quantity": 76 - }, - { - "Price": 4610, - "Quantity": 1050 - }, - { - "Price": 4609.5, - "Quantity": 13 - }, - { - "Price": 4609, - "Quantity": 47 - }, - { - "Price": 4607.5, - "Quantity": 2 - }, - { - "Price": 4606.5, - "Quantity": 17 - }, - { - "Price": 4605.5, - "Quantity": 733 - }, - { - "Price": 4605, - "Quantity": 207 - }, - { - "Price": 4604, - "Quantity": 146 - }, - { - "Price": 4603.5, - "Quantity": 26 - }, - { - "Price": 4603, - "Quantity": 34 - }, - { - "Price": 4602.5, - "Quantity": 26 - }, - { - "Price": 4602, - "Quantity": 4 - }, - { - "Price": 4601, - "Quantity": 26 - }, - { - "Price": 4600, - "Quantity": 58 - }, - { - "Price": 4599.5, - "Quantity": 112 - }, - { - "Price": 4599, - "Quantity": 809 - }, - { - "Price": 4598, - "Quantity": 24 - }, - { - "Price": 4597, - "Quantity": 12 - } - ], - "Asks": [ - { - "Price": 4612, - "Quantity": 17 - }, - { - "Price": 4612.5, - "Quantity": 134 - }, - { - "Price": 4613, - "Quantity": 8 - }, - { - "Price": 4613.5, - "Quantity": 60 - }, - { - "Price": 4614, - "Quantity": 123 - }, - { - "Price": 4615, - "Quantity": 12 - }, - { - "Price": 4615.5, - "Quantity": 57 - }, - { - "Price": 4616, - "Quantity": 90 - }, - { - "Price": 4616.5, - "Quantity": 63 - }, - { - "Price": 4617, - "Quantity": 10 - }, - { - "Price": 4617.5, - "Quantity": 11 - }, - { - "Price": 4618, - "Quantity": 258 - }, - { - "Price": 4618.5, - "Quantity": 210 - }, - { - "Price": 4619, - "Quantity": 168 - }, - { - "Price": 4619.5, - "Quantity": 52 - }, - { - "Price": 4620, - "Quantity": 621 - }, - { - "Price": 4621, - "Quantity": 21 - }, - { - "Price": 4621.5, - "Quantity": 10 - }, - { - "Price": 4622, - "Quantity": 65 - }, - { - "Price": 4622.5, - "Quantity": 16 - } - ] - }, - { - "Figi": "BBG00475KKY8", - "InstrumentUid": "0da66728-6c30-44c4-9264-df8fac2467ee", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396814, - "LimitUp": 1490.6, - "LimitDown": 1096.4, - "Bids": [ - { - "Price": 1295.2, - "Quantity": 108 - }, - { - "Price": 1295, - "Quantity": 3984 - }, - { - "Price": 1294.8, - "Quantity": 3 - }, - { - "Price": 1294.6, - "Quantity": 2 - }, - { - "Price": 1294.4, - "Quantity": 109 - }, - { - "Price": 1294.2, - "Quantity": 70 - }, - { - "Price": 1294, - "Quantity": 430 - }, - { - "Price": 1293.8, - "Quantity": 17 - }, - { - "Price": 1293.6, - "Quantity": 370 - }, - { - "Price": 1293.4, - "Quantity": 730 - }, - { - "Price": 1293.2, - "Quantity": 1833 - }, - { - "Price": 1293, - "Quantity": 330 - }, - { - "Price": 1292.8, - "Quantity": 1442 - }, - { - "Price": 1292.6, - "Quantity": 708 - }, - { - "Price": 1292.4, - "Quantity": 16 - }, - { - "Price": 1292.2, - "Quantity": 1032 - }, - { - "Price": 1292, - "Quantity": 173 - }, - { - "Price": 1291.8, - "Quantity": 713 - }, - { - "Price": 1291.4, - "Quantity": 5 - }, - { - "Price": 1291.2, - "Quantity": 1330 - } - ], - "Asks": [ - { - "Price": 1296, - "Quantity": 163 - }, - { - "Price": 1296.2, - "Quantity": 48 - }, - { - "Price": 1296.4, - "Quantity": 108 - }, - { - "Price": 1296.6, - "Quantity": 218 - }, - { - "Price": 1296.8, - "Quantity": 150 - }, - { - "Price": 1297, - "Quantity": 201 - }, - { - "Price": 1297.2, - "Quantity": 271 - }, - { - "Price": 1297.4, - "Quantity": 185 - }, - { - "Price": 1297.6, - "Quantity": 372 - }, - { - "Price": 1297.8, - "Quantity": 1850 - }, - { - "Price": 1298, - "Quantity": 1016 - }, - { - "Price": 1298.2, - "Quantity": 2400 - }, - { - "Price": 1298.6, - "Quantity": 700 - }, - { - "Price": 1298.8, - "Quantity": 2020 - }, - { - "Price": 1299, - "Quantity": 1079 - }, - { - "Price": 1299.4, - "Quantity": 71 - }, - { - "Price": 1299.6, - "Quantity": 366 - }, - { - "Price": 1299.8, - "Quantity": 2420 - }, - { - "Price": 1300, - "Quantity": 3452 - }, - { - "Price": 1300.2, - "Quantity": 2 - } - ] - }, - { - "Figi": "BBG004730N88", - "InstrumentUid": "e6123145-9665-43e0-8413-cd61b8aa9b13", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396814, - "LimitUp": 253.72, - "LimitDown": 206.56, - "Bids": [ - { - "Price": 233.78, - "Quantity": 20 - }, - { - "Price": 233.77, - "Quantity": 125 - }, - { - "Price": 233.76, - "Quantity": 20 - }, - { - "Price": 233.75, - "Quantity": 94 - }, - { - "Price": 233.74, - "Quantity": 101 - }, - { - "Price": 233.73, - "Quantity": 423 - }, - { - "Price": 233.72, - "Quantity": 375 - }, - { - "Price": 233.71, - "Quantity": 75 - }, - { - "Price": 233.7, - "Quantity": 532 - }, - { - "Price": 233.69, - "Quantity": 465 - }, - { - "Price": 233.68, - "Quantity": 400 - }, - { - "Price": 233.67, - "Quantity": 264 - }, - { - "Price": 233.66, - "Quantity": 165 - }, - { - "Price": 233.65, - "Quantity": 393 - }, - { - "Price": 233.64, - "Quantity": 164 - }, - { - "Price": 233.63, - "Quantity": 164 - }, - { - "Price": 233.62, - "Quantity": 428 - }, - { - "Price": 233.61, - "Quantity": 659 - }, - { - "Price": 233.6, - "Quantity": 4226 - }, - { - "Price": 233.59, - "Quantity": 96 - } - ], - "Asks": [ - { - "Price": 233.8, - "Quantity": 764 - }, - { - "Price": 233.81, - "Quantity": 71 - }, - { - "Price": 233.82, - "Quantity": 68 - }, - { - "Price": 233.83, - "Quantity": 173 - }, - { - "Price": 233.84, - "Quantity": 438 - }, - { - "Price": 233.85, - "Quantity": 1217 - }, - { - "Price": 233.86, - "Quantity": 573 - }, - { - "Price": 233.87, - "Quantity": 1234 - }, - { - "Price": 233.88, - "Quantity": 886 - }, - { - "Price": 233.89, - "Quantity": 7893 - }, - { - "Price": 233.9, - "Quantity": 6679 - }, - { - "Price": 233.91, - "Quantity": 164 - }, - { - "Price": 233.92, - "Quantity": 1793 - }, - { - "Price": 233.93, - "Quantity": 164 - }, - { - "Price": 233.94, - "Quantity": 100 - }, - { - "Price": 233.95, - "Quantity": 793 - }, - { - "Price": 233.96, - "Quantity": 156 - }, - { - "Price": 233.97, - "Quantity": 1367 - }, - { - "Price": 233.98, - "Quantity": 2372 - }, - { - "Price": 233.99, - "Quantity": 1698 - } - ] - }, - { - "Figi": "BBG004RVFCY3", - "InstrumentUid": "ca845f68-6c43-44bc-b584-330d2a1e5eb7", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396814, - "LimitUp": 5068.5, - "LimitDown": 4125, - "Bids": [ - { - "Price": 4611, - "Quantity": 22 - }, - { - "Price": 4610.5, - "Quantity": 76 - }, - { - "Price": 4610, - "Quantity": 1050 - }, - { - "Price": 4609.5, - "Quantity": 13 - }, - { - "Price": 4609, - "Quantity": 47 - }, - { - "Price": 4607.5, - "Quantity": 2 - }, - { - "Price": 4606.5, - "Quantity": 17 - }, - { - "Price": 4605.5, - "Quantity": 733 - }, - { - "Price": 4605, - "Quantity": 207 - }, - { - "Price": 4604, - "Quantity": 146 - }, - { - "Price": 4603.5, - "Quantity": 26 - }, - { - "Price": 4603, - "Quantity": 34 - }, - { - "Price": 4602.5, - "Quantity": 26 - }, - { - "Price": 4602, - "Quantity": 4 - }, - { - "Price": 4601, - "Quantity": 26 - }, - { - "Price": 4600.5, - "Quantity": 26 - }, - { - "Price": 4600, - "Quantity": 58 - }, - { - "Price": 4599.5, - "Quantity": 112 - }, - { - "Price": 4599, - "Quantity": 809 - }, - { - "Price": 4598, - "Quantity": 24 - } - ], - "Asks": [ - { - "Price": 4612, - "Quantity": 17 - }, - { - "Price": 4612.5, - "Quantity": 134 - }, - { - "Price": 4613, - "Quantity": 8 - }, - { - "Price": 4613.5, - "Quantity": 60 - }, - { - "Price": 4614, - "Quantity": 123 - }, - { - "Price": 4615, - "Quantity": 12 - }, - { - "Price": 4615.5, - "Quantity": 57 - }, - { - "Price": 4616, - "Quantity": 90 - }, - { - "Price": 4616.5, - "Quantity": 63 - }, - { - "Price": 4617, - "Quantity": 10 - }, - { - "Price": 4617.5, - "Quantity": 11 - }, - { - "Price": 4618, - "Quantity": 258 - }, - { - "Price": 4618.5, - "Quantity": 210 - }, - { - "Price": 4619, - "Quantity": 168 - }, - { - "Price": 4619.5, - "Quantity": 52 - }, - { - "Price": 4620, - "Quantity": 621 - }, - { - "Price": 4621, - "Quantity": 21 - }, - { - "Price": 4621.5, - "Quantity": 10 - }, - { - "Price": 4622, - "Quantity": 65 - }, - { - "Price": 4622.5, - "Quantity": 16 - } - ] - }, - { - "Figi": "BBG004730N88", - "InstrumentUid": "e6123145-9665-43e0-8413-cd61b8aa9b13", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396814, - "LimitUp": 253.72, - "LimitDown": 206.56, - "Bids": [ - { - "Price": 233.78, - "Quantity": 20 - }, - { - "Price": 233.77, - "Quantity": 125 - }, - { - "Price": 233.76, - "Quantity": 20 - }, - { - "Price": 233.75, - "Quantity": 94 - }, - { - "Price": 233.74, - "Quantity": 101 - }, - { - "Price": 233.73, - "Quantity": 423 - }, - { - "Price": 233.72, - "Quantity": 375 - }, - { - "Price": 233.71, - "Quantity": 75 - }, - { - "Price": 233.7, - "Quantity": 532 - }, - { - "Price": 233.69, - "Quantity": 465 - }, - { - "Price": 233.68, - "Quantity": 400 - }, - { - "Price": 233.67, - "Quantity": 264 - }, - { - "Price": 233.66, - "Quantity": 165 - }, - { - "Price": 233.65, - "Quantity": 393 - }, - { - "Price": 233.64, - "Quantity": 164 - }, - { - "Price": 233.63, - "Quantity": 164 - }, - { - "Price": 233.62, - "Quantity": 428 - }, - { - "Price": 233.61, - "Quantity": 659 - }, - { - "Price": 233.6, - "Quantity": 4226 - }, - { - "Price": 233.59, - "Quantity": 96 - } - ], - "Asks": [ - { - "Price": 233.8, - "Quantity": 739 - }, - { - "Price": 233.81, - "Quantity": 71 - }, - { - "Price": 233.82, - "Quantity": 68 - }, - { - "Price": 233.83, - "Quantity": 148 - }, - { - "Price": 233.84, - "Quantity": 463 - }, - { - "Price": 233.85, - "Quantity": 1217 - }, - { - "Price": 233.86, - "Quantity": 548 - }, - { - "Price": 233.87, - "Quantity": 1259 - }, - { - "Price": 233.88, - "Quantity": 886 - }, - { - "Price": 233.89, - "Quantity": 7893 - }, - { - "Price": 233.9, - "Quantity": 6679 - }, - { - "Price": 233.91, - "Quantity": 164 - }, - { - "Price": 233.92, - "Quantity": 1793 - }, - { - "Price": 233.93, - "Quantity": 164 - }, - { - "Price": 233.94, - "Quantity": 100 - }, - { - "Price": 233.95, - "Quantity": 793 - }, - { - "Price": 233.96, - "Quantity": 156 - }, - { - "Price": 233.97, - "Quantity": 1367 - }, - { - "Price": 233.98, - "Quantity": 2372 - }, - { - "Price": 233.99, - "Quantity": 1698 - } - ] - }, - { - "Figi": "BBG00475KKY8", - "InstrumentUid": "0da66728-6c30-44c4-9264-df8fac2467ee", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396814, - "LimitUp": 1490.6, - "LimitDown": 1096.4, - "Bids": [ - { - "Price": 1295.2, - "Quantity": 108 - }, - { - "Price": 1295, - "Quantity": 3984 - }, - { - "Price": 1294.8, - "Quantity": 3 - }, - { - "Price": 1294.6, - "Quantity": 2 - }, - { - "Price": 1294.4, - "Quantity": 109 - }, - { - "Price": 1294.2, - "Quantity": 70 - }, - { - "Price": 1294, - "Quantity": 430 - }, - { - "Price": 1293.8, - "Quantity": 17 - }, - { - "Price": 1293.6, - "Quantity": 370 - }, - { - "Price": 1293.4, - "Quantity": 730 - }, - { - "Price": 1293.2, - "Quantity": 1833 - }, - { - "Price": 1293, - "Quantity": 330 - }, - { - "Price": 1292.8, - "Quantity": 1442 - }, - { - "Price": 1292.6, - "Quantity": 708 - }, - { - "Price": 1292.4, - "Quantity": 16 - }, - { - "Price": 1292.2, - "Quantity": 1032 - }, - { - "Price": 1292, - "Quantity": 173 - }, - { - "Price": 1291.8, - "Quantity": 713 - }, - { - "Price": 1291.4, - "Quantity": 5 - }, - { - "Price": 1291.2, - "Quantity": 1330 - } - ], - "Asks": [ - { - "Price": 1296, - "Quantity": 163 - }, - { - "Price": 1296.2, - "Quantity": 48 - }, - { - "Price": 1296.4, - "Quantity": 108 - }, - { - "Price": 1296.6, - "Quantity": 218 - }, - { - "Price": 1296.8, - "Quantity": 150 - }, - { - "Price": 1297, - "Quantity": 201 - }, - { - "Price": 1297.2, - "Quantity": 271 - }, - { - "Price": 1297.4, - "Quantity": 185 - }, - { - "Price": 1297.6, - "Quantity": 372 - }, - { - "Price": 1297.8, - "Quantity": 1850 - }, - { - "Price": 1298, - "Quantity": 1016 - }, - { - "Price": 1298.2, - "Quantity": 2400 - }, - { - "Price": 1298.6, - "Quantity": 700 - }, - { - "Price": 1298.8, - "Quantity": 2020 - }, - { - "Price": 1299, - "Quantity": 1079 - }, - { - "Price": 1299.4, - "Quantity": 71 - }, - { - "Price": 1299.6, - "Quantity": 366 - }, - { - "Price": 1299.8, - "Quantity": 2420 - }, - { - "Price": 1300, - "Quantity": 3452 - }, - { - "Price": 1300.2, - "Quantity": 2 - } - ] - }, - { - "Figi": "BBG004RVFCY3", - "InstrumentUid": "ca845f68-6c43-44bc-b584-330d2a1e5eb7", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396814, - "LimitUp": 5068.5, - "LimitDown": 4125, - "Bids": [ - { - "Price": 4611, - "Quantity": 22 - }, - { - "Price": 4610.5, - "Quantity": 151 - }, - { - "Price": 4610, - "Quantity": 1070 - }, - { - "Price": 4609, - "Quantity": 27 - }, - { - "Price": 4607.5, - "Quantity": 2 - }, - { - "Price": 4606.5, - "Quantity": 17 - }, - { - "Price": 4605.5, - "Quantity": 733 - }, - { - "Price": 4605, - "Quantity": 207 - }, - { - "Price": 4604, - "Quantity": 146 - }, - { - "Price": 4603.5, - "Quantity": 26 - }, - { - "Price": 4603, - "Quantity": 34 - }, - { - "Price": 4602.5, - "Quantity": 26 - }, - { - "Price": 4602, - "Quantity": 4 - }, - { - "Price": 4601, - "Quantity": 26 - }, - { - "Price": 4600.5, - "Quantity": 26 - }, - { - "Price": 4600, - "Quantity": 58 - }, - { - "Price": 4599.5, - "Quantity": 112 - }, - { - "Price": 4599, - "Quantity": 809 - }, - { - "Price": 4598, - "Quantity": 24 - }, - { - "Price": 4597, - "Quantity": 12 - } - ], - "Asks": [ - { - "Price": 4612.5, - "Quantity": 52 - }, - { - "Price": 4613, - "Quantity": 8 - }, - { - "Price": 4613.5, - "Quantity": 60 - }, - { - "Price": 4614, - "Quantity": 103 - }, - { - "Price": 4614.5, - "Quantity": 20 - }, - { - "Price": 4615, - "Quantity": 12 - }, - { - "Price": 4615.5, - "Quantity": 57 - }, - { - "Price": 4616, - "Quantity": 90 - }, - { - "Price": 4616.5, - "Quantity": 63 - }, - { - "Price": 4617, - "Quantity": 10 - }, - { - "Price": 4617.5, - "Quantity": 11 - }, - { - "Price": 4618, - "Quantity": 258 - }, - { - "Price": 4618.5, - "Quantity": 210 - }, - { - "Price": 4619, - "Quantity": 68 - }, - { - "Price": 4619.5, - "Quantity": 52 - }, - { - "Price": 4620, - "Quantity": 621 - }, - { - "Price": 4621, - "Quantity": 21 - }, - { - "Price": 4621.5, - "Quantity": 10 - }, - { - "Price": 4622, - "Quantity": 65 - }, - { - "Price": 4622.5, - "Quantity": 116 - } - ] - }, - { - "Figi": "BBG004730N88", - "InstrumentUid": "e6123145-9665-43e0-8413-cd61b8aa9b13", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396815, - "LimitUp": 253.72, - "LimitDown": 206.56, - "Bids": [ - { - "Price": 233.78, - "Quantity": 20 - }, - { - "Price": 233.77, - "Quantity": 125 - }, - { - "Price": 233.76, - "Quantity": 20 - }, - { - "Price": 233.75, - "Quantity": 104 - }, - { - "Price": 233.74, - "Quantity": 101 - }, - { - "Price": 233.73, - "Quantity": 423 - }, - { - "Price": 233.72, - "Quantity": 375 - }, - { - "Price": 233.71, - "Quantity": 75 - }, - { - "Price": 233.7, - "Quantity": 532 - }, - { - "Price": 233.69, - "Quantity": 465 - }, - { - "Price": 233.68, - "Quantity": 400 - }, - { - "Price": 233.67, - "Quantity": 264 - }, - { - "Price": 233.66, - "Quantity": 165 - }, - { - "Price": 233.65, - "Quantity": 393 - }, - { - "Price": 233.64, - "Quantity": 164 - }, - { - "Price": 233.63, - "Quantity": 164 - }, - { - "Price": 233.62, - "Quantity": 428 - }, - { - "Price": 233.61, - "Quantity": 659 - }, - { - "Price": 233.6, - "Quantity": 4226 - }, - { - "Price": 233.59, - "Quantity": 96 - } - ], - "Asks": [ - { - "Price": 233.8, - "Quantity": 714 - }, - { - "Price": 233.81, - "Quantity": 71 - }, - { - "Price": 233.82, - "Quantity": 68 - }, - { - "Price": 233.83, - "Quantity": 148 - }, - { - "Price": 233.84, - "Quantity": 463 - }, - { - "Price": 233.85, - "Quantity": 1217 - }, - { - "Price": 233.86, - "Quantity": 548 - }, - { - "Price": 233.87, - "Quantity": 1259 - }, - { - "Price": 233.88, - "Quantity": 886 - }, - { - "Price": 233.89, - "Quantity": 7893 - }, - { - "Price": 233.9, - "Quantity": 6679 - }, - { - "Price": 233.91, - "Quantity": 164 - }, - { - "Price": 233.92, - "Quantity": 1793 - }, - { - "Price": 233.93, - "Quantity": 164 - }, - { - "Price": 233.94, - "Quantity": 100 - }, - { - "Price": 233.95, - "Quantity": 793 - }, - { - "Price": 233.96, - "Quantity": 156 - }, - { - "Price": 233.97, - "Quantity": 1367 - }, - { - "Price": 233.98, - "Quantity": 2372 - }, - { - "Price": 233.99, - "Quantity": 1698 - } - ] - }, - { - "Figi": "BBG004RVFCY3", - "InstrumentUid": "ca845f68-6c43-44bc-b584-330d2a1e5eb7", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396815, - "LimitUp": 5068.5, - "LimitDown": 4125, - "Bids": [ - { - "Price": 4612, - "Quantity": 1 - }, - { - "Price": 4611.5, - "Quantity": 14 - }, - { - "Price": 4611, - "Quantity": 34 - }, - { - "Price": 4610.5, - "Quantity": 286 - }, - { - "Price": 4610, - "Quantity": 1050 - }, - { - "Price": 4609.5, - "Quantity": 27 - }, - { - "Price": 4607.5, - "Quantity": 2 - }, - { - "Price": 4606.5, - "Quantity": 17 - }, - { - "Price": 4605.5, - "Quantity": 733 - }, - { - "Price": 4605, - "Quantity": 207 - }, - { - "Price": 4604, - "Quantity": 146 - }, - { - "Price": 4603.5, - "Quantity": 26 - }, - { - "Price": 4603, - "Quantity": 34 - }, - { - "Price": 4602.5, - "Quantity": 26 - }, - { - "Price": 4602, - "Quantity": 4 - }, - { - "Price": 4601, - "Quantity": 26 - }, - { - "Price": 4600.5, - "Quantity": 26 - }, - { - "Price": 4600, - "Quantity": 58 - }, - { - "Price": 4599.5, - "Quantity": 112 - }, - { - "Price": 4599, - "Quantity": 809 - } - ], - "Asks": [ - { - "Price": 4612.5, - "Quantity": 18 - }, - { - "Price": 4613, - "Quantity": 8 - }, - { - "Price": 4613.5, - "Quantity": 94 - }, - { - "Price": 4614, - "Quantity": 103 - }, - { - "Price": 4615, - "Quantity": 12 - }, - { - "Price": 4615.5, - "Quantity": 30 - }, - { - "Price": 4616, - "Quantity": 117 - }, - { - "Price": 4616.5, - "Quantity": 63 - }, - { - "Price": 4617, - "Quantity": 10 - }, - { - "Price": 4617.5, - "Quantity": 11 - }, - { - "Price": 4618, - "Quantity": 255 - }, - { - "Price": 4618.5, - "Quantity": 210 - }, - { - "Price": 4619, - "Quantity": 68 - }, - { - "Price": 4619.5, - "Quantity": 52 - }, - { - "Price": 4620, - "Quantity": 621 - }, - { - "Price": 4621, - "Quantity": 21 - }, - { - "Price": 4621.5, - "Quantity": 10 - }, - { - "Price": 4622, - "Quantity": 65 - }, - { - "Price": 4622.5, - "Quantity": 116 - }, - { - "Price": 4623, - "Quantity": 1 - } - ] - }, - { - "Figi": "BBG004730N88", - "InstrumentUid": "e6123145-9665-43e0-8413-cd61b8aa9b13", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396815, - "LimitUp": 253.72, - "LimitDown": 206.56, - "Bids": [ - { - "Price": 233.78, - "Quantity": 20 - }, - { - "Price": 233.77, - "Quantity": 125 - }, - { - "Price": 233.76, - "Quantity": 20 - }, - { - "Price": 233.75, - "Quantity": 104 - }, - { - "Price": 233.74, - "Quantity": 101 - }, - { - "Price": 233.73, - "Quantity": 423 - }, - { - "Price": 233.72, - "Quantity": 375 - }, - { - "Price": 233.71, - "Quantity": 75 - }, - { - "Price": 233.7, - "Quantity": 532 - }, - { - "Price": 233.69, - "Quantity": 465 - }, - { - "Price": 233.68, - "Quantity": 400 - }, - { - "Price": 233.67, - "Quantity": 264 - }, - { - "Price": 233.66, - "Quantity": 165 - }, - { - "Price": 233.65, - "Quantity": 393 - }, - { - "Price": 233.64, - "Quantity": 164 - }, - { - "Price": 233.63, - "Quantity": 164 - }, - { - "Price": 233.62, - "Quantity": 428 - }, - { - "Price": 233.61, - "Quantity": 659 - }, - { - "Price": 233.6, - "Quantity": 4226 - }, - { - "Price": 233.59, - "Quantity": 96 - } - ], - "Asks": [ - { - "Price": 233.8, - "Quantity": 689 - }, - { - "Price": 233.81, - "Quantity": 71 - }, - { - "Price": 233.82, - "Quantity": 68 - }, - { - "Price": 233.83, - "Quantity": 148 - }, - { - "Price": 233.84, - "Quantity": 463 - }, - { - "Price": 233.85, - "Quantity": 1217 - }, - { - "Price": 233.86, - "Quantity": 548 - }, - { - "Price": 233.87, - "Quantity": 1259 - }, - { - "Price": 233.88, - "Quantity": 886 - }, - { - "Price": 233.89, - "Quantity": 7893 - }, - { - "Price": 233.9, - "Quantity": 6679 - }, - { - "Price": 233.91, - "Quantity": 164 - }, - { - "Price": 233.92, - "Quantity": 1793 - }, - { - "Price": 233.93, - "Quantity": 164 - }, - { - "Price": 233.94, - "Quantity": 100 - }, - { - "Price": 233.95, - "Quantity": 793 - }, - { - "Price": 233.96, - "Quantity": 156 - }, - { - "Price": 233.97, - "Quantity": 1367 - }, - { - "Price": 233.98, - "Quantity": 2372 - }, - { - "Price": 233.99, - "Quantity": 1698 - } - ] - }, - { - "Figi": "BBG00475KKY8", - "InstrumentUid": "0da66728-6c30-44c4-9264-df8fac2467ee", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396815, - "LimitUp": 1490.6, - "LimitDown": 1096.4, - "Bids": [ - { - "Price": 1295.2, - "Quantity": 106 - }, - { - "Price": 1295, - "Quantity": 3972 - }, - { - "Price": 1294.8, - "Quantity": 3 - }, - { - "Price": 1294.6, - "Quantity": 2 - }, - { - "Price": 1294.4, - "Quantity": 109 - }, - { - "Price": 1294.2, - "Quantity": 70 - }, - { - "Price": 1294, - "Quantity": 430 - }, - { - "Price": 1293.8, - "Quantity": 17 - }, - { - "Price": 1293.6, - "Quantity": 370 - }, - { - "Price": 1293.4, - "Quantity": 730 - }, - { - "Price": 1293.2, - "Quantity": 1833 - }, - { - "Price": 1293, - "Quantity": 330 - }, - { - "Price": 1292.8, - "Quantity": 1442 - }, - { - "Price": 1292.6, - "Quantity": 708 - }, - { - "Price": 1292.4, - "Quantity": 16 - }, - { - "Price": 1292.2, - "Quantity": 1032 - }, - { - "Price": 1292, - "Quantity": 173 - }, - { - "Price": 1291.8, - "Quantity": 713 - }, - { - "Price": 1291.4, - "Quantity": 5 - }, - { - "Price": 1291.2, - "Quantity": 1330 - } - ], - "Asks": [ - { - "Price": 1295.8, - "Quantity": 13 - }, - { - "Price": 1296, - "Quantity": 163 - }, - { - "Price": 1296.2, - "Quantity": 48 - }, - { - "Price": 1296.4, - "Quantity": 117 - }, - { - "Price": 1296.6, - "Quantity": 218 - }, - { - "Price": 1296.8, - "Quantity": 150 - }, - { - "Price": 1297, - "Quantity": 170 - }, - { - "Price": 1297.2, - "Quantity": 271 - }, - { - "Price": 1297.4, - "Quantity": 185 - }, - { - "Price": 1297.6, - "Quantity": 589 - }, - { - "Price": 1297.8, - "Quantity": 1850 - }, - { - "Price": 1298, - "Quantity": 1016 - }, - { - "Price": 1298.2, - "Quantity": 2400 - }, - { - "Price": 1298.6, - "Quantity": 700 - }, - { - "Price": 1298.8, - "Quantity": 2020 - }, - { - "Price": 1299, - "Quantity": 1079 - }, - { - "Price": 1299.4, - "Quantity": 71 - }, - { - "Price": 1299.6, - "Quantity": 366 - }, - { - "Price": 1299.8, - "Quantity": 2420 - }, - { - "Price": 1300, - "Quantity": 3452 - } - ] - }, - { - "Figi": "BBG004RVFCY3", - "InstrumentUid": "ca845f68-6c43-44bc-b584-330d2a1e5eb7", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396815, - "LimitUp": 5068.5, - "LimitDown": 4125, - "Bids": [ - { - "Price": 4611.5, - "Quantity": 14 - }, - { - "Price": 4611, - "Quantity": 34 - }, - { - "Price": 4610.5, - "Quantity": 164 - }, - { - "Price": 4610, - "Quantity": 1050 - }, - { - "Price": 4609.5, - "Quantity": 27 - }, - { - "Price": 4607.5, - "Quantity": 2 - }, - { - "Price": 4606.5, - "Quantity": 17 - }, - { - "Price": 4605.5, - "Quantity": 733 - }, - { - "Price": 4605, - "Quantity": 207 - }, - { - "Price": 4604, - "Quantity": 146 - }, - { - "Price": 4603.5, - "Quantity": 26 - }, - { - "Price": 4603, - "Quantity": 34 - }, - { - "Price": 4602.5, - "Quantity": 26 - }, - { - "Price": 4602, - "Quantity": 30 - }, - { - "Price": 4601, - "Quantity": 26 - }, - { - "Price": 4600.5, - "Quantity": 26 - }, - { - "Price": 4600, - "Quantity": 58 - }, - { - "Price": 4599.5, - "Quantity": 112 - }, - { - "Price": 4599, - "Quantity": 809 - }, - { - "Price": 4598, - "Quantity": 24 - } - ], - "Asks": [ - { - "Price": 4612.5, - "Quantity": 18 - }, - { - "Price": 4613, - "Quantity": 8 - }, - { - "Price": 4613.5, - "Quantity": 94 - }, - { - "Price": 4614, - "Quantity": 103 - }, - { - "Price": 4615, - "Quantity": 12 - }, - { - "Price": 4615.5, - "Quantity": 30 - }, - { - "Price": 4616, - "Quantity": 117 - }, - { - "Price": 4616.5, - "Quantity": 63 - }, - { - "Price": 4617, - "Quantity": 10 - }, - { - "Price": 4617.5, - "Quantity": 11 - }, - { - "Price": 4618, - "Quantity": 255 - }, - { - "Price": 4618.5, - "Quantity": 210 - }, - { - "Price": 4619, - "Quantity": 68 - }, - { - "Price": 4619.5, - "Quantity": 52 - }, - { - "Price": 4620, - "Quantity": 621 - }, - { - "Price": 4621, - "Quantity": 21 - }, - { - "Price": 4621.5, - "Quantity": 10 - }, - { - "Price": 4622, - "Quantity": 65 - }, - { - "Price": 4622.5, - "Quantity": 116 - }, - { - "Price": 4623, - "Quantity": 1 - } - ] - }, - { - "Figi": "BBG004730N88", - "InstrumentUid": "e6123145-9665-43e0-8413-cd61b8aa9b13", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396815, - "LimitUp": 253.72, - "LimitDown": 206.56, - "Bids": [ - { - "Price": 233.77, - "Quantity": 114 - }, - { - "Price": 233.76, - "Quantity": 20 - }, - { - "Price": 233.75, - "Quantity": 104 - }, - { - "Price": 233.74, - "Quantity": 101 - }, - { - "Price": 233.73, - "Quantity": 423 - }, - { - "Price": 233.72, - "Quantity": 375 - }, - { - "Price": 233.71, - "Quantity": 75 - }, - { - "Price": 233.7, - "Quantity": 532 - }, - { - "Price": 233.69, - "Quantity": 465 - }, - { - "Price": 233.68, - "Quantity": 400 - }, - { - "Price": 233.67, - "Quantity": 264 - }, - { - "Price": 233.66, - "Quantity": 165 - }, - { - "Price": 233.65, - "Quantity": 393 - }, - { - "Price": 233.64, - "Quantity": 164 - }, - { - "Price": 233.63, - "Quantity": 164 - }, - { - "Price": 233.62, - "Quantity": 428 - }, - { - "Price": 233.61, - "Quantity": 659 - }, - { - "Price": 233.6, - "Quantity": 4226 - }, - { - "Price": 233.59, - "Quantity": 96 - }, - { - "Price": 233.58, - "Quantity": 93 - } - ], - "Asks": [ - { - "Price": 233.8, - "Quantity": 649 - }, - { - "Price": 233.81, - "Quantity": 71 - }, - { - "Price": 233.82, - "Quantity": 68 - }, - { - "Price": 233.83, - "Quantity": 148 - }, - { - "Price": 233.84, - "Quantity": 463 - }, - { - "Price": 233.85, - "Quantity": 1217 - }, - { - "Price": 233.86, - "Quantity": 548 - }, - { - "Price": 233.87, - "Quantity": 1259 - }, - { - "Price": 233.88, - "Quantity": 886 - }, - { - "Price": 233.89, - "Quantity": 7893 - }, - { - "Price": 233.9, - "Quantity": 6679 - }, - { - "Price": 233.91, - "Quantity": 164 - }, - { - "Price": 233.92, - "Quantity": 1793 - }, - { - "Price": 233.93, - "Quantity": 164 - }, - { - "Price": 233.94, - "Quantity": 100 - }, - { - "Price": 233.95, - "Quantity": 859 - }, - { - "Price": 233.96, - "Quantity": 156 - }, - { - "Price": 233.97, - "Quantity": 1367 - }, - { - "Price": 233.98, - "Quantity": 2372 - }, - { - "Price": 233.99, - "Quantity": 2698 - } - ] - }, - { - "Figi": "BBG004730N88", - "InstrumentUid": "e6123145-9665-43e0-8413-cd61b8aa9b13", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396816, - "LimitUp": 253.72, - "LimitDown": 206.56, - "Bids": [ - { - "Price": 233.77, - "Quantity": 25 - }, - { - "Price": 233.76, - "Quantity": 20 - }, - { - "Price": 233.75, - "Quantity": 68 - }, - { - "Price": 233.74, - "Quantity": 123 - }, - { - "Price": 233.73, - "Quantity": 423 - }, - { - "Price": 233.72, - "Quantity": 375 - }, - { - "Price": 233.71, - "Quantity": 75 - }, - { - "Price": 233.7, - "Quantity": 532 - }, - { - "Price": 233.69, - "Quantity": 465 - }, - { - "Price": 233.68, - "Quantity": 400 - }, - { - "Price": 233.67, - "Quantity": 264 - }, - { - "Price": 233.66, - "Quantity": 165 - }, - { - "Price": 233.65, - "Quantity": 393 - }, - { - "Price": 233.64, - "Quantity": 164 - }, - { - "Price": 233.63, - "Quantity": 164 - }, - { - "Price": 233.62, - "Quantity": 388 - }, - { - "Price": 233.61, - "Quantity": 669 - }, - { - "Price": 233.6, - "Quantity": 4226 - }, - { - "Price": 233.59, - "Quantity": 96 - }, - { - "Price": 233.58, - "Quantity": 1093 - } - ], - "Asks": [ - { - "Price": 233.8, - "Quantity": 624 - }, - { - "Price": 233.81, - "Quantity": 71 - }, - { - "Price": 233.82, - "Quantity": 68 - }, - { - "Price": 233.83, - "Quantity": 173 - }, - { - "Price": 233.84, - "Quantity": 438 - }, - { - "Price": 233.85, - "Quantity": 1217 - }, - { - "Price": 233.86, - "Quantity": 573 - }, - { - "Price": 233.87, - "Quantity": 1234 - }, - { - "Price": 233.88, - "Quantity": 886 - }, - { - "Price": 233.89, - "Quantity": 7893 - }, - { - "Price": 233.9, - "Quantity": 6679 - }, - { - "Price": 233.91, - "Quantity": 164 - }, - { - "Price": 233.92, - "Quantity": 1793 - }, - { - "Price": 233.93, - "Quantity": 164 - }, - { - "Price": 233.94, - "Quantity": 100 - }, - { - "Price": 233.95, - "Quantity": 859 - }, - { - "Price": 233.96, - "Quantity": 156 - }, - { - "Price": 233.97, - "Quantity": 1367 - }, - { - "Price": 233.98, - "Quantity": 2372 - }, - { - "Price": 233.99, - "Quantity": 1698 - } - ] - }, - { - "Figi": "BBG004RVFCY3", - "InstrumentUid": "ca845f68-6c43-44bc-b584-330d2a1e5eb7", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396816, - "LimitUp": 5068.5, - "LimitDown": 4125, - "Bids": [ - { - "Price": 4611.5, - "Quantity": 14 - }, - { - "Price": 4611, - "Quantity": 34 - }, - { - "Price": 4610.5, - "Quantity": 164 - }, - { - "Price": 4610, - "Quantity": 1050 - }, - { - "Price": 4609.5, - "Quantity": 27 - }, - { - "Price": 4607.5, - "Quantity": 2 - }, - { - "Price": 4606.5, - "Quantity": 17 - }, - { - "Price": 4605.5, - "Quantity": 733 - }, - { - "Price": 4605, - "Quantity": 207 - }, - { - "Price": 4604, - "Quantity": 146 - }, - { - "Price": 4603.5, - "Quantity": 26 - }, - { - "Price": 4603, - "Quantity": 34 - }, - { - "Price": 4602.5, - "Quantity": 26 - }, - { - "Price": 4602, - "Quantity": 30 - }, - { - "Price": 4601, - "Quantity": 26 - }, - { - "Price": 4600.5, - "Quantity": 26 - }, - { - "Price": 4600, - "Quantity": 58 - }, - { - "Price": 4599.5, - "Quantity": 112 - }, - { - "Price": 4599, - "Quantity": 809 - }, - { - "Price": 4598, - "Quantity": 24 - } - ], - "Asks": [ - { - "Price": 4612.5, - "Quantity": 18 - }, - { - "Price": 4613, - "Quantity": 8 - }, - { - "Price": 4613.5, - "Quantity": 94 - }, - { - "Price": 4614, - "Quantity": 103 - }, - { - "Price": 4615, - "Quantity": 12 - }, - { - "Price": 4615.5, - "Quantity": 30 - }, - { - "Price": 4616, - "Quantity": 122 - }, - { - "Price": 4616.5, - "Quantity": 63 - }, - { - "Price": 4617, - "Quantity": 10 - }, - { - "Price": 4617.5, - "Quantity": 11 - }, - { - "Price": 4618, - "Quantity": 255 - }, - { - "Price": 4618.5, - "Quantity": 213 - }, - { - "Price": 4619, - "Quantity": 68 - }, - { - "Price": 4619.5, - "Quantity": 52 - }, - { - "Price": 4620, - "Quantity": 621 - }, - { - "Price": 4621, - "Quantity": 21 - }, - { - "Price": 4621.5, - "Quantity": 10 - }, - { - "Price": 4622, - "Quantity": 65 - }, - { - "Price": 4622.5, - "Quantity": 116 - }, - { - "Price": 4623, - "Quantity": 1 - } - ] - }, - { - "Figi": "BBG004730N88", - "InstrumentUid": "e6123145-9665-43e0-8413-cd61b8aa9b13", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396816, - "LimitUp": 253.72, - "LimitDown": 206.56, - "Bids": [ - { - "Price": 233.77, - "Quantity": 135 - }, - { - "Price": 233.76, - "Quantity": 20 - }, - { - "Price": 233.75, - "Quantity": 68 - }, - { - "Price": 233.74, - "Quantity": 101 - }, - { - "Price": 233.73, - "Quantity": 423 - }, - { - "Price": 233.72, - "Quantity": 375 - }, - { - "Price": 233.71, - "Quantity": 75 - }, - { - "Price": 233.7, - "Quantity": 532 - }, - { - "Price": 233.69, - "Quantity": 465 - }, - { - "Price": 233.68, - "Quantity": 400 - }, - { - "Price": 233.67, - "Quantity": 264 - }, - { - "Price": 233.66, - "Quantity": 165 - }, - { - "Price": 233.65, - "Quantity": 393 - }, - { - "Price": 233.64, - "Quantity": 164 - }, - { - "Price": 233.63, - "Quantity": 164 - }, - { - "Price": 233.62, - "Quantity": 388 - }, - { - "Price": 233.61, - "Quantity": 669 - }, - { - "Price": 233.6, - "Quantity": 4226 - }, - { - "Price": 233.59, - "Quantity": 96 - }, - { - "Price": 233.58, - "Quantity": 1093 - } - ], - "Asks": [ - { - "Price": 233.8, - "Quantity": 624 - }, - { - "Price": 233.81, - "Quantity": 71 - }, - { - "Price": 233.82, - "Quantity": 68 - }, - { - "Price": 233.83, - "Quantity": 148 - }, - { - "Price": 233.84, - "Quantity": 463 - }, - { - "Price": 233.85, - "Quantity": 1217 - }, - { - "Price": 233.86, - "Quantity": 548 - }, - { - "Price": 233.87, - "Quantity": 1259 - }, - { - "Price": 233.88, - "Quantity": 886 - }, - { - "Price": 233.89, - "Quantity": 7893 - }, - { - "Price": 233.9, - "Quantity": 6679 - }, - { - "Price": 233.91, - "Quantity": 164 - }, - { - "Price": 233.92, - "Quantity": 1793 - }, - { - "Price": 233.93, - "Quantity": 164 - }, - { - "Price": 233.94, - "Quantity": 100 - }, - { - "Price": 233.95, - "Quantity": 859 - }, - { - "Price": 233.96, - "Quantity": 156 - }, - { - "Price": 233.97, - "Quantity": 1367 - }, - { - "Price": 233.98, - "Quantity": 2372 - }, - { - "Price": 233.99, - "Quantity": 1698 - } - ] - }, - { - "Figi": "BBG004RVFCY3", - "InstrumentUid": "ca845f68-6c43-44bc-b584-330d2a1e5eb7", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396816, - "LimitUp": 5068.5, - "LimitDown": 4125, - "Bids": [ - { - "Price": 4611.5, - "Quantity": 14 - }, - { - "Price": 4611, - "Quantity": 34 - }, - { - "Price": 4610.5, - "Quantity": 102 - }, - { - "Price": 4610, - "Quantity": 1050 - }, - { - "Price": 4609.5, - "Quantity": 27 - }, - { - "Price": 4607.5, - "Quantity": 2 - }, - { - "Price": 4606.5, - "Quantity": 17 - }, - { - "Price": 4605.5, - "Quantity": 733 - }, - { - "Price": 4605, - "Quantity": 207 - }, - { - "Price": 4604, - "Quantity": 146 - }, - { - "Price": 4603.5, - "Quantity": 26 - }, - { - "Price": 4603, - "Quantity": 34 - }, - { - "Price": 4602.5, - "Quantity": 26 - }, - { - "Price": 4602, - "Quantity": 30 - }, - { - "Price": 4601.5, - "Quantity": 26 - }, - { - "Price": 4601, - "Quantity": 26 - }, - { - "Price": 4600.5, - "Quantity": 26 - }, - { - "Price": 4600, - "Quantity": 58 - }, - { - "Price": 4599.5, - "Quantity": 112 - }, - { - "Price": 4599, - "Quantity": 809 - } - ], - "Asks": [ - { - "Price": 4612, - "Quantity": 2 - }, - { - "Price": 4612.5, - "Quantity": 18 - }, - { - "Price": 4613, - "Quantity": 8 - }, - { - "Price": 4613.5, - "Quantity": 94 - }, - { - "Price": 4614, - "Quantity": 103 - }, - { - "Price": 4615, - "Quantity": 12 - }, - { - "Price": 4615.5, - "Quantity": 30 - }, - { - "Price": 4616, - "Quantity": 122 - }, - { - "Price": 4616.5, - "Quantity": 63 - }, - { - "Price": 4617, - "Quantity": 10 - }, - { - "Price": 4617.5, - "Quantity": 11 - }, - { - "Price": 4618, - "Quantity": 255 - }, - { - "Price": 4618.5, - "Quantity": 213 - }, - { - "Price": 4619, - "Quantity": 68 - }, - { - "Price": 4619.5, - "Quantity": 52 - }, - { - "Price": 4620, - "Quantity": 621 - }, - { - "Price": 4621, - "Quantity": 21 - }, - { - "Price": 4621.5, - "Quantity": 10 - }, - { - "Price": 4622, - "Quantity": 65 - }, - { - "Price": 4622.5, - "Quantity": 116 - } - ] - }, - { - "Figi": "BBG004730N88", - "InstrumentUid": "e6123145-9665-43e0-8413-cd61b8aa9b13", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396816, - "LimitUp": 253.72, - "LimitDown": 206.56, - "Bids": [ - { - "Price": 233.77, - "Quantity": 145 - }, - { - "Price": 233.76, - "Quantity": 20 - }, - { - "Price": 233.75, - "Quantity": 98 - }, - { - "Price": 233.74, - "Quantity": 301 - }, - { - "Price": 233.73, - "Quantity": 223 - }, - { - "Price": 233.72, - "Quantity": 375 - }, - { - "Price": 233.71, - "Quantity": 275 - }, - { - "Price": 233.7, - "Quantity": 421 - }, - { - "Price": 233.69, - "Quantity": 465 - }, - { - "Price": 233.68, - "Quantity": 400 - }, - { - "Price": 233.67, - "Quantity": 264 - }, - { - "Price": 233.66, - "Quantity": 165 - }, - { - "Price": 233.65, - "Quantity": 393 - }, - { - "Price": 233.64, - "Quantity": 164 - }, - { - "Price": 233.63, - "Quantity": 556 - }, - { - "Price": 233.62, - "Quantity": 344 - }, - { - "Price": 233.61, - "Quantity": 659 - }, - { - "Price": 233.6, - "Quantity": 4137 - }, - { - "Price": 233.59, - "Quantity": 96 - }, - { - "Price": 233.58, - "Quantity": 1693 - } - ], - "Asks": [ - { - "Price": 233.8, - "Quantity": 408 - }, - { - "Price": 233.81, - "Quantity": 71 - }, - { - "Price": 233.82, - "Quantity": 68 - }, - { - "Price": 233.83, - "Quantity": 148 - }, - { - "Price": 233.84, - "Quantity": 349 - }, - { - "Price": 233.85, - "Quantity": 1017 - }, - { - "Price": 233.86, - "Quantity": 773 - }, - { - "Price": 233.87, - "Quantity": 1234 - }, - { - "Price": 233.88, - "Quantity": 886 - }, - { - "Price": 233.89, - "Quantity": 7918 - }, - { - "Price": 233.9, - "Quantity": 6679 - }, - { - "Price": 233.91, - "Quantity": 164 - }, - { - "Price": 233.92, - "Quantity": 793 - }, - { - "Price": 233.93, - "Quantity": 164 - }, - { - "Price": 233.94, - "Quantity": 189 - }, - { - "Price": 233.95, - "Quantity": 859 - }, - { - "Price": 233.96, - "Quantity": 156 - }, - { - "Price": 233.97, - "Quantity": 1367 - }, - { - "Price": 233.98, - "Quantity": 2072 - }, - { - "Price": 233.99, - "Quantity": 2998 - } - ] - }, - { - "Figi": "BBG004730N88", - "InstrumentUid": "e6123145-9665-43e0-8413-cd61b8aa9b13", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396817, - "LimitUp": 253.72, - "LimitDown": 206.56, - "Bids": [ - { - "Price": 233.79, - "Quantity": 25 - }, - { - "Price": 233.78, - "Quantity": 37 - }, - { - "Price": 233.77, - "Quantity": 120 - }, - { - "Price": 233.76, - "Quantity": 45 - }, - { - "Price": 233.75, - "Quantity": 10 - }, - { - "Price": 233.74, - "Quantity": 576 - }, - { - "Price": 233.73, - "Quantity": 223 - }, - { - "Price": 233.72, - "Quantity": 75 - }, - { - "Price": 233.71, - "Quantity": 275 - }, - { - "Price": 233.7, - "Quantity": 421 - }, - { - "Price": 233.69, - "Quantity": 465 - }, - { - "Price": 233.68, - "Quantity": 400 - }, - { - "Price": 233.67, - "Quantity": 264 - }, - { - "Price": 233.66, - "Quantity": 165 - }, - { - "Price": 233.65, - "Quantity": 393 - }, - { - "Price": 233.64, - "Quantity": 164 - }, - { - "Price": 233.63, - "Quantity": 556 - }, - { - "Price": 233.62, - "Quantity": 344 - }, - { - "Price": 233.61, - "Quantity": 659 - }, - { - "Price": 233.6, - "Quantity": 4137 - } - ], - "Asks": [ - { - "Price": 233.8, - "Quantity": 56 - }, - { - "Price": 233.81, - "Quantity": 71 - }, - { - "Price": 233.82, - "Quantity": 68 - }, - { - "Price": 233.83, - "Quantity": 148 - }, - { - "Price": 233.84, - "Quantity": 349 - }, - { - "Price": 233.85, - "Quantity": 1017 - }, - { - "Price": 233.86, - "Quantity": 748 - }, - { - "Price": 233.87, - "Quantity": 1259 - }, - { - "Price": 233.88, - "Quantity": 886 - }, - { - "Price": 233.89, - "Quantity": 7893 - }, - { - "Price": 233.9, - "Quantity": 6704 - }, - { - "Price": 233.91, - "Quantity": 164 - }, - { - "Price": 233.92, - "Quantity": 793 - }, - { - "Price": 233.93, - "Quantity": 164 - }, - { - "Price": 233.94, - "Quantity": 189 - }, - { - "Price": 233.95, - "Quantity": 859 - }, - { - "Price": 233.96, - "Quantity": 156 - }, - { - "Price": 233.97, - "Quantity": 1367 - }, - { - "Price": 233.98, - "Quantity": 2072 - }, - { - "Price": 233.99, - "Quantity": 2998 - } - ] - }, - { - "Figi": "BBG004730N88", - "InstrumentUid": "e6123145-9665-43e0-8413-cd61b8aa9b13", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396817, - "LimitUp": 253.72, - "LimitDown": 206.56, - "Bids": [ - { - "Price": 233.79, - "Quantity": 155 - }, - { - "Price": 233.77, - "Quantity": 111 - }, - { - "Price": 233.76, - "Quantity": 45 - }, - { - "Price": 233.75, - "Quantity": 10 - }, - { - "Price": 233.74, - "Quantity": 576 - }, - { - "Price": 233.73, - "Quantity": 223 - }, - { - "Price": 233.72, - "Quantity": 75 - }, - { - "Price": 233.71, - "Quantity": 475 - }, - { - "Price": 233.7, - "Quantity": 421 - }, - { - "Price": 233.69, - "Quantity": 465 - }, - { - "Price": 233.68, - "Quantity": 200 - }, - { - "Price": 233.67, - "Quantity": 264 - }, - { - "Price": 233.66, - "Quantity": 165 - }, - { - "Price": 233.65, - "Quantity": 393 - }, - { - "Price": 233.64, - "Quantity": 164 - }, - { - "Price": 233.63, - "Quantity": 556 - }, - { - "Price": 233.62, - "Quantity": 344 - }, - { - "Price": 233.61, - "Quantity": 659 - }, - { - "Price": 233.6, - "Quantity": 4137 - }, - { - "Price": 233.59, - "Quantity": 96 - } - ], - "Asks": [ - { - "Price": 233.8, - "Quantity": 31 - }, - { - "Price": 233.81, - "Quantity": 71 - }, - { - "Price": 233.82, - "Quantity": 68 - }, - { - "Price": 233.83, - "Quantity": 148 - }, - { - "Price": 233.84, - "Quantity": 349 - }, - { - "Price": 233.85, - "Quantity": 1017 - }, - { - "Price": 233.86, - "Quantity": 548 - }, - { - "Price": 233.87, - "Quantity": 1259 - }, - { - "Price": 233.88, - "Quantity": 1086 - }, - { - "Price": 233.89, - "Quantity": 7893 - }, - { - "Price": 233.9, - "Quantity": 6704 - }, - { - "Price": 233.91, - "Quantity": 164 - }, - { - "Price": 233.92, - "Quantity": 793 - }, - { - "Price": 233.93, - "Quantity": 164 - }, - { - "Price": 233.94, - "Quantity": 189 - }, - { - "Price": 233.95, - "Quantity": 859 - }, - { - "Price": 233.96, - "Quantity": 156 - }, - { - "Price": 233.97, - "Quantity": 1367 - }, - { - "Price": 233.98, - "Quantity": 2072 - }, - { - "Price": 233.99, - "Quantity": 2998 - } - ] - }, - { - "Figi": "BBG004RVFCY3", - "InstrumentUid": "ca845f68-6c43-44bc-b584-330d2a1e5eb7", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396817, - "LimitUp": 5068.5, - "LimitDown": 4125, - "Bids": [ - { - "Price": 4611.5, - "Quantity": 14 - }, - { - "Price": 4611, - "Quantity": 34 - }, - { - "Price": 4610.5, - "Quantity": 102 - }, - { - "Price": 4610, - "Quantity": 1050 - }, - { - "Price": 4609.5, - "Quantity": 27 - }, - { - "Price": 4607.5, - "Quantity": 2 - }, - { - "Price": 4606.5, - "Quantity": 17 - }, - { - "Price": 4605.5, - "Quantity": 733 - }, - { - "Price": 4605, - "Quantity": 207 - }, - { - "Price": 4604, - "Quantity": 146 - }, - { - "Price": 4603.5, - "Quantity": 26 - }, - { - "Price": 4603, - "Quantity": 34 - }, - { - "Price": 4602.5, - "Quantity": 26 - }, - { - "Price": 4602, - "Quantity": 30 - }, - { - "Price": 4601.5, - "Quantity": 26 - }, - { - "Price": 4601, - "Quantity": 26 - }, - { - "Price": 4600.5, - "Quantity": 26 - }, - { - "Price": 4600, - "Quantity": 58 - }, - { - "Price": 4599.5, - "Quantity": 112 - }, - { - "Price": 4599, - "Quantity": 809 - } - ], - "Asks": [ - { - "Price": 4612, - "Quantity": 2 - }, - { - "Price": 4612.5, - "Quantity": 18 - }, - { - "Price": 4613, - "Quantity": 8 - }, - { - "Price": 4613.5, - "Quantity": 94 - }, - { - "Price": 4614, - "Quantity": 103 - }, - { - "Price": 4615, - "Quantity": 12 - }, - { - "Price": 4615.5, - "Quantity": 30 - }, - { - "Price": 4616, - "Quantity": 122 - }, - { - "Price": 4616.5, - "Quantity": 63 - }, - { - "Price": 4617, - "Quantity": 10 - }, - { - "Price": 4617.5, - "Quantity": 11 - }, - { - "Price": 4618, - "Quantity": 255 - }, - { - "Price": 4618.5, - "Quantity": 213 - }, - { - "Price": 4619, - "Quantity": 68 - }, - { - "Price": 4619.5, - "Quantity": 52 - }, - { - "Price": 4620, - "Quantity": 621 - }, - { - "Price": 4621, - "Quantity": 21 - }, - { - "Price": 4621.5, - "Quantity": 10 - }, - { - "Price": 4622, - "Quantity": 65 - }, - { - "Price": 4622.5, - "Quantity": 116 - } - ] - }, - { - "Figi": "BBG00475KKY8", - "InstrumentUid": "0da66728-6c30-44c4-9264-df8fac2467ee", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396817, - "LimitUp": 1490.6, - "LimitDown": 1096.4, - "Bids": [ - { - "Price": 1295.2, - "Quantity": 107 - }, - { - "Price": 1295, - "Quantity": 3914 - }, - { - "Price": 1294.8, - "Quantity": 73 - }, - { - "Price": 1294.6, - "Quantity": 2 - }, - { - "Price": 1294.4, - "Quantity": 109 - }, - { - "Price": 1294.2, - "Quantity": 70 - }, - { - "Price": 1294, - "Quantity": 430 - }, - { - "Price": 1293.8, - "Quantity": 17 - }, - { - "Price": 1293.6, - "Quantity": 370 - }, - { - "Price": 1293.4, - "Quantity": 730 - }, - { - "Price": 1293.2, - "Quantity": 1833 - }, - { - "Price": 1293, - "Quantity": 330 - }, - { - "Price": 1292.8, - "Quantity": 1442 - }, - { - "Price": 1292.6, - "Quantity": 708 - }, - { - "Price": 1292.4, - "Quantity": 16 - }, - { - "Price": 1292.2, - "Quantity": 1032 - }, - { - "Price": 1292, - "Quantity": 173 - }, - { - "Price": 1291.8, - "Quantity": 713 - }, - { - "Price": 1291.4, - "Quantity": 5 - }, - { - "Price": 1291.2, - "Quantity": 1330 - } - ], - "Asks": [ - { - "Price": 1295.8, - "Quantity": 13 - }, - { - "Price": 1296, - "Quantity": 163 - }, - { - "Price": 1296.2, - "Quantity": 118 - }, - { - "Price": 1296.4, - "Quantity": 47 - }, - { - "Price": 1296.6, - "Quantity": 218 - }, - { - "Price": 1296.8, - "Quantity": 150 - }, - { - "Price": 1297, - "Quantity": 170 - }, - { - "Price": 1297.2, - "Quantity": 271 - }, - { - "Price": 1297.4, - "Quantity": 185 - }, - { - "Price": 1297.6, - "Quantity": 589 - }, - { - "Price": 1297.8, - "Quantity": 1850 - }, - { - "Price": 1298, - "Quantity": 1016 - }, - { - "Price": 1298.2, - "Quantity": 2400 - }, - { - "Price": 1298.6, - "Quantity": 700 - }, - { - "Price": 1298.8, - "Quantity": 2020 - }, - { - "Price": 1299, - "Quantity": 1079 - }, - { - "Price": 1299.4, - "Quantity": 71 - }, - { - "Price": 1299.6, - "Quantity": 366 - }, - { - "Price": 1299.8, - "Quantity": 2420 - }, - { - "Price": 1300, - "Quantity": 3452 - } - ] - }, - { - "Figi": "BBG004RVFCY3", - "InstrumentUid": "ca845f68-6c43-44bc-b584-330d2a1e5eb7", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396817, - "LimitUp": 5068.5, - "LimitDown": 4125, - "Bids": [ - { - "Price": 4611.5, - "Quantity": 14 - }, - { - "Price": 4611, - "Quantity": 34 - }, - { - "Price": 4610.5, - "Quantity": 82 - }, - { - "Price": 4610, - "Quantity": 1070 - }, - { - "Price": 4609.5, - "Quantity": 27 - }, - { - "Price": 4607.5, - "Quantity": 2 - }, - { - "Price": 4606.5, - "Quantity": 17 - }, - { - "Price": 4605.5, - "Quantity": 733 - }, - { - "Price": 4605, - "Quantity": 207 - }, - { - "Price": 4604, - "Quantity": 146 - }, - { - "Price": 4603.5, - "Quantity": 26 - }, - { - "Price": 4603, - "Quantity": 34 - }, - { - "Price": 4602.5, - "Quantity": 26 - }, - { - "Price": 4602, - "Quantity": 30 - }, - { - "Price": 4601.5, - "Quantity": 26 - }, - { - "Price": 4601, - "Quantity": 26 - }, - { - "Price": 4600.5, - "Quantity": 26 - }, - { - "Price": 4600, - "Quantity": 58 - }, - { - "Price": 4599.5, - "Quantity": 112 - }, - { - "Price": 4599, - "Quantity": 835 - } - ], - "Asks": [ - { - "Price": 4612, - "Quantity": 2 - }, - { - "Price": 4612.5, - "Quantity": 18 - }, - { - "Price": 4613, - "Quantity": 8 - }, - { - "Price": 4613.5, - "Quantity": 94 - }, - { - "Price": 4614, - "Quantity": 103 - }, - { - "Price": 4615, - "Quantity": 12 - }, - { - "Price": 4615.5, - "Quantity": 30 - }, - { - "Price": 4616, - "Quantity": 122 - }, - { - "Price": 4616.5, - "Quantity": 63 - }, - { - "Price": 4617, - "Quantity": 10 - }, - { - "Price": 4617.5, - "Quantity": 11 - }, - { - "Price": 4618, - "Quantity": 255 - }, - { - "Price": 4618.5, - "Quantity": 213 - }, - { - "Price": 4619, - "Quantity": 68 - }, - { - "Price": 4619.5, - "Quantity": 52 - }, - { - "Price": 4620, - "Quantity": 621 - }, - { - "Price": 4621, - "Quantity": 21 - }, - { - "Price": 4621.5, - "Quantity": 10 - }, - { - "Price": 4622, - "Quantity": 65 - }, - { - "Price": 4622.5, - "Quantity": 116 - } - ] - }, - { - "Figi": "BBG004730N88", - "InstrumentUid": "e6123145-9665-43e0-8413-cd61b8aa9b13", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396817, - "LimitUp": 253.72, - "LimitDown": 206.56, - "Bids": [ - { - "Price": 233.79, - "Quantity": 25 - }, - { - "Price": 233.78, - "Quantity": 100 - }, - { - "Price": 233.76, - "Quantity": 45 - }, - { - "Price": 233.75, - "Quantity": 172 - }, - { - "Price": 233.74, - "Quantity": 576 - }, - { - "Price": 233.73, - "Quantity": 223 - }, - { - "Price": 233.72, - "Quantity": 75 - }, - { - "Price": 233.71, - "Quantity": 475 - }, - { - "Price": 233.7, - "Quantity": 721 - }, - { - "Price": 233.69, - "Quantity": 165 - }, - { - "Price": 233.68, - "Quantity": 200 - }, - { - "Price": 233.67, - "Quantity": 264 - }, - { - "Price": 233.66, - "Quantity": 165 - }, - { - "Price": 233.65, - "Quantity": 393 - }, - { - "Price": 233.64, - "Quantity": 164 - }, - { - "Price": 233.63, - "Quantity": 556 - }, - { - "Price": 233.62, - "Quantity": 344 - }, - { - "Price": 233.61, - "Quantity": 659 - }, - { - "Price": 233.6, - "Quantity": 4137 - }, - { - "Price": 233.59, - "Quantity": 96 - } - ], - "Asks": [ - { - "Price": 233.8, - "Quantity": 31 - }, - { - "Price": 233.81, - "Quantity": 71 - }, - { - "Price": 233.82, - "Quantity": 68 - }, - { - "Price": 233.83, - "Quantity": 148 - }, - { - "Price": 233.84, - "Quantity": 349 - }, - { - "Price": 233.85, - "Quantity": 1017 - }, - { - "Price": 233.86, - "Quantity": 573 - }, - { - "Price": 233.87, - "Quantity": 934 - }, - { - "Price": 233.88, - "Quantity": 1386 - }, - { - "Price": 233.89, - "Quantity": 7918 - }, - { - "Price": 233.9, - "Quantity": 6745 - }, - { - "Price": 233.91, - "Quantity": 164 - }, - { - "Price": 233.92, - "Quantity": 793 - }, - { - "Price": 233.93, - "Quantity": 164 - }, - { - "Price": 233.94, - "Quantity": 189 - }, - { - "Price": 233.95, - "Quantity": 859 - }, - { - "Price": 233.96, - "Quantity": 156 - }, - { - "Price": 233.97, - "Quantity": 1367 - }, - { - "Price": 233.98, - "Quantity": 2072 - }, - { - "Price": 233.99, - "Quantity": 2998 - } - ] - }, - { - "Figi": "BBG00475KKY8", - "InstrumentUid": "0da66728-6c30-44c4-9264-df8fac2467ee", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396818, - "LimitUp": 1490.6, - "LimitDown": 1096.4, - "Bids": [ - { - "Price": 1295.2, - "Quantity": 102 - }, - { - "Price": 1295, - "Quantity": 3914 - }, - { - "Price": 1294.8, - "Quantity": 73 - }, - { - "Price": 1294.6, - "Quantity": 2 - }, - { - "Price": 1294.4, - "Quantity": 109 - }, - { - "Price": 1294.2, - "Quantity": 70 - }, - { - "Price": 1294, - "Quantity": 430 - }, - { - "Price": 1293.8, - "Quantity": 17 - }, - { - "Price": 1293.6, - "Quantity": 370 - }, - { - "Price": 1293.4, - "Quantity": 730 - }, - { - "Price": 1293.2, - "Quantity": 1833 - }, - { - "Price": 1293, - "Quantity": 330 - }, - { - "Price": 1292.8, - "Quantity": 1442 - }, - { - "Price": 1292.6, - "Quantity": 708 - }, - { - "Price": 1292.4, - "Quantity": 16 - }, - { - "Price": 1292.2, - "Quantity": 1032 - }, - { - "Price": 1292, - "Quantity": 173 - }, - { - "Price": 1291.8, - "Quantity": 713 - }, - { - "Price": 1291.4, - "Quantity": 5 - }, - { - "Price": 1291.2, - "Quantity": 1330 - } - ], - "Asks": [ - { - "Price": 1295.8, - "Quantity": 13 - }, - { - "Price": 1296, - "Quantity": 163 - }, - { - "Price": 1296.2, - "Quantity": 118 - }, - { - "Price": 1296.4, - "Quantity": 47 - }, - { - "Price": 1296.6, - "Quantity": 218 - }, - { - "Price": 1296.8, - "Quantity": 150 - }, - { - "Price": 1297, - "Quantity": 170 - }, - { - "Price": 1297.2, - "Quantity": 271 - }, - { - "Price": 1297.4, - "Quantity": 185 - }, - { - "Price": 1297.6, - "Quantity": 589 - }, - { - "Price": 1297.8, - "Quantity": 1850 - }, - { - "Price": 1298, - "Quantity": 1016 - }, - { - "Price": 1298.2, - "Quantity": 2400 - }, - { - "Price": 1298.6, - "Quantity": 700 - }, - { - "Price": 1298.8, - "Quantity": 2020 - }, - { - "Price": 1299, - "Quantity": 1079 - }, - { - "Price": 1299.4, - "Quantity": 71 - }, - { - "Price": 1299.6, - "Quantity": 366 - }, - { - "Price": 1299.8, - "Quantity": 2420 - }, - { - "Price": 1300, - "Quantity": 3452 - } - ] - }, - { - "Figi": "BBG004730N88", - "InstrumentUid": "e6123145-9665-43e0-8413-cd61b8aa9b13", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396818, - "LimitUp": 253.72, - "LimitDown": 206.56, - "Bids": [ - { - "Price": 233.79, - "Quantity": 25 - }, - { - "Price": 233.78, - "Quantity": 100 - }, - { - "Price": 233.76, - "Quantity": 45 - }, - { - "Price": 233.75, - "Quantity": 172 - }, - { - "Price": 233.74, - "Quantity": 576 - }, - { - "Price": 233.73, - "Quantity": 223 - }, - { - "Price": 233.72, - "Quantity": 75 - }, - { - "Price": 233.71, - "Quantity": 475 - }, - { - "Price": 233.7, - "Quantity": 721 - }, - { - "Price": 233.69, - "Quantity": 165 - }, - { - "Price": 233.68, - "Quantity": 200 - }, - { - "Price": 233.67, - "Quantity": 264 - }, - { - "Price": 233.66, - "Quantity": 165 - }, - { - "Price": 233.65, - "Quantity": 393 - }, - { - "Price": 233.64, - "Quantity": 164 - }, - { - "Price": 233.63, - "Quantity": 556 - }, - { - "Price": 233.62, - "Quantity": 344 - }, - { - "Price": 233.61, - "Quantity": 659 - }, - { - "Price": 233.6, - "Quantity": 4137 - }, - { - "Price": 233.59, - "Quantity": 96 - } - ], - "Asks": [ - { - "Price": 233.8, - "Quantity": 6 - }, - { - "Price": 233.81, - "Quantity": 71 - }, - { - "Price": 233.82, - "Quantity": 68 - }, - { - "Price": 233.83, - "Quantity": 148 - }, - { - "Price": 233.84, - "Quantity": 349 - }, - { - "Price": 233.85, - "Quantity": 1017 - }, - { - "Price": 233.86, - "Quantity": 573 - }, - { - "Price": 233.87, - "Quantity": 934 - }, - { - "Price": 233.88, - "Quantity": 1386 - }, - { - "Price": 233.89, - "Quantity": 7918 - }, - { - "Price": 233.9, - "Quantity": 6745 - }, - { - "Price": 233.91, - "Quantity": 164 - }, - { - "Price": 233.92, - "Quantity": 793 - }, - { - "Price": 233.93, - "Quantity": 164 - }, - { - "Price": 233.94, - "Quantity": 189 - }, - { - "Price": 233.95, - "Quantity": 859 - }, - { - "Price": 233.96, - "Quantity": 156 - }, - { - "Price": 233.97, - "Quantity": 1367 - }, - { - "Price": 233.98, - "Quantity": 2072 - }, - { - "Price": 233.99, - "Quantity": 2998 - } - ] - }, - { - "Figi": "BBG00475KKY8", - "InstrumentUid": "0da66728-6c30-44c4-9264-df8fac2467ee", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396818, - "LimitUp": 1490.6, - "LimitDown": 1096.4, - "Bids": [ - { - "Price": 1295, - "Quantity": 3871 - }, - { - "Price": 1294.8, - "Quantity": 73 - }, - { - "Price": 1294.6, - "Quantity": 2 - }, - { - "Price": 1294.4, - "Quantity": 109 - }, - { - "Price": 1294.2, - "Quantity": 70 - }, - { - "Price": 1294, - "Quantity": 430 - }, - { - "Price": 1293.8, - "Quantity": 17 - }, - { - "Price": 1293.6, - "Quantity": 370 - }, - { - "Price": 1293.4, - "Quantity": 30 - }, - { - "Price": 1293.2, - "Quantity": 1133 - }, - { - "Price": 1293, - "Quantity": 330 - }, - { - "Price": 1292.8, - "Quantity": 1442 - }, - { - "Price": 1292.6, - "Quantity": 1408 - }, - { - "Price": 1292.4, - "Quantity": 16 - }, - { - "Price": 1292.2, - "Quantity": 1732 - }, - { - "Price": 1292, - "Quantity": 173 - }, - { - "Price": 1291.8, - "Quantity": 713 - }, - { - "Price": 1291.4, - "Quantity": 5 - }, - { - "Price": 1291.2, - "Quantity": 1330 - }, - { - "Price": 1291, - "Quantity": 308 - } - ], - "Asks": [ - { - "Price": 1295.8, - "Quantity": 29 - }, - { - "Price": 1296, - "Quantity": 163 - }, - { - "Price": 1296.2, - "Quantity": 118 - }, - { - "Price": 1296.4, - "Quantity": 38 - }, - { - "Price": 1296.6, - "Quantity": 218 - }, - { - "Price": 1296.8, - "Quantity": 150 - }, - { - "Price": 1297, - "Quantity": 170 - }, - { - "Price": 1297.2, - "Quantity": 271 - }, - { - "Price": 1297.4, - "Quantity": 185 - }, - { - "Price": 1297.6, - "Quantity": 589 - }, - { - "Price": 1297.8, - "Quantity": 2550 - }, - { - "Price": 1298, - "Quantity": 1716 - }, - { - "Price": 1298.2, - "Quantity": 2400 - }, - { - "Price": 1298.8, - "Quantity": 2020 - }, - { - "Price": 1299, - "Quantity": 379 - }, - { - "Price": 1299.4, - "Quantity": 71 - }, - { - "Price": 1299.6, - "Quantity": 366 - }, - { - "Price": 1299.8, - "Quantity": 2420 - }, - { - "Price": 1300, - "Quantity": 3452 - }, - { - "Price": 1300.2, - "Quantity": 2 - } - ] - }, - { - "Figi": "BBG004730N88", - "InstrumentUid": "e6123145-9665-43e0-8413-cd61b8aa9b13", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396818, - "LimitUp": 253.72, - "LimitDown": 206.56, - "Bids": [ - { - "Price": 233.79, - "Quantity": 20 - }, - { - "Price": 233.78, - "Quantity": 100 - }, - { - "Price": 233.76, - "Quantity": 45 - }, - { - "Price": 233.75, - "Quantity": 172 - }, - { - "Price": 233.74, - "Quantity": 576 - }, - { - "Price": 233.73, - "Quantity": 223 - }, - { - "Price": 233.72, - "Quantity": 75 - }, - { - "Price": 233.71, - "Quantity": 775 - }, - { - "Price": 233.7, - "Quantity": 471 - }, - { - "Price": 233.69, - "Quantity": 165 - }, - { - "Price": 233.68, - "Quantity": 199 - }, - { - "Price": 233.67, - "Quantity": 264 - }, - { - "Price": 233.66, - "Quantity": 165 - }, - { - "Price": 233.65, - "Quantity": 393 - }, - { - "Price": 233.64, - "Quantity": 464 - }, - { - "Price": 233.63, - "Quantity": 228 - }, - { - "Price": 233.62, - "Quantity": 344 - }, - { - "Price": 233.61, - "Quantity": 358 - }, - { - "Price": 233.6, - "Quantity": 4137 - }, - { - "Price": 233.59, - "Quantity": 1096 - } - ], - "Asks": [ - { - "Price": 233.81, - "Quantity": 51 - }, - { - "Price": 233.82, - "Quantity": 68 - }, - { - "Price": 233.83, - "Quantity": 73 - }, - { - "Price": 233.84, - "Quantity": 349 - }, - { - "Price": 233.85, - "Quantity": 1017 - }, - { - "Price": 233.86, - "Quantity": 573 - }, - { - "Price": 233.87, - "Quantity": 934 - }, - { - "Price": 233.88, - "Quantity": 1086 - }, - { - "Price": 233.89, - "Quantity": 7918 - }, - { - "Price": 233.9, - "Quantity": 7045 - }, - { - "Price": 233.91, - "Quantity": 164 - }, - { - "Price": 233.92, - "Quantity": 793 - }, - { - "Price": 233.93, - "Quantity": 164 - }, - { - "Price": 233.94, - "Quantity": 189 - }, - { - "Price": 233.95, - "Quantity": 859 - }, - { - "Price": 233.96, - "Quantity": 156 - }, - { - "Price": 233.97, - "Quantity": 367 - }, - { - "Price": 233.98, - "Quantity": 2072 - }, - { - "Price": 233.99, - "Quantity": 2999 - }, - { - "Price": 234, - "Quantity": 7489 - } - ] - }, - { - "Figi": "BBG004RVFCY3", - "InstrumentUid": "ca845f68-6c43-44bc-b584-330d2a1e5eb7", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396818, - "LimitUp": 5068.5, - "LimitDown": 4125, - "Bids": [ - { - "Price": 4611.5, - "Quantity": 14 - }, - { - "Price": 4611, - "Quantity": 34 - }, - { - "Price": 4610.5, - "Quantity": 82 - }, - { - "Price": 4610, - "Quantity": 1070 - }, - { - "Price": 4609.5, - "Quantity": 27 - }, - { - "Price": 4607.5, - "Quantity": 2 - }, - { - "Price": 4606.5, - "Quantity": 17 - }, - { - "Price": 4605.5, - "Quantity": 733 - }, - { - "Price": 4605, - "Quantity": 207 - }, - { - "Price": 4604, - "Quantity": 146 - }, - { - "Price": 4603.5, - "Quantity": 26 - }, - { - "Price": 4603, - "Quantity": 34 - }, - { - "Price": 4602.5, - "Quantity": 26 - }, - { - "Price": 4602, - "Quantity": 30 - }, - { - "Price": 4601.5, - "Quantity": 26 - }, - { - "Price": 4601, - "Quantity": 26 - }, - { - "Price": 4600.5, - "Quantity": 26 - }, - { - "Price": 4600, - "Quantity": 58 - }, - { - "Price": 4599.5, - "Quantity": 112 - }, - { - "Price": 4599, - "Quantity": 835 - } - ], - "Asks": [ - { - "Price": 4612, - "Quantity": 2 - }, - { - "Price": 4612.5, - "Quantity": 18 - }, - { - "Price": 4613, - "Quantity": 8 - }, - { - "Price": 4613.5, - "Quantity": 94 - }, - { - "Price": 4614, - "Quantity": 103 - }, - { - "Price": 4615, - "Quantity": 12 - }, - { - "Price": 4615.5, - "Quantity": 30 - }, - { - "Price": 4616, - "Quantity": 122 - }, - { - "Price": 4616.5, - "Quantity": 63 - }, - { - "Price": 4617, - "Quantity": 10 - }, - { - "Price": 4617.5, - "Quantity": 11 - }, - { - "Price": 4618, - "Quantity": 255 - }, - { - "Price": 4618.5, - "Quantity": 213 - }, - { - "Price": 4619, - "Quantity": 68 - }, - { - "Price": 4619.5, - "Quantity": 52 - }, - { - "Price": 4620, - "Quantity": 621 - }, - { - "Price": 4621, - "Quantity": 21 - }, - { - "Price": 4621.5, - "Quantity": 10 - }, - { - "Price": 4622, - "Quantity": 65 - }, - { - "Price": 4622.5, - "Quantity": 116 - } - ] - }, - { - "Figi": "BBG00475KKY8", - "InstrumentUid": "0da66728-6c30-44c4-9264-df8fac2467ee", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396819, - "LimitUp": 1490.6, - "LimitDown": 1096.4, - "Bids": [ - { - "Price": 1295.2, - "Quantity": 5 - }, - { - "Price": 1295, - "Quantity": 3971 - }, - { - "Price": 1294.8, - "Quantity": 73 - }, - { - "Price": 1294.6, - "Quantity": 2 - }, - { - "Price": 1294.4, - "Quantity": 109 - }, - { - "Price": 1294.2, - "Quantity": 70 - }, - { - "Price": 1294, - "Quantity": 430 - }, - { - "Price": 1293.8, - "Quantity": 17 - }, - { - "Price": 1293.6, - "Quantity": 370 - }, - { - "Price": 1293.4, - "Quantity": 30 - }, - { - "Price": 1293.2, - "Quantity": 1133 - }, - { - "Price": 1293, - "Quantity": 330 - }, - { - "Price": 1292.8, - "Quantity": 1442 - }, - { - "Price": 1292.6, - "Quantity": 1408 - }, - { - "Price": 1292.4, - "Quantity": 16 - }, - { - "Price": 1292.2, - "Quantity": 1732 - }, - { - "Price": 1292, - "Quantity": 173 - }, - { - "Price": 1291.8, - "Quantity": 713 - }, - { - "Price": 1291.4, - "Quantity": 5 - }, - { - "Price": 1291.2, - "Quantity": 1330 - } - ], - "Asks": [ - { - "Price": 1295.8, - "Quantity": 29 - }, - { - "Price": 1296, - "Quantity": 163 - }, - { - "Price": 1296.2, - "Quantity": 118 - }, - { - "Price": 1296.4, - "Quantity": 38 - }, - { - "Price": 1296.6, - "Quantity": 218 - }, - { - "Price": 1296.8, - "Quantity": 150 - }, - { - "Price": 1297, - "Quantity": 170 - }, - { - "Price": 1297.2, - "Quantity": 271 - }, - { - "Price": 1297.4, - "Quantity": 185 - }, - { - "Price": 1297.6, - "Quantity": 589 - }, - { - "Price": 1297.8, - "Quantity": 2550 - }, - { - "Price": 1298, - "Quantity": 1716 - }, - { - "Price": 1298.2, - "Quantity": 2400 - }, - { - "Price": 1298.8, - "Quantity": 2020 - }, - { - "Price": 1299, - "Quantity": 379 - }, - { - "Price": 1299.4, - "Quantity": 71 - }, - { - "Price": 1299.6, - "Quantity": 366 - }, - { - "Price": 1299.8, - "Quantity": 2420 - }, - { - "Price": 1300, - "Quantity": 3452 - }, - { - "Price": 1300.2, - "Quantity": 2 - } - ] - }, - { - "Figi": "BBG004730N88", - "InstrumentUid": "e6123145-9665-43e0-8413-cd61b8aa9b13", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396819, - "LimitUp": 253.72, - "LimitDown": 206.56, - "Bids": [ - { - "Price": 233.79, - "Quantity": 20 - }, - { - "Price": 233.78, - "Quantity": 100 - }, - { - "Price": 233.76, - "Quantity": 45 - }, - { - "Price": 233.75, - "Quantity": 172 - }, - { - "Price": 233.74, - "Quantity": 576 - }, - { - "Price": 233.73, - "Quantity": 223 - }, - { - "Price": 233.72, - "Quantity": 75 - }, - { - "Price": 233.71, - "Quantity": 775 - }, - { - "Price": 233.7, - "Quantity": 471 - }, - { - "Price": 233.69, - "Quantity": 165 - }, - { - "Price": 233.68, - "Quantity": 199 - }, - { - "Price": 233.67, - "Quantity": 264 - }, - { - "Price": 233.66, - "Quantity": 165 - }, - { - "Price": 233.65, - "Quantity": 393 - }, - { - "Price": 233.64, - "Quantity": 464 - }, - { - "Price": 233.63, - "Quantity": 228 - }, - { - "Price": 233.62, - "Quantity": 344 - }, - { - "Price": 233.61, - "Quantity": 358 - }, - { - "Price": 233.6, - "Quantity": 4137 - }, - { - "Price": 233.59, - "Quantity": 1096 - } - ], - "Asks": [ - { - "Price": 233.81, - "Quantity": 51 - }, - { - "Price": 233.82, - "Quantity": 68 - }, - { - "Price": 233.83, - "Quantity": 73 - }, - { - "Price": 233.84, - "Quantity": 349 - }, - { - "Price": 233.85, - "Quantity": 1042 - }, - { - "Price": 233.86, - "Quantity": 548 - }, - { - "Price": 233.87, - "Quantity": 934 - }, - { - "Price": 233.88, - "Quantity": 1111 - }, - { - "Price": 233.89, - "Quantity": 8193 - }, - { - "Price": 233.9, - "Quantity": 6745 - }, - { - "Price": 233.91, - "Quantity": 164 - }, - { - "Price": 233.92, - "Quantity": 793 - }, - { - "Price": 233.93, - "Quantity": 164 - }, - { - "Price": 233.94, - "Quantity": 189 - }, - { - "Price": 233.95, - "Quantity": 859 - }, - { - "Price": 233.96, - "Quantity": 156 - }, - { - "Price": 233.97, - "Quantity": 367 - }, - { - "Price": 233.98, - "Quantity": 2072 - }, - { - "Price": 233.99, - "Quantity": 2999 - }, - { - "Price": 234, - "Quantity": 7490 - } - ] - }, - { - "Figi": "BBG004730N88", - "InstrumentUid": "e6123145-9665-43e0-8413-cd61b8aa9b13", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396819, - "LimitUp": 253.72, - "LimitDown": 206.56, - "Bids": [ - { - "Price": 233.79, - "Quantity": 20 - }, - { - "Price": 233.78, - "Quantity": 100 - }, - { - "Price": 233.77, - "Quantity": 69 - }, - { - "Price": 233.76, - "Quantity": 151 - }, - { - "Price": 233.75, - "Quantity": 135 - }, - { - "Price": 233.74, - "Quantity": 576 - }, - { - "Price": 233.73, - "Quantity": 117 - }, - { - "Price": 233.72, - "Quantity": 75 - }, - { - "Price": 233.71, - "Quantity": 775 - }, - { - "Price": 233.7, - "Quantity": 471 - }, - { - "Price": 233.69, - "Quantity": 165 - }, - { - "Price": 233.68, - "Quantity": 199 - }, - { - "Price": 233.67, - "Quantity": 264 - }, - { - "Price": 233.66, - "Quantity": 165 - }, - { - "Price": 233.65, - "Quantity": 393 - }, - { - "Price": 233.64, - "Quantity": 564 - }, - { - "Price": 233.63, - "Quantity": 464 - }, - { - "Price": 233.62, - "Quantity": 324 - }, - { - "Price": 233.61, - "Quantity": 358 - }, - { - "Price": 233.6, - "Quantity": 3837 - } - ], - "Asks": [ - { - "Price": 233.81, - "Quantity": 51 - }, - { - "Price": 233.82, - "Quantity": 68 - }, - { - "Price": 233.83, - "Quantity": 73 - }, - { - "Price": 233.84, - "Quantity": 349 - }, - { - "Price": 233.85, - "Quantity": 1017 - }, - { - "Price": 233.86, - "Quantity": 573 - }, - { - "Price": 233.87, - "Quantity": 934 - }, - { - "Price": 233.88, - "Quantity": 1086 - }, - { - "Price": 233.89, - "Quantity": 8218 - }, - { - "Price": 233.9, - "Quantity": 6745 - }, - { - "Price": 233.91, - "Quantity": 164 - }, - { - "Price": 233.92, - "Quantity": 793 - }, - { - "Price": 233.93, - "Quantity": 164 - }, - { - "Price": 233.94, - "Quantity": 189 - }, - { - "Price": 233.95, - "Quantity": 859 - }, - { - "Price": 233.96, - "Quantity": 159 - }, - { - "Price": 233.97, - "Quantity": 367 - }, - { - "Price": 233.98, - "Quantity": 2072 - }, - { - "Price": 233.99, - "Quantity": 2999 - }, - { - "Price": 234, - "Quantity": 7490 - } - ] - }, - { - "Figi": "BBG004730N88", - "InstrumentUid": "e6123145-9665-43e0-8413-cd61b8aa9b13", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396819, - "LimitUp": 253.72, - "LimitDown": 206.56, - "Bids": [ - { - "Price": 233.8, - "Quantity": 20 - }, - { - "Price": 233.79, - "Quantity": 20 - }, - { - "Price": 233.78, - "Quantity": 100 - }, - { - "Price": 233.77, - "Quantity": 69 - }, - { - "Price": 233.76, - "Quantity": 151 - }, - { - "Price": 233.75, - "Quantity": 210 - }, - { - "Price": 233.74, - "Quantity": 576 - }, - { - "Price": 233.73, - "Quantity": 117 - }, - { - "Price": 233.72, - "Quantity": 75 - }, - { - "Price": 233.71, - "Quantity": 864 - }, - { - "Price": 233.7, - "Quantity": 471 - }, - { - "Price": 233.69, - "Quantity": 164 - }, - { - "Price": 233.68, - "Quantity": 199 - }, - { - "Price": 233.67, - "Quantity": 264 - }, - { - "Price": 233.66, - "Quantity": 165 - }, - { - "Price": 233.65, - "Quantity": 393 - }, - { - "Price": 233.64, - "Quantity": 564 - }, - { - "Price": 233.63, - "Quantity": 464 - }, - { - "Price": 233.62, - "Quantity": 324 - }, - { - "Price": 233.61, - "Quantity": 269 - } - ], - "Asks": [ - { - "Price": 233.81, - "Quantity": 51 - }, - { - "Price": 233.82, - "Quantity": 68 - }, - { - "Price": 233.83, - "Quantity": 73 - }, - { - "Price": 233.84, - "Quantity": 349 - }, - { - "Price": 233.85, - "Quantity": 928 - }, - { - "Price": 233.86, - "Quantity": 573 - }, - { - "Price": 233.87, - "Quantity": 934 - }, - { - "Price": 233.88, - "Quantity": 1086 - }, - { - "Price": 233.89, - "Quantity": 8218 - }, - { - "Price": 233.9, - "Quantity": 6745 - }, - { - "Price": 233.91, - "Quantity": 164 - }, - { - "Price": 233.92, - "Quantity": 793 - }, - { - "Price": 233.93, - "Quantity": 164 - }, - { - "Price": 233.94, - "Quantity": 189 - }, - { - "Price": 233.95, - "Quantity": 948 - }, - { - "Price": 233.96, - "Quantity": 159 - }, - { - "Price": 233.97, - "Quantity": 367 - }, - { - "Price": 233.98, - "Quantity": 2072 - }, - { - "Price": 233.99, - "Quantity": 3000 - }, - { - "Price": 234, - "Quantity": 7490 - } - ] - }, - { - "Figi": "BBG00475KKY8", - "InstrumentUid": "0da66728-6c30-44c4-9264-df8fac2467ee", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396819, - "LimitUp": 1490.6, - "LimitDown": 1096.4, - "Bids": [ - { - "Price": 1295.2, - "Quantity": 5 - }, - { - "Price": 1295, - "Quantity": 4041 - }, - { - "Price": 1294.8, - "Quantity": 3 - }, - { - "Price": 1294.6, - "Quantity": 2 - }, - { - "Price": 1294.4, - "Quantity": 109 - }, - { - "Price": 1294.2, - "Quantity": 70 - }, - { - "Price": 1294, - "Quantity": 430 - }, - { - "Price": 1293.8, - "Quantity": 17 - }, - { - "Price": 1293.6, - "Quantity": 370 - }, - { - "Price": 1293.4, - "Quantity": 30 - }, - { - "Price": 1293.2, - "Quantity": 1133 - }, - { - "Price": 1293, - "Quantity": 1030 - }, - { - "Price": 1292.8, - "Quantity": 1442 - }, - { - "Price": 1292.6, - "Quantity": 1408 - }, - { - "Price": 1292.4, - "Quantity": 16 - }, - { - "Price": 1292.2, - "Quantity": 1032 - }, - { - "Price": 1292, - "Quantity": 173 - }, - { - "Price": 1291.8, - "Quantity": 713 - }, - { - "Price": 1291.4, - "Quantity": 5 - }, - { - "Price": 1291.2, - "Quantity": 1330 - } - ], - "Asks": [ - { - "Price": 1295.8, - "Quantity": 11 - }, - { - "Price": 1296, - "Quantity": 163 - }, - { - "Price": 1296.2, - "Quantity": 48 - }, - { - "Price": 1296.4, - "Quantity": 136 - }, - { - "Price": 1296.6, - "Quantity": 218 - }, - { - "Price": 1296.8, - "Quantity": 150 - }, - { - "Price": 1297, - "Quantity": 170 - }, - { - "Price": 1297.2, - "Quantity": 271 - }, - { - "Price": 1297.4, - "Quantity": 185 - }, - { - "Price": 1297.6, - "Quantity": 589 - }, - { - "Price": 1297.8, - "Quantity": 2550 - }, - { - "Price": 1298, - "Quantity": 1016 - }, - { - "Price": 1298.2, - "Quantity": 2400 - }, - { - "Price": 1298.8, - "Quantity": 2720 - }, - { - "Price": 1299, - "Quantity": 379 - }, - { - "Price": 1299.4, - "Quantity": 71 - }, - { - "Price": 1299.6, - "Quantity": 366 - }, - { - "Price": 1299.8, - "Quantity": 2420 - }, - { - "Price": 1300, - "Quantity": 3452 - }, - { - "Price": 1300.2, - "Quantity": 2 - } - ] - }, - { - "Figi": "BBG004RVFCY3", - "InstrumentUid": "ca845f68-6c43-44bc-b584-330d2a1e5eb7", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396820, - "LimitUp": 5068.5, - "LimitDown": 4125, - "Bids": [ - { - "Price": 4611.5, - "Quantity": 14 - }, - { - "Price": 4611, - "Quantity": 34 - }, - { - "Price": 4610.5, - "Quantity": 82 - }, - { - "Price": 4610, - "Quantity": 1070 - }, - { - "Price": 4609.5, - "Quantity": 27 - }, - { - "Price": 4607.5, - "Quantity": 2 - }, - { - "Price": 4606.5, - "Quantity": 17 - }, - { - "Price": 4605.5, - "Quantity": 733 - }, - { - "Price": 4605, - "Quantity": 207 - }, - { - "Price": 4604, - "Quantity": 146 - }, - { - "Price": 4603.5, - "Quantity": 26 - }, - { - "Price": 4603, - "Quantity": 34 - }, - { - "Price": 4602.5, - "Quantity": 26 - }, - { - "Price": 4602, - "Quantity": 30 - }, - { - "Price": 4601.5, - "Quantity": 26 - }, - { - "Price": 4601, - "Quantity": 26 - }, - { - "Price": 4600.5, - "Quantity": 26 - }, - { - "Price": 4600, - "Quantity": 58 - }, - { - "Price": 4599.5, - "Quantity": 112 - }, - { - "Price": 4599, - "Quantity": 835 - } - ], - "Asks": [ - { - "Price": 4612, - "Quantity": 2 - }, - { - "Price": 4612.5, - "Quantity": 18 - }, - { - "Price": 4613, - "Quantity": 8 - }, - { - "Price": 4613.5, - "Quantity": 94 - }, - { - "Price": 4614, - "Quantity": 103 - }, - { - "Price": 4615, - "Quantity": 12 - }, - { - "Price": 4615.5, - "Quantity": 30 - }, - { - "Price": 4616, - "Quantity": 122 - }, - { - "Price": 4616.5, - "Quantity": 63 - }, - { - "Price": 4617, - "Quantity": 10 - }, - { - "Price": 4617.5, - "Quantity": 11 - }, - { - "Price": 4618, - "Quantity": 255 - }, - { - "Price": 4618.5, - "Quantity": 213 - }, - { - "Price": 4619, - "Quantity": 68 - }, - { - "Price": 4619.5, - "Quantity": 52 - }, - { - "Price": 4620, - "Quantity": 621 - }, - { - "Price": 4621, - "Quantity": 21 - }, - { - "Price": 4621.5, - "Quantity": 10 - }, - { - "Price": 4622, - "Quantity": 65 - }, - { - "Price": 4622.5, - "Quantity": 116 - } - ] - }, - { - "Figi": "BBG004730N88", - "InstrumentUid": "e6123145-9665-43e0-8413-cd61b8aa9b13", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396819, - "LimitUp": 253.72, - "LimitDown": 206.56, - "Bids": [ - { - "Price": 233.8, - "Quantity": 20 - }, - { - "Price": 233.79, - "Quantity": 20 - }, - { - "Price": 233.78, - "Quantity": 100 - }, - { - "Price": 233.77, - "Quantity": 69 - }, - { - "Price": 233.76, - "Quantity": 151 - }, - { - "Price": 233.75, - "Quantity": 210 - }, - { - "Price": 233.74, - "Quantity": 576 - }, - { - "Price": 233.73, - "Quantity": 117 - }, - { - "Price": 233.72, - "Quantity": 75 - }, - { - "Price": 233.71, - "Quantity": 864 - }, - { - "Price": 233.7, - "Quantity": 471 - }, - { - "Price": 233.69, - "Quantity": 264 - }, - { - "Price": 233.68, - "Quantity": 199 - }, - { - "Price": 233.67, - "Quantity": 164 - }, - { - "Price": 233.66, - "Quantity": 165 - }, - { - "Price": 233.65, - "Quantity": 393 - }, - { - "Price": 233.64, - "Quantity": 564 - }, - { - "Price": 233.63, - "Quantity": 464 - }, - { - "Price": 233.62, - "Quantity": 324 - }, - { - "Price": 233.61, - "Quantity": 269 - } - ], - "Asks": [ - { - "Price": 233.81, - "Quantity": 51 - }, - { - "Price": 233.82, - "Quantity": 68 - }, - { - "Price": 233.83, - "Quantity": 73 - }, - { - "Price": 233.84, - "Quantity": 349 - }, - { - "Price": 233.85, - "Quantity": 928 - }, - { - "Price": 233.86, - "Quantity": 573 - }, - { - "Price": 233.87, - "Quantity": 934 - }, - { - "Price": 233.88, - "Quantity": 1086 - }, - { - "Price": 233.89, - "Quantity": 8218 - }, - { - "Price": 233.9, - "Quantity": 6645 - }, - { - "Price": 233.91, - "Quantity": 164 - }, - { - "Price": 233.92, - "Quantity": 793 - }, - { - "Price": 233.93, - "Quantity": 164 - }, - { - "Price": 233.94, - "Quantity": 189 - }, - { - "Price": 233.95, - "Quantity": 948 - }, - { - "Price": 233.96, - "Quantity": 159 - }, - { - "Price": 233.97, - "Quantity": 367 - }, - { - "Price": 233.98, - "Quantity": 2072 - }, - { - "Price": 233.99, - "Quantity": 3000 - }, - { - "Price": 234, - "Quantity": 7490 - } - ] - }, - { - "Figi": "BBG004730N88", - "InstrumentUid": "e6123145-9665-43e0-8413-cd61b8aa9b13", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396820, - "LimitUp": 253.72, - "LimitDown": 206.56, - "Bids": [ - { - "Price": 233.81, - "Quantity": 525 - }, - { - "Price": 233.8, - "Quantity": 7 - }, - { - "Price": 233.79, - "Quantity": 100 - }, - { - "Price": 233.78, - "Quantity": 25 - }, - { - "Price": 233.77, - "Quantity": 69 - }, - { - "Price": 233.76, - "Quantity": 595 - }, - { - "Price": 233.75, - "Quantity": 210 - }, - { - "Price": 233.74, - "Quantity": 276 - }, - { - "Price": 233.73, - "Quantity": 317 - }, - { - "Price": 233.72, - "Quantity": 375 - }, - { - "Price": 233.71, - "Quantity": 164 - }, - { - "Price": 233.7, - "Quantity": 470 - }, - { - "Price": 233.69, - "Quantity": 264 - }, - { - "Price": 233.68, - "Quantity": 199 - }, - { - "Price": 233.67, - "Quantity": 164 - }, - { - "Price": 233.66, - "Quantity": 557 - }, - { - "Price": 233.65, - "Quantity": 393 - }, - { - "Price": 233.64, - "Quantity": 484 - }, - { - "Price": 233.63, - "Quantity": 164 - }, - { - "Price": 233.62, - "Quantity": 324 - } - ], - "Asks": [ - { - "Price": 233.82, - "Quantity": 18 - }, - { - "Price": 233.83, - "Quantity": 73 - }, - { - "Price": 233.84, - "Quantity": 274 - }, - { - "Price": 233.85, - "Quantity": 628 - }, - { - "Price": 233.86, - "Quantity": 548 - }, - { - "Price": 233.87, - "Quantity": 1034 - }, - { - "Price": 233.88, - "Quantity": 886 - }, - { - "Price": 233.89, - "Quantity": 8093 - }, - { - "Price": 233.9, - "Quantity": 6670 - }, - { - "Price": 233.91, - "Quantity": 464 - }, - { - "Price": 233.92, - "Quantity": 993 - }, - { - "Price": 233.93, - "Quantity": 289 - }, - { - "Price": 233.94, - "Quantity": 189 - }, - { - "Price": 233.95, - "Quantity": 648 - }, - { - "Price": 233.96, - "Quantity": 159 - }, - { - "Price": 233.97, - "Quantity": 367 - }, - { - "Price": 233.98, - "Quantity": 2372 - }, - { - "Price": 233.99, - "Quantity": 3000 - }, - { - "Price": 234, - "Quantity": 7490 - }, - { - "Price": 234.01, - "Quantity": 75 - } - ] - }, - { - "Figi": "BBG004730N88", - "InstrumentUid": "e6123145-9665-43e0-8413-cd61b8aa9b13", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396820, - "LimitUp": 253.72, - "LimitDown": 206.56, - "Bids": [ - { - "Price": 233.8, - "Quantity": 32 - }, - { - "Price": 233.79, - "Quantity": 100 - }, - { - "Price": 233.77, - "Quantity": 200 - }, - { - "Price": 233.76, - "Quantity": 595 - }, - { - "Price": 233.75, - "Quantity": 210 - }, - { - "Price": 233.74, - "Quantity": 76 - }, - { - "Price": 233.73, - "Quantity": 317 - }, - { - "Price": 233.72, - "Quantity": 575 - }, - { - "Price": 233.71, - "Quantity": 164 - }, - { - "Price": 233.7, - "Quantity": 470 - }, - { - "Price": 233.69, - "Quantity": 264 - }, - { - "Price": 233.68, - "Quantity": 199 - }, - { - "Price": 233.67, - "Quantity": 164 - }, - { - "Price": 233.66, - "Quantity": 557 - }, - { - "Price": 233.65, - "Quantity": 393 - }, - { - "Price": 233.64, - "Quantity": 484 - }, - { - "Price": 233.63, - "Quantity": 164 - }, - { - "Price": 233.62, - "Quantity": 324 - }, - { - "Price": 233.61, - "Quantity": 1169 - }, - { - "Price": 233.6, - "Quantity": 3837 - } - ], - "Asks": [ - { - "Price": 233.82, - "Quantity": 18 - }, - { - "Price": 233.83, - "Quantity": 73 - }, - { - "Price": 233.84, - "Quantity": 274 - }, - { - "Price": 233.85, - "Quantity": 628 - }, - { - "Price": 233.86, - "Quantity": 548 - }, - { - "Price": 233.87, - "Quantity": 1059 - }, - { - "Price": 233.88, - "Quantity": 886 - }, - { - "Price": 233.89, - "Quantity": 8093 - }, - { - "Price": 233.9, - "Quantity": 6970 - }, - { - "Price": 233.91, - "Quantity": 164 - }, - { - "Price": 233.92, - "Quantity": 993 - }, - { - "Price": 233.93, - "Quantity": 264 - }, - { - "Price": 233.94, - "Quantity": 189 - }, - { - "Price": 233.95, - "Quantity": 648 - }, - { - "Price": 233.96, - "Quantity": 159 - }, - { - "Price": 233.97, - "Quantity": 367 - }, - { - "Price": 233.98, - "Quantity": 2372 - }, - { - "Price": 233.99, - "Quantity": 3000 - }, - { - "Price": 234, - "Quantity": 7490 - }, - { - "Price": 234.01, - "Quantity": 75 - } - ] - }, - { - "Figi": "BBG00475KKY8", - "InstrumentUid": "0da66728-6c30-44c4-9264-df8fac2467ee", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396820, - "LimitUp": 1490.6, - "LimitDown": 1096.4, - "Bids": [ - { - "Price": 1295.2, - "Quantity": 5 - }, - { - "Price": 1295, - "Quantity": 4045 - }, - { - "Price": 1294.8, - "Quantity": 3 - }, - { - "Price": 1294.6, - "Quantity": 2 - }, - { - "Price": 1294.4, - "Quantity": 109 - }, - { - "Price": 1294.2, - "Quantity": 70 - }, - { - "Price": 1294, - "Quantity": 430 - }, - { - "Price": 1293.8, - "Quantity": 17 - }, - { - "Price": 1293.6, - "Quantity": 370 - }, - { - "Price": 1293.4, - "Quantity": 30 - }, - { - "Price": 1293.2, - "Quantity": 1133 - }, - { - "Price": 1293, - "Quantity": 1030 - }, - { - "Price": 1292.8, - "Quantity": 1442 - }, - { - "Price": 1292.6, - "Quantity": 1408 - }, - { - "Price": 1292.4, - "Quantity": 16 - }, - { - "Price": 1292.2, - "Quantity": 1032 - }, - { - "Price": 1292, - "Quantity": 173 - }, - { - "Price": 1291.8, - "Quantity": 713 - }, - { - "Price": 1291.4, - "Quantity": 5 - }, - { - "Price": 1291.2, - "Quantity": 1330 - } - ], - "Asks": [ - { - "Price": 1295.8, - "Quantity": 11 - }, - { - "Price": 1296, - "Quantity": 163 - }, - { - "Price": 1296.2, - "Quantity": 48 - }, - { - "Price": 1296.4, - "Quantity": 136 - }, - { - "Price": 1296.6, - "Quantity": 218 - }, - { - "Price": 1296.8, - "Quantity": 150 - }, - { - "Price": 1297, - "Quantity": 170 - }, - { - "Price": 1297.2, - "Quantity": 271 - }, - { - "Price": 1297.4, - "Quantity": 185 - }, - { - "Price": 1297.6, - "Quantity": 589 - }, - { - "Price": 1297.8, - "Quantity": 2550 - }, - { - "Price": 1298, - "Quantity": 1016 - }, - { - "Price": 1298.2, - "Quantity": 2400 - }, - { - "Price": 1298.8, - "Quantity": 2720 - }, - { - "Price": 1299, - "Quantity": 379 - }, - { - "Price": 1299.4, - "Quantity": 71 - }, - { - "Price": 1299.6, - "Quantity": 366 - }, - { - "Price": 1299.8, - "Quantity": 2420 - }, - { - "Price": 1300, - "Quantity": 3452 - }, - { - "Price": 1300.2, - "Quantity": 2 - } - ] - }, - { - "Figi": "BBG004730N88", - "InstrumentUid": "e6123145-9665-43e0-8413-cd61b8aa9b13", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396821, - "LimitUp": 253.72, - "LimitDown": 206.56, - "Bids": [ - { - "Price": 233.78, - "Quantity": 135 - }, - { - "Price": 233.77, - "Quantity": 106 - }, - { - "Price": 233.76, - "Quantity": 220 - }, - { - "Price": 233.75, - "Quantity": 235 - }, - { - "Price": 233.74, - "Quantity": 376 - }, - { - "Price": 233.73, - "Quantity": 317 - }, - { - "Price": 233.72, - "Quantity": 575 - }, - { - "Price": 233.71, - "Quantity": 164 - }, - { - "Price": 233.7, - "Quantity": 470 - }, - { - "Price": 233.69, - "Quantity": 264 - }, - { - "Price": 233.68, - "Quantity": 199 - }, - { - "Price": 233.67, - "Quantity": 164 - }, - { - "Price": 233.66, - "Quantity": 557 - }, - { - "Price": 233.65, - "Quantity": 393 - }, - { - "Price": 233.64, - "Quantity": 484 - }, - { - "Price": 233.63, - "Quantity": 303 - }, - { - "Price": 233.62, - "Quantity": 388 - }, - { - "Price": 233.61, - "Quantity": 1169 - }, - { - "Price": 233.6, - "Quantity": 3837 - }, - { - "Price": 233.59, - "Quantity": 1096 - } - ], - "Asks": [ - { - "Price": 233.8, - "Quantity": 68 - }, - { - "Price": 233.82, - "Quantity": 18 - }, - { - "Price": 233.83, - "Quantity": 123 - }, - { - "Price": 233.84, - "Quantity": 274 - }, - { - "Price": 233.85, - "Quantity": 928 - }, - { - "Price": 233.86, - "Quantity": 573 - }, - { - "Price": 233.87, - "Quantity": 734 - }, - { - "Price": 233.88, - "Quantity": 886 - }, - { - "Price": 233.89, - "Quantity": 8118 - }, - { - "Price": 233.9, - "Quantity": 6945 - }, - { - "Price": 233.91, - "Quantity": 164 - }, - { - "Price": 233.92, - "Quantity": 993 - }, - { - "Price": 233.93, - "Quantity": 164 - }, - { - "Price": 233.94, - "Quantity": 189 - }, - { - "Price": 233.95, - "Quantity": 648 - }, - { - "Price": 233.96, - "Quantity": 159 - }, - { - "Price": 233.97, - "Quantity": 367 - }, - { - "Price": 233.98, - "Quantity": 2372 - }, - { - "Price": 233.99, - "Quantity": 3000 - }, - { - "Price": 234, - "Quantity": 7490 - } - ] - }, - { - "Figi": "BBG004730N88", - "InstrumentUid": "e6123145-9665-43e0-8413-cd61b8aa9b13", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396821, - "LimitUp": 253.72, - "LimitDown": 206.56, - "Bids": [ - { - "Price": 233.78, - "Quantity": 135 - }, - { - "Price": 233.77, - "Quantity": 106 - }, - { - "Price": 233.76, - "Quantity": 220 - }, - { - "Price": 233.75, - "Quantity": 235 - }, - { - "Price": 233.74, - "Quantity": 376 - }, - { - "Price": 233.73, - "Quantity": 317 - }, - { - "Price": 233.72, - "Quantity": 575 - }, - { - "Price": 233.71, - "Quantity": 164 - }, - { - "Price": 233.7, - "Quantity": 470 - }, - { - "Price": 233.69, - "Quantity": 164 - }, - { - "Price": 233.68, - "Quantity": 199 - }, - { - "Price": 233.67, - "Quantity": 264 - }, - { - "Price": 233.66, - "Quantity": 557 - }, - { - "Price": 233.65, - "Quantity": 393 - }, - { - "Price": 233.64, - "Quantity": 484 - }, - { - "Price": 233.63, - "Quantity": 303 - }, - { - "Price": 233.62, - "Quantity": 388 - }, - { - "Price": 233.61, - "Quantity": 1169 - }, - { - "Price": 233.6, - "Quantity": 3837 - }, - { - "Price": 233.59, - "Quantity": 1096 - } - ], - "Asks": [ - { - "Price": 233.8, - "Quantity": 8 - }, - { - "Price": 233.82, - "Quantity": 54 - }, - { - "Price": 233.83, - "Quantity": 73 - }, - { - "Price": 233.84, - "Quantity": 274 - }, - { - "Price": 233.85, - "Quantity": 927 - }, - { - "Price": 233.86, - "Quantity": 573 - }, - { - "Price": 233.87, - "Quantity": 684 - }, - { - "Price": 233.88, - "Quantity": 886 - }, - { - "Price": 233.89, - "Quantity": 8118 - }, - { - "Price": 233.9, - "Quantity": 7045 - }, - { - "Price": 233.91, - "Quantity": 164 - }, - { - "Price": 233.92, - "Quantity": 993 - }, - { - "Price": 233.93, - "Quantity": 164 - }, - { - "Price": 233.94, - "Quantity": 189 - }, - { - "Price": 233.95, - "Quantity": 648 - }, - { - "Price": 233.96, - "Quantity": 159 - }, - { - "Price": 233.97, - "Quantity": 367 - }, - { - "Price": 233.98, - "Quantity": 2372 - }, - { - "Price": 233.99, - "Quantity": 3000 - }, - { - "Price": 234, - "Quantity": 7490 - } - ] - }, - { - "Figi": "BBG004RVFCY3", - "InstrumentUid": "ca845f68-6c43-44bc-b584-330d2a1e5eb7", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396821, - "LimitUp": 5068.5, - "LimitDown": 4125, - "Bids": [ - { - "Price": 4611.5, - "Quantity": 14 - }, - { - "Price": 4611, - "Quantity": 34 - }, - { - "Price": 4610.5, - "Quantity": 82 - }, - { - "Price": 4610, - "Quantity": 1070 - }, - { - "Price": 4609.5, - "Quantity": 27 - }, - { - "Price": 4607.5, - "Quantity": 2 - }, - { - "Price": 4606.5, - "Quantity": 17 - }, - { - "Price": 4605.5, - "Quantity": 733 - }, - { - "Price": 4605, - "Quantity": 207 - }, - { - "Price": 4604, - "Quantity": 146 - }, - { - "Price": 4603.5, - "Quantity": 26 - }, - { - "Price": 4603, - "Quantity": 34 - }, - { - "Price": 4602.5, - "Quantity": 26 - }, - { - "Price": 4602, - "Quantity": 30 - }, - { - "Price": 4601.5, - "Quantity": 26 - }, - { - "Price": 4601, - "Quantity": 26 - }, - { - "Price": 4600.5, - "Quantity": 26 - }, - { - "Price": 4600, - "Quantity": 58 - }, - { - "Price": 4599.5, - "Quantity": 112 - }, - { - "Price": 4599, - "Quantity": 835 - } - ], - "Asks": [ - { - "Price": 4612, - "Quantity": 2 - }, - { - "Price": 4612.5, - "Quantity": 18 - }, - { - "Price": 4613, - "Quantity": 8 - }, - { - "Price": 4613.5, - "Quantity": 94 - }, - { - "Price": 4614, - "Quantity": 103 - }, - { - "Price": 4615, - "Quantity": 12 - }, - { - "Price": 4615.5, - "Quantity": 30 - }, - { - "Price": 4616, - "Quantity": 122 - }, - { - "Price": 4616.5, - "Quantity": 63 - }, - { - "Price": 4617, - "Quantity": 10 - }, - { - "Price": 4617.5, - "Quantity": 11 - }, - { - "Price": 4618, - "Quantity": 255 - }, - { - "Price": 4618.5, - "Quantity": 213 - }, - { - "Price": 4619, - "Quantity": 68 - }, - { - "Price": 4619.5, - "Quantity": 52 - }, - { - "Price": 4620, - "Quantity": 621 - }, - { - "Price": 4621, - "Quantity": 21 - }, - { - "Price": 4621.5, - "Quantity": 10 - }, - { - "Price": 4622, - "Quantity": 65 - }, - { - "Price": 4622.5, - "Quantity": 116 - } - ] - }, - { - "Figi": "BBG00475KKY8", - "InstrumentUid": "0da66728-6c30-44c4-9264-df8fac2467ee", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396821, - "LimitUp": 1490.6, - "LimitDown": 1096.4, - "Bids": [ - { - "Price": 1295.2, - "Quantity": 1 - }, - { - "Price": 1295, - "Quantity": 4045 - }, - { - "Price": 1294.8, - "Quantity": 3 - }, - { - "Price": 1294.6, - "Quantity": 2 - }, - { - "Price": 1294.4, - "Quantity": 109 - }, - { - "Price": 1294.2, - "Quantity": 70 - }, - { - "Price": 1294, - "Quantity": 430 - }, - { - "Price": 1293.8, - "Quantity": 17 - }, - { - "Price": 1293.6, - "Quantity": 370 - }, - { - "Price": 1293.4, - "Quantity": 730 - }, - { - "Price": 1293.2, - "Quantity": 1133 - }, - { - "Price": 1293, - "Quantity": 1030 - }, - { - "Price": 1292.8, - "Quantity": 1442 - }, - { - "Price": 1292.6, - "Quantity": 708 - }, - { - "Price": 1292.4, - "Quantity": 16 - }, - { - "Price": 1292.2, - "Quantity": 1032 - }, - { - "Price": 1292, - "Quantity": 173 - }, - { - "Price": 1291.8, - "Quantity": 713 - }, - { - "Price": 1291.4, - "Quantity": 5 - }, - { - "Price": 1291.2, - "Quantity": 1330 - } - ], - "Asks": [ - { - "Price": 1295.8, - "Quantity": 111 - }, - { - "Price": 1296, - "Quantity": 163 - }, - { - "Price": 1296.2, - "Quantity": 48 - }, - { - "Price": 1296.4, - "Quantity": 136 - }, - { - "Price": 1296.6, - "Quantity": 218 - }, - { - "Price": 1296.8, - "Quantity": 150 - }, - { - "Price": 1297, - "Quantity": 170 - }, - { - "Price": 1297.2, - "Quantity": 271 - }, - { - "Price": 1297.4, - "Quantity": 185 - }, - { - "Price": 1297.6, - "Quantity": 589 - }, - { - "Price": 1297.8, - "Quantity": 1850 - }, - { - "Price": 1298, - "Quantity": 1016 - }, - { - "Price": 1298.2, - "Quantity": 2400 - }, - { - "Price": 1298.6, - "Quantity": 700 - }, - { - "Price": 1298.8, - "Quantity": 2720 - }, - { - "Price": 1299, - "Quantity": 379 - }, - { - "Price": 1299.4, - "Quantity": 71 - }, - { - "Price": 1299.6, - "Quantity": 366 - }, - { - "Price": 1299.8, - "Quantity": 2420 - }, - { - "Price": 1300, - "Quantity": 3452 - } - ] - }, - { - "Figi": "BBG004730N88", - "InstrumentUid": "e6123145-9665-43e0-8413-cd61b8aa9b13", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396821, - "LimitUp": 253.72, - "LimitDown": 206.56, - "Bids": [ - { - "Price": 233.78, - "Quantity": 135 - }, - { - "Price": 233.77, - "Quantity": 106 - }, - { - "Price": 233.76, - "Quantity": 220 - }, - { - "Price": 233.75, - "Quantity": 235 - }, - { - "Price": 233.74, - "Quantity": 376 - }, - { - "Price": 233.73, - "Quantity": 317 - }, - { - "Price": 233.72, - "Quantity": 575 - }, - { - "Price": 233.71, - "Quantity": 164 - }, - { - "Price": 233.7, - "Quantity": 470 - }, - { - "Price": 233.69, - "Quantity": 164 - }, - { - "Price": 233.68, - "Quantity": 199 - }, - { - "Price": 233.67, - "Quantity": 264 - }, - { - "Price": 233.66, - "Quantity": 557 - }, - { - "Price": 233.65, - "Quantity": 393 - }, - { - "Price": 233.64, - "Quantity": 484 - }, - { - "Price": 233.63, - "Quantity": 303 - }, - { - "Price": 233.62, - "Quantity": 388 - }, - { - "Price": 233.61, - "Quantity": 1169 - }, - { - "Price": 233.6, - "Quantity": 3837 - }, - { - "Price": 233.59, - "Quantity": 1096 - } - ], - "Asks": [ - { - "Price": 233.8, - "Quantity": 8 - }, - { - "Price": 233.82, - "Quantity": 54 - }, - { - "Price": 233.83, - "Quantity": 73 - }, - { - "Price": 233.84, - "Quantity": 274 - }, - { - "Price": 233.85, - "Quantity": 927 - }, - { - "Price": 233.86, - "Quantity": 573 - }, - { - "Price": 233.87, - "Quantity": 684 - }, - { - "Price": 233.88, - "Quantity": 886 - }, - { - "Price": 233.89, - "Quantity": 8118 - }, - { - "Price": 233.9, - "Quantity": 7045 - }, - { - "Price": 233.91, - "Quantity": 164 - }, - { - "Price": 233.92, - "Quantity": 993 - }, - { - "Price": 233.93, - "Quantity": 164 - }, - { - "Price": 233.94, - "Quantity": 189 - }, - { - "Price": 233.95, - "Quantity": 648 - }, - { - "Price": 233.96, - "Quantity": 159 - }, - { - "Price": 233.97, - "Quantity": 367 - }, - { - "Price": 233.98, - "Quantity": 2372 - }, - { - "Price": 233.99, - "Quantity": 3000 - }, - { - "Price": 234, - "Quantity": 7490 - } - ] - }, - { - "Figi": "BBG004730N88", - "InstrumentUid": "e6123145-9665-43e0-8413-cd61b8aa9b13", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396822, - "LimitUp": 253.72, - "LimitDown": 206.56, - "Bids": [ - { - "Price": 233.78, - "Quantity": 135 - }, - { - "Price": 233.77, - "Quantity": 106 - }, - { - "Price": 233.76, - "Quantity": 220 - }, - { - "Price": 233.75, - "Quantity": 235 - }, - { - "Price": 233.74, - "Quantity": 376 - }, - { - "Price": 233.73, - "Quantity": 317 - }, - { - "Price": 233.72, - "Quantity": 575 - }, - { - "Price": 233.71, - "Quantity": 164 - }, - { - "Price": 233.7, - "Quantity": 470 - }, - { - "Price": 233.69, - "Quantity": 164 - }, - { - "Price": 233.68, - "Quantity": 199 - }, - { - "Price": 233.67, - "Quantity": 264 - }, - { - "Price": 233.66, - "Quantity": 557 - }, - { - "Price": 233.65, - "Quantity": 393 - }, - { - "Price": 233.64, - "Quantity": 484 - }, - { - "Price": 233.63, - "Quantity": 303 - }, - { - "Price": 233.62, - "Quantity": 388 - }, - { - "Price": 233.61, - "Quantity": 1169 - }, - { - "Price": 233.6, - "Quantity": 3837 - }, - { - "Price": 233.59, - "Quantity": 1096 - } - ], - "Asks": [ - { - "Price": 233.8, - "Quantity": 8 - }, - { - "Price": 233.82, - "Quantity": 54 - }, - { - "Price": 233.83, - "Quantity": 73 - }, - { - "Price": 233.84, - "Quantity": 274 - }, - { - "Price": 233.85, - "Quantity": 927 - }, - { - "Price": 233.86, - "Quantity": 573 - }, - { - "Price": 233.87, - "Quantity": 684 - }, - { - "Price": 233.88, - "Quantity": 886 - }, - { - "Price": 233.89, - "Quantity": 8118 - }, - { - "Price": 233.9, - "Quantity": 7045 - }, - { - "Price": 233.91, - "Quantity": 164 - }, - { - "Price": 233.92, - "Quantity": 993 - }, - { - "Price": 233.93, - "Quantity": 164 - }, - { - "Price": 233.94, - "Quantity": 189 - }, - { - "Price": 233.95, - "Quantity": 648 - }, - { - "Price": 233.96, - "Quantity": 159 - }, - { - "Price": 233.97, - "Quantity": 367 - }, - { - "Price": 233.98, - "Quantity": 2372 - }, - { - "Price": 233.99, - "Quantity": 3000 - }, - { - "Price": 234, - "Quantity": 7494 - } - ] - }, - { - "Figi": "BBG004RVFCY3", - "InstrumentUid": "ca845f68-6c43-44bc-b584-330d2a1e5eb7", - "Depth": 20, - "IsConsistent": true, - "TimeUnix": 1684396822, - "LimitUp": 5068.5, - "LimitDown": 4125, - "Bids": [ - { - "Price": 4611.5, - "Quantity": 9 - }, - { - "Price": 4611, - "Quantity": 34 - }, - { - "Price": 4610.5, - "Quantity": 82 - }, - { - "Price": 4610, - "Quantity": 1070 - }, - { - "Price": 4609.5, - "Quantity": 27 - }, - { - "Price": 4607.5, - "Quantity": 2 - }, - { - "Price": 4606.5, - "Quantity": 17 - }, - { - "Price": 4605.5, - "Quantity": 733 - }, - { - "Price": 4605, - "Quantity": 208 - }, - { - "Price": 4604, - "Quantity": 146 - }, - { - "Price": 4603.5, - "Quantity": 26 - }, - { - "Price": 4603, - "Quantity": 34 - }, - { - "Price": 4602.5, - "Quantity": 26 - }, - { - "Price": 4602, - "Quantity": 30 - }, - { - "Price": 4601.5, - "Quantity": 26 - }, - { - "Price": 4601, - "Quantity": 26 - }, - { - "Price": 4600.5, - "Quantity": 26 - }, - { - "Price": 4600, - "Quantity": 58 - }, - { - "Price": 4599.5, - "Quantity": 112 - }, - { - "Price": 4599, - "Quantity": 835 - } - ], - "Asks": [ - { - "Price": 4612, - "Quantity": 2 - }, - { - "Price": 4612.5, - "Quantity": 18 - }, - { - "Price": 4613, - "Quantity": 8 - }, - { - "Price": 4613.5, - "Quantity": 94 - }, - { - "Price": 4614, - "Quantity": 103 - }, - { - "Price": 4615, - "Quantity": 12 - }, - { - "Price": 4615.5, - "Quantity": 30 - }, - { - "Price": 4616, - "Quantity": 122 - }, - { - "Price": 4616.5, - "Quantity": 63 - }, - { - "Price": 4617, - "Quantity": 10 - }, - { - "Price": 4617.5, - "Quantity": 11 - }, - { - "Price": 4618, - "Quantity": 255 - }, - { - "Price": 4618.5, - "Quantity": 213 - }, - { - "Price": 4619, - "Quantity": 68 - }, - { - "Price": 4619.5, - "Quantity": 52 - }, - { - "Price": 4620, - "Quantity": 621 - }, - { - "Price": 4621, - "Quantity": 21 - }, - { - "Price": 4621.5, - "Quantity": 10 - }, - { - "Price": 4622, - "Quantity": 65 - }, - { - "Price": 4622.5, - "Quantity": 116 - } - ] - } -] \ No newline at end of file diff --git a/examples/marketdata.go b/examples/marketdata.go index 338ca40..994eeb4 100644 --- a/examples/marketdata.go +++ b/examples/marketdata.go @@ -7,45 +7,47 @@ import ( pb "github.com/tinkoff/invest-api-go-sdk/proto" "go.uber.org/zap" "log" + "os/signal" + "syscall" "time" ) func main() { - // Загружаем конфигурацию для сдк + // загружаем конфигурацию для сдк из .yaml файла config, err := investgo.LoadConfig("config.yaml") if err != nil { log.Fatalf("config loading error %v", err.Error()) } - // контекст будет передан в сдк и будет использоваться для завершения работы - ctx, cancel := context.WithCancel(context.Background()) - defer cancel() - // Для примера передадим в качестве логгера uber zap - prod, err := zap.NewProduction() + ctx, cancel := signal.NotifyContext(context.Background(), syscall.SIGINT, syscall.SIGTERM, syscall.SIGKILL) + defer cancel() + // сдк использует для внутреннего логирования investgo.Logger + // для примера передадим uber.zap + prod := zap.NewExample() defer func() { err := prod.Sync() if err != nil { log.Printf("Prod.Sync %v", err.Error()) } }() - if err != nil { - log.Fatalf("logger creating error %e", err) + log.Fatalf("logger creating error %v", err) } logger := prod.Sugar() - - // Создаем клиента для апи инвестиций, он поддерживает grpc соединение + // создаем клиента для investAPI, он позволяет создавать нужные сервисы и уже + // через них вызывать нужные методы client, err := investgo.NewClient(ctx, config, logger) if err != nil { - logger.Fatalf("Client creating error %v", err.Error()) + logger.Fatalf("client creating error %v", err.Error()) } defer func() { - logger.Infof("Closing client connection") + logger.Infof("closing client connection") err := client.Stop() if err != nil { - logger.Error("client shutdown error %v", err.Error()) + logger.Errorf("client shutdown error %v", err.Error()) } }() + // создаем клиента для сервиса маркетдаты MarketDataService := client.NewMarketDataServiceClient() // три российские акции @@ -107,7 +109,7 @@ func main() { fmt.Printf("close price = %v\n", price.GetPrice().ToFloat()) } } - // Работы с историческими данными + // Работа с историческими данными // минутные свечи TCSG за последние двое суток candles, err := MarketDataService.GetHistoricCandles(&investgo.GetHistoricCandlesRequest{ diff --git a/examples/md_stream.go b/examples/md_stream.go index 9bd3083..adb3fe4 100644 --- a/examples/md_stream.go +++ b/examples/md_stream.go @@ -13,36 +13,35 @@ import ( ) func main() { - // Загружаем конфигурацию для сдк + // загружаем конфигурацию для сдк из .yaml файла config, err := investgo.LoadConfig("config.yaml") if err != nil { log.Fatalf("config loading error %v", err.Error()) } - // контекст будет передан в сдк и будет использоваться для завершения работы + ctx, cancel := signal.NotifyContext(context.Background(), syscall.SIGINT, syscall.SIGTERM, syscall.SIGKILL) defer cancel() - - // Для примера передадим к качестве логгера uber zap - prod, err := zap.NewProduction() + // сдк использует для внутреннего логирования investgo.Logger + // для примера передадим uber.zap + prod := zap.NewExample() defer func() { err := prod.Sync() if err != nil { log.Printf("Prod.Sync %v", err.Error()) } }() - if err != nil { log.Fatalf("logger creating error %v", err) } logger := prod.Sugar() - - // создаем клиента для апи инвестиций, он поддерживает grpc соединение + // создаем клиента для investAPI, он позволяет создавать нужные сервисы и уже + // через них вызывать нужные методы client, err := investgo.NewClient(ctx, config, logger) if err != nil { - logger.Fatalf("Client creating error %v", err.Error()) + logger.Fatalf("client creating error %v", err.Error()) } defer func() { - logger.Infof("Closing client connection") + logger.Infof("closing client connection") err := client.Stop() if err != nil { logger.Errorf("client shutdown error %v", err.Error()) @@ -74,7 +73,7 @@ func main() { } // функцию Listen нужно вызвать один раз для каждого стрима и в отдельной горутине - // для останвки стрима можно использовать метод Stop, он отменяет контекст внутри стрима + // для остановки стрима можно использовать метод Stop, он отменяет контекст внутри стрима // после вызова Stop закрываются каналы и завершается функция Listen wg.Add(1) go func() { @@ -94,7 +93,7 @@ func main() { for { select { case <-ctx.Done(): - logger.Infof("Stop listening first channels") + logger.Infof("stop listening first channels") return case candle, ok := <-candleChan: if !ok { @@ -144,7 +143,7 @@ func main() { for { select { case <-ctx.Done(): - logger.Infof("Stop listening second channels") + logger.Infof("stop listening second channels") return case ob, ok := <-obChan: if !ok { diff --git a/examples/operations.go b/examples/operations.go index 8025f7f..552777d 100644 --- a/examples/operations.go +++ b/examples/operations.go @@ -7,37 +7,48 @@ import ( pb "github.com/tinkoff/invest-api-go-sdk/proto" "go.uber.org/zap" "log" + "os/signal" + "syscall" "time" ) func main() { - // создаем клиента с grpc connection + // загружаем конфигурацию для сдк из .yaml файла config, err := investgo.LoadConfig("config.yaml") if err != nil { log.Fatalf("config loading error %v", err.Error()) } - ctx, cancel := context.WithCancel(context.Background()) + ctx, cancel := signal.NotifyContext(context.Background(), syscall.SIGINT, syscall.SIGTERM, syscall.SIGKILL) defer cancel() - - prod, err := zap.NewProduction() + // сдк использует для внутреннего логирования investgo.Logger + // для примера передадим uber.zap + prod := zap.NewExample() + defer func() { + err := prod.Sync() + if err != nil { + log.Printf("Prod.Sync %v", err.Error()) + } + }() if err != nil { - log.Fatalf("logger creating error %e", err) + log.Fatalf("logger creating error %v", err) } logger := prod.Sugar() - + // создаем клиента для investAPI, он позволяет создавать нужные сервисы и уже + // через них вызывать нужные методы client, err := investgo.NewClient(ctx, config, logger) if err != nil { - logger.Fatalf("Client creating error %v", err.Error()) + logger.Fatalf("client creating error %v", err.Error()) } defer func() { - logger.Infof("Closing client connection") + logger.Infof("closing client connection") err := client.Stop() if err != nil { - logger.Errorf(err.Error()) + logger.Errorf("client shutdown error %v", err.Error()) } }() + // создаем клиента для сервиса операций operationsService := client.NewOperationsServiceClient() portfolioResp, err := operationsService.GetPortfolio(config.AccountId, pb.PortfolioRequest_RUB) @@ -58,11 +69,15 @@ func main() { logger.Errorf(err.Error()) } else { ops := operationsResp.GetOperations() - for i, op := range ops { - fmt.Printf("operation %v, type = %v\n", i, op.GetOperationType().String()) + if len(ops) == 0 { + fmt.Printf("operations with %v not found\n", "BBG004S681W1") + } else { + for i, op := range ops { + fmt.Printf("operation %v, type = %v\n", i, op.GetOperationType().String()) + } } } - // для метода ниже песочница вернет [] + // для метода GenerateBrokerReport песочница вернет [] generateReportResp, err := operationsService.GenerateBrokerReport(config.AccountId, time.Now().Add(-1000*time.Hour), time.Now()) if err != nil { logger.Errorf(err.Error()) diff --git a/examples/operations_stream.go b/examples/operations_stream.go index f28f70a..291ccec 100644 --- a/examples/operations_stream.go +++ b/examples/operations_stream.go @@ -12,36 +12,35 @@ import ( ) func main() { - // Загружаем конфигурацию для сдк + // загружаем конфигурацию для сдк из .yaml файла config, err := investgo.LoadConfig("config.yaml") if err != nil { log.Fatalf("config loading error %v", err.Error()) } - // контекст будет передан в сдк и будет использоваться для завершения работы + ctx, cancel := signal.NotifyContext(context.Background(), syscall.SIGINT, syscall.SIGTERM, syscall.SIGKILL) defer cancel() - - // Для примера передадим к качестве логгера uber zap - prod, err := zap.NewProduction() + // сдк использует для внутреннего логирования investgo.Logger + // для примера передадим uber.zap + prod := zap.NewExample() defer func() { err := prod.Sync() if err != nil { log.Printf("Prod.Sync %v", err.Error()) } }() - if err != nil { - log.Fatalf("logger creating error %e", err) + log.Fatalf("logger creating error %v", err) } logger := prod.Sugar() - - // Создаем клиеинта для апи инвестиций, он поддерживает grpc соединение + // создаем клиента для investAPI, он позволяет создавать нужные сервисы и уже + // через них вызывать нужные методы client, err := investgo.NewClient(ctx, config, logger) if err != nil { - logger.Fatalf("Client creating error %v", err.Error()) + logger.Fatalf("client creating error %v", err.Error()) } defer func() { - logger.Infof("Closing client connection") + logger.Infof("closing client connection") err := client.Stop() if err != nil { logger.Errorf("client shutdown error %v", err.Error()) @@ -51,8 +50,10 @@ func main() { // для синхронизации всех горутин wg := &sync.WaitGroup{} + // создаем клиента для сервиса стримов операций operationsStreamClient := client.NewOperationsStreamClient() + // в отличие от стримов маркетдаты подписка на информацию происходит один раз при создании стрима positionsStream, err := operationsStreamClient.PositionsStream([]string{config.AccountId}) if err != nil { logger.Errorf(err.Error()) @@ -62,13 +63,21 @@ func main() { if err != nil { logger.Errorf(err.Error()) } - // получаем каналы для чтения + + // получаем каналы для чтения информации из стрима positions := positionsStream.Positions() portfolios := portfolioStream.Portfolios() + // читаем информацию из каналов wg.Add(1) go func(ctx context.Context) { - defer wg.Done() + defer func() { + // если мы слушаем в одной рутине несколько стримов, то + // при завершении (из-за закрытия одного из каналов) нужно остановить все стримы + positionsStream.Stop() + portfolioStream.Stop() + wg.Done() + }() for { select { case <-ctx.Done(): @@ -77,16 +86,19 @@ func main() { if !ok { return } - fmt.Printf("Position %v", pos.String()) + fmt.Printf("Position %v\n", pos.String()) case port, ok := <-portfolios: if !ok { return } - fmt.Printf("Portfolio %v", port.String()) + fmt.Printf("Portfolio %v\n", port.String()) } } }(ctx) + // функцию Listen нужно вызвать один раз для каждого стрима и в отдельной горутине + // для остановки стрима можно использовать метод Stop, он отменяет контекст внутри стрима + // после вызова Stop закрываются каналы и завершается функция Listen wg.Add(1) go func() { defer wg.Done() diff --git a/examples/order_book.go b/examples/order_book.go deleted file mode 100644 index 8930d02..0000000 --- a/examples/order_book.go +++ /dev/null @@ -1,233 +0,0 @@ -package main - -import ( - "context" - "encoding/json" - "fmt" - "github.com/tinkoff/invest-api-go-sdk/investgo" - pb "github.com/tinkoff/invest-api-go-sdk/proto" - "go.uber.org/zap" - "log" - "os" - "os/signal" - "sync" - "syscall" -) - -type Order struct { - Price float64 `json:"Price"` - Quantity int64 `json:"Quantity"` -} - -type OrderBook struct { - Figi string `json:"Figi"` - InstrumentUid string `json:"InstrumentUid"` - Depth int32 `json:"Depth"` - IsConsistent bool `json:"IsConsistent"` - TimeUnix int64 `json:"TimeUnix"` - LimitUp float64 `json:"LimitUp"` - LimitDown float64 `json:"LimitDown"` - Bids []Order `json:"Bids"` - Asks []Order `json:"Asks"` -} - -func main() { - config, err := investgo.LoadConfig("config.yaml") - if err != nil { - log.Fatalf("config loading error %v", err.Error()) - } - - ctx, cancel := signal.NotifyContext(context.Background(), syscall.SIGINT, syscall.SIGTERM, syscall.SIGKILL) - defer cancel() - // Для примера передадим к качестве логгера uber zap - prod, err := zap.NewProduction() - defer func() { - err := prod.Sync() - if err != nil { - log.Printf("Prod.Sync %v", err.Error()) - } - }() - - if err != nil { - log.Fatalf("logger creating error %v", err) - } - logger := prod.Sugar() - - client, err := investgo.NewClient(ctx, config, logger) - if err != nil { - logger.Fatalf("Client creating error %v", err.Error()) - } - defer func() { - logger.Infof("Closing client connection") - err := client.Stop() - if err != nil { - logger.Errorf("client shutdown error %v", err.Error()) - } - }() - - // для синхронизации всех горутин - wg := &sync.WaitGroup{} - - MarketDataStreamService := client.NewMarketDataStreamClient() - - // создаем стрим - stream, err := MarketDataStreamService.MarketDataStream() - if err != nil { - logger.Errorf(err.Error()) - } - - instruments := []string{"BBG004730N88", "BBG00475KKY8", "BBG004RVFCY3"} - orderBooks, err := stream.SubscribeOrderBook(instruments, 20) - if err != nil { - logger.Errorf(err.Error()) - } - - orderBookStorage := make(chan *OrderBook) - defer close(orderBookStorage) - - orderBookTransform := make(chan *pb.OrderBook) - defer close(orderBookTransform) - - // читаем стаканы из канала - wg.Add(1) - go func(ctx context.Context) { - defer wg.Done() - for { - select { - case <-ctx.Done(): - return - case ob, ok := <-orderBooks: - if !ok { - return - } - orderBookTransform <- ob - } - } - }(ctx) - - // запускаем чтение стрима - wg.Add(1) - go func(ctx context.Context) { - defer wg.Done() - err := stream.Listen() - if err != nil { - logger.Errorf(err.Error()) - } - }(ctx) - - // преобразуем стакан в нужную структуру - wg.Add(1) - go func(ctx context.Context) { - defer wg.Done() - for { - select { - case <-ctx.Done(): - return - case input, ok := <-orderBookTransform: - if !ok { - return - } - orderBookStorage <- transformOrderBook(input) - } - } - }(ctx) - - jsonFile := make(chan []OrderBook) - defer close(jsonFile) - // сохраняем в хранилище - wg.Add(1) - go func(ctx context.Context) { - defer wg.Done() - hundred := make([]OrderBook, 100) - count := 0 - for { - select { - case <-ctx.Done(): - return - case ob, ok := <-orderBookStorage: - if !ok { - return - } - if count < 99 { - hundred[count] = *ob - count++ - } else { - fmt.Println("hundred overflow") - hundred[count] = *ob - count = 0 - jsonFile <- hundred - } - } - } - }(ctx) - - // записываем 100 стаканов в json файл - wg.Add(1) - go func(ctx context.Context) { - defer wg.Done() - for { - select { - case <-ctx.Done(): - return - case data, ok := <-jsonFile: - if !ok { - return - } - err := writeOrderBooksToFile(data) - if err != nil { - logger.Errorf(err.Error()) - } - } - } - }(ctx) - - wg.Wait() -} - -func transformOrderBook(input *pb.OrderBook) *OrderBook { - depth := input.GetDepth() - bids := make([]Order, 0, depth) - asks := make([]Order, 0, depth) - for _, o := range input.GetBids() { - bids = append(bids, Order{ - Price: o.GetPrice().ToFloat(), - Quantity: o.GetQuantity(), - }) - } - for _, o := range input.GetAsks() { - asks = append(asks, Order{ - Price: o.GetPrice().ToFloat(), - Quantity: o.GetQuantity(), - }) - } - return &OrderBook{ - Figi: input.GetFigi(), - InstrumentUid: input.GetInstrumentUid(), - Depth: depth, - IsConsistent: input.GetIsConsistent(), - TimeUnix: input.GetTime().AsTime().Unix(), - LimitUp: input.GetLimitUp().ToFloat(), - LimitDown: input.GetLimitDown().ToFloat(), - Bids: bids, - Asks: asks, - } -} - -func writeOrderBooksToFile(orderBooks []OrderBook) error { - file, err := os.Create("examples/json/order_books.json") - if err != nil { - return err - } - defer func() { - err := file.Close() - if err != nil { - log.Printf(err.Error()) - } - }() - data, err := json.MarshalIndent(orderBooks, "", " ") - if err != nil { - return err - } - _, err = file.Write(data) - return err -} diff --git a/examples/order_book_download/order_book.go b/examples/order_book_download/order_book.go new file mode 100644 index 0000000..8d51b4d --- /dev/null +++ b/examples/order_book_download/order_book.go @@ -0,0 +1,434 @@ +package main + +import ( + "context" + "encoding/json" + "fmt" + "github.com/jmoiron/sqlx" + _ "github.com/mattn/go-sqlite3" + "github.com/tinkoff/invest-api-go-sdk/investgo" + pb "github.com/tinkoff/invest-api-go-sdk/proto" + "go.uber.org/zap" + "log" + "os" + "os/signal" + "sync" + "syscall" +) + +const ( + BATCH_SIZE = 300 + DEPTH = 20 + STORE_IN_JSON = false // if false store in sqlite +) + +type Order struct { + Price float64 `json:"Price"` + Quantity int64 `json:"Quantity"` +} + +type OrderBook struct { + Figi string `json:"Figi"` + InstrumentUid string `json:"InstrumentUid"` + Depth int32 `json:"Depth"` + IsConsistent bool `json:"IsConsistent"` + TimeUnix int64 `json:"TimeUnix"` + LimitUp float64 `json:"LimitUp"` + LimitDown float64 `json:"LimitDown"` + Bids []Order `json:"Bids"` + Asks []Order `json:"Asks"` +} + +var schema = ` +create table if not exists orderbooks ( + id integer primary key autoincrement, + figi text, + instrument_uid text, + depth integer, + is_consistent integer, + time_unix integer, + limit_up real, + limit_down real +); + +create table if not exists bids ( + orderbook_id integer, + price real, + quantity integer, + foreign key (orderbook_id) references orderbooks (id) on delete cascade +); + +create table if not exists asks ( + orderbook_id integer, + price real, + quantity integer, + foreign key (orderbook_id) references orderbooks (id) on delete cascade +); +` + +func main() { + // создаем базу данных sqlite + db, err := initDB("examples/order_book_download/order_books.db") + if err != nil { + log.Fatalf(err.Error()) + } + defer func() { + if err := db.Close(); err != nil { + log.Printf(err.Error()) + } + }() + // загружаем конфигурацию для сдк из .yaml файла + config, err := investgo.LoadConfig("config.yaml") + if err != nil { + log.Fatalf("config loading error %v", err.Error()) + } + + ctx, cancel := signal.NotifyContext(context.Background(), syscall.SIGINT, syscall.SIGTERM, syscall.SIGKILL) + defer cancel() + // сдк использует для внутреннего логирования investgo.Logger + // для примера передадим uber.zap + prod := zap.NewExample() + defer func() { + err := prod.Sync() + if err != nil { + log.Printf("Prod.Sync %v", err.Error()) + } + }() + if err != nil { + log.Fatalf("logger creating error %v", err) + } + logger := prod.Sugar() + // создаем клиента для investAPI, он позволяет создавать нужные сервисы и уже + // через них вызывать нужные методы + client, err := investgo.NewClient(ctx, config, logger) + if err != nil { + logger.Fatalf("client creating error %v", err.Error()) + } + defer func() { + logger.Infof("closing client connection") + err := client.Stop() + if err != nil { + logger.Errorf("client shutdown error %v", err.Error()) + } + }() + + // для синхронизации всех горутин + wg := &sync.WaitGroup{} + // создаем сервис инструментов, и у него вызываем нужные методы + insrtumentsService := client.NewInstrumentsServiceClient() + + // получаем список акций доступных для торговли через investAPI + instrumentsResp, err := insrtumentsService.Shares(pb.InstrumentStatus_INSTRUMENT_STATUS_BASE) + if err != nil { + logger.Errorf(err.Error()) + } + // слайс идентификаторов торговых инструментов + instrumentIds := make([]string, 0, 900) + + // берем первые 900 элементов + instruments := instrumentsResp.GetInstruments() + for i, instrument := range instruments { + if i > 899 { + break + } + instrumentIds = append(instrumentIds, instrument.GetUid()) + } + fmt.Printf("got %v instruments\n", len(instrumentIds)) + // создаем клиента сервиса стримов маркетдаты, и с его помощью создаем стримы + MarketDataStreamService := client.NewMarketDataStreamClient() + // создаем стримы + stream1, err := MarketDataStreamService.MarketDataStream() + if err != nil { + logger.Errorf(err.Error()) + } + + stream2, err := MarketDataStreamService.MarketDataStream() + if err != nil { + logger.Errorf(err.Error()) + } + + stream3, err := MarketDataStreamService.MarketDataStream() + if err != nil { + logger.Errorf(err.Error()) + } + // в рамках каждого стрима подписываемся на стаканы для 300 инструментов + orderBooks1, err := stream1.SubscribeOrderBook(instrumentIds[:299], DEPTH) + if err != nil { + logger.Errorf(err.Error()) + } + + orderBooks2, err := stream2.SubscribeOrderBook(instrumentIds[300:599], DEPTH) + if err != nil { + logger.Errorf(err.Error()) + } + + orderBooks3, err := stream3.SubscribeOrderBook(instrumentIds[600:899], DEPTH) + if err != nil { + logger.Errorf(err.Error()) + } + // процесс сохранения стакана в хранилище: + // чтение из стрима -> преобразование -> сохранение в слайс -> запись в хранилище + // разбиваем процесс на три горутины: + // 1. Читаем из стрима и преобразуем -> orderBookStorage + // 2. Собираем batch и отправляем во внешнее хранилище -> externalStorage + // 3. Записываем batch в хранилище + + // канал для связи горутны 1 и 2 + orderBookStorage := make(chan *OrderBook) + defer close(orderBookStorage) + + // запускаем чтение стримов + wg.Add(1) + go func(ctx context.Context) { + defer wg.Done() + err := stream1.Listen() + if err != nil { + logger.Errorf(err.Error()) + } + }(ctx) + + wg.Add(1) + go func(ctx context.Context) { + defer wg.Done() + err := stream2.Listen() + if err != nil { + logger.Errorf(err.Error()) + } + }(ctx) + + wg.Add(1) + go func(ctx context.Context) { + defer wg.Done() + err := stream3.Listen() + if err != nil { + logger.Errorf(err.Error()) + } + }(ctx) + + // читаем стаканы из каналов и преобразуем стакан в нужную структуру + wg.Add(1) + go func(ctx context.Context) { + defer func() { + // если мы слушаем в одной рутине несколько стримов, то + // при завершении (из-за закрытия одного из каналов) нужно остановить все стримы + stream1.Stop() + stream2.Stop() + stream3.Stop() + wg.Done() + }() + for { + select { + case <-ctx.Done(): + return + case input, ok := <-orderBooks1: + if !ok { + return + } + orderBookStorage <- transformOrderBook(input) + case input, ok := <-orderBooks2: + if !ok { + return + } + orderBookStorage <- transformOrderBook(input) + case input, ok := <-orderBooks3: + if !ok { + return + } + orderBookStorage <- transformOrderBook(input) + } + } + }(ctx) + + // канал для связи горутины 2 и 3 + externalStorage := make(chan []*OrderBook) + defer close(externalStorage) + // сохраняем в хранилище + wg.Add(1) + go func(ctx context.Context) { + defer wg.Done() + batch := make([]*OrderBook, BATCH_SIZE) + count := 0 + for { + select { + case <-ctx.Done(): + return + case ob, ok := <-orderBookStorage: + if !ok { + return + } + if count < BATCH_SIZE-1 { + batch[count] = ob + count++ + } else { + log.Println("batch overflow") + batch[count] = ob + count = 0 + externalStorage <- batch + } + } + } + }(ctx) + + // записываем стаканы в бд или json + wg.Add(1) + go func(ctx context.Context) { + defer wg.Done() + for { + select { + case <-ctx.Done(): + return + case data, ok := <-externalStorage: + if !ok { + return + } + if STORE_IN_JSON { + err = storeOrderBooksInFile(data) + } else { + err = storeOrderBooksInDB(db, data) + } + if err != nil { + logger.Errorf(err.Error()) + } + } + } + }(ctx) + + wg.Wait() +} + +// преобразование стакана в нужный формат +func transformOrderBook(input *pb.OrderBook) *OrderBook { + depth := input.GetDepth() + bids := make([]Order, 0, depth) + asks := make([]Order, 0, depth) + for _, o := range input.GetBids() { + bids = append(bids, Order{ + Price: o.GetPrice().ToFloat(), + Quantity: o.GetQuantity(), + }) + } + for _, o := range input.GetAsks() { + asks = append(asks, Order{ + Price: o.GetPrice().ToFloat(), + Quantity: o.GetQuantity(), + }) + } + return &OrderBook{ + Figi: input.GetFigi(), + InstrumentUid: input.GetInstrumentUid(), + Depth: depth, + IsConsistent: input.GetIsConsistent(), + TimeUnix: input.GetTime().AsTime().Unix(), + LimitUp: input.GetLimitUp().ToFloat(), + LimitDown: input.GetLimitDown().ToFloat(), + Bids: bids, + Asks: asks, + } +} + +// сохранение стаканов в json +func storeOrderBooksInFile(orderBooks []*OrderBook) error { + file, err := os.Create("order_books.json") + if err != nil { + return err + } + defer func() { + err := file.Close() + if err != nil { + log.Printf(err.Error()) + } + }() + data, err := json.MarshalIndent(orderBooks, "", " ") + if err != nil { + return err + } + _, err = file.Write(data) + return err +} + +// инициализация бд +func initDB(path string) (*sqlx.DB, error) { + db, err := sqlx.Open("sqlite3", path) + if err != nil { + return nil, err + } + + if err := db.Ping(); err != nil { + return nil, err + } + + if _, err = db.Exec(schema); err != nil { + return nil, err + } + return db, nil +} + +// сохранение партии стаканов в бд +func storeOrderBooksInDB(db *sqlx.DB, obooks []*OrderBook) error { + tx, err := db.Begin() + if err != nil { + return err + } + defer func() { + if err := tx.Commit(); err != nil { + log.Printf(err.Error()) + } + }() + + insertOB, err := tx.Prepare(`insert into orderbooks (figi, instrument_uid, depth, is_consistent, time_unix, limit_up, limit_down) + values (?, ?, ?, ?, ?, ?, ?) `) + if err != nil { + return err + } + defer func() { + if err := insertOB.Close(); err != nil { + log.Printf(err.Error()) + } + }() + + insertBid, err := tx.Prepare(`insert into bids (orderbook_id, price, quantity) values (?, ?, ?)`) + if err != nil { + return err + } + defer func() { + if err := insertBid.Close(); err != nil { + log.Printf(err.Error()) + } + }() + + insertAsk, err := tx.Prepare(`insert into asks (orderbook_id, price, quantity) values (?, ?, ?)`) + if err != nil { + return err + } + defer func() { + if err := insertAsk.Close(); err != nil { + log.Printf(err.Error()) + } + }() + + for _, ob := range obooks { + result, err := insertOB.Exec(ob.Figi, ob.InstrumentUid, ob.Depth, ob.IsConsistent, ob.TimeUnix, ob.LimitUp, ob.LimitDown) + if err != nil { + return err + } + + lastId, err := result.LastInsertId() + if err != nil { + return err + } + + for _, bid := range ob.Bids { + if _, err := insertBid.Exec(lastId, bid.Price, bid.Quantity); err != nil { + return err + } + } + + for _, ask := range ob.Asks { + if _, err := insertAsk.Exec(lastId, ask.Price, ask.Quantity); err != nil { + return err + } + } + } + + return nil +} diff --git a/examples/orders.go b/examples/orders.go index 751735e..b0b3dbe 100644 --- a/examples/orders.go +++ b/examples/orders.go @@ -7,38 +7,51 @@ import ( pb "github.com/tinkoff/invest-api-go-sdk/proto" "go.uber.org/zap" "log" + "os/signal" + "syscall" ) func main() { - // Созадем клиента с grpc connection + // загружаем конфигурацию для сдк из .yaml файла config, err := investgo.LoadConfig("config.yaml") if err != nil { log.Fatalf("config loading error %v", err.Error()) } - ctx, cancel := context.WithCancel(context.Background()) + ctx, cancel := signal.NotifyContext(context.Background(), syscall.SIGINT, syscall.SIGTERM, syscall.SIGKILL) defer cancel() - - prod, err := zap.NewProduction() + // сдк использует для внутреннего логирования investgo.Logger + // для примера передадим uber.zap + prod := zap.NewExample() + defer func() { + err := prod.Sync() + if err != nil { + log.Printf("Prod.Sync %v", err.Error()) + } + }() if err != nil { - log.Fatalf("logger creating error %e", err) + log.Fatalf("logger creating error %v", err) } logger := prod.Sugar() - + // создаем клиента для investAPI, он позволяет создавать нужные сервисы и уже + // через них вызывать нужные методы client, err := investgo.NewClient(ctx, config, logger) if err != nil { - logger.Fatalf("Client creating error %v", err.Error()) + logger.Fatalf("client creating error %v", err.Error()) } defer func() { - logger.Infof("Closing client connection") + logger.Infof("closing client connection") err := client.Stop() if err != nil { - logger.Errorf(err.Error()) + logger.Errorf("client shutdown error %v", err.Error()) } }() + // создаем клиента для сервиса ордеров OrdersService := client.NewOrdersServiceClient() + // в сдк добавлены два дополнительных метода Sell и Buy, это позволяет более наглядно выствлять поручения + // и экономит одно поле в запросе по сравнению с PostOrder buyResp, err := OrdersService.Buy(&investgo.PostOrderRequestShort{ InstrumentId: "BBG004S681W1", Quantity: 1, @@ -51,6 +64,7 @@ func main() { if err != nil { logger.Errorf("buy order %v", err.Error()) } + // можем извлечь метаданные из ответа fmt.Printf("remaining ratelimit = %v\n", investgo.RemainingLimitFromHeader(buyResp.GetHeader())) sellResp, err := OrdersService.Sell(&investgo.PostOrderRequestShort{ @@ -70,7 +84,6 @@ func main() { } executedPrice := buyResp.GetExecutedOrderPrice() - limitOrderId := investgo.CreateUid() postResp, err := OrdersService.PostOrder(&investgo.PostOrderRequest{ InstrumentId: "BBG004S681W1", @@ -82,7 +95,7 @@ func main() { Direction: pb.OrderDirection_ORDER_DIRECTION_BUY, AccountId: config.AccountId, OrderType: pb.OrderType_ORDER_TYPE_LIMIT, - OrderId: limitOrderId, + OrderId: investgo.CreateUid(), }) if err != nil { logger.Errorf("post order %v\n", err.Error()) @@ -90,11 +103,12 @@ func main() { fmt.Printf("post order resp = %v\n", postResp.GetExecutionReportStatus().String()) } - orderResp, err := OrdersService.GetOrderState(config.AccountId, limitOrderId) + orderResp, err := OrdersService.GetOrderState(config.AccountId, postResp.GetOrderId()) if err != nil { logger.Errorf(err.Error()) } else { - fmt.Printf("/from get order state/ order id = %v, direction = %v, lots executed = %v\n", orderResp.GetOrderId(), orderResp.GetDirection(), orderResp.GetLotsExecuted()) + fmt.Printf("/from get order state/ order id = %v, direction = %v, lots executed = %v\n", + orderResp.GetOrderId(), orderResp.GetDirection(), orderResp.GetLotsExecuted()) } ordersResp, err := OrdersService.GetOrders(config.AccountId) diff --git a/examples/orders_stream.go b/examples/orders_stream.go index 79260b7..41282d5 100644 --- a/examples/orders_stream.go +++ b/examples/orders_stream.go @@ -12,35 +12,35 @@ import ( ) func main() { - // Загружаем конфигурацию для сдк + // загружаем конфигурацию для сдк из .yaml файла config, err := investgo.LoadConfig("config.yaml") if err != nil { log.Fatalf("config loading error %v", err.Error()) } - // контекст будет передан в сдк и будет использоваться для завершения работы + ctx, cancel := signal.NotifyContext(context.Background(), syscall.SIGINT, syscall.SIGTERM, syscall.SIGKILL) defer cancel() - // Для примера передадим к качестве логгера uber zap - prod, err := zap.NewProduction() + // сдк использует для внутреннего логирования investgo.Logger + // для примера передадим uber.zap + prod := zap.NewExample() defer func() { err := prod.Sync() if err != nil { log.Printf("Prod.Sync %v", err.Error()) } }() - if err != nil { - log.Fatalf("logger creating error %e", err) + log.Fatalf("logger creating error %v", err) } logger := prod.Sugar() - - // Создаем клиеинта для апи инвестиций, он поддерживает grpc соединение + // создаем клиента для investAPI, он позволяет создавать нужные сервисы и уже + // через них вызывать нужные методы client, err := investgo.NewClient(ctx, config, logger) if err != nil { - logger.Fatalf("Client creating error %v", err.Error()) + logger.Fatalf("client creating error %v", err.Error()) } defer func() { - logger.Infof("Closing client connection") + logger.Infof("closing client connection") err := client.Stop() if err != nil { logger.Errorf("client shutdown error %v", err.Error()) @@ -76,6 +76,9 @@ func main() { } }(ctx) + // функцию Listen нужно вызвать один раз для каждого стрима и в отдельной горутине + // для остановки стрима можно использовать метод Stop, он отменяет контекст внутри стрима + // после вызова Stop закрываются каналы и завершается функция Listen wg.Add(1) go func() { defer wg.Done() diff --git a/examples/sandbox.go b/examples/sandbox.go index 24794fb..66d2789 100644 --- a/examples/sandbox.go +++ b/examples/sandbox.go @@ -7,40 +7,41 @@ import ( pb "github.com/tinkoff/invest-api-go-sdk/proto" "go.uber.org/zap" "log" + "os/signal" "strings" + "syscall" ) func main() { - // Загружаем конфигурацию для сдк + // загружаем конфигурацию для сдк из .yaml файла config, err := investgo.LoadConfig("config.yaml") if err != nil { log.Fatalf("config loading error %v", err.Error()) } - // контекст будет передан в сдк и будет использоваться для завершения работы - ctx, cancel := context.WithCancel(context.Background()) - defer cancel() - // Для примера передадим к качестве логгера uber zap - prod, err := zap.NewProduction() + ctx, cancel := signal.NotifyContext(context.Background(), syscall.SIGINT, syscall.SIGTERM, syscall.SIGKILL) + defer cancel() + // сдк использует для внутреннего логирования investgo.Logger + // для примера передадим uber.zap + prod := zap.NewExample() defer func() { err := prod.Sync() if err != nil { log.Printf("Prod.Sync %v", err.Error()) } }() - if err != nil { - log.Fatalf("logger creating error %e", err) + log.Fatalf("logger creating error %v", err) } logger := prod.Sugar() - - // Создаем клиента для апи инвестиций, он поддерживает grpc соединение + // создаем клиента для investAPI, он позволяет создавать нужные сервисы и уже + // через них вызывать нужные методы client, err := investgo.NewClient(ctx, config, logger) if err != nil { - logger.Fatalf("Client creating error %v", err.Error()) + logger.Fatalf("client creating error %v", err.Error()) } defer func() { - logger.Infof("Closing client connection") + logger.Infof("closing client connection") err := client.Stop() if err != nil { logger.Errorf("client shutdown error %v", err.Error()) @@ -74,7 +75,7 @@ func main() { client.Config.AccountId = newAccId } } - + // пополняем счет песочницы на 100 000 рублей payInResp, err := sandboxService.SandboxPayIn(&investgo.SandboxPayInRequest{ AccountId: newAccId, Currency: "RUB", @@ -87,6 +88,7 @@ func main() { fmt.Printf("sandbox accouunt %v balance = %v\n", newAccId, payInResp.GetBalance().ToFloat()) } // далее вызываем нужные нам сервисы, используя счет, токен, и эндпоинт песочницы + // создаем клиента для сервиса песочницы instrumentsService := client.NewInstrumentsServiceClient() var id string diff --git a/examples/stop_orders.go b/examples/stop_orders.go index 7c97acf..bc69654 100644 --- a/examples/stop_orders.go +++ b/examples/stop_orders.go @@ -7,38 +7,50 @@ import ( pb "github.com/tinkoff/invest-api-go-sdk/proto" "go.uber.org/zap" "log" + "os/signal" + "syscall" "time" ) func main() { - // Созадем клиента с grpc connection + // загружаем конфигурацию для сдк из .yaml файла config, err := investgo.LoadConfig("config.yaml") if err != nil { log.Fatalf("config loading error %v", err.Error()) } - ctx, cancel := context.WithCancel(context.Background()) + ctx, cancel := signal.NotifyContext(context.Background(), syscall.SIGINT, syscall.SIGTERM, syscall.SIGKILL) defer cancel() - - prod, err := zap.NewProduction() + // сдк использует для внутреннего логирования investgo.Logger + // для примера передадим uber.zap + prod := zap.NewExample() + defer func() { + err := prod.Sync() + if err != nil { + log.Printf("Prod.Sync %v", err.Error()) + } + }() if err != nil { - log.Fatalf("logger creating error %e", err) + log.Fatalf("logger creating error %v", err) } logger := prod.Sugar() - + // создаем клиента для investAPI, он позволяет создавать нужные сервисы и уже + // через них вызывать нужные методы client, err := investgo.NewClient(ctx, config, logger) if err != nil { - logger.Fatalf("Client creating error %v", err.Error()) + logger.Fatalf("client creating error %v", err.Error()) } defer func() { - logger.Infof("Closing client connection") + logger.Infof("closing client connection") err := client.Stop() if err != nil { - logger.Errorf(err.Error()) + logger.Errorf("client shutdown error %v", err.Error()) } }() + // создаем клиента для сервиса стоп-ордеров stopOrdersService := client.NewStopOrdersServiceClient() + // создаем клиента для сервиса маркетдаты marketDataService := client.NewMarketDataServiceClient() var price *pb.Quotation @@ -52,7 +64,7 @@ func main() { price = prices[0].GetPrice() } } - // Сервис стоп-ордеров работает только на продовом контуре, поэтому нужен токен полного доступа + // сервис стоп-ордеров работает только на продовом контуре, поэтому нужен токен полного доступа var orderId string stopOrderResp, err := stopOrdersService.PostStopOrder(&investgo.PostStopOrderRequest{ InstrumentId: "BBG004S681W1", diff --git a/examples/users.go b/examples/users.go index fec37a2..15944ac 100644 --- a/examples/users.go +++ b/examples/users.go @@ -6,44 +6,46 @@ import ( "github.com/tinkoff/invest-api-go-sdk/investgo" "go.uber.org/zap" "log" + "os/signal" + "syscall" ) func main() { - // Загружаем конфигурацию для сдк + // загружаем конфигурацию для сдк из .yaml файла config, err := investgo.LoadConfig("config.yaml") if err != nil { log.Fatalf("config loading error %v", err.Error()) } - // контекст будет передан в сдк и будет использоваться для завершения работы - ctx, cancel := context.WithCancel(context.Background()) - defer cancel() - // Для примера передадим к качестве логгера uber zap - prod, err := zap.NewProduction() + ctx, cancel := signal.NotifyContext(context.Background(), syscall.SIGINT, syscall.SIGTERM, syscall.SIGKILL) + defer cancel() + // сдк использует для внутреннего логирования investgo.Logger + // для примера передадим uber.zap + prod := zap.NewExample() defer func() { err := prod.Sync() if err != nil { log.Printf("Prod.Sync %v", err.Error()) } }() - if err != nil { - log.Fatalf("logger creating error %e", err) + log.Fatalf("logger creating error %v", err) } logger := prod.Sugar() - - // Создаем клиента для апи инвестиций, он поддерживает grpc соединение + // создаем клиента для investAPI, он позволяет создавать нужные сервисы и уже + // через них вызывать нужные методы client, err := investgo.NewClient(ctx, config, logger) if err != nil { - logger.Fatalf("Client creating error %v", err.Error()) + logger.Fatalf("client creating error %v", err.Error()) } defer func() { - logger.Infof("Closing client connection") + logger.Infof("closing client connection") err := client.Stop() if err != nil { - logger.Error("client shutdown error %v", err.Error()) + logger.Errorf("client shutdown error %v", err.Error()) } }() + // создаем клиента для сервиса счетов usersService := client.NewUsersServiceClient() diff --git a/go.mod b/go.mod index 5bed324..ab728bd 100644 --- a/go.mod +++ b/go.mod @@ -6,6 +6,8 @@ require ( github.com/golang/protobuf v1.5.2 github.com/google/uuid v1.3.0 github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.0.0-rc.5 + github.com/jmoiron/sqlx v1.3.5 + github.com/mattn/go-sqlite3 v1.14.16 github.com/stretchr/testify v1.8.0 go.uber.org/zap v1.24.0 golang.org/x/net v0.8.0 diff --git a/go.sum b/go.sum index 5831bc5..57fc59d 100644 --- a/go.sum +++ b/go.sum @@ -6,6 +6,8 @@ github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLj github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/go-sql-driver/mysql v1.6.0 h1:BCTh4TKNUYmOmMUcQ3IipzF5prigylS7XXjEkfCHuOE= +github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= @@ -16,6 +18,13 @@ github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.0.0-rc.5 h1:3IZOAnD058zZllQTZNBioTlrzrBG/IjpiZ133IEtusM= github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.0.0-rc.5/go.mod h1:xbKERva94Pw2cPen0s79J3uXmGzbbpDYFBFDlZ4mV/w= +github.com/jmoiron/sqlx v1.3.5 h1:vFFPA71p1o5gAeqtEAwLU4dnX2napprKtHr7PYIcN3g= +github.com/jmoiron/sqlx v1.3.5/go.mod h1:nRVWtLre0KfCLJvgxzCsLVMogSvQ1zNJtpYr2Ccp0mQ= +github.com/lib/pq v1.2.0 h1:LXpIM/LZ5xGFhOpXAQUIMM1HdyqzVYM13zNdjCEEcA0= +github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/mattn/go-sqlite3 v1.14.6/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= +github.com/mattn/go-sqlite3 v1.14.16 h1:yOQRA0RpS5PFz/oikGwBEqvAWhWg5ufRz4ETLjwpU1Y= +github.com/mattn/go-sqlite3 v1.14.16/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= diff --git a/investgo/client.go b/investgo/client.go index b5e0b92..b4ee1d3 100644 --- a/investgo/client.go +++ b/investgo/client.go @@ -84,8 +84,12 @@ func setDefaultConfig(conf *Config) { if strings.Compare(conf.AppName, "") == 0 { conf.AppName = "invest-api-go-sdk" } - - if conf.MaxRetries == 0 { + if strings.Compare(conf.EndPoint, "") == 0 { + conf.EndPoint = "sandbox-invest-public-api.tinkoff.ru:443" + } + if conf.DisableAllRetry { + conf.MaxRetries = 0 + } else if conf.MaxRetries == 0 { conf.MaxRetries = 3 } } diff --git a/investgo/config.go b/investgo/config.go index 981d4b9..0ccc157 100644 --- a/investgo/config.go +++ b/investgo/config.go @@ -8,23 +8,28 @@ import ( // Config - структура для кофигурации SDK type Config struct { - // EndPoint - Для работы с реальным контуром и контуром песочницы нужны разные эндпоинты + // EndPoint - Для работы с реальным контуром и контуром песочницы нужны разные эндпоинты. + // По умолчанию = sandbox-invest-public-api.tinkoff.ru:443 //https://tinkoff.github.io/investAPI/url_difference/ EndPoint string `yaml:"EndPoint"` - // Token - Ваш токен для апи + // Token - Ваш токен для Tinkoff InvestAPI Token string `yaml:"APIToken"` // AppName - Название вашего приложения, по умолчанию = tinkoff-api-go-sdk AppName string `yaml:"AppName"` // AccountId - Если уже есть аккаунт для апи можно указать напрямую, - //для песочницы создастся и зпишется автоматически + // для песочницы создастся и запишется автоматически AccountId string `yaml:"AccountId"` // DisableResourceExhaustedRetry - Если true, то сдк не пытается ретраить, после получения ошибки об исчерпывании // лимита запросов, если false, то сдк ждет нужное время и пытается выполнить запрос снова. По умолчанию = false DisableResourceExhaustedRetry bool `yaml:"DisableResourceExhaustedRetry"` + // DisableAllRetry - Отключение всех ретраев + DisableAllRetry bool `yaml:"DisableAllRetry"` // MaxRetries - Максимальное количество попыток переподключения, по умолчанию = 3 + // (если указать значение 0 это не отключит ретраи, для отключения нужно прописать DisableAllRetry = true) MaxRetries uint `yaml:"MaxRetries"` } +// LoadConfig - загрузка конфигурации для сдк из .yaml файла func LoadConfig(filename string) (Config, error) { var c Config input, err := os.ReadFile(filename) diff --git a/investgo/md_stream.go b/investgo/md_stream.go index 71ebaa3..5e55da3 100644 --- a/investgo/md_stream.go +++ b/investgo/md_stream.go @@ -239,6 +239,7 @@ func (mds *MarketDataStream) GetMySubscriptions() error { GetMySubscriptions: &pb.GetMySubscriptions{}}}) } +// Listen - метод начинает слушать стрим и отправлять информацию в каналы func (mds *MarketDataStream) Listen() error { defer mds.shutdown() for { @@ -278,12 +279,12 @@ func (mds *MarketDataStream) sendRespToChannel(resp *pb.MarketDataResponse) { case *pb.MarketDataResponse_TradingStatus: mds.tradingStatus <- resp.GetTradingStatus() default: - mds.mdsClient.logger.Infof("Info from MD stream %v", resp.String()) + mds.mdsClient.logger.Infof("info from MD stream %v", resp.String()) } } func (mds *MarketDataStream) shutdown() { - mds.mdsClient.logger.Infof("Close market data stream") + mds.mdsClient.logger.Infof("close market data stream") close(mds.candle) close(mds.trade) close(mds.lastPrice) @@ -365,71 +366,5 @@ func (mds *MarketDataStream) UnSubscribeAll() error { } func (mds *MarketDataStream) restart(ctx context.Context, attempt uint, err error) { - mds.mdsClient.logger.Infof("try to restart md stream err = %v, attempt = %v\n", err.Error(), attempt) -} - -func (mds *MarketDataStream) reSubscribeAll() error { - ids := make([]string, 0) - if len(mds.subs.candles) > 0 { - intervals := make(map[pb.SubscriptionInterval][]string, 0) - - for id, interval := range mds.subs.candles { - intervals[interval] = append(intervals[interval], id) - } - for interval, ids := range intervals { - _, err := mds.SubscribeCandle(ids, interval) - if err != nil { - return err - } - } - } - - if len(mds.subs.trades) > 0 { - for id := range mds.subs.trades { - ids = append(ids, id) - } - _, err := mds.SubscribeTrade(ids) - if err != nil { - return err - } - ids = nil - } - - if len(mds.subs.tradingStatuses) > 0 { - for id := range mds.subs.tradingStatuses { - ids = append(ids, id) - } - _, err := mds.SubscribeInfo(ids) - if err != nil { - return err - } - ids = nil - } - - if len(mds.subs.lastPrices) > 0 { - for id := range mds.subs.lastPrices { - ids = append(ids, id) - } - _, err := mds.SubscribeLastPrice(ids) - if err != nil { - return err - } - } - - if len(mds.subs.orderBooks) > 0 { - orderBooks := make(map[int32][]string, 0) - - for id, depth := range mds.subs.orderBooks { - orderBooks[depth] = append(orderBooks[depth], id) - } - - for depth, ids := range orderBooks { - _, err := mds.SubscribeOrderBook(ids, depth) - if err != nil { - return err - } - } - } - - return nil + mds.mdsClient.logger.Infof("try to restart md stream err = %v, attempt = %v", err.Error(), attempt) } diff --git a/investgo/portfolio_stream.go b/investgo/portfolio_stream.go index 7b834cb..aa2cc82 100644 --- a/investgo/portfolio_stream.go +++ b/investgo/portfolio_stream.go @@ -34,7 +34,7 @@ func (p *PortfolioStream) Listen() error { if err != nil { switch { case status.Code(err) == codes.Canceled: - p.operationsClient.logger.Infof("Stop listening portfolios") + p.operationsClient.logger.Infof("stop listening portfolios") return nil default: return err @@ -44,7 +44,7 @@ func (p *PortfolioStream) Listen() error { case *pb.PortfolioStreamResponse_Portfolio: p.portfolios <- resp.GetPortfolio() default: - p.operationsClient.logger.Infof("Info from Portfolio stream %v", resp.String()) + p.operationsClient.logger.Infof("info from Portfolio stream %v", resp.String()) } } } @@ -52,11 +52,11 @@ func (p *PortfolioStream) Listen() error { } func (p *PortfolioStream) restart(ctx context.Context, attempt uint, err error) { - p.operationsClient.logger.Infof("Try to restart portfolio stream err = %v, attempt = %v", err.Error(), attempt) + p.operationsClient.logger.Infof("try to restart portfolio stream err = %v, attempt = %v", err.Error(), attempt) } func (p *PortfolioStream) shutdown() { - p.operationsClient.logger.Infof("Close portfolio stream") + p.operationsClient.logger.Infof("close portfolio stream") close(p.portfolios) } diff --git a/investgo/positions_stream.go b/investgo/positions_stream.go index e75f410..8984d4b 100644 --- a/investgo/positions_stream.go +++ b/investgo/positions_stream.go @@ -34,7 +34,7 @@ func (p *PositionsStream) Listen() error { if err != nil { switch { case status.Code(err) == codes.Canceled: - p.operationsClient.logger.Infof("Stop listening positions") + p.operationsClient.logger.Infof("stop listening positions") return nil default: return err @@ -44,7 +44,7 @@ func (p *PositionsStream) Listen() error { case *pb.PositionsStreamResponse_Position: p.positions <- resp.GetPosition() default: - p.operationsClient.logger.Infof("Info from Positions stream %v", resp.String()) + p.operationsClient.logger.Infof("info from Positions stream %v", resp.String()) } } } @@ -56,7 +56,7 @@ func (p *PositionsStream) restart(ctx context.Context, attempt uint, err error) } func (p *PositionsStream) shutdown() { - p.operationsClient.logger.Infof("Close positions stream") + p.operationsClient.logger.Infof("close positions stream") close(p.positions) } diff --git a/investgo/trades_stream.go b/investgo/trades_stream.go index d7dd32f..8e6f1fb 100644 --- a/investgo/trades_stream.go +++ b/investgo/trades_stream.go @@ -44,7 +44,7 @@ func (t *TradesStream) Listen() error { case *pb.TradesStreamResponse_OrderTrades: t.trades <- resp.GetOrderTrades() default: - t.ordersClient.logger.Infof("Info from Trades stream %v", resp.String()) + t.ordersClient.logger.Infof("info from Trades stream %v", resp.String()) } } } diff --git a/proto/custom_methods.go b/proto/custom_methods.go index 48625ca..1735aa8 100644 --- a/proto/custom_methods.go +++ b/proto/custom_methods.go @@ -8,7 +8,11 @@ import ( // ToFloat - get value as float64 number func (q *Quotation) ToFloat() float64 { if q != nil { - return float64(q.Units) + float64(q.Nano)*math.Pow10(-9) + num := float64(q.Units) + float64(q.Nano)*math.Pow10(-9) + num = num * math.Pow10(9) + num = math.Round(num) + num = num / math.Pow10(9) + return num } return float64(0) } @@ -16,7 +20,11 @@ func (q *Quotation) ToFloat() float64 { // ToFloat - get value as float64 number func (mv *MoneyValue) ToFloat() float64 { if mv != nil { - return float64(mv.Units) + float64(mv.Nano)*math.Pow10(-9) + num := float64(mv.Units) + float64(mv.Nano)*math.Pow10(-9) + num = num * math.Pow10(9) + num = math.Round(num) + num = num / math.Pow10(9) + return num } return float64(0) }