Genesis API trouble

Discussion in 'Automated Trading' started by timmyg, Aug 10, 2006.

  1. timmyg

    timmyg

    Hi all,

    I'm trying to develop an application using the genesis API. I am good with C++ but I have never worked with an API of this type and scale before.

    So I am having trouble getting a project started in Visual Studio 2005 that works with the API.

    When I link to GTAPI.lib file I get a linking error upon trying to build the application that says:
    1>Linking...
    1>LINK : fatal error LNK1104: cannot open file 'C:\Documents.obj'

    The documentation says to include header files as you need them, when I include my first header file in includes other header files from the API that are written in C# and cause many build errors.


    if anyone has used the Genesis API before and could just give me a basic explanation of the best way to get started using it, it would be greatly sppreciated.

    thanks,
     
  2. right now only Medved QT,considering Sierra with IB feed.Genesis tick replay is nice i heard.good luck with genesis
     
  3. Serge Pustelnik

    Serge Pustelnik Genesis Securities


    It appears you are using an incompatible version of the API with VS Studio 2005.
    Please contact me directly, I can provide the correct API package for you.
    Thank you.

    You need:

    GTAPI8-1.0.0.31.ZIP
    (this is the latest package as of August 14th, 2006)
     
  4. I am experiencing with genesis API (the basic C version) and I have some questions

    1- The onPrint callback doesn't contain a timeStamp, is this normal ?

    2- onLevel2 , how do I know the cancel bids and asks ? I always get a positive number of shares or entries with number of shares = 0, so how this works ?

    3- What are the advantages of the C++ version over the basic C version (for the basic operations of getting quotes and placing orders and getting call backs on them) ?
     
  5. Serge Pustelnik

    Serge Pustelnik Genesis Securities

    1. We receive quotes from the market in realtime. The timestamp of a print should be the same as local time (your machine). The Basic Version is a very simple API and doesn't support all functions

    2. If the number of shares is 0, that line should be removed from the level 2 box. Our API does it now.

    3. The basic C version is based on C++ version, which is just like a wrap to export some essential functions. C++ version has all the native features of Genesis Trading Platform. If someone wants the most detailed stuff, like the print timestamp, we recommend to use C++ version.

    If someone has Visual Studio 2003/2005, and has some C++ programming experience, C++ version is always the best choice, for performance and features.
     
  6. Hi Serge,
    Thanks for explaining these points to me.

    I have sent you a PM with my email if you can send the latest version of your C and C++ versions.
     
  7. tntneo

    tntneo Moderator

    I migrated all my stuff to VS2005 and the new Genesis API. it works great.
    (C++ and API8).
    the thread's name is not really accurate.
     
  8. erbronni

    erbronni

    I've been programming an automated trading application using the C++ GTAPI, and the program throws exceptions when calling the GTStock::placeOrder(). I've enabled SEH exception handling (Structured Exception Handling), and that allows me to catch the exception, but this isn't a long term solution. Sometimes it is a CInvalidArgException, which is fine, but other times it looks like a memory violation.

    Does anyone have experience coding around this type of problem? Any suggestions?
     
  9. i haven't seen this, but there are lots of quirky things due to being so locked into MFC and with the different VS versions.

    what i recommend. revert to the base API straight from genesis, and try running their PlaceOrder function without any modifications. if it works fine, then you know you introduced the bug in your implementation.

    ps
    usually better to just start your own thread if it's been dead for *ahem*... 2.5 years!