Class: Quant::Indicators::Ma

Inherits:
Indicator show all
Includes:
Mixins::Filters
Defined in:
lib/quant/indicators/ma.rb

Overview

Moving Averages

Instance Attribute Summary

Attributes inherited from Indicator

#p0, #p1, #p2, #p3, #series, #source, #t0, #t1, #t2, #t3

Instance Method Summary collapse

Methods included from Mixins::ButterworthFilters

#three_pole_butterworth, #two_pole_butterworth

Methods inherited from Indicator

#<<, #[], #each, #indicator_name, #initialize, #input, #inspect, #p, #points_class, #size, #t, #ticks, #values

Methods included from Mixins::ExponentialMovingAverage

#exponential_moving_average

Methods included from Mixins::SimpleMovingAverage

#simple_moving_average

Methods included from Mixins::WeightedMovingAverage

#extended_weighted_moving_average, #weighted_moving_average

Methods included from Mixins::Functions

#angle, #bars_to_alpha, #deg2rad, #period_to_alpha, #rad2deg

Constructor Details

This class inherits a constructor from Quant::Indicators::Indicator

Instance Method Details

#alpha(period) ⇒ Object



21
22
23
# File 'lib/quant/indicators/ma.rb', line 21

def alpha(period)
  bars_to_alpha(period)
end

#computeObject



33
34
35
36
37
# File 'lib/quant/indicators/ma.rb', line 33

def compute
  # p0.ss = super_smoother input, :ss, min_period
  p0.ema = alpha(max_period) * input + (1 - alpha(max_period)) * p1.ema
  p0.osc = p0.ss - p0.ema
end

#max_periodObject



29
30
31
# File 'lib/quant/indicators/ma.rb', line 29

def max_period
  48 # Quant.config.indicators.max_period
end

#min_periodObject



25
26
27
# File 'lib/quant/indicators/ma.rb', line 25

def min_period
  8 # Quant.config.indicators.min_period
end