Я занимаюсь разработкой приложения для алгоритмической торговли с использованием сложной обработки событий и изучаю Microsoft StreamInsight в качестве процессора CEP. Однако я не уверен, что все, что я хочу сделать, возможно в StreamInsight.
В частности, мне нужно было бы иметь возможность динамически создавать стратегии, которые затем вставлялись бы в сервер как постоянные запросы. Например, человек А создает стратегию, в которой ордер на покупку должен быть размещен, когда 30-дневное среднее значение запаса Х превышает определенное значение. Затем его необходимо будет преобразовать в запрос StreamInsight и поместить на сервер во время выполнения.
Какой код я могу выполнить в запросе StreamInsight? Я не уверен, что вся обработка, которую я хочу сделать, возможна в запросе StreamInsight, так как это запросы linq. Могу ли я использовать данные из других источников данных? Могу ли я использовать в запросе переключатели, циклы, объявления переменных и т. Д.? Или это всего лишь один запрос, как в случае скомпилированных запросов?
Все это, вероятно, звучит немного нечетко, если потребуется, я попытаюсь уточнить далее. По сути, мой вопрос заключается в том, насколько сложным я могу программировать свои запросы StreamInsight? Примеры, которые я нашел, показывают только простую фильтрацию, группировку и т. Д.
Также приветствуются предложения о других серверах CEP, хотя я бы действительно предпочел остаться в своей области знаний, а именно .NET / C #.