Tuesday, March 2, 2010

Forex Robot World Cup - Week 2

For those of you just tuning in, this series of blog posts is tracking my real world experience using the Forex Robot World Cup robots, and trying to answer the question, "Can the outlandish returns promised be real, or is it a scam?"  I encourage you to look back through the February archives to follow my journey.

There were some slightly encouraging results since my last post.  The robot closed out a trade Sunday night that had been left open over the weekend for a 1.18% gain, and then added more winning trades yesterday (.88%).  That brings us to a a return since I started this experiment of 1.96%.  Still nowhere near what the promos implied, but nothing to sneeze at either.  But one week does not a track record make.  We'll see.

Saturday, February 27, 2010

Forex Robot World Cup Robots - Real World, Day 3

This series of blog posts is tracking my results actually using the winner of the Forex Robot World Cup competition.

Day 3 was slightly better - and somewhat worse.  There were several winning trades - 11 in all - and 2 losing trades.  But the winners were small winners, and the losers were fairly substantial.  The overall result was a 0.05% gain for the day, and down 0.11% so far, considering only closed out trades.

But there were 2 disturbing aspects as well. One was that the robot has opened a number of trades which, if closed right now, would be substantial losers.  If all the trades were closed out at the end of the day yesterday, the account would be down about 3%.  Of course, part of a trading strategy is the exit strategy, so we'll leave it to see how the trades close out.  One review of these robots warned that you do have to be patient.

The other aspect was that one of the trading strategies seems to open several trades that are virtual duplicates of each other. Yesterday, it made 10 trades (which is the configured maximum number of open trades at a time) all within a minute of each other, all for the same currency pair, and at virtually the same price. One of the key aspects of currency trading is that you limit your risk, so if any one trade goes bad, it's not going to totally obliterate your account.  When you open multiple trades under the same condition, that's essentially the same as opening one trade with a much larger risk, because if one of those trades goes bad, they all will.

I'm still waiting to answer the question that I started with - Is it a scam, or is it real? I mean, as discussed in the opening post in this series, the numbers cannot possibly be anywhere close to real.  And yet, if it's a scam, there's two more questions: How, and why?

Why? What would the promoters have to gain?  The offer comes with a 60 day money back guarantee.  If the robots are worthless, everybody's going to ask for their money back, and then what have the promoters gained? And they appear to have put a significant chunk of money into the promotion.  Unless it was phony, the prize money for the competition was $150,000. Plus the expenses of setting up and running the web site, and creating the product.

And How?  The results they claimed from the competition are real and verifiable. While some have pointed out that 2 months trading is not long enough to really validate a robot, still, if it really obtained those results, you would expect it to continue to produce some significant positive results for quite some time.  It seems difficult to imagine how they could have produced fraudulent results.

One explanation of why is that they undoubtedly have a "referring broker" relationship with the broker that co-sponsored the competition.  Brokers make their money of the spread, and make money each time you trade.  It doesn't matter if the trade wins or loses - they still make their money.  If the robots ares sold and used widely, the brokers are going to make some significant additional money, and the referring broker gets a commission on that.  So even if all the robots are returned and they honor the money back guarantee, they would still make some money from their relationship with FXCM, the sponsor.  Whether it would be enough to justify the effort is a big question.

It does appear that I have solved my anti-virus problems. I re-installed an updated version of the free anti-virus software I use, Avast, and then re-ran the installation of several of the packages.  It no longer complained about most of them.  One it did complain about, and blocked, but I was able to turn the AV software off temporarily while I installed it, and then turn it back on, and the robots ran normally, while I continue to have AV protection, so I'm satisfied.  And their support desk did finally end up being helpful, though they were a little slow getting started. They gave me a link to the site http://forexspy.net/ , which has step by step videos of how to exclude the problem programs from the AV scans in several popular AV programs.

Time will tell.  I keep hearing the little voice inside: "Patience, my friend, patience."

Thursday, February 25, 2010

Forex Robot World Cup Robots - Real World, Day 2

I got a little rushed this morning and didn't have time to report on the first day my robots (See Forex Robot World Cup, or my earlier blog posts for details).

I think I've resolved that anti-virus issues.  I did some more research on the web, and I don't  believe  the programs themselves are virus threats.  And I think I understand how to set up my anti-virus program to continue to protect me and ignore the robots.  I'm going to try that out this weekend when the robots aren't running.

