Feb
7
I was interviewed about PurposeGames and the story behind it by a Journalist from El Periódico which is a daily paper in Barcelona.
Today it got published. You can read it here. (only in Spanish)
Dec
2
Creating a Stock Quotes Manager
Filed Under Projects, Trading | 8 Comments
I’ve been developing an End-Of-Day (EOD) quote updater for my charting program Trader’s Workbench. I have the basic update functionality available from within the workbench, but as I felt that this might be something that other people could use, I would like to hear from YOU. What do you think about it?
Are people using this kind of tool (end-of-day quote updating tool) anymore or does every charting application out there now, come with a more or less obligatory quote update service? Is there anyone left doing their analysis on End-Of-Day data?
I do, and I need a reliable quote source so I developed Quotes Library.
I went with the development paradigm of less-is-more. I wanted a software that did one thing really good, and that had an interface that consisted of as few buttons as possible. I’m pretty happy with the result. Let me tell you about the characteristics.
Quotes Library does the following:
- Update your MetaStock Formatted Quotes from any source
- Recalculates stock quote when split occurs
- Export/Import from Excel
- Ability to create new files from scratch, filling them with data from any source
That’s all. I think that the most important part is in the first bullet above. Ability to update from any source. This means that if you live in India and are interested in your local markets, you can use this tool just as well as someone in the States interested in Nasdaq quotes or in Sweden.
How’s that possible?
I’ve developed this tool with a plug-in architecture where the structure of any webpage can be described in order to get the tool to work with the web source YOU prefer. So for any new source I need, I just add the rules to read the quotes from that webpage, and apply it to the already existing application, without recompiling the main application. Just releasing a new .DLL for the source in question. Pretty neat I think.
For instance, I use Yahoo when I add a new stock to follow. But the daily update of Yahoo is usually a little slower than my local source that only keeps today’s quotes. Then I can use etrade, Avanza, Nordnet or whatever source keeps today’s quotes, to get fresh quotes right at the close of the market, instead of having to wait for Yahoo to get today’s quotes.
So, the brilliance here is that without having to re-distribute the whole application, it could be used for any market, anywhere using any provider. You don’t even have to have an account with that provider which means the cost of using the Quotes Library tool is zero.
I don’t think it’s an immoral thing to do either, since Yahoo is distributing their quotes for personal use for free, and the other sources out there does the same but for today’s quotes. Not historical. All this tool is doing, is to make the collection of the already free quote data more efficient and automatic, instead of manually having to collect it.
That’s it. I’d really like your impressions of such a tool, and if you think it could be of interest to you. I appreciate it. Thanks.
Oct
22
Updating David in Cyberspace
Filed Under Projects | Leave a Comment
Ever since early spring I’ve been really lazy in updating my webspace. Sure, I’ve been working a lot and also keeping PurposeGames going, but still there was something else keeping me from doing it.
I’ve found - not surprisingly - that if I find something to not be completely to my liking, like the former look and layout of this website, I sort of just leave it be until I get the time to really do something about it.
Well, now is that time. I’m very pleased with the fact that I got my PurposeGame of the day-snippet to work. You should see it to the right of this text.
Let’s see if this will mean more frequent updates and posts to this website by me. I hope so because selfishly enough I feel I’m missing 5-10 good ideas per day just because I don’t write them down somewhere persistent. Like this place.
Aug
19
Trader’s Workbench
Filed Under Projects | 2 Comments

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
This 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.
The 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.
Aug
15
TBTicker
Filed Under Projects | Leave a Comment
TBTicker - 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.
Mar
4
Updating PurposeGames
Filed Under Projects | 7 Comments
Sunday. Some time on my hands to update PurposeGames. With White Nights from 1985 on TV and the laptop on my knee what could possibly go wrong?
Some time around two in the afternoon, I get a feeling my throat is a bit soar. To top it off, I make an erroneous assumption about how many different games a player can possibly want to play.
Any design (software design) that isn’t robust enough to scale infinitly can of course be frowned upon. But most of you who are running web sites out there know that there’s quite a difference between textbook samples and real world applications. So sometime you have to be pragmatic.
Long story short, I had to disable parts of the player statistics detail page until I can figure out a more efficient way of calculating what place a user got for each different game he/she has played. Perhaps it sounds quite simple, and I had a simple enough solution but alas it didn’t scale as expected when players with > 250 different games played looked at their stats.
I’ll get some tea now, and think some more about the design of a query that will fit the bill.
By the way, my throat is even worse now. I’m definetly coming down with something. Boring.
Feb
27
It was time for a restructre of my space here on the web. Having had little or no time for web projects for a coupe of weeks I decided to update my project web i.e. this place. After 30 minutes of agony I went for a “less is more approach”. I like it right now.
The whole idea of using adsense on your blog is liked by few (probably the ones raking in the big dollars) and disliked by quite many. With this template I created for my blog tool, I even like the way I utilize the ads here, without becoming too intrusive.
Anyways, this is the first post. Let’s see what it looks like.







