Learning a language for T4 API

Discussion in 'Automated Trading' started by TraDaToR, Dec 15, 2010.

  1. TraDaToR



    I have been using automated trading systems for 6 years, but I have never learned a real language and I would like to try next year.

    I have backtested and automated a lot of strategies with TS EasyLanguage and AmiBroker AFL, and since 2 years I have been solely using Excel VBA with IB API DDE links. I am running strategies with a lot of cancel/replace and I am sure most of you consider it foolish to do it with excel. It was once quite reliable( enough for my needs ) but not anymore as there are a lot of compatibility problems with Windows 7.

    So I have decided to learn a real language to be able to automate on CTS T4 with my main broker( not IB ). I have most notably the choice between VB, C# and C++ for T4 API. What would you recommend to learn? Perhaps VB would be easier as I am quite efficient in VBA and I would be able to program on IB API as well. C++ can also be used on both APIs but I think it is really hard to learn. C# would be only for T4 API.

    I know it is quite a long journey to learn these languages, but I am not in a hurry( trading 100% manually since IB sent me an ultimatum for my excessive messaging ) and want to put the time and efforts. If anything I can still automate some little strategies in an afternoon with excel in the mean time.

    Which would you recommend? Some books? Some general advices?

    Thanks a lot for your help.
  2. mi933c


    Hi, I am trying to learning Amibroker AFL right now and it is pretty slow process. What are your thoughts on this software and can you share your expereinces / results developing profitable systems? Did you stop using the software for a particular reason? Did you automate your systems?

  3. TraDaToR


    I haven't used AmiBroker in 3-4 years and I was only backtesting with it. I don't even really remember the language but I would be fast relearning it. I really liked the fact you can backtest and optimize on portfolios ( unlike TS ) and visualize optimization in 3D to get more robust inputs.

    And most importantly, Amibroker backtest results are accurate...
  4. There's quite a bit of code out there for the IB API in C#/C++. Personally, I like C# just because I come from a background in C.
    I'd say C++ has a steeper learning curve than C#.

    It depends on what you are trying to do...if you already know VBA and you can do what you need in VB, that's probably the shortest development time. If you are trying to make use of another framework as your starting point, C# or C++ would be a better choice IMO.
  5. TraDaToR


    Thanks The Goonior. I read a few other threads and think I will try to learn VB.

    Newbie question here: What is the difference between VB and VB.NET? Which one can be used on T4 API?

  6. If you are actually going to do this...

    (1) Forget about C++, it's always been for high-end professionals.

    (2) VBA is a subset of VB for Excel and MS Office.

    (3) VB was discontinued in 2003, VB.NET is the replacement.

    (4) C# and VB.NET are the same language with different syntax...
    Translators that convert C# to VB.NET and vice versa are common and inexpensive.

    (5) C# has become favored over VB.NET among professionals by a wide margin.

    In conclusion, C# is it...
    But it takes 5 years full time to become a Pro level software engineer...
    That's 10,000 hours., about what's required for ANY serious profession...
    So you will pretty much always be a hobbyist.
  7. TraDaToR


    Thanks DeeDeeTwo for the input. I have all the time I want to learn, much more than five years if needed.