Thanks for explaination, jcl! Shoudn't it be one asterisk less then? Otherwise it attempts to return a double
After reading indicators.c, next question arose. Is there a valid reason at all, to return series when writing an indicator? Like intention of further processing? As far as I can see, all delivered indicators return double. So my script would shrink to
var Ema_of_Atr_simple()
{
return EMA(series(ATR(2)), 10);
}
And yet another one, about TSI
// Trend Strength Index, from Engineering Returns
var TSI(var* Data,int Period)
{
var* ratio = series(abs(Data[0]-Data[Period])/ATR(Period),0);
var* TSI = series(SMA(series(SMA(ratio,Period),0),10*Period),0);
return *TSI;
}
As far as I can see it returns duble. Wouldn't it be simpler to
return SMA(series(SMA(ratio,Period),0),10*Period);