Error: Can't include objects other than vector, tuple of vector, and table for reductive operations over a set of vectors

this is my code when I run it it gives me error: "Can't include objects other than vector, tuple of vector, and table for reductive operations over a set of vectors" Please help me fast.


code:-

kt=keyedTable(`symbol,100:0,`symbol`date`high`low`ep`af`sar`trend,[SYMBOL,DATE,DOUBLE,DOUBLE,DOUBLE,DOUBLE,DOUBLE,DOUBLE])

share streamTable(100:0,`symbol`date`high`low,[SYMBOL,DATE,DOUBLE,DOUBLE]) as st

dummy=aj(select * from st,select symbol,date,ep as prev_ep,af as prev_af,sar as prev_sar,trend as prev_trend from kt,`symbol`date).drop!(`tmp2_date)


@state
defg psar(high,low,prev_ep,prev_af,prev_sar,prev_trend,init_af,delta_af,max_af){
t_sar=iif(prev_trend<0,rowMax(prev_sar+prev_af*(prev_ep-prev_sar),prev(high),move(high,2)),rowMin(prev_sar+prev_af*(prev_ep-prev_sar),prev(low), move(low,2)))
trend=iif(prev_trend<0,iif(t_sar<high,1,prev_trend-1),iif(t_sar>low,-1,prev_trend+1))
ep=iif(trend<0,iif(trend==-1,low,rowMin(low,prev_ep)),iif(trend==1,high,rowMax(high,prev_ep)))
af=iif(abs(trend)==1,init_af,iif(ep==prev_ep,prev_af,rowMin(max_af,prev_af+delta_af)))
sar=iif(move(high,2)==NULL,iif(prev(high)!=NULL,iif(trend<0,high,low),NULL),iif(trend==-1,rowMax(prev_ep, high),iif(trend==1,rowMin(prev_ep,low),t_sar)))
return ( ep,af,sar,trend)
}

//error comes here. It can not let me define reactive state engine
psar=createReactiveStateEngine(name="psar",metrics=[<date>,<high>,<low>,<psar(high,low,prev_ep,prev_af,prev_sar,prev_trend,0.02,0.02,0.2)>],dummyTable =dummy,outputTable=kt,keyColumn=`symbol);
请先 登录 后评论

1 个回答

mhxiang

use af=iif(abs(trend)==1,init_af,iif(ep==prev_ep,prev_af,rowMin(take(max_af,size(prev_af)),prev_af+delta_af))) instead of using af=iif(abs(trend)==1,init_af,iif(ep==prev_ep,prev_af,rowMin(max_af,prev_af+delta_af)))

请先 登录 后评论
  • 1 关注
  • 0 收藏,942 浏览
  • Vishvesh Upadhyay 提出于 2022-02-14 22:12

相似问题