Java Esper:对安全性数据进行分组,查找每天的最大值和最小值。然后进行进一步的计算

Java Esper:对安全性数据进行分组,查找每天的最大值和最小值。然后进行进一步的计算,java,stock,esper,Java,Stock,Esper,我无法解决Esper中的某个问题。我必须检查当前的刻度值是否比昨天的最大值高。这是每24小时返回最大值和最小值的代码 insert into DayEnd select max(last) as high, min(last) as low, security from Tick.std:groupwin(security).win:time_batch(1440 minutes) group by security; 我必须在多个证券上运行它,所以我必须检查每个证券 对于如此大的批处理窗口,

我无法解决Esper中的某个问题。我必须检查当前的刻度值是否比昨天的最大值高。这是每24小时返回最大值和最小值的代码

insert into
DayEnd
select
max(last) as high,
min(last) as low,
security
from
Tick.std:groupwin(security).win:time_batch(1440 minutes) group by security;

我必须在多个证券上运行它,所以我必须检查每个证券

对于如此大的批处理窗口,批处理窗口不是正确的方式。这是因为批处理窗口保留所有事件

改用上下文声明。上下文允许您构建分析的生命周期。 下面是一个示例,更多示例在解决方案模式中。 本例为2条语句,版本4.10,语法未检查:

创建上下文批处理24小时,因为start@now在24小时后结束


上下文批处理24小时选择最大值(上次)为高,最小值(上次)为低,终止时按安全输出从勾选组中选择安全性

好的,我明白你的意思。更好的方法是使用用户上下文。但我仍然很困惑,我将如何使用这个“高”值,并检查第二天的刻度是否超过这个值。我必须为每种安全性都这样做。(我是Esper的新手,所以可能需要一些详细的解释。)。