GeniusTrader - first use

# First use of GeniusTrader

You'll find below some step by step instructions that will help you use GeniusTrader for the first time.

## Windows Users

### Install Perl

Genius Trader requires Perl. You can download Perl from http://www.activestate.org at http://www.activestate.com/store/activeperl/download/.

### Install GeniusTrader

After you have Perl installed in your system, the simplest way to use GeniusTrader is to run the Genius Trader Windows Install which will install all required dependencies as well as sample data.

### Test GeniusTrader

To test GeniusTrader, open a console window, and try the following:

    display_indicator.pl I:RSI 13000
    backtest.pl TFS 13000
    backtest.pl 'TFS[30,7,7]' 13000

You should now read the documentation of those scripts to understand what they can do.

## Linux Users

### Extract the archives

Once you downloaded both GT.tar.gz and Scripts.tar.gz from the main page, you can extract them in a new directory :

    $ mkdir geniustrader
    $ cd geniustrader
    $ tar zxf ~/GT.tar.gz
    $ tar zxf ~/Scripts.tar.gz

### Install the dependencies

GeniusTrader uses several external perl modules. You have to install them. You can do that by hand, or you can use the CPAN perl module or you can use the corresponding packages of your linux distribution. Take care, some of those modules depends on other modules...

- Date::Calc (debian package: libdate-calc-perl)
- Getargs::Long (debian package: libgetargs-long-perl)

NB: Getargs::Long is probabably wrong. it certainly is NOT a required package for GeniusTrader, however it might be a dependency for debian linux, but not being even remotely knowledgeable about debian i have no way to confirm this. the required perl package for GeniusTrader is Johan Vromans' Getopt::Long. a compatible debian package might be libgetopt-long-descriptive-perl, but again i have no way to confirm this.

- Getopt::Long (debian package: libgetopt-long-descriptive-perl)

- XML::LibXML (debian package: libxml-libxml-perl)
- Compress::Zlib (debian package: libcompress-zlib-perl)
- Storable (standard in perl 5.8, debian package for woody/perl 5.6: libstorable-perl)

the new GT::DB::Text.pm requires Date::Manip ... it will enhance usability elsewhere and is recommended even if you don't use DB::Text.

- Date::Manip (debian package: libdate-manip-perl)

### Setup your source of data

In order to do something useful, you have to setup a source of data (prices). Various modules are available for that (check GT::DB::*). Since you may not have any data, I'll give you some sample data. Extract this archive near the two other archives that you already extracted:

    $ tar zxf ~/data.tar.gz

Now, you have to create the GT configuration file:

    $ mkdir ~/.gt
    $ vim ~/.gt/options

Copy and paste the following text in your configuration file, and edit the sample data and font directories so that they match your real directories of course:

    DB::module Text
    DB::text::directory /home/rhertzog/geniustrader/data
    # relying on DB::Text defaults for sample database access

    Brokers::module SelfTrade

    Path::Font::Arial /usr/X11R6/lib/X11/fonts/TrueType/arial.ttf
    Path::Font::Courier /usr/X11R6/lib/X11/fonts/TrueType/couri.ttf
    Path::Font::Times /usr/X11R6/lib/X11/fonts/TrueType/times.ttf

    Analysis::ReferenceTimeFrame year

    #Graphic::BackgroundColor black
    #Graphic::ForegroundColor white

    Aliases::Global::TFS    SY:TFS 50 10|CS:SY:TFS
    Aliases::Global::TFS[]  SY:TFS #1 #2|CS:SY:TFS #1|CS:Stop:Fixed #3

### Test GeniusTrader

That's it, GeniusTrader should be working now. Let's make some tests:

    $ cd Scripts
    $ ./display_indicator.pl I:RSI 13000 | less
    [...]
    $ ./backtest.pl TFS 13000 | less
    [...]
    $ ./backtest.pl 'TFS[30,7,7]' 13000 | less
    [...]

You should now read the documentation of those scripts to understand what they can do.

## Have questions ?

If you have questions, please join the mailing list (cf homepage), we'll try to help you.

Copyright 2000-2009 Raphaël Hertzog & Fabien Fulhaber