Александр Правилов
Александр Правилов личный блог
22 марта 2017, 10:29

События в QLua

Добрый день, друзья!

Изучаю QLua, посмотрел несколько примеров, в том числе у Albus'a.
Обычно в цикле пишут sleep(n), при обновлении котировок или любых других значений.

Вопрос к опытным кулуйстам:

1. Есть ли возможность как-то подписаться на событие получения, к примеру, новой котировки, а не перезапускать цикл через n-млсекунд постоянно?
2. Есть ли интерфейс подключения к квику, чтобы программировать не через lua, а, например на c#?
25 Комментариев
  • Igr
    22 марта 2017, 10:40

    quikluacsharp.ru/

    вот, тут всё расскажут, подскажут 

    на сколько я понимаю на оба вопроса ответ  - да

  • Karim
    22 марта 2017, 11:17
    1. Да, возможность есть

    DataSource = CreateDataSource(ClassCode, SecCode, INTERVAL_M1) — подписываемся на источник данных
    DataSource:SetUpdateCallback(CallBackDataSource) --назначаем функцию обратного вызова
    2. Стандартного интерфейса в квике нет. Нужно писать «прокладку» на С++ для передачи необходимых данных в прогу на С#.

  • sortarray sortarray
    22 марта 2017, 11:22
    Обычно в цикле пишут sleep(n), при обновлении котировок или любых других значений.

    Я не клуист, но судя по этой логике, если бы была возможность подписки на событие, так бы и делали, просто вешали бы коллбек на событие. Скорей всего, там котировки получаются по запросу на сервер. То бишь, pull-технология, она самая распространенная на текущий момент, даже в вебе.
    ru.wikipedia.org/wiki/%D0%A2%D0%B5%D1%85%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F_pull
    Смотрите какой в цикле запрос.
    Для того, чтобы было то что Вы хотите в чистом виде, нужно чтобы сервер квика сам рассылал обновления котировок.
    ru.wikipedia.org/wiki/%D0%A2%D0%B5%D1%85%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F_push
    Не факт что эта фича там есть. Поинтересуйтесь у техподдержки на эту тему
  • Дмитрий
    22 марта 2017, 11:38
    По первому вопросу, функция обратного вызова OnAllTrade(alltrade), из описания: «Функция вызывается терминалом QUIK при получении обезличенной сделки».
    Один нюанс, в quik должна быть открыта таблица обезличенных сделок с необходимым инструментом.
    это к примеру, а так есть несколько функций обратного вызова, они описаны в документации

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн