我正在开发一个使用复杂事件处理的算法交易应用程序,我正在研究Microsoft StreamInsight作为CEP处理器。但是我不确定在StreamInsight中我是否可以做任何事情。
特别是,我需要能够动态创建策略,然后将其作为常设查询插入到服务器中。例如,人员A创建了一种策略,当30天的股票X平均值超过某个值时,必须下达买入订单。然后,这必须在StreamInsight查询中进行转换,并在运行时放在服务器上。
我可以在StreamInsight查询中执行哪种代码?我不确定在StreamInsight查询中是否可以执行我想要执行的所有处理,因为它们是linq查询。我可以使用其他数据源的数据吗?我可以在查询中使用开关,循环,变量声明等吗?或者只是一个单一的查询,比如编译查询?
这一切可能听起来有点模糊,如果需要我会尝试进一步澄清。基本上,我的问题是,我可以对StreamInsight查询进行编程有多复杂?我找到的样本只显示简单的过滤,分组等。
也欢迎有关其他CEP服务器的建议,但我更愿意留在我的专业领域,即.NET / C#。
答案 0 :(得分:1)
几个扩展点允许您在StreamInsight查询中嵌入自定义逻辑:
StreamInsight的适配器模型(http://msdn.microsoft.com/en-us/library/ee378877.aspx)允许您连接到任意数据源,无论它们是实时的还是历史的。
如果您对如何启用特定功能有疑问,请告诉我们!
-Colin
答案 1 :(得分:1)
您可以在StreamInsight服务器运行时创建查询以执行新操作。一旦熟悉StreamInsight API,就可以轻松完成,并且可以在StreamInsight服务器本地完成(如果您正在进行托管)或远程使用管理服务。正如Colin所说(上图),您可以在查询中添加自定义代码以执行自定义评估。