The first days results were not stunning, but they were positive.  The robot made 2 trades, both small winners, for a net gain of 0.03%.  Not very impressive, but at least it wasn't a loss.

This morning I adjusted some of the trading parameters to be a little more aggressive, while still limiting my risk.  I looked tonight, and it had made 4 trades, 3 of them winners and one very small loss.  But just a little while ago, it closed out one trade for a rather substantial loss.  So that puts it at 5 trades for the day, with 3 winners, and a net return for the day of -0.19%, and -0.16% since starting. 

You really can't make a judgement on one or two days.  We'll just have to see how it does.



Wednesday, February 24, 2010

Forex Experment: Day 1

Well, I finally did get the robots installed and running last night.  However, in order to do so, I had to completely remove the anti-virus software from my system.  As a computer professional, I would  never advise anyone to do that, and I am extremely uncomfortable with it.

I did finally get responses back from FRWC's support staff, though I was less than thrilled with the response time.  The response to both of my problems was "Disable your anti-virus software."  Which I had already figured out, but it's nice to have confirmation that that is the problem.

However, since this is my main workhorse machine, on which I do a lot of my work, store all my financial records, correspondence, pictures, etc., I am extremely uncomfortable leaving it running with no virus protection.  I have told their support department that, and we'll see what they say.

Meanwhile, I wait for results.  The robot has only been running since 10:00 last night, but overnight it hasn't done any thing yet.  I'll watch it for a while and see.  And meantime, try not to do anything else on that computer that would expose it to threats from the internet.

Stay tuned...

Tuesday, February 23, 2010

Forex Robots: So far..., Well, we'll see

I promised a running commentary on the results of my experiment with Forex Robot World Cup winners. (See Forex Robot World Cup for details.)

I delayed my purchase for a day because I wanted a new trading account open and funded so that I could track my results more easily, and it took through the weekend to get that set up. But I did purchase the package Monday evening. However, things have not gone smoothly. The web page promises that you'll be up and running in 5 minutes. Well, I suppose that might be possible if you know exactly what buttons to click, and have complete faith. As I have said before, I'm a geek, and I want to read and understand exactly what I'm doing or being asked to do, which sometimes makes it harder than it needs to be. It took me all evening, and it's still not running.

When you download the packages, the web site warns you that "Oh, yeah, your anti-virus software might complain about this, but it's really okay. Trust us." Well, I am not quite that trusting, and my anti-virus did complain about it. In fact, I had to turn it off to even download it. So I spent quite a bit of time researching the virus message on the web before, hesitantly, deciding, yeah, it probably is safe and going ahead with the installation. (The jury is still out on whether it really is safe or not. Performance of my system in the days ahead will see.)

But then, the main robot package, the Fusion V that they tout so highly (the one that returned 354% in 19 days), refused to install at all. Windows just said it couldn't access it. I have a support ticket in with them. We'll see how quickly they respond.

I did install and turn on two of the other packages (the first and second place finishers in their competition), but neither of them would run. They both started and just sat there saying "Trying to authenticate...", even though I had entered the correct receipt code. So I have another support ticket in on that problem.

I'm still hopeful, but... We'll see how it goes. Again, stay tuned.

Saturday, February 20, 2010

Forex Robots: Scam or Opportunity?

I have been intrigued with Forex (short for Foreign Exchange, or foreign currency trading) for sometime. I've heard many times from many different sources that a good forex trader can average one-half percent on his invested capital per day. That doesn't sound like much until you realize it works out to about 250% per year.

Whenever I've run into anyone who trades forex, I've asked them about that figure, and each one has confirmed it. But none of them are living like they have the kind of money that return would generate. (Starting with $1,000, that return achieved consistently would yield over half a million dollars in 5 years).

But I wanted to see if I could learn to do it, so I started a few months ago "playing" with demo accounts from several brokers, trying to be disciplined and to learn the process. And I've had varying degrees of success.

As I began reading and studying forex trading, I ran into ads for numerous "Forex Robots". These are automated computer programs that monitor the market and apply their own trading strategy, then automatically place trades when they determine the conditions are right. The nice thing about them is that you can start them up, leave your computer running, go to work or go to sleep and they just make money for you. At least that's what the marketers would have you believe. And they all make outlandish promises. One promised to more than double your money in a month. Another promised not to make any losing trades (it was called the "No Loss Robot"). The promises are outlandish because, again, if you apply the math and the magic of compound returns, you would be a millionaire virtually overnight.

