Search
   ATM » Features & Screenshots Register Login

Features Of Thinking Stuff's Automated Trading Machine

The Thinking Stuff automated trading software allows you to get started trading automatically quickly and with little start-up costs.

Other features are:

  • Automatic currency trading. You specify the rules, it does the work. Even while you're sleeping. Or at the beach. Or at work.
  • Create your trading systems with mouse clicks.
  • Optionally enter trade's manually, and let TS do the trade management.
  • Backtesting. The design of the software facilitates quick and easy experimentation.
  • Download currency prices from a real-time feed.
  • Load historical prices from text files, freely available from Gain Capital, Oanda, and DukasCopy.
  • Automatic creation of interval data (open,high,low,close), handy if your broker does not provide interval data, or does not provide the intervals that you want.
  • You specify what currency prices get downloaded, and what interval data gets created.
  • View charts. (But this is not charting software).
  • Have the software put red and green arrows on your chart where your backtesting results have said trades would have been entered and exited. You can also do the same with trade information from the Collective2 website and FXCM King of the Mini contest winners.
  • World clock.
  • Trade with one company while using the data feed of a different company (if that's what you want to do).
  • One Cancels the Other (OCO).
  • Hedging (only possible if you have two trading accounts).
  • Trading Alerts on screen, with or without sound, or via email or SMS.
  • Price and Indicator-based Alerts on screen, with or without sound, or via email or SMS.
  • Automatic creation of Holidays (times when your trading systems will not trade, or your alerts will not fire) from the Forex Factory calendar.
  • Automatic database maintenance.
  • Can regularly send out an "Everything's fine" email or SMS, so you can be sure that your computer is still connected to the internet, and TS is still running.
  • Designed with people who aren't so good with computers in mind. And lots of instructions throughout the software.
  • Works with Gain Capital demo accounts, and Oanda live and demo accounts. EFX Group, MB Trading, and Interactive Brokers coming soon.

You still have to think. You still have to set up your trading system properly. But there is no coding!

To get a better feel of how the software works, take a look through this website.

Alternatively, just download and use the software in its Trial Version mode. It's free to download, and use it for as long as you like. While the features you have not subscribed to will be crippled, you can still get a feel of how everything works.

Email support is free. We want to help you get set up and making money as quickly as possible. Please use the Contact Us page.

Trading Systems

Let's take a look at how Trading Systems are set up in TS.

Screenshot


Your trading system can have any number of rules. All must be true for that particular action to be done. In the example below, there are 4 entry rules to go Long, and all must be true at the same time for the Order to be placed.

That is, the Close of the most recently completed 10 Minute bar must be below the SMA(20); the Low must be above the previous Low; the High must be above the previous High; and the True Range must be more than 1.5 times (that value out of shot) of the Average of the last 14. When those four rules are all true at the same time, a Limit Order is placed at the SMA(20). The effect is that a Long trade will be entered when the price rises up through that SMA.

Screenshot


Should that Limit Order not have been taken up by the time the next bar completes, and just one of those 4 rules is no longer true, the Order will be cancelled. If all the rules are still true, the Entry Value is recalculated, and the Order adjusted accordingly. (You could also set the Entry Value to "Enter At Market", which would mean the trade would be entered as soon as those four rules are all true).

Otherwise, the only other option is that the Order has been taken up and we're in a trade. The stop loss is initially put 50 pips below the calculated entry. Every bar after that, the stop loss will be moved so it's at the Lower Bollinger Line. However, the stop loss will only ever move up (for Longs - it will only ever move down for Shorts). This locks in the profit and ensures the risk is never increasing. So even if the Lower Bollinger Line goes down, the stop loss won't follow it.

When the Close of a bar is more than 25 pips above the entry, the stop loss will be moved to the break even point, assuming the stop loss hasn't already been moved above that point.

And then, should both the High and Low of a bar be lower than the High and Low of the previous bar, the trade will be exited at market.

Having an entry rule or rules, an entry value, and an initial stop loss, are the only mandatory items. All others are optional. It just depends on how you want your trading system to behave. There are 9 different ways you can get the stop loss to move, and 2 ways to move a take profit. Or maybe you don't want to use any of those. That's fine.

There is, however, only 1 set of entry rules allowed. If your trading system has optional entry rules (enter if this is true *OR* that is true), normally the same effect can be created with multiple trading systems in TS.

The following screenshot shows that we are changing the Move To Break Even rule. First step is to choose the "family" that the rule belongs to.

Screenshot


This filters the list of rules.

Screenshot


You can choose any Interval, and all the rules in the trading system can be made up of any combination of Intervals.

Screenshot


Easy, right?

Money Management specifies how many units to purchase. You can choose between always buying a certain percent of your balance; a specific number of units each time; or using variable fractional percent, where the number of units varies based on past winners and losers.

Screenshot


No Trading lets you tell TS when it shouldn't enter a trade, even if all the entry rules are true.

Screenshot


"Holidays" also tell TS when it shouldn't trade, even if all the rules are true. You can tell TS to not create any new orders during a holiday, to cancel any existing orders, and to close any open trades. Holidays can be for particular dates and times, and would be used for major news announcements. They can also be for certain days, such as Saturdays and Sundays. Or they can be for certain days in certain weeks of the month (e.g. every 4th Friday of the month).

Screenshot


If you are subscribed to Alerts, you can get Trading Alerts sent to your email address or mobile/cell phone. You can also have the alerts shown on your screen, and/or have TS play a sound.

Screenshot


Sometimes the price shoots up very quickly. If you miss the entry price you wanted, but still calculate your stop loss as before, you might end up in a trade with a lot at risk. So you can tell TS to only continue with the Order if the current price hasn't already gotten away from you.

You can also tell TS to not trade if there are too many pips at risk.

And/or you can stop this trading system altogether if your account balance has dropped below a particular point.

One Cancels The Other (OCO) tries to ensure that this trading system is never in a Long and Short trade at the same time.

Screenshot


I dunno, it all just seems a whole lot easier than something like this:

Strategy: _BBZ EndOfBar
[IntrabarOrderGeneration = false]
inputs:
   BollingerPrice( Close ),
   Length( 20 ),
   NumDevsUp( 1 ),
   NumDevsDn( 1 ) ;
variables:
   UpperBand( 0 ),
   LowerBand( 0 ) ;
UpperBand = BollingerBand(BollingerPrice, Length, NumDevsUp);
LowerBand = BollingerBand(BollingerPrice, Length, -NumDevsDn);
if CurrentBar > 1 then
   begin
   if Close crosses over UpperBand then
      Buy ( "BBandLE" ) next bar market ;
   if Close crosses under UpperBand then
      Sell ( "BBandLX" ) next bar at market ;
   if Close crosses under LowerBand then
      Sell short ( "BBandSE" ) next bar at market ;
   if Close crosses over LowerBand then
      Buy to cover ( "BBandSX" ) next bar market ;
   end ;

Price & Indicator Alerts

Price & Indicator Alerts are set up remarkably similarly to Trading Systems. First there are the main details.

Screenshot


Then you add the rules for the alert. And just like for Trading Systems, you can have as many rules as you like, but all must be true at the same time for the alert to fire.

And this is how alerts in TS are different to any other alerting service - they are not just price alerts. Sure, you can set up an Alert in TS to tell you when the price goes above a certain level. But you can also set up an Alert to tell you when an indicator (e.g. Relative Strength Index, Stochastics, etc) goes above a certain level. In fact you can have any combination of rules.

In this way, you can create an alert that would simulate the entry rules for a trading system you want to trade manually. That is, when all the rules are true, you get TS to send you an alert. You then go and place the trade manually.

Below I made the alert to be just like the Entry Rules of the Trading System in the section above.

Screenshot


This is perfect if you want to trade manually, but also want to take any emotion out of deciding when to buy. Obviously getting TS to do the trading as well would take you and your emotions out of the equation altogether, but you might be a control freak and feel the need to place the orders yourself. And because we're dealing with your money here, there's no harm in being a control freak :-)

