I define a function containing another function inside:
find_badTicks:{ [tab;sec] // dummy function, for debug.. Ndays: 10i ; dates: select distinct date from tab where sym = sec ; closures: select last price by date from tab where sym = sec ; returns: 1 _ select ( (price)-(prev price) )%(prev price) from closures ; stdevs: {[x;y] sd[ (Ndays-1)
If I compile a function, it works. If I run the lines one by one, it works. However, if I try to call a function, I get an error message:
q)testTab: find_badTicks [testTab ; `ENI.IM.Equity] ; 'Ndays
If I remove Ndays in a nested function by writing explicitly 10, it works. Si I assume that the problem of local visibility of variables inside nested functions when executing a function: i.e. The nested function cannot see Ndays, which is the local variable of the find_badTicks function. Do you know how I can make Ndays visible inside internal functions? thanks Marco
source share