Class: Indicator::Base

Inherits:
Object
  • Object
show all
Includes:
DataMapper
Defined in:
lib/indicator/base.rb

Overview

Base Indicator

Direct Known Subclasses

AutoGen::Acos, AutoGen::Ad, AutoGen::AdOsc, AutoGen::Add, AutoGen::Adx, AutoGen::Adxr, AutoGen::Apo, AutoGen::Aroon, AutoGen::AroonOsc, AutoGen::Asin, AutoGen::Atan, AutoGen::Atr, AutoGen::AvgPrice, AutoGen::Bbands, AutoGen::Beta, AutoGen::Bop, AutoGen::Cci, AutoGen::Cdl2Crows, AutoGen::Cdl3BlackCrows, AutoGen::Cdl3Inside, AutoGen::Cdl3LineStrike, AutoGen::Cdl3Outside, AutoGen::Cdl3StarsInSouth, AutoGen::Cdl3WhiteSoldiers, AutoGen::CdlAbandonedBaby, AutoGen::CdlAdvanceBlock, AutoGen::CdlBeltHold, AutoGen::CdlBreakaway, AutoGen::CdlClosingMarubozu, AutoGen::CdlConcealBabysWall, AutoGen::CdlCounterAttack, AutoGen::CdlDarkCloudCover, AutoGen::CdlDoji, AutoGen::CdlDojiStar, AutoGen::CdlDragonflyDoji, AutoGen::CdlEngulfing, AutoGen::CdlEveningDojiStar, AutoGen::CdlEveningStar, AutoGen::CdlGapSideSideWhite, AutoGen::CdlGravestoneDoji, AutoGen::CdlHammer, AutoGen::CdlHangingMan, AutoGen::CdlHarami, AutoGen::CdlHaramiCross, AutoGen::CdlHignWave, AutoGen::CdlHikkake, AutoGen::CdlHikkakeMod, AutoGen::CdlHomingPigeon, AutoGen::CdlIdentical3Crows, AutoGen::CdlInNeck, AutoGen::CdlInvertedHammer, AutoGen::CdlKicking, AutoGen::CdlKickingByLength, AutoGen::CdlLadderBottom, AutoGen::CdlLongLeggedDoji, AutoGen::CdlLongLine, AutoGen::CdlMarubozu, AutoGen::CdlMatHold, AutoGen::CdlMatchingLow, AutoGen::CdlMorningDojiStar, AutoGen::CdlMorningStar, AutoGen::CdlOnNeck, AutoGen::CdlPiercing, AutoGen::CdlRickshawMan, AutoGen::CdlRiseFall3Methods, AutoGen::CdlSeperatingLines, AutoGen::CdlShootingStar, AutoGen::CdlShortLine, AutoGen::CdlSpinningTop, AutoGen::CdlStalledPattern, AutoGen::CdlStickSandwhich, AutoGen::CdlTakuri, AutoGen::CdlTasukiGap, AutoGen::CdlThrusting, AutoGen::CdlTristar, AutoGen::CdlUnique3River, AutoGen::CdlUpsideGap2Crows, AutoGen::CdlXSideGap3Methods, AutoGen::Ceil, AutoGen::Cmo, AutoGen::Correl, AutoGen::Cos, AutoGen::Cosh, AutoGen::Dema, AutoGen::Div, AutoGen::Dx, AutoGen::Ema, AutoGen::Exp, AutoGen::Floor, AutoGen::HtDcPeriod, AutoGen::HtDcPhase, AutoGen::HtPhasor, AutoGen::HtSine, AutoGen::HtTrendMode, AutoGen::HtTrendline, AutoGen::Kama, AutoGen::LinearReg, AutoGen::LinearRegAngle, AutoGen::LinearRegIntercept, AutoGen::LinearRegSlope, AutoGen::Ln, AutoGen::Log10, AutoGen::Macd, AutoGen::MacdExt, AutoGen::MacdFix, AutoGen::Mama, AutoGen::Max, AutoGen::MaxIndex, AutoGen::MedPrice, AutoGen::Mfi, AutoGen::MidPoint, AutoGen::MidPrice, AutoGen::Min, AutoGen::MinIndex, AutoGen::MinMax, AutoGen::MinMaxIndex, AutoGen::MinusDI, AutoGen::MinusDM, AutoGen::Mom, AutoGen::MovingAverage, AutoGen::MovingAverageVariablePeriod, AutoGen::Mult, AutoGen::Natr, AutoGen::Obv, AutoGen::PlusDI, AutoGen::PlusDM, AutoGen::Ppo, AutoGen::Roc, AutoGen::RocP, AutoGen::RocR, AutoGen::RocR100, AutoGen::Rsi, AutoGen::Sar, AutoGen::SarExt, AutoGen::Sin, AutoGen::Sinh, AutoGen::Sma, AutoGen::Sqrt, AutoGen::StdDev, AutoGen::Stoch, AutoGen::StochF, AutoGen::StochRsi, AutoGen::Sub, AutoGen::Sum, AutoGen::T3, AutoGen::Tan, AutoGen::Tanh, AutoGen::Tema, AutoGen::Trima, AutoGen::Trix, AutoGen::TrueRange, AutoGen::Tsf, AutoGen::TypPrice, AutoGen::UltOsc, AutoGen::Variance, AutoGen::WclPrice, AutoGen::WillR, AutoGen::Wma

Class Attribute Summary collapse

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from DataMapper

#default_getter, #default_getter=, #map

Class Attribute Details

.indicatorsObject (readonly)

Returns the value of attribute indicators.



10
11
12
# File 'lib/indicator/base.rb', line 10

def indicators
  @indicators
end

Instance Attribute Details

#nameObject

Returns the value of attribute name.



7
8
9
# File 'lib/indicator/base.rb', line 7

def name
  @name
end

Class Method Details

.inherited(subclass) ⇒ Object



15
16
17
# File 'lib/indicator/base.rb', line 15

def self.inherited(subclass)
  Base.indicators << subclass
end

Instance Method Details

#map_ohlcv(types, *args) ⇒ Object

Raises:

  • (ArgumentError)


19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/indicator/base.rb', line 19

def map_ohlcv types, *args

  raise ArgumentError unless args.length > 0
  first = args.first

  l = [:open, :high, :low, :close, :volume].inject([]) do |lst, t|
    if types.include? t
      a = args.shift
      lst << (a ? map(a, t) : map(first, t))
    else
      lst << nil
    end
  end

  # Push the length onto the end of the array
  l << first.length
end