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,44 @@
1
+ # Ta-Lib function mapping class
2
+ # Function: 'CDLGAPSIDESIDEWHITE'
3
+ # Description: 'Up/Down-gap side-by-side white lines'
4
+ # This file has been autogenerated - Do Not Edit.
5
+ class Indicator::AutoGen::CdlGapSideSideWhite < Indicator::Base
6
+
7
+ def initialize(*args)
8
+
9
+ @func = TaLib::Function.new("CDLGAPSIDESIDEWHITE")
10
+ end
11
+
12
+ # Is price data required as an input
13
+ def self.price_input?
14
+ true
15
+ end
16
+
17
+ # The list of arguments
18
+ def self.arguments
19
+ [ ]
20
+ end
21
+
22
+ # The minimum set of inputs required
23
+ def self.inputs
24
+ [ :open, :high, :low, :close ]
25
+ end
26
+
27
+ # The outputs generated by this function
28
+ def self.outputs
29
+ [ :out_integer ]
30
+ end
31
+
32
+ def run(*args)
33
+ o, h, l, c, v, len = map_ohlcv(false, *args)
34
+ @func.in_price(0, o, h, l, c, v, nil)
35
+
36
+
37
+ out_integer = Array.new(len)
38
+ @func.out_int(0, out_integer)
39
+
40
+ @func.call(0, len - 1)
41
+
42
+ out_integer
43
+ end
44
+ end
@@ -0,0 +1,44 @@
1
+ # Ta-Lib function mapping class
2
+ # Function: 'CDLGRAVESTONEDOJI'
3
+ # Description: 'Gravestone Doji'
4
+ # This file has been autogenerated - Do Not Edit.
5
+ class Indicator::AutoGen::CdlGravestoneDoji < Indicator::Base
6
+
7
+ def initialize(*args)
8
+
9
+ @func = TaLib::Function.new("CDLGRAVESTONEDOJI")
10
+ end
11
+
12
+ # Is price data required as an input
13
+ def self.price_input?
14
+ true
15
+ end
16
+
17
+ # The list of arguments
18
+ def self.arguments
19
+ [ ]
20
+ end
21
+
22
+ # The minimum set of inputs required
23
+ def self.inputs
24
+ [ :open, :high, :low, :close ]
25
+ end
26
+
27
+ # The outputs generated by this function
28
+ def self.outputs
29
+ [ :out_integer ]
30
+ end
31
+
32
+ def run(*args)
33
+ o, h, l, c, v, len = map_ohlcv(false, *args)
34
+ @func.in_price(0, o, h, l, c, v, nil)
35
+
36
+
37
+ out_integer = Array.new(len)
38
+ @func.out_int(0, out_integer)
39
+
40
+ @func.call(0, len - 1)
41
+
42
+ out_integer
43
+ end
44
+ end
@@ -0,0 +1,44 @@
1
+ # Ta-Lib function mapping class
2
+ # Function: 'CDLHAMMER'
3
+ # Description: 'Hammer'
4
+ # This file has been autogenerated - Do Not Edit.
5
+ class Indicator::AutoGen::CdlHammer < Indicator::Base
6
+
7
+ def initialize(*args)
8
+
9
+ @func = TaLib::Function.new("CDLHAMMER")
10
+ end
11
+
12
+ # Is price data required as an input
13
+ def self.price_input?
14
+ true
15
+ end
16
+
17
+ # The list of arguments
18
+ def self.arguments
19
+ [ ]
20
+ end
21
+
22
+ # The minimum set of inputs required
23
+ def self.inputs
24
+ [ :open, :high, :low, :close ]
25
+ end
26
+
27
+ # The outputs generated by this function
28
+ def self.outputs
29
+ [ :out_integer ]
30
+ end
31
+
32
+ def run(*args)
33
+ o, h, l, c, v, len = map_ohlcv(false, *args)
34
+ @func.in_price(0, o, h, l, c, v, nil)
35
+
36
+
37
+ out_integer = Array.new(len)
38
+ @func.out_int(0, out_integer)
39
+
40
+ @func.call(0, len - 1)
41
+
42
+ out_integer
43
+ end
44
+ end
@@ -0,0 +1,44 @@
1
+ # Ta-Lib function mapping class
2
+ # Function: 'CDLHANGINGMAN'
3
+ # Description: 'Hanging Man'
4
+ # This file has been autogenerated - Do Not Edit.
5
+ class Indicator::AutoGen::CdlHangingMan < Indicator::Base
6
+
7
+ def initialize(*args)
8
+
9
+ @func = TaLib::Function.new("CDLHANGINGMAN")
10
+ end
11
+
12
+ # Is price data required as an input
13
+ def self.price_input?
14
+ true
15
+ end
16
+
17
+ # The list of arguments
18
+ def self.arguments
19
+ [ ]
20
+ end
21
+
22
+ # The minimum set of inputs required
23
+ def self.inputs
24
+ [ :open, :high, :low, :close ]
25
+ end
26
+
27
+ # The outputs generated by this function
28
+ def self.outputs
29
+ [ :out_integer ]
30
+ end
31
+
32
+ def run(*args)
33
+ o, h, l, c, v, len = map_ohlcv(false, *args)
34
+ @func.in_price(0, o, h, l, c, v, nil)
35
+
36
+
37
+ out_integer = Array.new(len)
38
+ @func.out_int(0, out_integer)
39
+
40
+ @func.call(0, len - 1)
41
+
42
+ out_integer
43
+ end
44
+ end
@@ -0,0 +1,44 @@
1
+ # Ta-Lib function mapping class
2
+ # Function: 'CDLHARAMI'
3
+ # Description: 'Harami Pattern'
4
+ # This file has been autogenerated - Do Not Edit.
5
+ class Indicator::AutoGen::CdlHarami < Indicator::Base
6
+
7
+ def initialize(*args)
8
+
9
+ @func = TaLib::Function.new("CDLHARAMI")
10
+ end
11
+
12
+ # Is price data required as an input
13
+ def self.price_input?
14
+ true
15
+ end
16
+
17
+ # The list of arguments
18
+ def self.arguments
19
+ [ ]
20
+ end
21
+
22
+ # The minimum set of inputs required
23
+ def self.inputs
24
+ [ :open, :high, :low, :close ]
25
+ end
26
+
27
+ # The outputs generated by this function
28
+ def self.outputs
29
+ [ :out_integer ]
30
+ end
31
+
32
+ def run(*args)
33
+ o, h, l, c, v, len = map_ohlcv(false, *args)
34
+ @func.in_price(0, o, h, l, c, v, nil)
35
+
36
+
37
+ out_integer = Array.new(len)
38
+ @func.out_int(0, out_integer)
39
+
40
+ @func.call(0, len - 1)
41
+
42
+ out_integer
43
+ end
44
+ end
@@ -0,0 +1,44 @@
1
+ # Ta-Lib function mapping class
2
+ # Function: 'CDLHARAMICROSS'
3
+ # Description: 'Harami Cross Pattern'
4
+ # This file has been autogenerated - Do Not Edit.
5
+ class Indicator::AutoGen::CdlHaramiCross < Indicator::Base
6
+
7
+ def initialize(*args)
8
+
9
+ @func = TaLib::Function.new("CDLHARAMICROSS")
10
+ end
11
+
12
+ # Is price data required as an input
13
+ def self.price_input?
14
+ true
15
+ end
16
+
17
+ # The list of arguments
18
+ def self.arguments
19
+ [ ]
20
+ end
21
+
22
+ # The minimum set of inputs required
23
+ def self.inputs
24
+ [ :open, :high, :low, :close ]
25
+ end
26
+
27
+ # The outputs generated by this function
28
+ def self.outputs
29
+ [ :out_integer ]
30
+ end
31
+
32
+ def run(*args)
33
+ o, h, l, c, v, len = map_ohlcv(false, *args)
34
+ @func.in_price(0, o, h, l, c, v, nil)
35
+
36
+
37
+ out_integer = Array.new(len)
38
+ @func.out_int(0, out_integer)
39
+
40
+ @func.call(0, len - 1)
41
+
42
+ out_integer
43
+ end
44
+ end
@@ -0,0 +1,44 @@
1
+ # Ta-Lib function mapping class
2
+ # Function: 'CDLHIGHWAVE'
3
+ # Description: 'High-Wave Candle'
4
+ # This file has been autogenerated - Do Not Edit.
5
+ class Indicator::AutoGen::CdlHignWave < Indicator::Base
6
+
7
+ def initialize(*args)
8
+
9
+ @func = TaLib::Function.new("CDLHIGHWAVE")
10
+ end
11
+
12
+ # Is price data required as an input
13
+ def self.price_input?
14
+ true
15
+ end
16
+
17
+ # The list of arguments
18
+ def self.arguments
19
+ [ ]
20
+ end
21
+
22
+ # The minimum set of inputs required
23
+ def self.inputs
24
+ [ :open, :high, :low, :close ]
25
+ end
26
+
27
+ # The outputs generated by this function
28
+ def self.outputs
29
+ [ :out_integer ]
30
+ end
31
+
32
+ def run(*args)
33
+ o, h, l, c, v, len = map_ohlcv(false, *args)
34
+ @func.in_price(0, o, h, l, c, v, nil)
35
+
36
+
37
+ out_integer = Array.new(len)
38
+ @func.out_int(0, out_integer)
39
+
40
+ @func.call(0, len - 1)
41
+
42
+ out_integer
43
+ end
44
+ end
@@ -0,0 +1,44 @@
1
+ # Ta-Lib function mapping class
2
+ # Function: 'CDLHIKKAKE'
3
+ # Description: 'Hikkake Pattern'
4
+ # This file has been autogenerated - Do Not Edit.
5
+ class Indicator::AutoGen::CdlHikkake < Indicator::Base
6
+
7
+ def initialize(*args)
8
+
9
+ @func = TaLib::Function.new("CDLHIKKAKE")
10
+ end
11
+
12
+ # Is price data required as an input
13
+ def self.price_input?
14
+ true
15
+ end
16
+
17
+ # The list of arguments
18
+ def self.arguments
19
+ [ ]
20
+ end
21
+
22
+ # The minimum set of inputs required
23
+ def self.inputs
24
+ [ :open, :high, :low, :close ]
25
+ end
26
+
27
+ # The outputs generated by this function
28
+ def self.outputs
29
+ [ :out_integer ]
30
+ end
31
+
32
+ def run(*args)
33
+ o, h, l, c, v, len = map_ohlcv(false, *args)
34
+ @func.in_price(0, o, h, l, c, v, nil)
35
+
36
+
37
+ out_integer = Array.new(len)
38
+ @func.out_int(0, out_integer)
39
+
40
+ @func.call(0, len - 1)
41
+
42
+ out_integer
43
+ end
44
+ end
@@ -0,0 +1,44 @@
1
+ # Ta-Lib function mapping class
2
+ # Function: 'CDLHIKKAKEMOD'
3
+ # Description: 'Modified Hikkake Pattern'
4
+ # This file has been autogenerated - Do Not Edit.
5
+ class Indicator::AutoGen::CdlHikkakeMod < Indicator::Base
6
+
7
+ def initialize(*args)
8
+
9
+ @func = TaLib::Function.new("CDLHIKKAKEMOD")
10
+ end
11
+
12
+ # Is price data required as an input
13
+ def self.price_input?
14
+ true
15
+ end
16
+
17
+ # The list of arguments
18
+ def self.arguments
19
+ [ ]
20
+ end
21
+
22
+ # The minimum set of inputs required
23
+ def self.inputs
24
+ [ :open, :high, :low, :close ]
25
+ end
26
+
27
+ # The outputs generated by this function
28
+ def self.outputs
29
+ [ :out_integer ]
30
+ end
31
+
32
+ def run(*args)
33
+ o, h, l, c, v, len = map_ohlcv(false, *args)
34
+ @func.in_price(0, o, h, l, c, v, nil)
35
+
36
+
37
+ out_integer = Array.new(len)
38
+ @func.out_int(0, out_integer)
39
+
40
+ @func.call(0, len - 1)
41
+
42
+ out_integer
43
+ end
44
+ end
@@ -0,0 +1,44 @@
1
+ # Ta-Lib function mapping class
2
+ # Function: 'CDLHOMINGPIGEON'
3
+ # Description: 'Homing Pigeon'
4
+ # This file has been autogenerated - Do Not Edit.
5
+ class Indicator::AutoGen::CdlHomingPigeon < Indicator::Base
6
+
7
+ def initialize(*args)
8
+
9
+ @func = TaLib::Function.new("CDLHOMINGPIGEON")
10
+ end
11
+
12
+ # Is price data required as an input
13
+ def self.price_input?
14
+ true
15
+ end
16
+
17
+ # The list of arguments
18
+ def self.arguments
19
+ [ ]
20
+ end
21
+
22
+ # The minimum set of inputs required
23
+ def self.inputs
24
+ [ :open, :high, :low, :close ]
25
+ end
26
+
27
+ # The outputs generated by this function
28
+ def self.outputs
29
+ [ :out_integer ]
30
+ end
31
+
32
+ def run(*args)
33
+ o, h, l, c, v, len = map_ohlcv(false, *args)
34
+ @func.in_price(0, o, h, l, c, v, nil)
35
+
36
+
37
+ out_integer = Array.new(len)
38
+ @func.out_int(0, out_integer)
39
+
40
+ @func.call(0, len - 1)
41
+
42
+ out_integer
43
+ end
44
+ end