Indeed, the manual states that the input for such functions should be a 'series'.

However, I always used them in run() with standard arrays without a problem (a var* is a var*, right?) It only crashes in optimize()...

TA_Lib by itself operates with standard arrays as input -so why limit this to series() in Zorro?

I don't understand the distinction you make on 'indicators' vs ... : TA_Lib provides 'functions', incl. some pretty common ones like MaxVal() or LinearRegSlope().

I am not calculating 'indicators' in optimize(). I would like to use measures based off equity curve (e.g. its slope) as a constituent of the train objective. Shall I write my own functions for that??