talib-ruby
Ruby Wrapper for ta-lib
This project has been started by Timur Adigamov on Rubyforge, but since it didn’t build on my machine and wasn’t complete i modified it slightly, et voila.
Install and build instructions
Install ta-lib from MacPorts:
sudo port install ta-lib
Install the ruby wrapper talib_ruby:
sudo env ARCHFLAGS="-arch PLATFORM" gem install talib_ruby -- --with-talib-include=ABSOLUTE_PATH_TO_TALIB_HEADERS --with-talib-lib=ABSOLUTE_PATH_TO_TALIB_LIBS
- PLATFORM = [i386 | x86_64 | …]
- ABSOLUTE_PATH_TO_TALIB_HEADERS = The path to the ta-lib header files (e.g. /opt/local/var/macports/software/ta-lib/0.4.0_0/opt/local/include/ta-lib)
- ABSOLUTE_PATH_TO_TALIB_LIBS = The path to the ta-lib lib files (e.g. /opt/local/var/macports/software/ta-lib/0.4.0_0/opt/local/lib)
Now ta-lib can be used by using require ‘talib_ruby’ Works on Leopard and Snow Leopard. Has not been tested on Windows.
Example
Calculation of Moving Average (MA):
require 'rubygems'
require 'talib_ruby'</code>
<code># init input data
a = Array.new
10.times { |i| a.push i.to_f }</code>
<code>10.times do |k|
b = Array.new(10)
l = TaLib::Function.new("MA")
# setup input parameter
l.in_real(0,a)
# setup optional parameter
l.opt_int(0,k+2)
# setup output parameter
l.out_real(0,b)
lookback = l.lookback
l.call(0,9)
p "k=#{k+2}"
p b
end
Useful links
- TA-Lib Forum
- XML explanation of all supported Functions
- C/C++ API Documentation