Thursday, December 6, 2012

Technologies

Before we start the development, let's define the technologies and platforms that will be used.

First things first, we will use Interactive Brokers (IB) as our trading platform of choice, and we will connect to it via its extensive API. If you want to follow along, you may need to open (at least, a demo) account with IB. Most recent IB API v. 967 will be used.

Ruby will be our development language because it allows for concise, expressive and beautiful code that is easy to understand and therefore maintain. More specifically, I suggest to use JVM-based JRuby 1.7.1 implementation. If you prefer other Ruby implementations, it's OK as well, but I would really recommend giving JRuby a try. It is known for its stability, performance and, most importantly, superior cross-platform support. So, it can be used on many different operating system, such as Windows, Mac OSX and different flavors of Linux, with equal ease. 

You can read this post for additional motivation behind IB API/JRuby combination. One important difference to System Trader's approach, though: instead of working with original IB Java API via bridge, we will be using a pure-Ruby IB-RUBY library. This will allow us to switch easily between different Ruby implementations, as well as take advantage of a more concise and Ruby-like syntax that the library provides. Syntax may seem like insignificant detail, but in fact it is a big deal. As our project makes progress, you will see how hundreds of lines of verbose Java code can be easily replaced by a single line of Ruby code with a little help of IB-Ruby.

Database is the heart of any serious application, our robot is no different - open source PostgreSQL 9.2.2 is our database of choice. 

When it comes to making a nice user interface, we'll build ours on top of Ruby on Rails. The GUI will be flexible, HTML-based and also remotely accessible if needed. The last is important for me as I'm only part-time at "my trading desk" and would like an opportunity to monitor and manage my trading robot remotely.

For my development environment, I'll use SublimeText2, a powerful and lightning-fast programmer editor I'm in love with. You may prefer something like Textmate or even opt for convenience of full-blown IDE such as RubyMine or Aptana - it's up to you.

I understand that you may be unfamiliar with the technologies and platforms mentioned here. Along the way, I'll try to do my best to introduce them and document how you can install and start using them. 


2 comments:

  1. Did you hear there is a 12 word sentence you can say to your crush... that will trigger deep emotions of love and instinctual attraction to you buried within his heart?

    Because deep inside these 12 words is a "secret signal" that fuels a man's instinct to love, treasure and protect you with all his heart...

    12 Words Who Fuel A Man's Love Instinct

    This instinct is so hardwired into a man's genetics that it will make him try harder than before to to be the best lover he can be.

    In fact, fueling this influential instinct is absolutely binding to achieving the best possible relationship with your man that the instance you send your man one of the "Secret Signals"...

    ...You'll soon notice him open his soul and mind to you in a way he's never expressed before and he will perceive you as the one and only woman in the world who has ever truly fascinated him.

    ReplyDelete
  2. Your Affiliate Money Making Machine is ready -

    And earning money online using it is as simple as 1---2---3!

    This is how it works...

    STEP 1. Choose affiliate products the system will push
    STEP 2. Add PUSH BUTTON traffic (it ONLY takes 2 minutes)
    STEP 3. Watch the affiliate system explode your list and sell your affiliate products on it's own!

    Are you ready???

    Get the full details here

    ReplyDelete