how expert do you have to be in order to program your own automation? Anvil is a tough one b/c it has no documentation. does anyone run on auto/semiauto on anvil here?
Check out tradelink which is an open source project for algorithmic trading which hooks into Anvil (and IB and Sterling). http://code.google.com/p/tradelink/
There are lots of EasyLanguage codes on the web. I am sure there are plenty of examples in C++ as well.
You install the BrokerServer and the TradelinkSuite - and the tick data samples if you want. The Suite contains a set of little programs that help you backtest strategies or record tick data. You use Visual Studio or Visual C# Express to peruse the example "boxes" that are provided and to develop your own. You run the Anvil BrokerServer, which is basically a modified version of the Anvil platform with the TradeLink module loaded in it. When you have a box to run, you load that box in the "Asp" program I believe. There are some videos that illustrate doing some of this stuff.
I personally prefer to code it in VB.net. Recent implementations of the .Net framework returned VB to it's more traditional programming structure and away from the C/C++ influence than the original .Net framework when it was published earlier this decade. With the most recent implementation, compiled VB.net code is identical to C# and they use the same libraries for either one. http://visualbasic.about.com/b/2008/10/07/vbnet-versus-java-versus-c.htm No sense making it more difficult than need be.
Follow this sequence: A long long time ago, in a galaxy far far away, I read the original edition of Kernigan and Ritchie, my first programming book: http://www.amazon.com/Programming-L...bs_sr_1?ie=UTF8&s=books&qid=1230721162&sr=8-1 Learning object oriented programming should then be done in Smalltalk and not C++ or C# or Java: http://www.amazon.com/Smalltalk-Exa...r_1_11?ie=UTF8&s=books&qid=1230721270&sr=1-11 Finally, learn the syntax of C++ and C#. http://www.amazon.com/Murachs-C-200...r_1_13?ie=UTF8&s=books&qid=1230721831&sr=1-13 http://www.amazon.com/s/ref=nb_ss_b...ld-keywords=lipman+c++&x=0&y=0&sprefix=Lipman If you are really ambitious, learn a pure functional language like Haskell. http://www.amazon.com/Real-World-Ha...=sr_1_1?ie=UTF8&s=books&qid=1230721479&sr=1-1 or easier going if Haskell is too much to ask: http://www.amazon.com/Real-World-Fu...=sr_1_5?ie=UTF8&s=books&qid=1230722112&sr=1-5 Don't forget to learn Algorithms and Data Structures. This is my favorite: http://www.amazon.com/Algorithms-Pl...=sr_1_1?ie=UTF8&s=books&qid=1230721671&sr=1-1 Learn some patterrns and learn to communicate design to others: http://www.amazon.com/Design-Patter...=sr_1_1?ie=UTF8&s=books&qid=1230721911&sr=1-1 http://www.amazon.com/UML-Dummies-Michael-Jesse-Chonoles/dp/0764526146/ref=pd_bxgy_b_img_b You now have a basic computer science education, less compilers and operating systems and a few other more complex subjects.
Most of the volume in electronic exchanges goes thru in platforms that use C# as backbone. If speed and reliability are of the essence then that's it. I can't imagine running a scalping robot in tradestation easylanguage with 5 data/broker failures/disruptions a week (or a day sometimes). Or with missing ticks/volume like IB. If you are just testing ideas in historical or delayed data any language is OK, or if you are trading longer term. The effort to learn is about the same in the long run, so I'm learning C#. Just my 2c. JW
You don't need to know all that, sure its good to know if your building a system for NASA. But not needed for what your going to do. Keep it simple and practical. Like I said C# is relatively easy and the way to go IMO.