Or maybe TS doesn't do auto-trading with the broker you want to use. So you use one of the brokers that TS connects with for the price data, that triggers the alert, and you manually place the Order with your preferred broker.

Note also, that you can create a different alert which fires when your exit rules are triggered. So you start the entry alert, it fires, you place the trade manually. Then you turn on the exit alert, it fires, and you exit the trade manually. Similarly for your stop loss management rules - they fire, and you go and move your stop loss.

Alerts can also have Holidays, just like Trading Systems do.

Screenshot

Command Centre

After you've set up your accounts, set up which price data you want to download, set up your trading systems, and so forth, the Command Centre is where you kick everything off.

Here are a few screenshots, but as you can see, they are all the same - you click the "Start" button to start, and the "Stop" button to stop.

Screenshot

Screenshot

Screenshot

Screenshot


Because you are probably going to store a lot of price data in the database, you'll need to do some maintenance from time to time. This tab lets you do it by a simple click of a button.

Screenshot


You can get TS to send you an email and/or SMS message every now and again, just to let you know that everything's fine.

Screenshot


Holidays can be created automatically from the details on the Forex Factory calendar.

Screenshot


Trading Systems and Alerts are switched on and off by simply moving them between boxes.

Screenshot

Screenshot

Backtesting

You can backtest any system, over any currency, and any time period. You can also tell TS to always purchase 1 contract, so that you when comparing results you are comparing apples with apples. Or you can use the Money Mgmt technique you specified when you set up the Trading System. In fact you could then change the Money Mgmt settings and run the backtest again, to see which technique would have been the most profitable.

