sclass RSI extends CandleBasedIndicator { settable int smoothingPeriod; settable SmoothedMovingAverage up; settable SmoothedMovingAverage down; settable double rsi = Double.NaN; Double value() { ret rsi(); } void init() { up = new SmoothedMovingAverage(this.length()); down = new SmoothedMovingAverage(this.length()); } TickerSequence asTicker(L candles) { var seq = new TickerSequence("RSI"); fOr (candle : candles) { feed(candle); var value = this.get(); if (not(isNaN(value))) seq.addIfPriceChanged(value, candle.endTime().toLong()); } ret seq; } }