← Zurück

[minor] cобытие на окончание получения securities

Здравствуйте, Михаил!

Подписался на событие Trader.NewSecurities += NewSecurities и ожидал, что придут все символы сразу. Но они приходят по одному. Это ладно.

Можно ли как-нибудь узнать, когда пришли все доступные? По аналогии как это можно сделать через SmartCOM интерфейс напрямую:


        SmartServer.AddSymbol += new _IStClient_AddSymbolEventHandler(SmartServer_AddSymbol);

        private void SmartServer_AddSymbol(int row, int nrows, string symbol, ...)
        {
            if (row == nrows - 1)
            {
                // ВСЕ СИМВОЛЫ ПОЛУЧЕНЫ!
                ...
            }
        }

War dieses Thema hilfreich?

Thema teilen

Kommentare (5)

Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen

Mikhail Sukhov
Mikhail Sukhov

Greene-nsk: Можно ли как-нибудь узнать, когда пришли все доступные? По аналогии как это можно сделать через SmartCOM интерфейс напрямую:

Раньше приходили скопом, но приходилось долго ждать. Поэтому переделал на построчный вывод. А зачем это нужно?

Greene-nsk
Greene-nsk Autor

Иногда медленно приходит, иногда быстро. Надо получить все символы. Хочется знать, ждать дальше или нет. Пока сделал проверку каждые 10 секунд, если количество бумаг не изменилось, то считаю, что все получено. Работает, но выглядит как заплатка. Не критично, конечно.

Mikhail Sukhov
Mikhail Sukhov

Greene-nsk: Иногда медленно приходит, иногда быстро. Надо получить все символы. Хочется знать, ждать дальше или нет. Пока сделал проверку каждые 10 секунд, если количество бумаг не изменилось, то считаю, что все получено. Работает, но выглядит как заплатка. Не критично, конечно.

А зачем вообще ждать все инструменты?

Greene-nsk
Greene-nsk Autor

список бумаг вводится со стороны. ждать все или несколько - не важно. все равно в какой-то момент надо сказать, что какие-то бумаги получены, а какие-то нет, и ждать дальше не имеет смысла.

Mikhail Sukhov
Mikhail Sukhov

Greene-nsk: список бумаг вводится со стороны. ждать все или несколько - не важно. все равно в какой-то момент надо сказать, что какие-то бумаги получены, а какие-то нет, и ждать дальше не имеет смысла.

Вот поэтому я просто жду те инструменты, которые мне нужны. Дело на самом деле не просто в получении подтверждения о всех пришедших инструментах, а в асинхронном подходе. S# построен на асинхронной модели (специфика биржевого ПО), и нужно ждать только то, что необходимо. Тоже самое и с заявками, и стаканами, и сделками. И инструменты тут не исключение.