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