Friday, December 30, 2005

Stormy Weather

The first version of Stormy Weather, a new indicator developed over at Akumulate Pips by a fellow Aussie, has been released. From the screen shots it looks pretty good. Go here to read about it and download the MQL exe file. Or you can help me pester him to tell us how to calculate Stormy :-)

Wednesday, December 21, 2005

FXCM King Of The Mini

FXCM offers a mini account where you can trade with real money in lots of 10K. They also have a monthly competition for people trading in their mini account who have a balance over $1000 or something.

Each month they send the details of the winners, that is the 5 people who made the biggest percentage gain over the previous month, and you can download all details of their trades.

This page on FXCM shows this month's current leaders. In the email they send out, they give links to where you can download the details of the trades of last month's winners. I'm not sure how to get subscribed to the list, other than to open a mini account at FXCM.

So, here are the links for the last 3 months. Maybe you can see a pattern. (But I'm not sure what will happen to the pattern when it ticks over to 2006).

http://www.fxcm.com/mini_trading_account/kom-winner1-september.htm
http://www.fxcm.com/mini_trading_account/kom-winner2-september.htm
http://www.fxcm.com/mini_trading_account/kom-winner3-september.htm
http://www.fxcm.com/mini_trading_account/kom-winner4-september.htm
http://www.fxcm.com/mini_trading_account/kom-winner5-september.htm


http://www.fxcm.com/mini_trading_account/kom-winner1-october.htm
http://www.fxcm.com/mini_trading_account/kom-winner2-october.htm
http://www.fxcm.com/mini_trading_account/kom-winner3-october.htm
http://www.fxcm.com/mini_trading_account/kom-winner4-october.htm
http://www.fxcm.com/mini_trading_account/kom-winner5-october.htm


http://www.fxcm.com/mini_trading_account/kom-winner1-november.htm
http://www.fxcm.com/mini_trading_account/kom-winner2-november.htm
http://www.fxcm.com/mini_trading_account/kom-winner3-november.htm
http://www.fxcm.com/mini_trading_account/kom-winner4-november.htm
http://www.fxcm.com/mini_trading_account/kom-winner5-november.htm

How To Open A Gain Capital API Demo Trading Account

These are the steps I went through in order to open a demo trading account to use the Gain Capital API.

I put them here because the steps written on their website will have you contacting their support desk and asking "ok, what do I do now?".

If you have to deviate from these steps for some reason, could you please leave a comment.
  1. Register for the API forum:
    http://api.efxnow.com/forum/profile.php?mode=register
    From this step you get a forum username which you need to complete a later step.

  2. Create a real account:
    Use the "Open Account" link at the top right of their home page: http://www.gaincapital.com/
    Note that this real account does not have to be funded, just created. Part of the process is web-based, and if you are not a US citizen there are also a couple of things to be printed and faxed. From this step you get a User ID for the live account.

  3. Sign up for free API demo:
    http://www.gaincapital.com/openaccount_api.html
    You need your forum username from Step #1 to complete this. (And, by the way, you are not an institutional trader :-) From this step you get a User ID for the demo account.

  4. Go to the their Contact Us page and use the Live Help feature:
    http://www.gaincapital.com/contactus_index.html
    Explain that you want to set up an API demo account, and that you've already done all the steps. Give your live account User ID and API demo account User ID. They'll enable API trading in your demo account and give you a "brand code" (which is most likely going to be "GAPI"). Now that you have the brand code, you have all you need.

    N.b. So far you have created a live account, a demo account, and a forum account. You have not transferred any money to your live account, and you don't need to.

    You have enabled API trading in the demo account only. That is, API trading is not yet switched on in your live account. You should probably leave it like that for now.

  5. However, when the time comes to enable API trading in your live account, first you need to put a minimum of $5,000 in that account. Then contact their support again and ask them to enable API trading in your live account. You can't just use the same brand code from before - they need to do something at their end as well.
Note that the Gain website did not load properly for me using Firefox 1.0.7, so I recommend to use Internet Explorer during the application process.

Except for the faxes, all steps involved in creating and using the Gain Capital API should be free.

Monday, December 19, 2005

Need Beta Testers

In the previous post, I might have said something about "the handful of beta testers I have". Well, to be honest, I only have 1 confirmed, and 1 who said he was interested but I'm sure has gone on holiday and so has not read the email I sent.

I think 5 would do it, to spread the load a bit. (Even though I expect only about 10 customers in the end :-)

What's a beta tester?

Well, software has different releases. You're probably familiar with version 1.0.0, 2.0.0, etc. But actually, there are versions before version 1.0.0.

Alpha release: wow, probably so many bugs left that it's still unusable.
Beta release: still bugs, but people can start to use the software so that even more bugs can be found and fixed before releasing the official version.
Release Candidate (RC): just that - this release could potentially become v1.0.0. In reality there'll still be a couple of bugs, so you'll see RC1, RC2.
Version 1.0.0: the actual release available to the public.
Version 1.0.1: the seemingly mandatory stability release, to fix that one major flaw that was only picked up after making it available to the public.

Anyway, beta testers come in at the Beta release phase. Normally they don't get any money for doing this, but they get other goodies. They probably get the software for free. Some people also become beta testers to get their foot in the door of that company.

In my case, beta testers will get free subscription to everything I offer.

In return, it wouldn't be enough to just set it up on their machine and send me errors if they happen to come across them. They would actually use all functionality available, and purposely try to break stuff. And when it breaks (and it will), send me details of what they did, what they thought should happen, and what actually happened.

So, would you like to be a beta tester? If so, please write to my email address listed on the Contact Me page.

Remember it's not just free software - you need to do something in return for it. If more than a couple of people respond, then first-in-first-served wouldn't really be fair due to time differences. I'll probably do a random draw or something.

You'll need a computer running a version of Windows that can install the .NET framework, and you'll need version 2.0 of that framework (available free from the Windows Update page).

Thinking Stuff Update 19-Dec-05

Was doing reeeeally well with getting through tasks to complete the software. And then I came across this task: "Code to use Gain Capital's API". Pretty important task that one, many little subtasks, and the way they've set it up isn't straightforward so required some experimentation to work out how everything fits together.

I was really hoping to get something to my beta testers by Christmas, as a Christmas present to myself, but there are some obstacles. First is the remaining Gain Capital code. Second is that it's end-of-year holidays for my girlfriend, and third is that my girlfriend doesn't like it when I spend all my time in front of the computer.

So here's the plan: I'm going to get a copy to my beta testers as soon as is possible. Hopefully by the end of the year. They're going to play around with it, try to break it, and send me details of errors. And then, I'm guessing late January (so probably March :-), it will be open to the general public.

Because the automatic trading section is probably the most important to get right (what with it potentially playing around with real money), and because myself and the handful of beta testers I have will not be able to give it a thorough enough working over, I've decided on the following temporary price scheme:

My original prices were free data downloads, US$200 a year for the backtesting, US$30 a month for automatic trading, and US$30 a month for alerts.

But, until I decide that automatic trading is stable enough, anyone who pays the $200 for backtesting will be able to use both the automatic trading and alerts for free. When I decide automatic trading is ready, the prices will go to the originally planned $30 per month. I don't recommend using it for real live trading until then.

In this way, we can get many people using the automatic trading in their demo accounts, and flush out any problems. (Note the plan relies on people who come across errors to actually report those errors).

And here's the first of many times you're going to read something like:

Even when I deem automatic trading "ready", you'd be a fool to let it loose on your live, real-money, trading account straight away.

The highly recommended approach:
  1. Create your trading system.

  2. Backtest it.
    • If it doesn't backtest well, go back to Step 1.

  3. Start automatic trading of your system in your *demo* account.
    • If you come across errors, then send me the details. I'll fix them.
    • If your system is not trading how you expect, then send me the details. I'll try to help you find out why.
    • If your system is not performing as well as it did while backtesting, well, sometimes it happens. Geez, lucky you tested it out on your demo account first...
    • If you have thrown a few different scenarios at automatic trading, such as power outages, internet connection is disconnected then re-connected, the weekend starts and stops, etc, and everything has gone according to plan, and you yourself are personally happy to let this beast loose to play with your hard-earned cash, then, and only then, should you switch it on in your live account.

  4. Start automatic trading of your system in your live account. Watch it like a hawk until you feel satisfied you don't need to watch it like a hawk anymore.
This isn't a program to be used for reading email. It's not for typing out a letter to your local Rotary association. It's not for displaying the weather.

This program will potentially buy or sell currency using your money. It is up to *you* to ensure it is going to do it in a way you expect.

You have everything necessary to satisfy yourself before using it in your live account.

By allowing it to trade in your live account with your real money, you are surely agreeing that you have followed the recommended steps, you have thrown a number of challenges (such as stopping the internet connection), and the way Thinking Stuff behaved was how you expected.

If you do not follow the recommended steps then you have only yourself to blame.

If you do not like this theory of "personal responsibility for one's own actions", then do not use the software.

I hope that was clear enough.

Publishing Custom Indicators Or Trading Systems

A while ago I made up a couple of my own indicators. I'll write them up here soon (but I've procrastinated because it means making some charts as well :-)

