Wednesday, October 05, 2005

You wanna test it?

Globetrader_005

You need FuturesTrader V 3.28 or newer and an ESignal Playbackfile for the commodity you want to test. Here’s a 10 day Euro playbackfile.

Goto www.futures-trader.net and download the FT 3.28 version.

Start FT and click Windows/Trading System Design

Globetrader_006

Now you will have to select a playbackfile by clicking Select File

Then click Options/Select Ticker and make sure the contract you want to test is selected either in the left most column or in the leftmost of the 3 right columns. On the left side 1 contract can be selected, on the right side you can select upto 6 different contracts.

Globetrader_008

Now I hope you know the contract you want to test for automatic trading from long hours of watching it on screen, as your knowledge is extremly valuable in designing a profitable system.

Set a Stopvalue: I’m currently using 7 to 10 ticks on the euro. Leave the target at 0, as you will set this after your first test run and enter the number of contracts you usually trade or leave the contract number at 1, to see the results for trading 1 contract.

Set the Starttime, Stoptime and the time after which you don’t want a new trade initiated (NoSwitch time). Set the Startdate, easiest might be 01/01 to cover the whole year, so you will make sure FT will always start at the beginning of the playbackfile. The Stopdate is automatically preset to todays date.

Now select the trade system you want to test:

If you have read “Zen in the markets” you will want to start testing a Switch System:

Globetrader_009

You set a Switch-value, which tells the system, that the trend has switched from Short to Long or vice versa. In the Euro you might start with 25 ticks, but that’s really up to you.

Next you can set a retracement level. While Eddie, as far as I understand it, recommends to immediatly enter after a trend switch, I found that waiting for a retracement gives better results. I suggest using 33% to 50% max retracement levels to enter. I have set it in my system to 8 ticks, which is a reasonable retracement level after Euro made a 25 tick run from the lows or highs.

Globetrader_010

Now you need to decide, if you want to use a trailing stop, a BE+1 Stop and Stop-Reverse orders instead of simple Stoporders.

The BE+1 Stop will trigger, once the first target is taken out, the trailing Stop moves the stop to BE+1 after the 2nd target has been hit. Then it will trail 2 targets behind, so when the 4th target is hit the stop will be moved to the 2nd target. Stop-reverse will trigger a reverse order, in case your initial Stop is hit (but not if the BE+1 Stop or a trailing Stop is hit).

The targets are fixed in this version and set to 5ticks, 8t, 10t, 12t, 15t,20t,25t,30t and 50ticks.
This will be changed in a future version.

Now click Run and off you go testing your first automatic trade system.

If the results are not what you expected, start changing the parameters or try the second trade system currently implemented:

A time breakout system:

Globetrader_011This system takes the idea of the first bar trade and expands it to taking a trade in regular intervals.

In this example I take a trade every 90min. Actually the closing price after 90min is taken and 4 ticks added and substracted (as set by the second parameter). Now a trade is taken, the moment this 8 tick range is broken to the upside or downside.

Extremly important for a success of this kind of system is the Sync time. In my case I have set it to 9:00 which seems to be a good time for trading Euro. Play with this time and you will see, that a nicely winning system can become a loser by chosing the wrong Sync-time. Same for the timeinterval. I tested Euro July data with a 60min setting, which worked real good in September and got a losing system, switching to 90min proved to be the right decision:

Globetrader_012

The system suddenly made 344 ticks or 3322$ instead of losing during this month. Of course now the next step is testing September to see how the system will perform with the new setting. If the results are comparable or better than my earlier system results using 60min, fine, I will continue using the 90min interval, but if the results are worse, I need to see, how to determine in advance, what timeinterval to use the moment I start applying the system to real data.

Once a testrun is finished you will get a lot of statistics:
Win% and Loss%, Win:Loss ratio, Win$, Loss$ and an account balance. I have used 6$ commission per roundtrip and contract. I know, that that may be to high for some commodities, but better err on the wrong side, than give you beautiful results, which can not be reproduced in real trading.

In the columns showing the results for the different targets reached, you will see a What-If scenario: If you had eg used a 20 tick target, you might have done better, than you did by using a trailing stop only. So this might be reason to enter a number in your Target Box and do the run again. During my testing I saw that a 25 tick target on the euro produced the best results with the euro, which is the reason I now have 25 plugged in.

The real eye-opener so far for me was the fact, that the Time-Breakout system seems to have a Win%:Loss% probability of 55% : 45%. Still it is making money by applying good trade management rules.

Happy testing.

3 comments:

Carlo Giuntoni said...

A very helpfull comment, but can you use other datasources for this testing? I only use IB with Sierracharts.

Carlo

Globetrader said...

Hi Carlo
You need Files which give the tickinformation in the following format:

; Symbol=6E #F
; Date=08/31/05-09/30/05
T,050831,000006,1.2237,1,
T,050831,000057,1.2237,1,
T,050831,000057,1.2237,1,

So the Tickfile has to start with the Symbol
; Symbol=6E #F
The Dateline is not important and can be omitted
Then follow the individual Ticks
Each line starts with a T, the date in YYMMDD format, the time in seconds from midnight with leading zero's, the tick price and the tick volume

The next FT 3.29 release will have the option to write Tickfiles directly suitable for the backtesting purpose

Best regards,

Chris

Globetrader said...

The timefield is simpler:
It's not seconds from midnight, but simply >hhmmss< or
hours, minutes, seconds