This backtesting entry would test the Trading System shown in screenshots above.

Screenshot


And then you could make another backtesting entry to test the same system over GBPUSD instead of EURUSD. Then you could see which currency the Trading System is better suited for.

Screenshot


Or you could make another backtesting entry for a different Trading System and the same currency, to see which was more profitable.

You can run many backtests at a time, so you might want to make a whole bunch of backtests, for different Trading Systems, different currencies, and/or different time periods, and kick them off and go to bed or do other things.

The backtesting routine in TS uses exactly the same decision-making engine that is used for auto-trading, so it should be very realistic.

Price Data

There are a few parts to the "data" section.

There is the setup of exactly which currencies you want to download, which intervals of that currency (1-Minute, Hourly, Weekly, etc), and which company you want to download from. That's all done on the Data Manager window.

Not all brokers provide all intervals. So maybe instead of downloading the interval you want, you might have to download a smaller interval, and get TS to create the interval you actually want. Here's an example: you get TS to download the 1-Minute bars from Oanda, and then you get TS to create the 4-Minute bars from those 1-Minute bars. Your Trading System then works off the 4-Minute bars.

Screenshot

Screenshot


TS can download any currency offered by the brokers it connects to. It also downloads any interval offered by the brokers, and creates many others. The complete list of intervals you can download and/or create is: Tick, 5-Second, 10-Second, 30-Second, 1-Minute, 2-Minute, 3-Minute, 4-Minute, 5-Minute, 6-Minute, 10-Minute, 12-Minute, 15-Minute, 20-Minute, 30-Minute, Hourly, 2-Hourly, 3-Hourly, 4-Hourly, 6-Hourly, 8-Hourly, 12-Hourly, Daily, Weekly, Monthly.

The second part is the actual downloading or creating, which you start on the Command Centre (see the section above). Obviously without the price data being downloaded or created, your Trading Systems, Alerts, and backtesting have nothing to base their calculations off.

Some brokers offer free historical price data, which is great for backtesting, so TS provides a way for you to get the price data out of those text files and into the TS database. Files from Gain Capital, Oanda, and DukasCopy are supported.

Screenshot


You can view the data, and export it back to text files. So you can pass the price data to friends, or keep a backup, or transfer between your different TS databases (if you have more than one).

Screenshot


The last part of the "data" section is charting.

Screenshot


The charting within TS has more than just the standard indicators.

Screenshot


