编写和运行自定义事件处理函数
编写自定义事件处理函数
您可以通过编写与Datafeed Toolbox™一起使用的自定义事件处理程序函数来处理与任何数据更新相关的事件。例如,您可以在创建订单之前监视价格,或者在图形中绘制间隔数据。遵循以下基本步骤来编写自定义事件处理程序。
选择要处理、监视或评估的事件。
决定自定义事件处理程序如何处理这些事件。
确定自定义事件处理程序函数的输入和输出参数。
编写自定义事件处理程序函数的代码。
详细信息请参见在文件中创建函数.对于Bloomberg的代码示例®事件处理函数,输入编辑v3stockticker.m
在命令行。
运行自定义事件处理函数
通过将函数名作为输入参数传递给现有函数,可以运行自定义事件处理程序函数。指定自定义事件处理程序函数名为字符向量、字符串或函数句柄。有关函数句柄的详细信息,请参见创建函数句柄.
例如,假设您希望使用实时
使用自定义事件处理程序函数命名eventhandler
.您可以使用以下语法中的任何一种来运行eventhandler
.这段代码假设一个彭博连接c
,安全清单年代
,彭博数据域f
,彭博社订阅潜艇
, MATLAB®计时器t
.
使用字符向量或字符串。
[subs,t] = realtime(c,s,f,“事件”);
或者,使用函数句柄。
[subs,t] = realtime(c,s,f,@ eventandler);
对于Bloomberg EMSX接口,可以使用计时器
.指定自定义事件处理程序函数名作为函数句柄,并将此函数句柄作为输入参数传递给计时器
.有关函数句柄的详细信息,请参见创建函数句柄.例如,假设您希望使用createOrderAndRoute
使用自定义事件处理程序函数命名eventhandler
.这段代码假设Bloomberg EMSX连接c
,彭博EMSX订单订单
,和计时器对象t
.
运行
计时器
执行eventhandler
.名称-值参数TimerFcn
指定事件处理程序函数。名称-值参数期
指定事件处理程序函数执行之间的1秒延迟。当name-value参数ExecutionMode
设置为fixedRate
,事件处理函数被添加到MATLAB执行队列后立即执行。T =定时器(“TimerFcn”{@c.eventhandler},“时间”, 1...“ExecutionMode”,“fixedRate”);
启动计时器以启动并执行
eventhandler
立即。开始(t)
运行
createOrderAndRoute
通过设置使用自定义事件处理程序useDefaultEventHandler
来假
.createOrderAndRoute (c,秩序,“useDefaultEventHandler”假)
停止计时器以停止数据更新。
停止(t)
如果要恢复数据更新,请运行
开始
.处理完Bloomberg EMSX连接的数据更新后,删除计时器。
删除(t)
自定义事件处理函数的工作流
此工作流总结了为任何数据服务提供商(除Bloomberg EMSX外)使用自定义事件处理程序函数的基本步骤。
编写自定义事件处理函数并将其保存到文件中。
创建到数据服务提供者的连接。
使用现有函数或API语法订阅特定的安全。
运行现有函数来接收数据更新,并使用自定义事件处理程序函数作为输入参数。
停止数据更新使用
停止
或者通过关闭到数据服务提供者的连接。如果连接仍然打开,则关闭到数据服务提供程序的连接。
对于Bloomberg EMSX接口,请遵循此工作流程。
另请参阅
实时
|关闭
|emsx
|createOrderAndRoute
|订单
|路线
|计时器
|开始
|停止
|删除