Software for Writing of Trading Applications ?

Trader333

Moderator
8,655 981
I am about to embark on buying a software development package for the purpose of writing applications, most of which would be trading related.

I have had some previous feedback from a couple of people on what they use and now I would like to get a general view.

So to anyone who is already a software developer what package would you recommend ?



Paul
 

theknifemac

Well-known member
340 0
Paul

It really depends on what experience you have already, I prefer using C++ so I would recommend a C++ compiler and I currently use Borland C++ Builder rather than Visual Studio. With the most recent release of Visual Studio and the .Net platform it is maybe time to change, though I know all my business code can be ported easily its just the GUI components that will be more difficult.

C# looks interesting too and I would probably use it rather than Java as a new developer.

Hope this helps

Mac
 

JonnyT

Senior member
2,560 22
I recommend Java.

Why?

You can interface with IBs API (c++ can too) but it doesn't suffer the problematic pointers and memory oferflows that are so easily coded in C++ App resulting in a crash...

JonnyT
 

rog1111

Established member
673 10
Paul

Presuming that the trading applications will be for mainly for your own use, the quickest route to get something up & running would be to go for VB.net / Visual Studio. C++ is a fast powerful language, but IMO VB is far easier to learn, and great to work with. VB certainly does everything that I'd wish for personally. Another advantage is that Excel VBA is very similar to VB, so if you wanted to automate trading via Excel and IB's API for example, this would not be a big step having already mastered VB.

Good luck
rog1111
 

DaveJB

Experienced member
1,159 42
Hi,
I use VB, I used to code in C++ (and a fair few others enroute that) and bought Visual Studio. I looked at what I was trying to code up (Pfscan), spent a few days with V C++, a few with VB, and decided VB would be the weapon of choice.
As interfacing with the internet is going to figure, if you are starting with a blank sheet I'd go for the NET version and use VB
Dave
 

adrianallen99

Established member
630 4
What type of trading applications are you looking at developing and what experience of programming do you have?
 

Trader333

Moderator
8,655 981
Thanks to everyone who has replied.

To answer Adrian, I have a basic understanding of code writing in things such as Excel and scripts in Tradestation. I am hoping to write applications that will take a datafeed and allow me to calculate certain algorythms or maybe a frontend that allows me to use an API to place and manage a trade.


Paul
 

JohnD

Newbie
9 2
Trader333,

My day job is as a Java/Web developer, and was formerly a C++ developer using Microsoft tools and Visual Studio.

Whichever way you go, be prepared for a substantial learning curve. I'm assuming you don't just want to program the trading rules for an existing program like tradestation, but want to develop your own system. So there's a fair bit to do accessing data files and analysing them etc.

My preference would be for Java - it's quite fast enough these days, and has extensive libraries to handle most things you'll need to do, e.g. handling collections of data, accessing the internet etc. And Java compilers are free! (although you may wish to check out IDE's like JBuilder). If you want to check out this route, java.sun.com or www.javaranch.com would be good places to start, and there are some good books, e.g Core Java (2 vols) by Horstmann. I'd recommend that you wouldn't need a "pay for" IDE initially, but when you had some familiarity you could see if you wanted one.
I'm planning to write some trading applications myself when I get some free time, starting with a simple point & figure chart, as I use Metastock (which I like) but the p&f charts could do with a few extra bells and whistles,

John
 

DaveJB

Experienced member
1,159 42
Another thing worth checking on would be the API you are considering using. To grab data from existing feeds and programs you are frequently looking at doing so via the data supplier's API - I use developer kits from TC2000, Quotes Plus, Fast Track, Metastock, eSignal for example. All these people provide pretty decent access to data via the code they supply - some are free (TC2000 has the dev kit on the TC2000 CD) whilst others vary in price - to read metastock via SDK is a few hundred $, the esignal API costs a couple of thousand $ to buy into. They almost all supply code examples and documentation that make the job a great deal easier - VB, C++ code seem to be supplied as default, other languages aren't generally documented... Metastock manual includes Delphi (and PowerBasic for some reason!).
If you are only planning to interface to a single feed and don't mind sorting it all out yourself then fine, if you are considering making your program compatible with a number of feeds then VB/C++ will tend to make life easier simply because the supplied docs and example projects will include much of what you actually want to do.
Nothing against the Java advice, and if you have no programming experience then whatever you choose will involve a steep learning curve anyway, I just feel that when you are trying to get to grips with things it helps if there are a few examples to pull apart and play with to see how it all works.
Dave
 

Henry

Active member
177 2
esignal API costs a couple of thousand $ to buy into.

For the full blown version yes, although for anyone who doesn't intend to distribute their trading software then their Desktop API may be sufficient and this is much cheaper at around $250 activation fee and $50 a month licence from memory. To my mind that's still drastically overpriced, and also dreadfully documented and full of bugs, but it's an option that exists :)

H/
 

DaveJB

Experienced member
1,159 42
Ah,
dunno about monthly fee, $195 setup fee is involved.. as I was after the ability to sell what I wrote I was indeed paying the developer rate. For an individual writing purely for themselves you are right, in that it's a lot cheaper - I have a hazy memory of a $20 monthly fee for individuals rather than $50. The info is on the esignal site, I found it a little confusing admittedly.
Dave
 

gbr128

Junior member
37 0
My 2p's worth is that Java is very good for quick development. You can write GUI apps very simply (perhaps not as simple as VB, but pretty easy), connect to websites in hardly any code (e.g. Yahoo! Finance data), connect to ODBC databases (save your data in Access) and also create some very attractive graphics without too much work (e.g. TA charts).

And you don't need to pay for a good development environment, try www.eclipse.org for a very good free editor/compiler package.

And you can't go wrong with the O'Reilly "Learning Java" book, I still use it all the time even though I consider myself learnt.

Plus I think quite a few places (myTrack, Interactive Brokers etc.) supply Java APIs.

Horses for courses of course!
 

Trader333

Moderator
8,655 981
Thanks again to everyone who has replied and please keep contributing as I am finding all replies of great use.


Paul
 

theknifemac

Well-known member
340 0
The NetBeans IDE looks pretty neat the last time I used it. I liked the Borland JBuilder IDE but found it needed a pretty hefty machine to run it nicely.

If you are writing trading apps I would try and decouple the GUI layer from the business logic as much as possible,. This is more complicated initially but can reap real benefits in the longer term. I might maybe even make them a client / server. So the business logic and the front end could be written in different languages e.g. a VB front end for ease of coding and a Java, C#, C++ back end for the actual grunt work.

Don't forget the big red cancel everything button :devilish:

Mac
 
 
AdBlock Detected

We get it, advertisements are annoying!

But it's thanks to our sponsors that access to Trade2Win remains free for all. By viewing our ads you help us pay our bills, so please support the site and disable your AdBlocker.

I've Disabled AdBlock