Nevertheless, they were intriguing, the price was relatively low, and they mostly come with a 60-day money back guarantee. I bought one, installed it, and it did nothing, and I emailed and did, in deed, get my money back. I bought another one, and, while it has not lived up to anywhere close to its hype, it has a pretty impressive record - no losing trades in January, and about a 6 1/2 % gain. (Again, if that were achieved consistently, it would double your money in a year. Unfortunately, it had it's first losing trade the other day, and wiped out a big chunk of that gain.)

Several months ago, I started getting spam about the "Forex Robot World Cup" - a supposedly completely open, transparent, real-world competition of forex robots. It initially seemed to be a serious competition among independent robot developers.

The competition had 329 entries of robot programs developed by independent developers. These first had to go through a rigorous qualification round of "back-testing" (running the trading algorithm against historical market data to determine the trades and results that it "would have" made). Only 24 of the 329 made it through that. Then the 24 were each set up with a $1,000 live money trading account, and left to run for 2 months.

Now it starts to get interesting, because these are the circumstances in which you would actually be using these programs. It also became interesting because the promoters started sending out teaser messages about the progress of the competition, and, as it neared the end, indicated that they were going to be making the winners available for sale. The leading program returned 145% over the 2 months.

But then, in the last few weeks, they cranked it up a notch. They (the promoters) claim to have taken the strategies and algorithms embodied in the top five performers, and created a "super-robot" that combines them all. They started this program trading along side the others with 19 days left in the competition, and, in that 19 days, it returned 354%. And they're offering it for sale. (See Forex Robot World Cup for details.)

Now, for the less mathematically adept, achieving that kind of return is absolutely ludicrous. If it were true and consistent, you would be a millionaire in less than 5 months, starting with $1,000.

Nevertheless, it's like a tar baby I just can't get out of my head. What if it were true? Or even remotely close to true? I mean what are the possibilities? Either the claims made by the promoters have at least some basis in fact, or this whole campaign is one massive lie. If the latter were the case, then it's an extremely well-orchestrated lie. This competition had the sponsorship of one of the biggest brokers in the Forex world who has built a massive business - it's unlikely that they would lend their name and support to something that was a complete fabrication. It also has truly been fairly transparent, which was one of their stated goals. They are even offering the passwords to the trading accounts so that you can log in and verify the results for yourself. There is the possibility that the accounts have been manipulated, but if that were true, that would probably make some very prominent people in jeopardy of criminal fraud charges.

So let's say, just for the sake of argument, that the robot really works, but it just got lucky, and it performs, but not quite as well as claimed. Let's say it does half as good. That's still 170% return in less than a month. Hmm. How about a quarter as good? That's still nearly doubling your money in a month. How about a tenth as good? 35% return in a month?

There's only one way to find out. And that's what this blog is about. I've decided to give it a try, and report my results here, day by day. They are selling a package for $999 - a hefty pricetag, but if it does even a 35% return, easily worth it. And, they're offering a 60-day no questions asked money back guarantee. It's obvious that I'll know in a matter of days whether there's any validity to it or not, so I'm really not putting much at actual risk.

So, I'm going to purchase it tomorrow night (Sunday - at the start of the trading week), and report the results day by day. We'll just see.

Stay tuned.



Wednesday, November 25, 2009

Booting from a cloned VHD in Win7

This is my attempt to make a serious "how to" contribution to the Windows 7 software development community, and, hopefully, make something that I learned the hard way simpler for someone else.

I have my Windows system on my work computer set up the way I want it, with all the utilities and programs that I use installed.  But I wanted to run the new Beta of Visual Studio 2010. However, there's a standing (and understandable) rule: no beta software on computers that you're doing production work on.  But my boss did give me permission to use it on the project I'm working on (since it won't be production ready until after the scheduled release of VS2010 in March) PROVIDED that I run it in a segregated environment such as a Virtual PC) so that it can't corrupt anything else.

I had run the beta of Windows 7 in a Virtual PC when it came out, but it was painfully slow. Windows 7 has the capability to boot up from a Virtual Hard Disk (VHD) as though it were actually a hard disk and run with minimal speed degradation (the disk access is somewhat slower, but everything else is running just as fast, because you are actually running on the hardware, not a program simulating the hardware). So I decided I would clone my existing system drive, which is configured the way I want it, and boot from that.  Should be simple, right?  WRONG!  There are a number of hidden gotchas along the way, which this post is intended to walk you through.

