kc(src, len, mult, use_tr = true, _id, _tf) {

        let id = this._tsid(_id, `kc(${len},${mult},${use_tr})`)
        let tfs = _tf || ''
        let high = this.env.shared[`high${tfs}`]
        let low = this.env.shared[`low${tfs}`]
        let basis = this.ema(src, len, id+'1')

        let range = use_tr ?
            this.tr(false, id+'2', _tf) :
            this.ts(high[0] - low[0], id+'3', src.__tf__)
        let ema = this.ema(range, len, id+'4')

        return [
            basis,
            this.ts(basis[0] + ema[0] * mult, id+'5', src.__tf__),
            this.ts(basis[0] - ema[0] * mult, id+'6', src.__tf__)
        ]
    }
Keltner Channels
@param {TS} src - Input
@param {number} len - Length
@param {number} mult - Multiplier
@param {boolean} [use_tr] - Use true range
@return {TS[]} - Array of new time-series (3 bands)