Module: Indicators
- Included in:
- RTALib
- Defined in:
- lib/moving_average.rb
Instance Method Summary collapse
Instance Method Details
#ma(values, options = {}) ⇒ Object
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/moving_average.rb', line 2 def ma(values, ={}) opts = {:period => 5}.merge() return nil if opts[:period] > values.size ma = [] result = [] sum = 0 values.each do |value| leaving_value = ma.length == opts[:period] ? ma.shift : 0 sum += value - leaving_value ma << value result << { :value => value, :ma => ma.length == opts[:period] ? sum/opts[:period] : 0 } end result end |