主要内容

编写和运行自定义事件处理程序函数

编写自定义事件处理函数

您可以通过编写一个自定义事件处理程序函数来处理与任何数据更新相关的事件,该函数将用于Datafeed Toolbox™。例如,您可以在创建订单或在图表中绘制间隔数据之前监视价格。按照以下基本步骤编写自定义事件处理程序。

  1. 选择要处理、监控或评估的事件。

  2. 决定自定义事件处理程序如何处理这些事件。

  3. 确定自定义事件处理程序函数的输入和输出参数。

  4. 为自定义事件处理程序函数编写代码。

有关详细信息,请参见在文件中创建函数.下面是一个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

  1. 运行计时器执行eventhandler.名称-值参数TimerFcn指定事件处理程序函数。名称-值参数指定事件处理程序函数的执行间隔为1秒。当name-value参数ExecutionMode被设置为fixedRate,事件处理函数被添加到MATLAB执行队列后立即执行。

    t =计时器(“TimerFcn”{@c.eventhandler},“时间”, 1...“ExecutionMode”“fixedRate”);
  2. 启动计时器来启动和执行eventhandler立即。

    开始(t)
  3. 运行createOrderAndRoute通过设置使用自定义事件处理程序useDefaultEventHandler

    createOrderAndRoute (c,秩序,“useDefaultEventHandler”假)
  4. 停止计时器以停止数据更新。

    停止(t)

    如果您想恢复数据更新,请运行开始

  5. 一旦你完成了对彭博EMSX连接的数据更新处理,就删除计时器。

    删除(t)

自定义事件处理函数的工作流

本工作流总结了使用任何数据服务提供商(除了彭博EMSX)的自定义事件处理函数的基本步骤。

  1. 编写自定义事件处理函数并将其保存到文件中。

  2. 创建到数据服务提供程序的连接。

  3. 使用现有函数或API语法订阅特定的安全性。

  4. 运行现有函数来接收数据更新,并使用自定义事件处理函数作为输入参数。

  5. 通过使用停止数据更新停止或者关闭与数据服务提供者的连接。

  6. 如果连接仍然打开,则关闭到数据服务提供者的连接。

对于Bloomberg EMSX接口,遵循以下流程。

  1. 编写自定义事件处理函数并将其保存到文件中。

  2. 使用以下命令创建连接emsx

  3. 订阅彭博EMSX字段使用订单路线.还可以编写自定义事件处理程序函数来处理订阅事件。

  4. 使用。运行自定义事件处理程序函数计时器.使用函数句柄来指定要运行的自定义事件处理程序函数名计时器

  5. 使用命令启动计时器,以立即执行自定义事件处理程序函数开始

  6. 停止使用停止

  7. 通过使用API语法取消订阅彭博EMSX字段。

  8. 使用以下命令删除计时器删除

  9. 使用以下命令关闭连接关闭

另请参阅

|||||||||

相关的话题

外部网站