However, a couple caveats before you start down this road with me:  I run my systems a little different than it comes out of the box.  I have my disk partitioned in 2, similar to the way I learned to do it under Unix:  I have a system drive (C:), but all my user data is on a separate partition.  I assign the drive letter U: (for Users) to this partition.  There's a number of reasons I do this, but for the purposes of this discussion, it means my working data is available to me whether I'm booted into the real system drive or to the VHD drive.  If you have your drive setup the way Windows does it out of the box, with everything on C:, and your user data in C:\Users\<username>, then it's going to be clumsy, at best,  to access the files you write in one instance from the other instance.

The other caveat is that you need enough free space on your disk to hold the VHD in a fully expanded form.  In practice, this probably means that if your disk is more than half full, this isn't going to work for you.

Okay, that being said, here's the steps I took (on about the 5th iteration of this process). (Also, be warned that a couple of these steps can take quite a bit of time - altogether, this process could take half a workday.) (Also, if you run as a non-privileged user, most of these steps need to be run as administrator.)

1. Clean your system disk. Get rid of all the junk on it, because you're going to be cloning the disk and you want it as clean as  possible.  I use a freeware program called "CCleaner" (http://www.ccleaner.com/) which empties the Recycle bin, clears your browser cache, gets rid of temporary files, etc.  When you finish, look at the properties of the drive to determine how much space is actually being used and how much is free.  This will be important later when we resize the cloned disk.
2. Defragment your disk.  Even though Windows runs defrag periodically, and will probably tell you the disk doesn't need defragging, run it anyway, and specify the /X (consolidate free space) option.  I open an Administrative cmd prompt window (type "cmd" into the Start menu search box, then right click the "cmd.exe" option that shows up, and select Run As Administrator), and type "defrag C: /U /V /X".  The idea is that we want to end up with all, or as much as possible, of the free space at the end of the drive.  (This process will take a fair amount of time - maybe 10-20 minutes if I remember right, depending on drive size and how fragmented it is.)
3. Download and run Disk2Vhd.exe (http://technet.microsoft.com/en-us/sysinternals/ee656415.aspx) from the SysInternals group at Microsoft.  In the list of disk partitions it gives you, select just your system partion (C:).  This will clone your system drive into a virtual hard disk file.  It's okay to put it on the same drive you're cloning.  This process will also take quite a while.
4. Once that is done, use Windows' Disk Manager to Attach the VHD as another hard drive.  Right click My Computer, and select Manage.  Then click Disk Management. When the storage manager comes up , Right click Disk Management, and select "Attach VHD".  Find the VHD file you created in the previous step, and attach it.   It will show it as an additional hard disk, but it will tell you it's offline, and help will say it has a serial number conflict with an existing drive.  Well, since we cloned it from the C: drive, it has the same serial number, so that makes sense. The good news is that it's easy to fix. If you right click the newly added Disk symbol (probably Disk 1), and select "Online", it will cure the problem and put the VHD online.
5.  If your drive had multiple partitions, you will see that the mounted VHD has space corresponding to the space those partitions took up. The space will be shown as "RAW" partions.  We need to delete those. Right click each of them (except the one corresponding to your cloned system partition), and select "Delete Volume".  The space will now be shown as "Unallocated", and adjacent Unallocated partitions, if they exist, will be merged.
6. Now right click the partition corresponding to your cloned system drive, and select "Shrink Volume". It will spend a couple minutes analyzing the partition to see how much it can shrink it,  then will give you a dialog box showing you how much space is now being taken up (the full size of your original partition), and how much is available to shrink.  There will be a textbox/spinner to let you select how much you actually want to shrink it, and then shows the resulting final size after the designated shrink is applied.
There's a trade off here.   The size you shrink it to becomes, in effect, the "physical size" of the new VHD, and you want to give yourself some room for expansion.  On the other hand, when you're booted to the VHD, the system will expand it on disk to the full "physical size" specified, and you have to have room on the disk for that expansion, or the boot will fail. So, for example, if I have a 100G C: drive, with 30G used, and I clone it, the clone file may actually only take up, say, 25G.  But if the "physical size" that I've specified for the VHD is 50G, when I boot from it, the OS will expand that 25G to the full 50G, which still leaves 100-(50+30) = 20G free.  But if I now copy 25G of video onto that physical disk, then the new free space is 20G (100G - (30G+20G+25G)), but when I boot into the VHD,  the OS will try to expand it and run out of room, and the boot will fail.  So, make the size big enough to accommodate reasonable expansion, but balance that against the free space on the disk.
7. Once you've finished the shrink operation, right click the Disk in Disk Management, and select "Detach VHD".
8. We've shrunk the operating system's conception of the file, but the VHD still thinks it is the size of the original physical disk. Download VHD_Resizer (http://vmtoolkit.com/files/folders/converters/entry87.aspx).  (You will need to create an account, but it's free and appears to be innocuous.)  In our example above, the VHD still thinks it's of a 100G drive, even though it may only have 50G of content on it. Run the resizer, select the VHD file that you've created, and specify a Save location for the new, re-sized VHD that it's going to create.  You will end up, temporarily, with two copies of a pretty big file.  If you don't have space available on another partition, you may need to temporarily attach an external drive.  Specify the size that you shrunk the VHD to in the previous step as the size of the target file.  The program is going to do a sector by sector copy of the source VHD to the target VHD, so this operation will also take a while.  When you're done, you can delete the source VHD, and move the target VHD to it's final location. 9.   We probably need to rewrite the boot sector, using a program from the boot subdirectory of the Windows install DVD called bootsect.exe.  Attach the VHD using Disk Manager as before, then use the command "bootsect.exe /NT60 F: /FORCE /MBR" (substitute whatever drive letter the VHD gets attached as for the "F:"). Detach the VHD when you're done.
10. Now we need to modify the System Boot Configuration Data to add the VHD as a boot configuration.  Scott Hanselman has an excellent blog post on this, and I'll refer you there (http://www.hanselman.com/blog/LessVirtualMoreMachineWindows7AndTheMagicOfBootToVHD.aspx) for instructions.
11. Once you have done that, you should be able to restart your system, and have the new VHD entry presented in the boot menu options.  Go ahead and boot to it, then open a cmd shell and type "echo %SystemDrive%".  The response is the drive letter that was assigned to the VHD.  Don't modify anything.  Restart the system and boot back to the native drive.
12. Final step. We need to modify the registry on the VHD so that it will cause the VHD to come up as the C: drive, and move the C: drive someplace else. We need to do this because the Registry on the VHD disk is a clone of the Registry that was on the native drive, and contains lots of paths that are hard-coded to the C: drive.  If you don't modify where your VHD  mounts, a lot of things that you think are pointed to VHD will actually point to the C: drive, and you won't have an isolated environment at all. Here's what we need to do.
  • Mount the VHD in Disk Manager again.
  • Open regedit.
  • Click HKEY_LOCAL_MACHINE
  • Click File -> Load Hive
  • In the browser window, navigate to F: (or whatever drive your VHD is mounted to)\Winows\System32\Config\SYSTEM, and click Open
  • When it asks for a key name, make something up (I used "TempReg")
  • Now Click the TempReg key that you just created, and under that click "MountedDevices"
  • Right-click the key "DosDevices\C:", select Rename from the context menu, and change the C: to some unused drive letter on your system (I used Z:).  This is where your native drive will now show up when you boot from the VHD.
  • Right-click the key "DosDevices\<x>:", where <X> is whatever drive letter you found in the %SystemDrive% environment variable above.  Relect Rename, and rename it to "DosDevices\C:".   Now your VHD will boot as the C: Drive.
  • Click the TempReg key, and then click File -> Unload Hive.
  • Close the Registry Editor
  • Detach the VHD in disk manager
And (if I haven't forgotten any steps and everything has worked right), you're done.  Just to double check, while you're still booted into the native drive, create a text file someplace on that drive (make sure you know where it is).  Now when you boot to the VHD, that file should NOT be in that place on the C: drive, because it's a different C:.  But you should be able to find it on the drive you relocated C: drive (Z: in my example).

Acknowledgements

I want to thank Scott Hanselman from Microsoft (@shanselman) for his attention and assistance during this process, and Garry Martin (@garrymartin) for helping me understand the VHD expansion on boot process, and the boot sector rewrite process.  I would not have succeeded without their help.

Please feel free to leave comments or email me if this doesn't work for you.