我正在开发一个使用复杂事件处理的算法交易应用程序,并且正在研究将 Microsoft StreamInsight 作为 CEP 处理器。但是,我不确定我想做的所有事情是否都可以在 StreamInsight 中实现。
特别是,我需要能够动态创建策略,然后将这些策略作为常规查询插入服务器。例如,A 人创建了一个策略,当股票 X 的 30 天平均值升至某个值以上时,必须下达买单。然后必须在 StreamInsight 查询中进行翻译,并在运行时将其放置在服务器上。
我可以在 StreamInsight 查询中执行哪种代码?我不确定我想要做的所有处理是否都可以在 StreamInsight 查询中进行,因为它们是 linq 查询。我可以使用来自其他数据源的数据吗?我可以在查询中使用开关、循环、变量声明等吗?或者它只是一个单一的查询,就像编译的查询一样?
这一切可能听起来有点模糊,如果需要,我会尝试进一步澄清。基本上,我的问题是,我可以对 StreamInsight 查询进行多复杂的编程?我发现的样本只显示了简单的过滤、分组等。
也欢迎对其他 CEP 服务器提出建议,尽管我真的更愿意留在我的专业领域,即 .NET/C#。