ta-indicator 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (171) hide show
  1. data/LICENSE +10 -0
  2. data/LICENSE-ta-lib +32 -0
  3. data/README.rdoc +196 -0
  4. data/Rakefile +13 -0
  5. data/examples/mapping.rb +43 -0
  6. data/lib/indicator.rb +56 -0
  7. data/lib/indicator/auto_gen.rb +163 -0
  8. data/lib/indicator/auto_gen/acos.rb +44 -0
  9. data/lib/indicator/auto_gen/ad.rb +44 -0
  10. data/lib/indicator/auto_gen/ad_osc.rb +58 -0
  11. data/lib/indicator/auto_gen/add.rb +45 -0
  12. data/lib/indicator/auto_gen/adx.rb +53 -0
  13. data/lib/indicator/auto_gen/adxr.rb +53 -0
  14. data/lib/indicator/auto_gen/apo.rb +63 -0
  15. data/lib/indicator/auto_gen/aroon.rb +56 -0
  16. data/lib/indicator/auto_gen/aroon_osc.rb +53 -0
  17. data/lib/indicator/auto_gen/asin.rb +44 -0
  18. data/lib/indicator/auto_gen/atan.rb +44 -0
  19. data/lib/indicator/auto_gen/atr.rb +53 -0
  20. data/lib/indicator/auto_gen/avg_price.rb +44 -0
  21. data/lib/indicator/auto_gen/bbands.rb +74 -0
  22. data/lib/indicator/auto_gen/beta.rb +54 -0
  23. data/lib/indicator/auto_gen/bop.rb +44 -0
  24. data/lib/indicator/auto_gen/cci.rb +53 -0
  25. data/lib/indicator/auto_gen/cdl2_crows.rb +44 -0
  26. data/lib/indicator/auto_gen/cdl3_black_crows.rb +44 -0
  27. data/lib/indicator/auto_gen/cdl3_inside.rb +44 -0
  28. data/lib/indicator/auto_gen/cdl3_line_strike.rb +44 -0
  29. data/lib/indicator/auto_gen/cdl3_outside.rb +44 -0
  30. data/lib/indicator/auto_gen/cdl3_stars_in_south.rb +44 -0
  31. data/lib/indicator/auto_gen/cdl3_white_soldiers.rb +44 -0
  32. data/lib/indicator/auto_gen/cdl_abandoned_baby.rb +53 -0
  33. data/lib/indicator/auto_gen/cdl_advance_block.rb +44 -0
  34. data/lib/indicator/auto_gen/cdl_belt_hold.rb +44 -0
  35. data/lib/indicator/auto_gen/cdl_breakaway.rb +44 -0
  36. data/lib/indicator/auto_gen/cdl_closing_marubozu.rb +44 -0
  37. data/lib/indicator/auto_gen/cdl_conceal_babys_wall.rb +44 -0
  38. data/lib/indicator/auto_gen/cdl_counter_attack.rb +44 -0
  39. data/lib/indicator/auto_gen/cdl_dark_cloud_cover.rb +53 -0
  40. data/lib/indicator/auto_gen/cdl_doji.rb +44 -0
  41. data/lib/indicator/auto_gen/cdl_doji_star.rb +44 -0
  42. data/lib/indicator/auto_gen/cdl_dragonfly_doji.rb +44 -0
  43. data/lib/indicator/auto_gen/cdl_engulfing.rb +44 -0
  44. data/lib/indicator/auto_gen/cdl_evening_doji_star.rb +53 -0
  45. data/lib/indicator/auto_gen/cdl_evening_star.rb +53 -0
  46. data/lib/indicator/auto_gen/cdl_gap_side_side_white.rb +44 -0
  47. data/lib/indicator/auto_gen/cdl_gravestone_doji.rb +44 -0
  48. data/lib/indicator/auto_gen/cdl_hammer.rb +44 -0
  49. data/lib/indicator/auto_gen/cdl_hanging_man.rb +44 -0
  50. data/lib/indicator/auto_gen/cdl_harami.rb +44 -0
  51. data/lib/indicator/auto_gen/cdl_harami_cross.rb +44 -0
  52. data/lib/indicator/auto_gen/cdl_hign_wave.rb +44 -0
  53. data/lib/indicator/auto_gen/cdl_hikkake.rb +44 -0
  54. data/lib/indicator/auto_gen/cdl_hikkake_mod.rb +44 -0
  55. data/lib/indicator/auto_gen/cdl_homing_pigeon.rb +44 -0
  56. data/lib/indicator/auto_gen/cdl_identical3_crows.rb +44 -0
  57. data/lib/indicator/auto_gen/cdl_in_neck.rb +44 -0
  58. data/lib/indicator/auto_gen/cdl_inverted_hammer.rb +44 -0
  59. data/lib/indicator/auto_gen/cdl_kicking.rb +44 -0
  60. data/lib/indicator/auto_gen/cdl_kicking_by_length.rb +44 -0
  61. data/lib/indicator/auto_gen/cdl_ladder_bottom.rb +44 -0
  62. data/lib/indicator/auto_gen/cdl_long_legged_doji.rb +44 -0
  63. data/lib/indicator/auto_gen/cdl_long_line.rb +44 -0
  64. data/lib/indicator/auto_gen/cdl_marubozu.rb +44 -0
  65. data/lib/indicator/auto_gen/cdl_mat_hold.rb +53 -0
  66. data/lib/indicator/auto_gen/cdl_matching_low.rb +44 -0
  67. data/lib/indicator/auto_gen/cdl_morning_doji_star.rb +53 -0
  68. data/lib/indicator/auto_gen/cdl_morning_star.rb +53 -0
  69. data/lib/indicator/auto_gen/cdl_on_neck.rb +44 -0
  70. data/lib/indicator/auto_gen/cdl_piercing.rb +44 -0
  71. data/lib/indicator/auto_gen/cdl_rickshaw_man.rb +44 -0
  72. data/lib/indicator/auto_gen/cdl_rise_fall3_methods.rb +44 -0
  73. data/lib/indicator/auto_gen/cdl_seperating_lines.rb +44 -0
  74. data/lib/indicator/auto_gen/cdl_shooting_star.rb +44 -0
  75. data/lib/indicator/auto_gen/cdl_short_line.rb +44 -0
  76. data/lib/indicator/auto_gen/cdl_spinning_top.rb +44 -0
  77. data/lib/indicator/auto_gen/cdl_stalled_pattern.rb +44 -0
  78. data/lib/indicator/auto_gen/cdl_stick_sandwhich.rb +44 -0
  79. data/lib/indicator/auto_gen/cdl_takuri.rb +44 -0
  80. data/lib/indicator/auto_gen/cdl_tasuki_gap.rb +44 -0
  81. data/lib/indicator/auto_gen/cdl_thrusting.rb +44 -0
  82. data/lib/indicator/auto_gen/cdl_tristar.rb +44 -0
  83. data/lib/indicator/auto_gen/cdl_unique3_river.rb +44 -0
  84. data/lib/indicator/auto_gen/cdl_upside_gap2_crows.rb +44 -0
  85. data/lib/indicator/auto_gen/cdl_x_side_gap3_methods.rb +44 -0
  86. data/lib/indicator/auto_gen/ceil.rb +44 -0
  87. data/lib/indicator/auto_gen/cmo.rb +53 -0
  88. data/lib/indicator/auto_gen/correl.rb +54 -0
  89. data/lib/indicator/auto_gen/cos.rb +44 -0
  90. data/lib/indicator/auto_gen/cosh.rb +44 -0
  91. data/lib/indicator/auto_gen/dema.rb +53 -0
  92. data/lib/indicator/auto_gen/div.rb +45 -0
  93. data/lib/indicator/auto_gen/dx.rb +53 -0
  94. data/lib/indicator/auto_gen/ema.rb +53 -0
  95. data/lib/indicator/auto_gen/exp.rb +44 -0
  96. data/lib/indicator/auto_gen/floor.rb +44 -0
  97. data/lib/indicator/auto_gen/ht_dc_period.rb +44 -0
  98. data/lib/indicator/auto_gen/ht_dc_phase.rb +44 -0
  99. data/lib/indicator/auto_gen/ht_phasor.rb +47 -0
  100. data/lib/indicator/auto_gen/ht_sine.rb +47 -0
  101. data/lib/indicator/auto_gen/ht_trend_mode.rb +44 -0
  102. data/lib/indicator/auto_gen/ht_trendline.rb +44 -0
  103. data/lib/indicator/auto_gen/kama.rb +53 -0
  104. data/lib/indicator/auto_gen/linear_reg.rb +53 -0
  105. data/lib/indicator/auto_gen/linear_reg_angle.rb +53 -0
  106. data/lib/indicator/auto_gen/linear_reg_intercept.rb +53 -0
  107. data/lib/indicator/auto_gen/linear_reg_slope.rb +53 -0
  108. data/lib/indicator/auto_gen/ln.rb +44 -0
  109. data/lib/indicator/auto_gen/log10.rb +44 -0
  110. data/lib/indicator/auto_gen/macd.rb +69 -0
  111. data/lib/indicator/auto_gen/macd_ext.rb +84 -0
  112. data/lib/indicator/auto_gen/macd_fix.rb +59 -0
  113. data/lib/indicator/auto_gen/mama.rb +61 -0
  114. data/lib/indicator/auto_gen/max.rb +53 -0
  115. data/lib/indicator/auto_gen/max_index.rb +53 -0
  116. data/lib/indicator/auto_gen/med_price.rb +44 -0
  117. data/lib/indicator/auto_gen/mfi.rb +53 -0
  118. data/lib/indicator/auto_gen/mid_point.rb +53 -0
  119. data/lib/indicator/auto_gen/mid_price.rb +53 -0
  120. data/lib/indicator/auto_gen/min.rb +53 -0
  121. data/lib/indicator/auto_gen/min_index.rb +53 -0
  122. data/lib/indicator/auto_gen/min_max.rb +56 -0
  123. data/lib/indicator/auto_gen/min_max_index.rb +56 -0
  124. data/lib/indicator/auto_gen/minus_di.rb +53 -0
  125. data/lib/indicator/auto_gen/minus_dm.rb +53 -0
  126. data/lib/indicator/auto_gen/mom.rb +53 -0
  127. data/lib/indicator/auto_gen/moving_average.rb +58 -0
  128. data/lib/indicator/auto_gen/moving_average_variable_period.rb +64 -0
  129. data/lib/indicator/auto_gen/mult.rb +45 -0
  130. data/lib/indicator/auto_gen/natr.rb +53 -0
  131. data/lib/indicator/auto_gen/obv.rb +44 -0
  132. data/lib/indicator/auto_gen/plus_di.rb +53 -0
  133. data/lib/indicator/auto_gen/plus_dm.rb +53 -0
  134. data/lib/indicator/auto_gen/ppo.rb +63 -0
  135. data/lib/indicator/auto_gen/roc.rb +53 -0
  136. data/lib/indicator/auto_gen/roc_p.rb +53 -0
  137. data/lib/indicator/auto_gen/roc_r.rb +53 -0
  138. data/lib/indicator/auto_gen/roc_r100.rb +53 -0
  139. data/lib/indicator/auto_gen/rsi.rb +53 -0
  140. data/lib/indicator/auto_gen/sar.rb +58 -0
  141. data/lib/indicator/auto_gen/sar_ext.rb +88 -0
  142. data/lib/indicator/auto_gen/sin.rb +44 -0
  143. data/lib/indicator/auto_gen/sinh.rb +44 -0
  144. data/lib/indicator/auto_gen/sma.rb +53 -0
  145. data/lib/indicator/auto_gen/sqrt.rb +44 -0
  146. data/lib/indicator/auto_gen/std_dev.rb +58 -0
  147. data/lib/indicator/auto_gen/stoch.rb +76 -0
  148. data/lib/indicator/auto_gen/stoch_f.rb +66 -0
  149. data/lib/indicator/auto_gen/stoch_rsi.rb +71 -0
  150. data/lib/indicator/auto_gen/sub.rb +45 -0
  151. data/lib/indicator/auto_gen/sum.rb +53 -0
  152. data/lib/indicator/auto_gen/t3.rb +58 -0
  153. data/lib/indicator/auto_gen/tan.rb +44 -0
  154. data/lib/indicator/auto_gen/tanh.rb +44 -0
  155. data/lib/indicator/auto_gen/tema.rb +53 -0
  156. data/lib/indicator/auto_gen/trima.rb +53 -0
  157. data/lib/indicator/auto_gen/trix.rb +53 -0
  158. data/lib/indicator/auto_gen/true_range.rb +44 -0
  159. data/lib/indicator/auto_gen/tsf.rb +53 -0
  160. data/lib/indicator/auto_gen/typ_price.rb +44 -0
  161. data/lib/indicator/auto_gen/ult_osc.rb +63 -0
  162. data/lib/indicator/auto_gen/variance.rb +58 -0
  163. data/lib/indicator/auto_gen/wcl_price.rb +44 -0
  164. data/lib/indicator/auto_gen/will_r.rb +53 -0
  165. data/lib/indicator/auto_gen/wma.rb +53 -0
  166. data/lib/indicator/base.rb +19 -0
  167. data/lib/indicator/data_mapper.rb +93 -0
  168. data/lib/indicator/mixin.rb +15 -0
  169. data/lib/indicator/version.rb +3 -0
  170. data/test/data_mapper_test.rb +76 -0
  171. metadata +226 -0
