Sha256: 512805d0af88ab0cc90c365a80f583b185b3dc6c901df2d1d61f03266d6d487e
Contents?: true
Size: 616 Bytes
Versions: 21
Compression:
Stored size: 616 Bytes
Contents
class SQA::Indicator; class << self def peaks_and_valleys( prices, # Array of prices delta # Integer distance delta (# of higher or lower prices to either side) ) peaks = [] valleys = [] period = 2 * delta + 1 prices.each_cons(period) do |window| price = window[delta] next if window.count(price) == period peaks << price if window.max == price valleys << price if window.min == price end { period: period, peaks: peaks, valleys: valleys } end alias_method :pav, :peaks_and_valleys end; end
Version data entries
21 entries across 21 versions & 1 rubygems