After backtesting, you can copy and paste the results into the box here (the pasting part hasn't been done in this screenshot), and get TS to put the red and green arrows where it would have bought and sold. It gives you a much better idea of how your system will do its trading, and you can see clearly if its buying and selling where you want it to.

Screenshot


If you copy and paste the results from the backtesting data file (as opposed to the backtesting results file), you will also be able to see how the stop loss moves compared with the price. Have you set it too close to the price? Too far away? Or you moving it up too quickly? Too slowly? It's all easily visible on the chart.


Note that none of the "data" parts of TS are crippled in any way in the Trial Version mode. It means you can use TS in combination with any of the brokers that provide a free API (currently only Gain Capital, but EFX Group, MB Trading, and Interactive Brokers are coming soon), to get real-time price data to your computer for free. Viewing real-time charts is nothing exceptional, but getting the actual price data behind the charts to your computer is.

How TS Hangs Together

There are many bits and pieces that make up TS. Essentially, the software that I created, which you know as "TS", is the glue that holds all those other things together. Click on the image to see it in full-size.

How TS Hangs Together


The yellow things are those which you need to provide. I'll go into more detail a bit later.

What I want you take from that diagram are a couple of things. Firstly, TS doesn't actually provide any price data itself. What it does is get the price data from your broker, through your trading account, and then shows it to you. Without a trading account with that particular broker, there is no way for you to obtain the price data.

TS doesn't actually send emails, either. Well, not directly. What it does is use your GMail email account to send the emails for it. Without your own GMail account, there's no way for you to receive alerts through email, because there is no way for TS to send the email in the first place.

Similarly, TS doesn't send SMS messages directly. What it does is use your Clickatell account to send the SMS for it. Without a Clickatell account, you can't receive alerts through SMS. (Unless you are lucky enough to be able to use the free SMS gateway, in which case you don't need an account).

And TS doesn't actually trade directly in your trading account. What it does is use your broker's API to do the trading for it. TS sends a "buy" signal to the API, and the API forwards that "buy" signal on to your trading account. The difference to you should be zero. But it's important that you know that without the API present, there is no way for TS to connect to your broker.

Some brokers' APIs, such as Oanda's, need you to install it separately. Others, such as Gain Capital's, require no further action on your part after having installed TS. That's why the "Your broker's API" box in the diagram is half blue and half yellow. A full list is in the Thinking Stuff Help File (available at the bottom of the Download page).

Is that as clear as mud? In short, TS is the middle-man between you and your accounts. Without the accounts, TS won't be much use. So if you don't have an Oanda trading account, and you haven't installed the Oanda API, and then try to download some prices from Oanda, hopefully now you'll understand why nothing will happen.

On the other hand, none of the accounts are mandatory. You only need to open the accounts that you are going to actually use. For example, if you don't want alerts sent through SMS, there's no need to open a Clickatell account. And there's obviously no need to open an Oanda trading account if you're going to be using Gain Capital.

The Installation, Upgrading, Removal Guide goes into a lot of detail about all the components, what they do, and their costs (generally free).

Limitations

The following is a list of what this software cannot do.


No Live Trading in Gain Capital Accounts

Thinking Stuff will do automated trading in Gain Capital demo accounts, but not Gain Capital live accounts. You can read the "Gain Capital Quirks" page to see why.

Oanda demo and Oanda live accounts are both supported. However, please create a separate sub-account for use by TS only. That is, do not place orders manually in the same Oanda account that you get TS to place orders in.


No Market Orders in Gain Capital Accounts

This is because stop losses cannot be put on at the same time as entering the market order in Gain Capital.

Market orders work just fine in Oanda though.


Assumes All Accounts Are In USD

Some brokers allow holding your funds in USD, AUD, JPY, EUR, or even a combination.  However this software does all its calculations in USD.

You can still use accounts denominated in other currencies, it's just that TS will assume the balance is in USD.  So if you had 1000 Euro, TS will think it's 1000 USD, which is actually less than you have.  Similarly, if you had 1000 Aussie Dollars, TS will think it's 1000 USD, which is actually more than you have (at time of writing - go Aussie! :-).

This affects two areas - the calculations of how many units to purchase, and the "enough margin available" calculations.  Workarounds are available for the former (see the "How To" page in the Help file), but not the latter.  But as your broker will also not let you place an order if you don't have enough margin, the only possibility is that TS will be more restrictive than it should be, which I don't see as a bad thing.  An occasional annoyance perhaps, but not a deal-breaker.


All Dates Are GMT

Currently all dates displayed are in GMT time.


A Finite Number of Rules To Choose From

The Thinking Stuff software is great for people who can't write code, or don't want to learn another programming language. The trading systems are set up with clicks of the mouse.

However, this means that you are limited to selecting from the rules that have already been coded for you. And by "limited", we mean there are thousands and thousands of possible combinations. The "Available Trading Rules" page lists all the rules available. As mentioned on that page, if you want to use a rule that hasn't been coded yet, get in contact with us and we'll hopefully be able to code it for you.


All Trading Systems Operate Separately From Each Other

That is, you can't tell one trading system to buy X units based on the profit/loss of a different trading system. You *can* tell the one trading system to shrink or grow the number of units to buy based on its own previous trades, but not based on the trades of other systems.

Also you can't exit all trades of all trading systems once your account balance has grown/shrunk by a certain percentage. That kind of thing. From a purist point of view, each trade should be entered and exited on its own merits.


A Trade Is Either All In, Or All Out

There's no pyramiding, in nor out. The trade is opened, and then it's closed.

However, you can set up separate trading systems to achieve the same result. To pyramid in, the entry rules of your two systems would be slightly different, but with the same exit rules. To pyramid out, you set the entry rules the same, but the exit rules different. If in doubt about a particular strategy, all you need to do is send us a quick email and we'll let you know how to set it up in TS.

Or just read through the "How To" page in the Help file.


It's Purely Mechanical

This is more of a strength than a weakness, but there are some situations when it is a weakness.

Firstly, there are some profitable chart patterns which humans are much better at recognising than software. The Head & Shoulders pattern is one.

Secondly, let's use the example of the MACD Histogram crossing from below zero to above. That is a purely objective, or mechanical trading rule, and this software can do this rule without any troubles.

Simply, select "MACD Histogram Above 0" as one Entry Rule. And select "MACD Histogram Below 0", with a bar offset of 1, as another Entry Rule. The bar offset of 1 means that you want the rule to have been true one bar ago.

Now when the software runs, it will check to see if the MACD Histogram was negative one bar ago, and if the MACD Histogram is currently positive. If both conditions are true, an order will be placed. Easy. So where's the limitation?

The limitation comes about if in the next bar the price did not move high enough to take up the order. The next bar finishes, and the Entry Rules are re-checked.

Now with this new current bar, was the MACD Histogram negative in the bar before? No. It was positive. It had to be for the order to be placed back then. The Entry Rules for the current bar are not satisfied, and the order will be cancelled.

A human whose trading rule says "Go long when the MACD Histogram crosses from negative to positive" would still probably look to enter into a trade, even if the cross happened 2 or 3 bars ago. This software behaves mechanically, and can only allow this exactly when the MACD Histogram was negative for the prevoius bar, and positive for the current one.

If using Oanda, having the software place a market order rather than a limit order can alleviate this problem. If you think it's a problem.


Backtesting Uses Interval Data

(As opposed to tick data). Interval data tells us only the open, high, low, and close price during that bar. There is no way to know how the price behaved during the bar, or the price at a particular time other than the very start and very end of the bar.

Therefore, certain assumptions have to be made. For example, an order is placed, and stop loss set. If a bar's range is wide enough so that both the order would have been taken up, and the stop loss taken out, there are 2 possible scenarios:

  1. Optimistic - The price first went down below the stop loss price, having no effect on us because the order had not yet been taken up. The price then moved up to take up the order. End result is that we are now in a trade with stop loss set.
  2. Pessimistic - The price first went up to take up the order. Then the price fell down below the stop loss price, taking us out of the trade. End result is that we are now out of the trade at a loss.

This software assumes the pessimistic case, which will most likely make the backtesting results a little out of sync with what actually happened.

The number of pessimistic trades is listed in the backtesting summary though. If there were zero pessimistic trades, then there is nothing to worry about. Similarly if there were 10 trades or more and only 1 or 2 pessimistic. But if your backtesting results show 9 or 10 pessimistic trades out of 10, then the backtesting results should not be relied upon.

A trading system which places the stop loss very close to the initial entry price will suffer this problem, as most of the bars' ranges will be wide enough to have taken up the order and taken out the stop loss. The normal candidate for this scenario is scalping techniques.

First Time?

Quotes

"Firstly, congratulations on your work with the TS software. It has taken me a while to find a software product which is not only affordable, but also addresses sufficient issues unique to FX trading."
- R.H. (Australia)

Automated Trading Machine

Featured Articles

Download The Science of Getting Rich free!

Video Tutorials

New Indicators

Announcements

Blog

Popular Pages

Membership Membership:
Latest New User Latest: billysy
New Today New Today: 0
New Yesterday New Yesterday: 1
User Count Overall: 346

Members Where Are They:
Visitor [5] : Home
Visitor [1] : Systems Trading Theory
Visitor [1] : Download
Visitor [1] : Purchase
Visitor [1] : The Good & Bad of Automated Trading
Visitor [1] : The Problems With Backtesting
Visitor [1] : The Various Windows
Visitor [1] : Data Manager Window
Visitor [1] : Trading Systems Window
Visitor [1] : File Loader Window
Visitor [1] : Average Pullback Histogram
Visitor [1] : Educational Trading Systems
Visitor [1] : Why Trend Lines Irk Me
Visitor [1] : Overview
Visitor [1] : Overview
Visitor [1] : Entry Rules
Visitor [1] : Entry Values
Visitor [1] : Initial Stop Loss Values
Visitor [1] : Initial Take Profit Values
Visitor [1] : Trade Management Rules & Values
Visitor [1] : Summary So Far
Visitor [1] : Example Subjective Trading System
Visitor [1] : Example Objective Trading System
Visitor [1] : Number of Trading Systems
Visitor [1] : Money Management
Visitor [1] : When Not To Trade
Visitor [1] : Equity Curve Analysis
Visitor [1] : Features & Screenshots
Visitor [1] : Company
Visitor [1] : Knowledge Base
Visitor [1] : Announcements
Visitor [1] : Import/Export Window
Visitor [1] : New Indicators
Visitor [1] : Trading Systems
Visitor [1] : Miscellaneous "How-Tos"
Visitor [2] : Common Mistakes When Creating Trading Systems
Visitor [1] : Example Trading Systems
Visitor [1] : Price History Window
Visitor [1] : To Stop Downloading A Currency
Visitor [1] : To Have TS Place Orders Only
Copyright Thinking Stuff Pty Ltd  ·  Contact Us  ·  Disclaimer  ·  Privacy Policy  ·  Sitemap