@@ -0,0 +1,53 @@
1
+ # Ta-Lib function mapping class
2
+ # Function: 'WILLR'
3
+ # Description: 'Williams' %R'
4
+ # This file has been autogenerated - Do Not Edit.
5
+ class Indicator::AutoGen::WillR < Indicator::Base
6
+ # Time Period <Integer>
7
+ attr_accessor :time_period
8
+
9
+ def initialize(*args)
10
+ if args.first.is_a? Hash
11
+ h = args.first
12
+ @time_period = h[:time_period] || 14
13
+ else
14
+ @time_period = args[0] || 14
15
+ end
16
+
17
+ @func = TaLib::Function.new("WILLR")
18
+ end
19
+
20
+ # Is price data required as an input
21
+ def self.price_input?
22
+ true
23
+ end
24
+
25
+ # The list of arguments
26
+ def self.arguments
27
+ [ :time_period ]
28
+ end
29
+
30
+ # The minimum set of inputs required
31
+ def self.inputs
32
+ [ :open, :high, :low, :close ]
33
+ end
34
+
35
+ # The outputs generated by this function
36
+ def self.outputs
37
+ [ :out_real ]
38
+ end
39
+
40
+ def run(*args)
41
+ o, h, l, c, v, len = map_ohlcv(false, *args)
42
+ @func.in_price(0, o, h, l, c, v, nil)
43
+
44
+ @func.opt_int(0, @time_period)
45
+
46
+ out_real = Array.new(len)
47
+ @func.out_real(0, out_real)
48
+
49
+ @func.call(0, len - 1)
50
+
51
+ out_real
52
+ end
53
+ end
@@ -0,0 +1,53 @@
1
+ # Ta-Lib function mapping class
2
+ # Function: 'WMA'
3
+ # Description: 'Weighted Moving Average'
4
+ # This file has been autogenerated - Do Not Edit.
5
+ class Indicator::AutoGen::Wma < Indicator::Base
6
+ # Time Period <Integer>
7
+ attr_accessor :time_period
8
+
9
+ def initialize(*args)
10
+ if args.first.is_a? Hash
11
+ h = args.first
12
+ @time_period = h[:time_period] || 30
13
+ else
14
+ @time_period = args[0] || 30
15
+ end
16
+
17
+ @func = TaLib::Function.new("WMA")
18
+ end
19
+
20
+ # Is price data required as an input
21
+ def self.price_input?
22
+ false
23
+ end
24
+
25
+ # The list of arguments
26
+ def self.arguments
27
+ [ :time_period ]
28
+ end
29
+
30
+ # The minimum set of inputs required
31
+ def self.inputs
32
+ [ :in_real ]
33
+ end
34
+
35
+ # The outputs generated by this function
36
+ def self.outputs
37
+ [ :out_real ]
38
+ end
39
+
40
+ def run(in_real)
41
+ len = in_real.length
42
+ @func.in_real(0, map(in_real))
43
+
44
+ @func.opt_int(0, @time_period)
45
+
46
+ out_real = Array.new(len)
47
+ @func.out_real(0, out_real)
48
+
49
+ @func.call(0, len - 1)
50
+
51
+ out_real
52
+ end
53
+ end
@@ -0,0 +1,19 @@
1
+ module Indicator
2
+
3
+ # Base Indicator
4
+ class Base
5
+ include Indicator::DataMapper
6
+
7
+ attr_accessor :name
8
+
9
+ class << self
10
+ attr_reader :indicators
11
+ end
12
+
13
+ @indicators = []
14
+
15
+ def self.inherited(subclass)
16
+ Base.indicators << subclass
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,93 @@
1
+ module Indicator
2
+ module DataMapper
3
+
4
+ class SourceMustBeEnumerable < StandardError
5
+ end
6
+
7
+ class InvalidMapping < StandardError
8
+ end
9
+
10
+ Map = Struct.new(:source, :getter)
11
+
12
+ def default_getter
13
+ @default_getter || :close
14
+ end
15
+
16
+ def default_getter= v
17
+ @default_getter = v
18
+ end
19
+
20
+ def map ds, getter=default_getter
21
+
22
+ return nil unless ds
23
+
24
+ # ds can be supplied as an array of [source, mapping] or simply
25
+ # the source
26
+ if ds.is_a? Map
27
+ source = ds.source
28
+ mapping = ds.getter
29
+ else
30
+ source = ds
31
+ end
32
+
33
+ raise SourceMustBeEnumerable unless source.is_a? Enumerable
34
+ raise ArgumentError unless getter
35
+
36
+ # Return nil straight away if the data source is empty. The
37
+ # downstream ta-lib functions can handle a nil argument.
38
+ return nil unless source.length > 0
39
+
40
+ # No need to go any further if no mapping was specified and
41
+ # the specified data source responds to 'to_f'.
42
+ element = source.first
43
+ return source if element.respond_to?(:to_f) and mapping.nil?
44
+
45
+ mapping ||= getter
46
+ mapping_sym = mapping.to_sym rescue nil
47
+
48
+ # Figure out how to use the mapping value.
49
+ # It can either be a directly callable mapping, a function name
50
+ # or a hash index.
51
+ map_proc =
52
+ if mapping.respond_to? :call
53
+ mapping
54
+ else
55
+ if not mapping_sym.nil? and element.respond_to?(mapping_sym)
56
+ mapping_sym.to_proc
57
+ elsif element.respond_to?(:[])
58
+ ->(e) { e[mapping] }
59
+ end
60
+ end
61
+
62
+ raise InvalidMapping unless map_proc
63
+
64
+ # Returned the mapped data
65
+ source.collect { |e| map_proc.call(e) }
66
+ end
67
+
68
+ def map_ohlcv volume_required, *args
69
+
70
+ raise ArgumentError unless args.length > 0
71
+ first = args.first
72
+
73
+ types = [:open, :high, :low, :close]
74
+ types << :volume if volume_required
75
+
76
+ l = types.inject([]) do |lst, t|
77
+ a = args.shift
78
+ lst << (a ? map(a, t) : map(first, t))
79
+ end
80
+
81
+ # Push a nil in the place of the volume data series
82
+ # if it hasn't been requested
83
+ l << nil unless volume_required
84
+
85
+ # Push the length onto the end of the array
86
+ l << first.length
87
+ end
88
+ end
89
+ end
90
+
91
+ def new_map(ds, map)
92
+ Indicator::DataMapper::Map.new(ds, map)
93
+ end
@@ -0,0 +1,15 @@
1
+ require 'indicator'
2
+
3
+ module Indicator
4
+ module Mixin
5
+ def indicator type, *args
6
+ i = Indicator.create_named type, *args
7
+ i.run self
8
+ end
9
+ end
10
+ end
11
+
12
+ # Extend the array class with the mixin
13
+ class Array
14
+ include Indicator::Mixin
15
+ end
@@ -0,0 +1,3 @@
1
+ module Indicator
2
+ VERSION = '0.0.4'
3
+ end
@@ -0,0 +1,76 @@
1
+ require 'minitest/autorun'
2
+ require 'indicator'
3
+
4
+ include Indicator
5
+
6
+ class DataMapperTest < MiniTest::Unit::TestCase
7
+ class Bar
8
+ attr_accessor :open, :high, :low, :close, :volume
9
+
10
+ def initialize seed
11
+ @open = seed
12
+ @high = seed + 1
13
+ @low = seed + 2
14
+ @close = seed + 3
15
+ @volume = seed + 4
16
+ end
17
+
18
+ def [] index
19
+ if index == :mid
20
+ return (@open + @close) / 2.0
21
+ elsif index == :offset
22
+ return @open + 100
23
+ end
24
+ end
25
+
26
+ def to_s
27
+ "#{@open},#{@high},#{@low},#{@close},#{@volume}"
28
+ end
29
+ end
30
+
31
+ class MapTest
32
+ include DataMapper
33
+ end
34
+
35
+ def setup
36
+ @mapper = MapTest.new
37
+ @default_getter = :open
38
+ @simple_ds = [1,2,3,4,5,6,7,8,9,10]
39
+ @simple_ds2 = [11,12,13,14,15,16,17,18,19,20]
40
+
41
+ @bars = (1..10).inject([]) { |list, i| list << Bar.new(i) }
42
+ end
43
+
44
+ def test_simple
45
+ r = @mapper.map @simple_ds, @default_getter
46
+
47
+ assert_equal @simple_ds, r
48
+ end
49
+
50
+ def ensure_default_is_not_used
51
+ r = @mapper.map @simple_ds, lambda { |i| i * 10 }
52
+ assert_equal @simple_ds, r
53
+ end
54
+
55
+ def test_with_lamda
56
+ m = DataMapper::Map.new @simple_ds, lambda { |i| i * 10 }
57
+ r = @mapper.map m, @default_getter
58
+
59
+ ds2 = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
60
+ assert_equal ds2, r
61
+ end
62
+
63
+ def test_double_with_symbol_map
64
+ m = DataMapper::Map.new @bars, :open
65
+ r = @mapper.map m, @default_getter
66
+
67
+ assert_equal [1,2,3,4,5,6,7,8,9,10], r
68
+ end
69
+
70
+ def test_double_with_hash_map
71
+ m = DataMapper::Map.new @bars, :mid
72
+ r = @mapper.map m, @default_getter
73
+
74
+ assert_equal [2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5,10.5,11.5], r
75
+ end
76
+ end
metadata ADDED
@@ -0,0 +1,226 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ta-indicator
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.4
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Michael Lamb
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-09-29 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: talib_ruby
16
+ requirement: &17147904 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *17147904
25
+ description: Higher level wrapper around the talib_ruby project
26
+ email: mr.lamby@gmail.com
27
+ executables: []
28
+ extensions: []
29
+ extra_rdoc_files: []
30
+ files:
31
+ - LICENSE
32
+ - LICENSE-ta-lib
33
+ - README.rdoc
34
+ - Rakefile
35
+ - lib/indicator/auto_gen/acos.rb
36
+ - lib/indicator/auto_gen/ad.rb
37
+ - lib/indicator/auto_gen/add.rb
38
+ - lib/indicator/auto_gen/adx.rb
39
+ - lib/indicator/auto_gen/adxr.rb
40
+ - lib/indicator/auto_gen/ad_osc.rb
41
+ - lib/indicator/auto_gen/apo.rb
42
+ - lib/indicator/auto_gen/aroon.rb
43
+ - lib/indicator/auto_gen/aroon_osc.rb
44
+ - lib/indicator/auto_gen/asin.rb
45
+ - lib/indicator/auto_gen/atan.rb
46
+ - lib/indicator/auto_gen/atr.rb
47
+ - lib/indicator/auto_gen/avg_price.rb
48
+ - lib/indicator/auto_gen/bbands.rb
49
+ - lib/indicator/auto_gen/beta.rb
50
+ - lib/indicator/auto_gen/bop.rb
51
+ - lib/indicator/auto_gen/cci.rb
52
+ - lib/indicator/auto_gen/cdl2_crows.rb
53
+ - lib/indicator/auto_gen/cdl3_black_crows.rb
54
+ - lib/indicator/auto_gen/cdl3_inside.rb
55
+ - lib/indicator/auto_gen/cdl3_line_strike.rb
56
+ - lib/indicator/auto_gen/cdl3_outside.rb
57
+ - lib/indicator/auto_gen/cdl3_stars_in_south.rb
58
+ - lib/indicator/auto_gen/cdl3_white_soldiers.rb
59
+ - lib/indicator/auto_gen/cdl_abandoned_baby.rb
60
+ - lib/indicator/auto_gen/cdl_advance_block.rb
61
+ - lib/indicator/auto_gen/cdl_belt_hold.rb
62
+ - lib/indicator/auto_gen/cdl_breakaway.rb
63
+ - lib/indicator/auto_gen/cdl_closing_marubozu.rb
64
+ - lib/indicator/auto_gen/cdl_conceal_babys_wall.rb
65
+ - lib/indicator/auto_gen/cdl_counter_attack.rb
66
+ - lib/indicator/auto_gen/cdl_dark_cloud_cover.rb
67
+ - lib/indicator/auto_gen/cdl_doji.rb
68
+ - lib/indicator/auto_gen/cdl_doji_star.rb
69
+ - lib/indicator/auto_gen/cdl_dragonfly_doji.rb
70
+ - lib/indicator/auto_gen/cdl_engulfing.rb
71
+ - lib/indicator/auto_gen/cdl_evening_doji_star.rb
72
+ - lib/indicator/auto_gen/cdl_evening_star.rb
73
+ - lib/indicator/auto_gen/cdl_gap_side_side_white.rb
74
+ - lib/indicator/auto_gen/cdl_gravestone_doji.rb
75
+ - lib/indicator/auto_gen/cdl_hammer.rb
76
+ - lib/indicator/auto_gen/cdl_hanging_man.rb
77
+ - lib/indicator/auto_gen/cdl_harami.rb
78
+ - lib/indicator/auto_gen/cdl_harami_cross.rb
79
+ - lib/indicator/auto_gen/cdl_hign_wave.rb
80
+ - lib/indicator/auto_gen/cdl_hikkake.rb
81
+ - lib/indicator/auto_gen/cdl_hikkake_mod.rb
82
+ - lib/indicator/auto_gen/cdl_homing_pigeon.rb
83
+ - lib/indicator/auto_gen/cdl_identical3_crows.rb
84
+ - lib/indicator/auto_gen/cdl_inverted_hammer.rb
85
+ - lib/indicator/auto_gen/cdl_in_neck.rb
86
+ - lib/indicator/auto_gen/cdl_kicking.rb
87
+ - lib/indicator/auto_gen/cdl_kicking_by_length.rb
88
+ - lib/indicator/auto_gen/cdl_ladder_bottom.rb
89
+ - lib/indicator/auto_gen/cdl_long_legged_doji.rb
90
+ - lib/indicator/auto_gen/cdl_long_line.rb
91
+ - lib/indicator/auto_gen/cdl_marubozu.rb
92
+ - lib/indicator/auto_gen/cdl_matching_low.rb
93
+ - lib/indicator/auto_gen/cdl_mat_hold.rb
94
+ - lib/indicator/auto_gen/cdl_morning_doji_star.rb
95
+ - lib/indicator/auto_gen/cdl_morning_star.rb
96
+ - lib/indicator/auto_gen/cdl_on_neck.rb
97
+ - lib/indicator/auto_gen/cdl_piercing.rb
98
+ - lib/indicator/auto_gen/cdl_rickshaw_man.rb
99
+ - lib/indicator/auto_gen/cdl_rise_fall3_methods.rb
100
+ - lib/indicator/auto_gen/cdl_seperating_lines.rb
101
+ - lib/indicator/auto_gen/cdl_shooting_star.rb
102
+ - lib/indicator/auto_gen/cdl_short_line.rb
103
+ - lib/indicator/auto_gen/cdl_spinning_top.rb
104
+ - lib/indicator/auto_gen/cdl_stalled_pattern.rb
105
+ - lib/indicator/auto_gen/cdl_stick_sandwhich.rb
106
+ - lib/indicator/auto_gen/cdl_takuri.rb
107
+ - lib/indicator/auto_gen/cdl_tasuki_gap.rb
108
+ - lib/indicator/auto_gen/cdl_thrusting.rb
109
+ - lib/indicator/auto_gen/cdl_tristar.rb
110
+ - lib/indicator/auto_gen/cdl_unique3_river.rb
111
+ - lib/indicator/auto_gen/cdl_upside_gap2_crows.rb
112
+ - lib/indicator/auto_gen/cdl_x_side_gap3_methods.rb
113
+ - lib/indicator/auto_gen/ceil.rb
114
+ - lib/indicator/auto_gen/cmo.rb
115
+ - lib/indicator/auto_gen/correl.rb
116
+ - lib/indicator/auto_gen/cos.rb
117
+ - lib/indicator/auto_gen/cosh.rb
118
+ - lib/indicator/auto_gen/dema.rb
119
+ - lib/indicator/auto_gen/div.rb
120
+ - lib/indicator/auto_gen/dx.rb
121
+ - lib/indicator/auto_gen/ema.rb
122
+ - lib/indicator/auto_gen/exp.rb
123
+ - lib/indicator/auto_gen/floor.rb
124
+ - lib/indicator/auto_gen/ht_dc_period.rb
125
+ - lib/indicator/auto_gen/ht_dc_phase.rb
126
+ - lib/indicator/auto_gen/ht_phasor.rb
127
+ - lib/indicator/auto_gen/ht_sine.rb
128
+ - lib/indicator/auto_gen/ht_trendline.rb
129
+ - lib/indicator/auto_gen/ht_trend_mode.rb
130
+ - lib/indicator/auto_gen/kama.rb
131
+ - lib/indicator/auto_gen/linear_reg.rb
132
+ - lib/indicator/auto_gen/linear_reg_angle.rb
133
+ - lib/indicator/auto_gen/linear_reg_intercept.rb
134
+ - lib/indicator/auto_gen/linear_reg_slope.rb
135
+ - lib/indicator/auto_gen/ln.rb
136
+ - lib/indicator/auto_gen/log10.rb
137
+ - lib/indicator/auto_gen/macd.rb
138
+ - lib/indicator/auto_gen/macd_ext.rb
139
+ - lib/indicator/auto_gen/macd_fix.rb
140
+ - lib/indicator/auto_gen/mama.rb
141
+ - lib/indicator/auto_gen/max.rb
142
+ - lib/indicator/auto_gen/max_index.rb
143
+ - lib/indicator/auto_gen/med_price.rb
144
+ - lib/indicator/auto_gen/mfi.rb
145
+ - lib/indicator/auto_gen/mid_point.rb
146
+ - lib/indicator/auto_gen/mid_price.rb
147
+ - lib/indicator/auto_gen/min.rb
148
+ - lib/indicator/auto_gen/minus_di.rb
149
+ - lib/indicator/auto_gen/minus_dm.rb
150
+ - lib/indicator/auto_gen/min_index.rb
151
+ - lib/indicator/auto_gen/min_max.rb
152
+ - lib/indicator/auto_gen/min_max_index.rb
153
+ - lib/indicator/auto_gen/mom.rb
154
+ - lib/indicator/auto_gen/moving_average.rb
155
+ - lib/indicator/auto_gen/moving_average_variable_period.rb
156
+ - lib/indicator/auto_gen/mult.rb
157
+ - lib/indicator/auto_gen/natr.rb
158
+ - lib/indicator/auto_gen/obv.rb
159
+ - lib/indicator/auto_gen/plus_di.rb
160
+ - lib/indicator/auto_gen/plus_dm.rb
161
+ - lib/indicator/auto_gen/ppo.rb
162
+ - lib/indicator/auto_gen/roc.rb
163
+ - lib/indicator/auto_gen/roc_p.rb
164
+ - lib/indicator/auto_gen/roc_r.rb
165
+ - lib/indicator/auto_gen/roc_r100.rb
166
+ - lib/indicator/auto_gen/rsi.rb
167
+ - lib/indicator/auto_gen/sar.rb
168
+ - lib/indicator/auto_gen/sar_ext.rb
169
+ - lib/indicator/auto_gen/sin.rb
170
+ - lib/indicator/auto_gen/sinh.rb
171
+ - lib/indicator/auto_gen/sma.rb
172
+ - lib/indicator/auto_gen/sqrt.rb
173
+ - lib/indicator/auto_gen/std_dev.rb
174
+ - lib/indicator/auto_gen/stoch.rb
175
+ - lib/indicator/auto_gen/stoch_f.rb
176
+ - lib/indicator/auto_gen/stoch_rsi.rb
177
+ - lib/indicator/auto_gen/sub.rb
178
+ - lib/indicator/auto_gen/sum.rb
179
+ - lib/indicator/auto_gen/t3.rb
180
+ - lib/indicator/auto_gen/tan.rb
181
+ - lib/indicator/auto_gen/tanh.rb
182
+ - lib/indicator/auto_gen/tema.rb
183
+ - lib/indicator/auto_gen/trima.rb
184
+ - lib/indicator/auto_gen/trix.rb
185
+ - lib/indicator/auto_gen/true_range.rb
186
+ - lib/indicator/auto_gen/tsf.rb
187
+ - lib/indicator/auto_gen/typ_price.rb
188
+ - lib/indicator/auto_gen/ult_osc.rb
189
+ - lib/indicator/auto_gen/variance.rb
190
+ - lib/indicator/auto_gen/wcl_price.rb
191
+ - lib/indicator/auto_gen/will_r.rb
192
+ - lib/indicator/auto_gen/wma.rb
193
+ - lib/indicator/auto_gen.rb
194
+ - lib/indicator/base.rb
195
+ - lib/indicator/data_mapper.rb
196
+ - lib/indicator/mixin.rb
197
+ - lib/indicator/version.rb
198
+ - lib/indicator.rb
199
+ - examples/mapping.rb
200
+ - test/data_mapper_test.rb
201
+ homepage: https://github.com/mlamby/indicator
202
+ licenses: []
203
+ post_install_message:
204
+ rdoc_options: []
205
+ require_paths:
206
+ - lib
207
+ required_ruby_version: !ruby/object:Gem::Requirement
208
+ none: false
209
+ requirements:
210
+ - - ! '>='
211
+ - !ruby/object:Gem::Version
212
+ version: '0'
213
+ required_rubygems_version: !ruby/object:Gem::Requirement
214
+ none: false
215
+ requirements:
216
+ - - ! '>='
217
+ - !ruby/object:Gem::Version
218
+ version: '0'
219
+ requirements: []
220
+ rubyforge_project:
221
+ rubygems_version: 1.8.10
222
+ signing_key:
223
+ specification_version: 3
224
+ summary: Technical Analysis library
225
+ test_files:
226
+ - test/data_mapper_test.rb