ta-indicator 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
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