NOTE: With the creation of the Thinking Stuff User Manual (available on the Download page), this Knowledge Base has become more of just an announcements area. So maybe not so interesting. Try the Blog instead.
|
|
Articles from
January 2007
Travelling Friday, apartment search Saturday, start new job Monday. Sorry, but I can't guarantee your emails will be answered within 24 hours until things settle.
Support is as normal - within 24 hours of receiving your request.
I'll be travelling about 500km on Sunday, job interview on Monday, drive back Tuesday. I'll check emails on Monday afternoon and Tuesday night (GMT+10). Apologies in advance for any inconvenience.
Download - See what changed - Purchase.
When testing auto-trading, I set it to output files just like it does when backtesting, so I could see what it's doing. But I forgot to turn this off when I released v0.9.0. So whenever auto-trading kicks off, it printed out 2 files for each trading system checked.
It no longer does this.
If you click "Admin" > "Options" from the main menu, you can see the location that the files will be in. The same as the backtesting output directory. Go to that directory using Windows Explorer, delete, and you're done.
- When testing auto-trading, I set it to output files just like it does when backtesting, so I could see what it's doing. But I forgot to turn this off when I released v0.9.0. So whenever auto-trading kicks off, it printed out 2 files for each trading system checked. It no longer does this.
- Removed a couple of erroneous tooltips (the little yellow rectangle that appears if you hover your mouse over some parts of the software).
- Prettied up a couple of result grids.
When you fill in the details of a trading rule, such as a Long Entry Rule, there is the "I want this to NOT be true" option.
Moreover, generally there are always opposite rules available. E.g.:
- Close Above Simple Moving Average
- Close Below Simple Moving Average
So what's the difference between choosing:
- "Close Above Simple Moving Average" and using the "I want this to NOT be true" option; and
- "Close Below Simple Moving Average"
?
Well, there is a slight one.
When the Close is below the SMA, both option #1 and #2 are true.
When the Close is above the SMA, both option #1 and #2 are false.
When the Close is exactly the same as the SMA, option #1 is true, while option #2 is false.
Using "I want this to NOT be true", TS calculates the result of the rule as if you did not want to use this option, then it takes the opposite of that result.
So when the Close equals the SMA, no, it's not above the SMA so the normal result is false, then taking the reverse, the result is true.
In a lot of cases, you can use both methods interchangeably. E.g.:
- One Simple Moving Average Is Above Another
- One Simple Moving Average Is Below Another
In this case there will be no difference between simply choosing the other option, or instead using the "I want this to NOT be true" option.
So you will have to think about your particular situation.
But here's one to consider - the MACD Histogram cross from Oversold into Overbought.
For this one, you choose the following Long Entry Rules:
- "MACD Histogram In Oversold", and set the Bar Offset to 1, meaning you want this rule to have been true 1 bar ago; and
- "MACD Histogram In Overbought"
These two rules combine to allow Long orders to be placed only when the MACD Histogram crossed from Oversold into Overbought.
But what if the value of the MACD Histogram 1 bar ago was exactly zero? In this case the MACD Histogram is neither in Overbought, nor in Oversold. So while the MACD Histogram has legitimately crossed from Oversold into Overbought, TS will disallow the trade because it thinks the MACD Histogram was not in Oversold 1 bar ago.
(Remembering that TS is in fact doing exactly as you told it to do).
This situation is not going to happen very often. If it did, all that happens is you miss a trade. But, if you're worried about it, set the Long Entry Rules to this:
- "MACD Histogram In Overbought", use the "I want this to NOT be true" option, and set the Bar Offset to 1; and
- "MACD Histogram In Overbought"
Doing it this way effectively changes the entry rule from being "enter when the MACD Histogram crosses from Oversold into Overbought" to "enter when the MACD Histogram crosses from not in Overbought into Overbought".
Download - See what changed - Purchase.
Besides the initial release, this is by far and away the release with the most changes.
There's a couple of things you need to do, and to be aware of, if upgrading to v0.9.0.
Things You Need To Do
Oanda's start of day is at midnight GMT, but when creating interval data for Oanda it was setting the start of day to 4AM. You should re-create your data for the following intervals: 3-Hourly, 8-Hourly, 12-Hourly, Daily, Weekly, Monthly. The other intervals will be correct.
There was a bug with the "Show NY" and "NY Is In DST" options. One value was being used for both. When you upgrade, you might have to set those options again. Also, whether or not you want to display NY, please keep its "Is In DST" field correct. It is used by other parts of the software - not just the world clock.
The way Accounts & Currencies are attached to trading systems has been changed. In fact you no longer attach one or more account and currency combinations.
Instead these are now just fields on the Trading Systems Update window, therefore only one account and currency per trading system. This was necessary for some of the other new features. Also it kind of makes more sense - you are unlikely to be using the same trading system for the same currency in different accounts, and you are unlikely to be trading different currencies using the same parameters for your trading system. If you do want to do either of those, just copy your trading system and change the account and/or currency field.
Things To Be Aware Of
Although I tested the following features during backtesting, I didn't get to doing much testing of them when auto-trading:
- The VFP money management option.
- The options on the No Trading tab.
If you come across any bugs, I would really appreciate it if you could tell me about them.
- Changed email address on Troubleshooting tab of Version Check window. Had listed an email address I shut down months ago. How embarrassing.
- Put a "Close" button next to any "Save And Stay" buttons.
- Fixed NY "Is in daylight savings" option.
- Changed the menu structure to be more 'traditional'.
- Warning message on Oanda Test Connection button.
- Long Description for trading systems, so you can write a free-text description of how the system works.
- Decommissioned the Backtest current configuration window.
- Some GUI changes.
- Internet links point to the correct webpages.
- Sometimes putting orders in at the preferred entry price, even though the price has moved beyond that already. Depending on the Last Gasp settings, should move the entry price up.
- GMT offset on File Loader needs only one decimal place.
- Canceling statement due to user request - caused by timeouts when doing database transactions. Have a user option for the timeout period.
- Bulk delete button for TS Activity.
- Option to turn off or on the recording of TS Activity.
- Elapsed time - 07h 01s, needs 00m.
- File # and total files when not recursing directories.
- Chart - don't round indicator values.
- Error on File Load window when loading a text file with 1-Minute bars: ERROR: 23505: duplicate key violates unique constraint "pk_zoanda_gbpusd_1mi"
- Unhandled exceptions are now handled, and give the options of restarting TS, or just closing.
- Trying to run more than one instance of TS crashes both.
- Order rules including Descr and Bar Offset DESC. Both on window and in backtesting output.
- Strange scrolling when highlight a row and click Search again, on Trading Systems search.
- Clear and disable "I want this to NOT be true" checkbox when the rule type is a Value.
- Allow user to input starting amount when backtesting.
- Print Expectancy (in terms of pips per trade) in backtesting output summary results. Expectancy = (% winners * avg win) - (% losers * avg loss)
- Backtesting status - use thousands seperator for column/row numbers.
- Include currency in backtesting output files.
- Update Help sections.
- Added Date Format field to file loader.
- Allow import from Dukascopy text files of historical prices.
- New option in "Initiated By" field for when saving orders and trades - "Backtesting"
- Initiated By field for Trades wasn't updating.
- Downloading only Oanda 1-Minute bars, had the other fields set to zero, TS stopped downloading after the first currency.
- Added an extra decimal point when displaying any kind of pip value in backtesting results files - some backtesting data has "pipettes", and by rounding these some of the summary values looked like they didn't match up with the others.
- Backtesting results in terms of dollars was calculating profit/loss as if only 1 contract is being bought each time (which may not necessarily be the case).
- Annualised % Gain was working off the start date of the first trade and the end date of the last trade. Should use the start and end dates that the user selected. E.g. user selects a 2-year period to backtest over, but there is only one trade that goes for 1 month. In this case, the annualised % gain should be the actual gain divided by 2, but TS is multiplying by 12.
- Alerts - disallow the same bar being used to send multiple alerts. E.g. if working off 5-Minute bars, and running Alerting every 1 minute, just alert once, not 5 times.
- Gain Capital trade's date was set to one hour before the order. Need the NY "is in daylight saving" option set properly.
- If using the override setting, and not retrieving enough bars to cover the length of a trade, would sometimes close trades prematurely.
- Removed the need for the user to decide how many bars to retrieve, in the case that they are using an indicator which has a memory. Now just adding 250 bars onto everything. This will get rid of the indicator memory problem, and will not noticeably detract from performance. Backtesting still uses the From and To dates as specified by the user.
- Now using Rule Type field on Alerts window properly.
- The prices in trading alerts were being rounded to 2 decimals. Should be 4.
- If TS puts a long order below the current price, it cancels it when it realises. However, there is also a situation when the high of the bar happens before the order is placed, and then drops below where the order wants to be put. In this case there is no need to cancel the order.
- Fixed inserts of paper trades.
- 'Trade Entered' alerts not being sent when using market orders.
- Create a trading system, and have the rules which determine entry use a longer interval, e.g. Daily, and the rules which determine the stop loss management use a shorter interval, such as Hourly. If the stop loss is taken out quickly, the system will place a new limit order based on the same Daily bar. It should wait until the next Daily bar.
- Let the user decide if a trading system can re-enter a trade using a bar that was used for an entry previously.
- New Money Mgmt option - Variable Fractional Percent (VFP). That is, the % of bank used for each trade varies, depending on the outcome of previous trades. A variation on Morley's technique.
- Oanda's start of day is at midnight GMT, but when creating interval data for Oanda it was setting the start of day to 4AM. You should re-create your data for the following intervals: 3-Hour, 8-Hour, 12-Hour, Daily, Weekly, Monthly. The other intervals will be correct.
- Changed how Accounts & Currencies are attached to trading systems.
- No Trading Long:
- There must be X or more Short trades in a row before allowing Long trades or orders.
- Allow up to and including X Long trades in a row.
- Stop trading Long if X consecutive non-profit long trades in a row.
- Stop trading Long if the last X long trades were all winners.
- No Trading - Short:
- There must be X or more Long trades in a row before allowing Short trades or orders.
- Allow up to and including X Short trades in a row.
- Stop trading Short if X consecutive non-profit short trades in a row.
- Stop trading Short if the last X short trades were all winners.
- New Rules:
- ADX In Range
- ADX Not In Range
- Toss A Coin
Some of the new features didn't want to play nicely with each other. However, testing progresses, and I hope that v0.9.0 will be released in a few hours. ("Few" luckily being a very roughly defined word).
Before I can back to testing though, I have to go and buy some fat pants for my job interview next week. I haven't worn my suit for a while, and it's shown me just how much I need to get back into exercising.
You wanted to know that, right? :-)
Previous Page | Next Page
|