Sha256: cffad2f9ad8522c3d9f83b31277c3f83fc51e95cbd39e5ebef2c7608915b9e2f
Contents?: true
Size: 535 Bytes
Versions: 21
Compression:
Stored size: 535 Bytes
Contents
# lib/sqa/indicator/exponential_moving_average.rb class SQA::Indicator; class << self def exponential_moving_average( prices, # Array of prices period # Integer number of entries to consider ) ema_values = [] ema_values << prices.first multiplier = (2.0 / (period + 1)) (1...prices.length).each do |x| ema = (prices[x] - ema_values.last) * multiplier + ema_values.last ema_values << ema end ema_values end alias_method :ema, :exponential_moving_average end; end
Version data entries
21 entries across 21 versions & 1 rubygems