here is a sample of how to get mavg using updated close price. Firstly using CrossSectionalEnginge to get the last records and then using RSE to calculate mavg.
x is the data you shared.
share streamTable(10:0,`symbol`ts`ts_m5`om5`hm5`lm5`cm5`vm5,[SYMBOL,TIMESTAMP,TIMESTAMP,DOUBLE,DOUBLE,DOUBLE,DOUBLE,DOUBLE]) as trades1
tempTable = table(1:0, `ts_m5`symbol`ts`om5`hm5`lm5`cm5`vm5, [TIMESTAMP,SYMBOL,TIMESTAMP,DOUBLE,DOUBLE,DOUBLE,DOUBLE,DOUBLE])
outputTable = table(1:0, `symbol`ts_m5`ts`om5`hm5`lm5`cm5`vm5, [SYMBOL,TIMESTAMP,TIMESTAMP,DOUBLE,DOUBLE,DOUBLE,DOUBLE,DOUBLE])
rsMavg = createReactiveStateEngine(name="calc_mavg", metrics=<[ts_m5, ts,mavg(om5,3), mavg(hm5,3),mavg(lm5,3),mavg(cm5,3),mavg(vm5,3)]>, dummyTable=tempTable, outputTable=outputTable, keyColumn=`symbol)
csEngine1=createCrossSectionalEngine(name="csEngineDemo1", metrics=<[last(ts), last(om5), last(hm5), last(lm5), last(cm5), last(vm5)]>, dummyTable=trades1, outputTable=rsMavg, keyColumn=`symbol, triggeringPattern="perBatch", useSystemTime=false, timeColumn=`ts_m5,contextByColumn=`symbol)
subscribeTable(tableName="trades1", actionName="tradesStats", handler=append!{csEngine1}, msgAsTable=true)
replay(inputTables=x,outputTables=trades1,dateColumn=`ts_m5,timeColumn=`ts_m5)
select * from outputTable;
here is the result:
symbol ts_m5 ts om5 hm5 ...
------- ----------------------- ----------------------- --------------------- --------------------- ---
BTCUSDT 2022.01.15T15:15:00.000 2022.01.15T15:18:05.828 ...
BTCUSDT 2022.01.15T15:25:00.000 2022.01.15T15:26:59.002 ...
BTCUSDT 2022.01.15T15:20:00.000 2022.01.15T15:23:05.070 42940.986666666671226 42973.790000000000873 ...
BTCUSDT 2022.01.15T15:30:00.000 2022.01.15T15:30:18.516 42982.233333333329937 43015.040000000000873 ...
BTCUSDT 2022.01.15T15:30:00.000 2022.01.15T15:32:45.936 43014.689999999995052 43024.466666666667151 ...
BTCUSDT 2022.01.15T15:35:00.000 2022.01.15T15:35:33.746 43049.553333333336922 43059.089999999996507 ...
BTCUSDT 2022.01.15T15:35:00.000 2022.01.15T15:38:00.013 43037.40666666666948 43068.849999999998544 ...