I guess the theory is, that the more people that use a particular indicator, the more likely it is to work. In a self-fulfilling kind-of-way.

Similarly with trading systems. Surely it makes more sense to let everyone know about your fantastic trading system - if there are more people that are buying when you are buying, wouldn't that be of benefit?

Maybe I'm missing something. Comments section please, if you have an opinion.

Of course, what with most of us living in Capitalistic societies, good trading systems are allowed to have a price tag attached. Don't say "well if it's so good, why do they need to sell it?". I don't understand how this way of thinking applies only to traders (see previous rant). Just buy it, and if it used as intended and makes more money than you paid for it, then it was a good investment.

Sunday, December 18, 2005

What's Best For You?

There are people making money scalping.
There are people making money day-trading.
There are people making money swing trading.
There are people making money investing for the long term.

There are people making money in real estate.

There are people making money doing it themselves.
There are people making money having a computer auto-trade for them.

If anyone ever tells you that X is better than Y, it just means X is better than Y for them - if X is also better than Y for you is something you alone can determine.

Thursday, December 15, 2005

Lots o' Money

Business Week Online has an article on philanthropy. Something to aspire to. If you click the link to read the top 50 givers, I hope you'll remember who's at #2 when you think bad thoughts about him or his software :-)

Monday, December 12, 2005

