Sorry for late response.
I want to confirm whether your ATR is always based on daily market price? Because if it's not based on a high-frequency market data, I don't think you need to use reactive State Engine to realize ATR.
According to the formula you refered, it was difficult to deal with streaming data.
For now, I suggest that you calculate ATR based on historical data if you do not need to use high-frequency streaming data.