您可以通过编写一个自定义事件处理程序函数来处理与任何数据更新相关的事件,该函数将用于Datafeed Toolbox™。例如,您可以在创建订单或在图表中绘制间隔数据之前监视价格。按照以下基本步骤编写自定义事件处理程序。
选择要处理、监控或评估的事件。
决定自定义事件处理程序如何处理这些事件。
确定自定义事件处理程序函数的输入和输出参数。
为自定义事件处理程序函数编写代码。
有关详细信息,请参见在文件中创建函数.下面是一个Bloomberg的代码示例®事件处理函数,输入编辑v3stockticker.m
在命令行。
通过将函数名作为输入参数传递给现有函数,可以运行自定义事件处理函数。将自定义事件处理程序函数名指定为字符向量、字符串或函数句柄。关于函数句柄的详细信息请参见创建函数处理.
例如,假设您想从Bloomberg检索实时数据实时
自定义事件处理函数eventhandler
.您可以使用以下任一语法来运行eventhandler
.此代码假定是Bloomberg连接c
、安全列表年代
,彭博数据字段f
彭博社(Bloomberg)订阅潜艇
, MATLAB®计时器t
.
使用字符向量或字符串。
[潜艇,t] =实时(c、s、f,“事件”);
或者,使用函数句柄。
[潜艇,t] =实时(c、s、f, @eventhandler);
对于Bloomberg EMSX接口,你可以通过使用计时器
.将自定义事件处理函数名指定为函数句柄,并将该函数句柄作为输入参数传递给计时器
.关于函数句柄的详细信息请参见创建函数处理.例如,假设您想使用createOrderAndRoute
自定义事件处理函数eventhandler
.此代码假定彭博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)
如果您想恢复数据更新,请运行开始
.
一旦你完成了对彭博EMSX连接的数据更新处理,就删除计时器。
删除(t)
本工作流总结了使用任何数据服务提供商(除了彭博EMSX)的自定义事件处理函数的基本步骤。
编写自定义事件处理函数并将其保存到文件中。
创建到数据服务提供程序的连接。
使用现有函数或API语法订阅特定的安全性。
运行现有函数来接收数据更新,并使用自定义事件处理函数作为输入参数。
通过使用停止数据更新停止
或者关闭与数据服务提供者的连接。
如果连接仍然打开,则关闭到数据服务提供者的连接。
对于Bloomberg EMSX接口,遵循以下流程。
实时
|关闭
|emsx
|createOrderAndRoute
|订单
|路线
|计时器
|开始
|停止
|删除