I am trying to get the average price of different symbols every 60min with postgresql

create table trades(
date date,
symbol archer(10),
time numeric(6,0),
price numeric(10,2),
quantity numeric(10,0)

select *, floor(mod(floor(time),100)+mod(floor(time/100),100)*60+mod(floor(time/10000),100)*3600) timer,                            avg(price)over(partition by symbol, date order by timer range between 3600 preceding and current row) everyHour                                
from trades                                                                                              
order by 1,2,3;
But I am always getting this error.
ERROR:  RANGE PRECEDING is only supported with UNBOUNDED
LINE 2: ...ce)over(partition by symbol, tdate order by timer range betw...
Any Advice??!?