none
C# События приходящие с биржы C# RRS feed

  • Вопрос

  • Привет,

    Cитуация следующая, Программа подписана на получение событий и обработчиков событий много:

    static void SmartServer_UpdateOrder(string portfolio, string symbol, ,,,)
            {
                //логика обработчика: то есть if(фильтр параметров)

               {

                + метод();

                }

           }

    ВОПРОС, когда программа входит в метод() и находится за пределами данного обработчика, события все равно могут поступать и в этот обработчик и в другие?

    Для справки COM не многопоточное приложение и рекомендация обработчик событий делать как можно более легким.

    Меня интересует логика исполнения программы озвученной мною в ВОПРОСЕ, буду рад любым ответам, С# не мой родной язык поэтому кому то может показаться смешным вопрос, извините но мне важно знать(

    9 августа 2015 г. 16:55

Ответы

  • ВОПРОС, когда программа входит в метод() и находится за пределами данного обработчика, события все равно могут поступать и в этот обработчик и в другие?
    Теоретически, события могут поступать даже когда у вас проверяются if-ы. Как реализовано в конкретной библиотеке, надо смотреть либо в документации, либо проверять опытным путем. Для проверки второго пути, в начало и конец обработчика события вставьте логирование. Если все записи будут идти: вход-выход-вход-выход, то можно надеятся на однопоточную работу. Если хотя бы один раз вы увидите в логах: вход-вход-выход... То вызовы события могут идти параллельно с обработкой.
    10 августа 2015 г. 10:24
    Отвечающий

Все ответы

  • А какой родной язык? Почему им не пользуетесь?
    9 августа 2015 г. 18:03
  • родной С++ но примеры от разработчика библиотек только на С# к тому же сетевые приложения и на С++ ни разу не писал
    9 августа 2015 г. 18:06
  • Сетевое приложение это я так понимаю пишете приложение для плазы...
    9 августа 2015 г. 18:18
  • видимо, но не совсем так как не для прямого доступа к серверу биржы а COM - модель через API брокера если можно так выразиться. вы по событиям можете ответить?
    9 августа 2015 г. 18:24
  • Нет по событиям не могу ответить. Просто когда то написала для себя привод для квика на дельфи, вот и решила узнать, что нового на бирже... извините, что влезла в ваш вопрос...
    9 августа 2015 г. 18:31
  • Нет по событиям не могу ответить. Просто когда то написала для себя привод для квика на дельфи, вот и решила узнать, что нового на бирже... извините, что влезла в ваш вопрос...

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

    http://www.itinvest.ru/software/smartcom

    9 августа 2015 г. 18:37
  • Я использовала DDE и TRANS2QUIK.dll. Но из опыта могу сказать, полноценный привод у меня не получился, хотя и работает более или менее стабильно иногда. Бывают дни, когда много сделок как моих так и на бирже, так вот в такие дни повторно запустить привод не получается... Одновременно передача данных по DDE и получение обратных вызовов по обработке собственных сделок рушило привод, пока не нашла способ победить. Но думаю проблема в том, что вызовы не должны накладываться друг на друга, для этого и советуют их делать максимально короткими. В отладчике наложение обратных вызовов не проверишь :-) так что поиск не быстрый...
    9 августа 2015 г. 19:01
  • с разработкой на C# использовать можно API любого брокера тем более COM используют даже зарубежные брокеры поэтому я для себя нашел нишу и роюсь в ней по уши и DDE/TRANS2QUIK.dll для меня непонятная вещь! а привод ассоциируется с GUI наворотом и логом в exel(
    9 августа 2015 г. 19:22
  • Удачи! Просто мое мнение, что универсальность это всегда громоздко...
    9 августа 2015 г. 19:28
  • ВОПРОС, когда программа входит в метод() и находится за пределами данного обработчика, события все равно могут поступать и в этот обработчик и в другие?
    Теоретически, события могут поступать даже когда у вас проверяются if-ы. Как реализовано в конкретной библиотеке, надо смотреть либо в документации, либо проверять опытным путем. Для проверки второго пути, в начало и конец обработчика события вставьте логирование. Если все записи будут идти: вход-выход-вход-выход, то можно надеятся на однопоточную работу. Если хотя бы один раз вы увидите в логах: вход-вход-выход... То вызовы события могут идти параллельно с обработкой.
    10 августа 2015 г. 10:24
    Отвечающий