Module: EnvelopesEma

Included in:
Array
Defined in:
lib/ruby-technical-analysis/indicators/envelopes_ema.rb

Overview

Envelopes EMA indicator Returns an array of current high, middle and low eema values

Instance Method Summary collapse

Instance Method Details

#envelopes_ema(period, percent) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/ruby-technical-analysis/indicators/envelopes_ema.rb', line 8

def envelopes_ema(period, percent)
  if size < period
    raise ArgumentError,
          "Close array passed to Envelopes EMA cannot be less than the period argument."
  end

  eema = last(period).ema(period)
  eema_up = (eema.round(3) * ((100 + percent))) / 100
  eema_down = (eema.round(3) * ((100 - percent))) / 100

  [eema_up.truncate(3), eema.truncate(3), eema_down.truncate(3)]
end