C++ Backtesting to API

Discussion in 'App Development' started by Maverick1, Feb 8, 2019.

  1. A former coworker moved to a large global trading firm and c++ is all they use for their main servers and infrastructure.
     
    #31     Feb 11, 2019
  2. Yes. And if you're a reasonably competent and experienced programmer, you should know the difference between extreme cases.

    Large global whatever doing C++ is just as extreme as retail trader hacking something in VBA.

    Middle ground is Python or Java. I prefer Java and think it's the slightly better option compared to the alternative but I've 5+ years of the former and zero of the latter (for what scripting quick stuff I need, Perl is sufficient).
     
    #32     Feb 11, 2019
    qlai likes this.
  3. In my case I've been using C++ on Linux in my various day jobs for the last 25 years or so. I readily agree that C++ is arcane and can be error prone. But for myself I can't see any reason to switch to something else. If I want to do something C++ is usually the fastest way for me. I've also carefully designed my trading apps to compile under either Linux or Visual Studio for Windows.

    If you've been using Java (or Python or C#) mostly then great, keep using that. I'll never get all judgemental saying this language or another is the "best".
     
    #33     Feb 11, 2019
  4. I can definitely relate to that, actually not relate, agree :) Although it's not a popular opinion and in fact there's strong push towards oppressing it. Suppressing actually :)
     
    #34     Feb 11, 2019
  5. Magna

    Magna Administrator

    This thread has been cleaned up and, hopefully, returned to normalcy. Certain people have been blocked from further posting here, so carry on...
     
    #35     Feb 11, 2019
    Maverick1 and Robert Morse like this.
  6. qlai

    qlai

  7. T0pH4t

    T0pH4t

    I'm using the IB C++ (posix-compliant) version on linux, not a bad way to go. Some might say its not a well designed API, but if you understand their intentions (minimal overhead) then it make sense. As for a gui, I have written a script generator that takes my data and writes it into a format used by gnuplot (powerful tool) and thats about all I need.
     
    #37     Feb 27, 2019
  8. qlai

    qlai

    @T0pH4t, haven't heard from you in a while. So you run completely headless (and hat-less :) )? How do you monitor things in real-time?
     
    #38     Feb 27, 2019
  9. T0pH4t

    T0pH4t

    Yeah, dropped off forums for a bit, life got busy :/ . Also wish I received notification on '@' mention. It can/does run headless. I've built my own monitoring (metrics sent/stored in InfluxDb w/ grafana as FE) into my system which keeps track of current event traffic so that if it drops to zero, I know about it. To be honest though, I've mainly been focused on crypto currency exchanges over IB for the last year.
     
    Last edited: Mar 4, 2019
    #39     Mar 4, 2019
    qlai likes this.
  10. It is not trivial, in that sense you are 100% correct. What makes matters worse is that there is no single standard in almost anything when it comes to order routing, symbology, or for that matter anything that has to do with execution. IB uses completely different symbols, so does, IQFeed, Esignal/Interactive Data, Reuters, Bloomberg, CQG,....

    Only solution to this is to start small with a small subset of symbols/orders, choose one single routing venue and write your API to handle order creation, submission, fills, cancels, rejects,error messages....its a pain but my message here is, there is no simple work-around.

    Shoot me a PM if you aim to work with IB's API. There are many gotchas that are either entirely undocumented or only to be found by reading between the lines.

     
    #40     Mar 4, 2019
    Maverick1 likes this.