Запись и выполнение пользовательских функций обработчика событий

Запишите пользовательскую функцию обработчика событий

Можно обработать события, связанные с любыми обновлениями данных путем записи пользовательской функции обработчика событий для использования с Datafeed Toolbox™. Например, можно контролировать цены прежде, чем создать порядок или построить интервальные данные в графике. Выполните эти основные шаги, чтобы записать пользовательский обработчик событий.

  1. Выберите события, которые вы хотите обработать, контролировать, или оценить.

  2. Решите, как пользовательский обработчик событий обрабатывает эти события.

  3. Определите аргументы ввода и вывода для пользовательской функции обработчика событий.

  4. Запишите код для пользовательской функции обработчика событий.

Для получения дополнительной информации смотрите, Создают Функции в Файлах. Для примера кода Bloomberg® функция обработчика событий, введите edit v3stockticker.m в командной строке.

Запустите пользовательскую функцию обработчика событий

Можно запустить пользовательскую функцию обработчика событий путем передачи имени функции как входного параметра в существующую функцию. Укажите, что пользовательская функция обработчика событий называет или как вектор символов, строку или как указатель на функцию. Для получения дополнительной информации об указателях на функцию, см. Создание указателя на функцию.

Например, предположите, что вы хотите получить данные реального времени из использования Bloomberg realtime с пользовательской функцией обработчика событий под названием eventhandler. Можно использовать любой из следующих синтаксисов, чтобы запустить eventhandler. Этот код принимает связь Bloomberg c, список безопасности s, Поля данных Bloomberg f, Подписка Bloomberg subs, и MATLAB® таймер t.

Используйте вектор символов или строку.

[subs,t] = realtime(c,s,f,'eventhandler');

В качестве альтернативы используйте указатель на функцию.

[subs,t] = realtime(c,s,f,@eventhandler);

Для Bloomberg интерфейсы EMSX можно запустить пользовательскую функцию обработчика событий при помощи timer. Задайте пользовательское имя функции обработчика событий как указатель на функцию и передайте этот указатель на функцию как входной параметр к timer. Для получения дополнительной информации об указателях на функцию, см. Создание указателя на функцию. Например, предположите, что вы хотите создать использование порядка createOrderAndRoute с пользовательской функцией обработчика событий под названием eventhandler. Этот код принимает связь EMSX Bloomberg c, Bloomberg EMSX заказывает order, и объект - таймер t.

  1. Запустите timer выполнить eventhandler. Аргумент TimerFcn значения имени задает функцию обработчика событий. Аргумент Period значения имени задает 1 вторую задержку между выполнением функции обработчика событий. Когда аргумент ExecutionMode значения имени установлен в fixedRate, функция обработчика событий сразу выполняется после того, как она будет добавлена к очереди выполнения MATLAB.

    t = timer('TimerFcn',{@c.eventhandler},'Period',1, ...
              'ExecutionMode','fixedRate');
    
  2. Запустите таймер, чтобы инициировать и выполнить eventhandler сразу.

    start(t)
    
  3. Запущенный createOrderAndRoute использование пользовательского обработчика событий установкой useDefaultEventHandler к false.

    createOrderAndRoute(c,order,'useDefaultEventHandler',false)
    
  4. Остановите таймер, чтобы остановить обновления данных.

    stop(t)
    

    Если вы хотите возобновить обновления данных, запуск start.

  5. Удалите таймер, если вы сделаны с обработкой обновлений данных для связи EMSX Bloomberg.

    delete(t)

Рабочий процесс для пользовательской функции обработчика событий

Этот рабочий процесс обобщает основные шаги, чтобы работать с пользовательской функцией обработчика событий для любого из провайдеров информационной службы, кроме Bloomberg EMSX.

  1. Запишите пользовательскую функцию обработчика событий и сохраните ее в файл.

  2. Создайте связь с провайдером информационной службы.

  3. Подпишитесь на определенную безопасность с помощью существующей функции или синтаксиса API.

  4. Запустите существующую функцию, чтобы получить обновления данных и использовать пользовательскую функцию обработчика событий в качестве входного параметра.

  5. Остановите обновления данных при помощи stop или путем закрытия связи с провайдером информационной службы.

  6. Закройте связь с провайдером информационной службы, если связь все еще открыта.

Для Bloomberg интерфейсы EMSX следуйте за этим рабочим процессом.

  1. Запишите пользовательскую функцию обработчика событий и сохраните ее в файл.

  2. Создайте использование связи emsx.

  3. Подпишитесь на использование полей Bloomberg EMSX orders и routes. Можно также записать пользовательские функции обработчика событий, чтобы обработать события подписки.

  4. Запустите пользовательскую функцию обработчика событий с помощью timer. Используйте указатель на функцию, чтобы задать пользовательское имя функции обработчика событий, чтобы запустить timer.

  5. Запустите таймер, чтобы сразу выполнить пользовательскую функцию обработчика событий с помощью start.

  6. Остановите использование обновлений данных stop.

  7. Отпишитесь от полей Bloomberg EMSX при помощи синтаксиса API.

  8. Удалите использование таймера delete.

  9. Закройте использование связи close.

Смотрите также

| | | | | | | | |

Похожие темы

Внешние веб-сайты

Для просмотра документации необходимо авторизоваться на сайте