Sha256: a20566d1334c5b2cdaac595e68d8044b602a4c30895c77606467cb64c1aa5c28

Contents?: true

Size: 500 Bytes

Versions: 21

Compression:

Stored size: 500 Bytes

Contents

# lib/sqa/indicator/simple_moving_average.rb

class SQA::Indicator; class << self

  def simple_moving_average(
        prices, # Array of prices
        period  # Integer how many to consider at a time
      )
    moving_averages = []

    (0..period-2).to_a.each do |x|
      moving_averages << prices[0..x].mean
    end

    prices.each_cons(period) do |window|
      moving_averages << window.mean
    end

    moving_averages # Array
  end
  alias_method :sma, :simple_moving_average

end; end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
sqa-0.0.24 lib/sqa/indicator/simple_moving_average.rb
sqa-0.0.22 lib/sqa/indicator/simple_moving_average.rb
sqa-0.0.21 lib/sqa/indicator/simple_moving_average.rb
sqa-0.0.20 lib/sqa/indicator/simple_moving_average.rb
sqa-0.0.19 lib/sqa/indicator/simple_moving_average.rb
sqa-0.0.18 lib/sqa/indicator/simple_moving_average.rb
sqa-0.0.17 lib/sqa/indicator/simple_moving_average.rb
sqa-0.0.15 lib/sqa/indicator/simple_moving_average.rb
sqa-0.0.14 lib/sqa/indicator/simple_moving_average.rb
sqa-0.0.13 lib/sqa/indicator/simple_moving_average.rb
sqa-0.0.12 lib/sqa/indicator/simple_moving_average.rb
sqa-0.0.11 lib/sqa/indicator/simple_moving_average.rb
sqa-0.0.10 lib/sqa/indicator/simple_moving_average.rb
sqa-0.0.9 lib/sqa/indicator/simple_moving_average.rb
sqa-0.0.8 lib/sqa/indicator/simple_moving_average.rb
sqa-0.0.7 lib/sqa/indicator/simple_moving_average.rb
sqa-0.0.6 lib/sqa/indicator/simple_moving_average.rb
sqa-0.0.5 lib/sqa/indicator/simple_moving_average.rb
sqa-0.0.4 lib/sqa/indicator/simple_moving_average.rb
sqa-0.0.3 lib/sqa/indicator/simple_moving_average.rb