Incredible

Here's the story on the BBC website. I was particularly interested by this sentence:

"The error has cost Mizuho 27bn yen so far, just below its entire 28.1bn yen profit for the financial year to March 2005"

One guy swaps two numbers around and costs his company about US$250 million. On the plus side, some private investors made a lot of money from his mistake.

Wednesday, December 07, 2005

It's Possible

Whenever I read a forum post that says it can't be done, I always go to this page. It's a permanent link on my sidebar titled "FX Trading".

His results for November are astonishing. And, as he says, he was actually on holiday at the time. He has a computer do all his trading.

Someone's doing it, therefore it's possible.

You might say "oh, but he knows [whatever], so he has an edge, so...". But there was a point in time when he didn't know [whatever]. Now he does. You can do the same.

Monday, December 05, 2005

PWB#5: Impossible Trading Systems

If you create a trading system that buys and sells about 80 times a day, essentially that system is impossible for a single human to trade. Either you would need to automate it, or have a group of people so you could get some sleep at some point.

If you can only guarantee you can be at the computer between the times of 2pm and 4pm, then your backtesting cannot scan data over the entire 24 hours of the day. It must only use data available between 2pm and 4pm.

If your account does not allow hedging (that is, holding both a long and short position in the same currency in the same account), then backtesting a system that hedges is pointless. (Although you should be able to set up two accounts - one for your long trades and one for your short).

A post over at Trader Eyal shows another type of situation where your backtesting might not reflect the reality - he wanted to go short on some stocks, but the broker he uses did not have any of that stock available. This is for stocks, I'm not sure currency would have the same situation, but there it is.

I'm running out ideas for my "Problems With Backtesting / Common Mistakes People Make While Backtesting" series. Any ideas?

To summarise: The holy grail of backtesting is to get it as close as possible to real life trading. Should you have true and accurate tick data, backtesting can be very close to reality. But, most people have just daily data. Sure we know the open, high, low, and close, but assumptions need to be made about what happened during that day. As long as your assumptions are reasonable, and lean more towards the pessimistic than optimistic, then accurate backtesting can still be done.

Inaccurate backtesting is a waste of time. And will probably end up a waste of your money, too.

When we have accurate backtesting, we can start to filter the good trading systems from the bad. And then start trading the good systems in a demo account. Testing your system in a demo account requires no assumptions. Do well there and you should do well in real trading (forgetting for a second about trading psychology and emotions and all that :-)