Trader’s Workbench Screenshot

Having tried out about 6-8 various trial versions of charting tools, there among Equis MetaStock and Wealth-Lab, which were both pretty good but lacking so many features that I want and also inherits the “where to get the quote data from”-problem. I decided to take the plunge and write my own tool. I call it the Trader’s Workbench.

Yeah, I know what it sounds like, but it has actually been rewarding on so many levels. I’ve learned a lot more about trading, charting, and programming altogether from having to go into the nitty gritty details of both the rules of the various standard indicators, as well as optimizing code for speed.

Some of the features I like the best - and partly those I found lacking from the other charting applications I’ve tried - are the following:

  • automatic updates from free quote sources
  • a text-based view of all charts I follow along with a quick view graph containing any charts I need to decide whether or not to open the big charts.
  • custom set the trading date i.e. manipulate the date to be able to analyze choices made days back, and see what the charts looked like then.
  • the ability to download broker transactions for all stocks I follow which comes in handy if you don’t believe in perfrect markets.

Finally, influenced by litterature, I created the possibility to add journal entries for my trades, containing a diary, equity balance, and current portfolio content. I use this application on a daily basis.

Screenshots

Trader’s Workbench - Click for larger screenshotThis first screenshot is of the main workbench area. The date set in the toolbar is red to indicate that you are looking at a scenario that has happened in the past. The quick view graph on the right gives me enough information to decide whether or not to go further in the analysis. The pane underneath the list of securities to the left holds data on volume averages; something I found interesting to judge the sustainability of a trend change etc.

The same pane also holds information about what the brokers acting in the markets has been doing with this stock over the last day, week, month and so on.

The charts you see are very customizable. From choosing whether or not to use anti-aliasing in the line charts to set a nice gradient color to give me the distinction possibilities just as I want it.

Trader’s Workbench - A second screenshotThe second screen shot shows a detail view where I can add/subtract any indicators I like for this particular security. Here you can see that ERIC B is in trouble again, like so often nowadays. The Force Index giving us a tell tale sign of a shift in direction taking place. this time downwards. All in all there may be many features lacking for other ppl but for me it has most of the features I want - and it comes completly free which is also a very important aspect of it.

TBTicker - A Stock Ticker that sits on the Windows TaskbarTBTicker - or Taskbar Stockticker - started out like almost all other projects of mine. I found myself trying to figure out a way to make it easier to stay informed, preferably in an automated way. In 9 cases out of 10 I never actually use the solution I find for my problem since by then I’ve moved on to something else. But this is one of those rare exceptions.

This application has two modes. A full size mode and a mini mode. The full size mode is just a regular application, acting as a browser, and the mini mode sits in the taskbar of Microsoft Windows. That’s the mode I use the most since it takes no efforts to find out how my portfolio is doing.

I went for C# for the main application but there was really no way of making the taskbar - or bandobject as it is called - work like I wanted it to using C#. Firstly, the .NET CLR doesn’t load in time for the bandobject to load properly after restart. Second, the amount of P/Invoke calling native methods was so staggering that going with a natvie language was the only viable choice. So the bandobject supporting the minimode of the application is written using C++.

By the way, implementing a band object is one of the toughest programming challenges I’ve ever come across. There’s just no easy way of debugging it.