Automated Trading Machine (ATM) makes it simple to remove fear and greed from your trading. Automated trading is no longer just for the rich or nerdy. Our revolutionary software runs on your computer, using your trading rules, but none of your emotions. There's just one requirement - you know how to use a mouse. Learn more...
Alerts
Messaging Overview
ATM is automated trading software. Often you'll start it and go and do other things. But yet you will probably also want to be alerted when important events happen. ATM gives you a variety of ways to be notified.
What you do is create Broadcast Settings (Admin > Broadcast Settings). This is where you tell ATM what kind of messages you want to be notified of, and how you want to be notified. For example, you may choose to be notified by email for all kinds of messages. And, in addition, you want any error messages to be sent to your phone.
With the appropriate Broadcast Settings in place, you then just go about your business using ATM as normal. Backtesting, automated trading, alerts, etc, send out messages, and these messages are broadcast (or not) as per the Broadcast Settings.
To your email address
Email messages can be sent to any email address.
However, you have to first set up an email address to be used as the sending address. That is, the address that goes in the "From:" field. And this sending address must be a Gmail account (from Google). Read more here.
Gmail allows 500 messages to be sent per day from a single account. If we simply used our Gmail account to send the messages, we can reach 500 messages easily. But everyone using their own Gmail accounts would make it very difficult to reach 500.
To notification handlers
There are a couple of free notification handlers out there which aim to standardise your messaging experience. The theory is that other software sends their messages to these handlers, and the handlers show them to you on your computer, or not, or send the messages to you (via email, SMS, etc), or not, based on your settings.
In short, you can get ATM to send messages to these notification handlers, and the handlers work out what to do with the messages based on your settings.
Growl
Mac users will be very familiar with Growl, which has a Windows equivalent suitably called Growl For Windows. From their website:
Growl gives you full control over how you are notified and what action (if any) you want to take in response to the notification. You can choose to be alerted with a visual indicator or an audible alert, both, or neither. You can choose the type of display that is shown, whether the display remains on the screen, the importance of the notification, and even if the notification should be forwarded to another computer. You can have notifications that trigger an email, run a script, launch a program, or are read out loud.
Snarl
Snarl is very similar to Growl. It's up to your personal preference as to which you install. No harm in using both.
Notify.io
Notify.io is another notification handler, but is slightly different in that you don't need to install anything on your computer. Rather you just create an account on the Notify.io website. (Be warned that at time of writing, Notify.io was in the alpha stages of development).
To your mobile/cell phone
There are two different SMS providers (or "gateways") that can be connected to directly by ATM. One is free with limited coverage, and the other (Clickatell) is not free but covers most of the planet. It's pretty cheap though. See here for more info.
In addition, there is at least one more SMS provider available indirectly. You can get ATM to send messages to Notify.io, and in your Notify.io account you can set up TextAuth as your SMS "outlet". Messages would be sent from ATM > Notify.io > TextAuth > your mobile/cell phone. Most likely there are other options available through Growl and/or Snarl.
And that's just the possibilities for traditional SMS messages. ATM can also connect to Notifo, which can push messages to your iPhone, Android or Blackberry.
Via Twitter
Twitter has 2 kinds of messages - tweets and direct messages (DMs). Tweets are public for all to see. DMs go to an individual and are similar to email. However, DMs only work for people that are already following you. Luckily, you can DM yourself (and we imagine this is how people would use Twitter for notifications).
Other
If you are normally in front of your computer, the popup-notifier and/or icon in the system tray might be of use.
Setup Instructions
Some broadcast methods need a sending address, some need the receiver to first "allow" them to send messages, and so on. Setup instructions are all on the "Messaging" tab of the Options window (Admin > Options).
See also:
- Login to post comments
Example Alerts
Actually there are three kinds of alerts. But trading alerts are triggered by trading systems. This post is about indicator-based alerts and price-based alerts. They are both made through "Automate..." > "Price & Indicator Alerts...".
Indicator-based Alerts
You can have as many alerting rules as you like. Normally all of them have to be true for an alert to fire, but you can use "Groups" to set up optional alerting rules.
A simple example - send a notification when all of these are true:
- Line 1 is above X, where Line 1 is "ADX", and X = 25
- Line 1 is below X, where Line 1 is "RSI", and X = 30
- Line 1 is above Line 2, where Line 1 is the CLOSE, and Line 2 is SMA(10)
- Line 1 is above Line 2, where Line 1 is SMA(10), and Line 2 is SMA(50)
Put a tick in the "use completed bars only" box.
Price-based Alerts
For example, you want to be notified when the EUR/USD price goes above 1.2345:
- Line 1 is above X, where Line 1 is the CLOSE, and X = 1.2345
Remove the tick from the "use completed bars only" box. In this case it doesn't matter what interval you use (5-Minutes, Daily, etc). Because we are using incomplete bars, the CLOSE of all incomplete bars should theoretically be the same. That is, the close of the incomplete 5-Minute bar should be the same as the close of the incomplete Hourly bar.
- Login to post comments
How To Use Indicators
There are 4 basic concepts that you need to know:
- There are Rules and there are Values. Rules decide when an action is allowed. They evaluate to Yes/True/Do or No/False/Don't. Values decide where that action will be done. They evaluate to a single price on the chart - the price where you want to place an order; the price where you want to move the stop loss or take profit.
- Relative Strength Index (RSI) is an example of an Indicator.
- RSI(14) though, is a line on the chart. It is the combination of indicator plus the parameters that creates a line. RSI(14) is a different line to RSI(20).
- Everything is a line. The close price is a line. Volume is a line. The entry price of a particular trade is a (flat) line. RSI(14) is a line. RSI(20) is another line.
Rules
To get a line into something that can become a true/false answer means that we must compare it. We compare it:
- With a particular number - is Line 1 above 100?
- With its previous values - is Line 1 going up?
- With a different line - is Line 1 above Line 2?
- With the entry price - is Line 1 above than the entry?
The first step then, is to choose what kind of comparison will be done. Here are the options:
Use the value of a line
- Line 1 equals X
- Line 1 is above X
- Line 1 is below X
- Line 1 is in a range
- Line 1 is not in a range
Compare the value of a line to the line's previous values
- Line 1 is rising
- Line 1 is falling
- Line 1's value is the least of the last X values
- Line 1's value is the most of the last X values
Compare the value of a line to the value of a different line
- Line 1 is equal to Line 2
- Line 1 is above Line 2
- Line 1 is above Line 2 by more than X
- Line 1 is above Line 2 by less than X
- Line 1 is below Line 2
- Line 1 is below Line 2 by more than X
- Line 1 is below Line 2 by less than X
- Line 1 is apart from Line 2 by more than X
- Line 1 is apart from Line 2 by less than X
Compare the value of a line to the trade's entry price
- Line 1 is above the trade's entry price
- Line 1 is above the trade's entry price by more than X
- Line 1 is above the trade's entry price by less than X
- Line 1 is below the trade's entry price
- Line 1 is below the trade's entry price by more than X
- Line 1 is below the trade's entry price by less than X
Those last ones can only be used for non-entry rules.
Anyhow, with one of those selected, all that's left is to fill in the details for Line 1 (and Line 2 if applicable).
A common entry rule is "the close of the bar is above the simple moving average". The close price is just a line, and so is the average, so you would use "Line 1 is above Line 2" - Line 1 is the close, and Line 2 is the average. When this is true the signal is given.
Values
Values are easier, because you don't need to bother with the options above. You just create a line and that is the value. E.g. put a take profit at the entry price plus 50 pips, the stop loss at a simple moving average, etc.
More Options
You are given these very basic options to modify a line:
- Line + X
- Line * Y
- (Line + X) * Y
- (Line * Y) + X
Negative numbers can be used for X and Y.
What these settings allow you to do are to add/subtract a certain number of pips or percentage. For example:
- Close price plus 5% would be: Close * 1.05
- High plus 50 pips would be: High + 0.0050 (for EUR/USD)
If you need more than these basic options, you can create a custom indicator.
Indicators which normally consist of more than 1 line
If you think of the Bollinger Band indicator, you normally think of 3 lines - upper, middle, and lower. But for our purposes, those are actually 3 different Indicators:
- Bollinger Band Upper Line
- Bollinger Band Middle Line
- Bollinger Band Lower Line
And this is true for any indicator which normally consists of more than a single line.
Indicators which normally wouldn't be considered Indicators
How can candlesticks be "a line"? Well, at its simplest, a bar either fits a candlestick pattern or it does not. Candlesticks are therefore in a true/false form. But that doesn't fit into the "everything is a line" theory. So instead of thinking in terms of true/false, change it to 1/0.
Most of the time, a candlestick pattern will not be present. The "indicator" value stays at zero. When the candlestick pattern appears, the indicator spikes up to 1. Then back down to zero when the pattern is gone.
What was just described is simply an oscillating indicator, with values ranging between 0 and 1. That's now a line which can be used like any other line. So the basic concept is to replace true/false results and anything similar, with numbers. 0/1. 1/2. -100/100. It doesn't really matter as long as they are numbers.
So let's say we use 0 (zero) for when the candlestick pattern is not there, and 100 when the candlestick pattern is there. To make a rule that uses that candlestick pattern, use "Line 1 equals X" - Line 1 is the candlestick, and set X to 100. When this is true the signal is given.
It turns out candlesticks are actually a little more complex than true/false, anyway. The following are possible:
- the candlestick pattern is present in a bullish way (result: 100)
- the candlestick pattern is present in a bearish way (result: -100)
- the candlestick pattern is not present (result: 0)
Further, there are a couple of candlestick patterns that give five values: 200, 100, -100, -200, zero. You should chart the candlestick you are interested in to see its possible range of values. And that's the beauty of treating everything as a line - you can chart and visualise all indicators and see how they behave.
Note: peak and trough (and swing) calculations, "Current Pattern" and "Previous Pattern" are also treated as oscillating indicators:
- Higher Peak = 2
- Higher Trough = 1
- Lower Trough = -1
- Lower Peak = -2
- Login to post comments
ATM File Extensions
*.tsatm - settings file
*.tsphd - price history file
*.tssys - exported trading system
*.tsiba - exported alert
*.tsind - exported custom indicator
*.tscht - exported saved chart
- Login to post comments
Privacy Concerns When Exporting
There is the Import/Export window, and that let's you import/export trading systems, alerts, saved charts, and custom indicators.
When exporting, your information is saved as an ordinary text file. You can read the contents by opening the file in Notepad, Wordpad, Microsoft Word, or whatever other program you normally use for text files. Like this:
If you add a password when you export the file, most of it will just be garbled text. Like this:
The very basic details are left unencrypted, but everything else is unreadable. The encryption level is pretty strong.
You can then give that file to a friend, sell it, use it as a backup, or use it to copy your settings to a different ATM settings file of your own.
There are some complications with importing/exporting, and most of them centre around the fact that you could be importing something that you yourself exported; or you could be importing something that somebody else exported.
If you are importing your own exported file, you probably want the same accounts to be re-selected for you. The only way to achieve that is to include the account information in the exported file. That is to say, these exported text files may contain private information that you don't want other people to see.
Only the description you gave for the account is exported (e.g. "My FXCM demo account") - not the account number. But there's every possibility that you typed the account number as part of that description (e.g. "My FXCM live account #12345678").
The easy workaround
If you intend to give your exported file to someone else, the solution is very easy. In ATM make a copy of whatever it is you intend to export. Edit that copied version. Remove any private information. Export the copied version instead.
Protecting your secret sauce
Use a password when you do the export. That will encrypt the file. For someone to be able to import your encrypted file, they need that password. But the password doesn't unlock the file completely - it just lets them do the import.
Someone successfully importing an encrypted file still won't be able to see the trading rules, etc (if it's a trading system, and alerts and custom indicators can also be obfuscated like this). The person will be able to backtest and trade with that encrypted system / alert / custom indicator. But they won't be able to see how it works. As in, you can sell your fantastic trading system, other people can trade using that system, but your methods are kept secret.
Statuses of trading systems and alerts
All imported trading systems and alerts have their status set to "Disabled". Check all details are correct before enabling.
- Login to post comments
Calculate The Result, Then Reverse It
Rules evaluate to either true or false. Line 1 is either above Line 2 or it isn't. True/False. Yes/No. Go/Stop. Using the "calculate the result of this rule, then reverse it" option does exactly as it says. The reverse of true is false; of false is true. No real reason for a lengthy explanation.
But it does need a little explanatory section like this because of a particular scenario. Read on.
Instead of this option, you could always just use a rule which is the opposite. These are opposites:
- Line 1 is above Line 2
- Line 1 is below Line 2
So what's the difference between these?
- Line 1 is below Line 2
- Line 1 is above Line 2, and use the "reverse it" option
When Line 1 is below Line 2, both option #1 and #2 are true.
When Line 1 is above Line 2, both option #1 and #2 are false.
When Line 1 equals Line 2, option #1 is false, while option #2 is true.
Using the "reverse it" option, ATM calculates the result of the rule as if you did not use this option, then it takes the opposite of that result.
So when Line 1 equals Line 2, no, Line 1 is not above Line 2 so the normal result is false, then taking the reverse, the result becomes true.
Here's one example to consider - the MACD Histogram cross from below zero to above zero.
For this one, you choose the following entry rules:
- Line 1 is below X (zero), use the MACD Histogram indicator, and use a bar offset of 1 (meaning you want the rule to have been true 1 bar ago)
- Line 1 is above X (zero), again using the MACD Histogram indicator
These two rules combine to allow an order to be placed only when the MACD Histogram crossed from below zero to above zero.
But what if the value of the MACD Histogram 1 bar ago was exactly zero? In this case the MACD Histogram is neither below zero, nor above zero. So while the MACD Histogram has legitimately crossed from below to above zero, ATM will disallow the trade because it thinks the MACD Histogram was not below zero 1 bar ago.
(Remembering that ATM 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 (you can't lose money by not trading). But if you're worried about it, set the entry rules to this:
- Line 1 is above X (zero), use the MACD Histogram indicator, a bar offset of 1, and the "reverse it" option.
- Line 1 is above X (zero), again using the MACD Histogram indicator
Doing it this way effectively changes the entry rule from being "enter when the MACD Histogram crosses from below to above zero" to "enter when the MACD Histogram goes from not above zero to above zero". There's a subtle difference.
- Login to post comments
# Bars To Load
When you add or edit a rule or value, sometimes you will be asked to fill in the "# Bars To Load" field. This value is used to determine how many price bars should be retrieved.
Less bars means faster processing, and so ATM tries to retrieve the minimum possible. When something like a simple moving average (SMA) is used, it's pretty easy to work out how many bars are required - if it's SMA(20) then ATM retrieves 20 bars.
But for other rules, e.g. those involving "previous SMA swing low", it's not possible to mathematically calculate the number of bars that will be required. Maybe the previous SMA swing low occurred 30 bars ago. Maybe 40. It's in these situations that you'll need to enter the value yourself. Choose a value big enough so that enough bars are going to be retrieved to do the calculation, but small enough so as not to slow ATM down.
- Login to post comments
Last Bar Used
Both trading systems and alerts have these fields, but they are updated slightly differently. For trading systems, only when the entry rules are checked (i.e. a trade is not already open) will the date be updated. For alerts, the date is only updated when an alert wants to fire.
These fields ensure that only fresh price data is being used for entry calculations. Here's the scenario that these fields try to avoid:
- A new bar completes.
- ATM checks the entry rules and finds that they are true. ATM places an order.
- The order is taken up. This trading system is in a trade.
- The price goes in exactly the wrong direction, and the stop loss is taken out very quickly.
- ATM checks the entry rules and finds that they are true. ATM places an order.
The thing is that the bar being checked in steps 2 and 5 are the same bar. The trade exited so quickly that there wasn't enough time for the next bar to complete (which is a likely outcome if you are using Hourly, Daily bars, etc).
So ATM would have placed two orders based on the same bar. Generally that's not a good thing, hence these fields. And hence the reason they are only updated when the entry rules are checked.
If you want to allow it, you can put a tick-mark in the "If the trade is exited before the entry bar is completed, allow re-entry in that same bar" field.
This is another way to pause a system for a while - by editing these dates to be somewhere in the future (and no tick-mark in the checkbox).
- Login to post comments
Statuses Of Trading Systems And Alerts
These statuses only have some relevance if on the Command Centre you have the alerting or auto-trading scheduled process running.
For Alerts
There are 2 statuses:
- Enabled - the alert will check its alerting rules as per its frequency settings
- Disabled - the alert is dormant
For Trading Systems
There are 3 statuses:
- Enabled - this system is auto-trading. (So make sure you don't set it to this until everything else is ready).
- Disabled - this system is not auto-trading
- Trade Mgmt Only - this system will cancel any open orders, and will not place any new orders. It will however, continue to monitor and adjust any open trades, and continue to follow the stop loss and take profit management rules you have specified.
You have to be a little bit careful though, about switching the status from "Enabled" to "Disabled" directly. That will stop auto-trading abruptly. As will, of course, stopping the auto-trading scheduled process. The question is, what will happen if a trading system which was auto-trading still has any open orders, or an open trade?
If there is an open order
This would have the effect of orphaning any open orders. The order will remain on the broker's books and may well be turned into a trade. The problem then is that there is nothing looking after that trade. And that's fine if you are using a take-profit to exit, but not good if the system relies on moving the stop-loss in order to lock-in profit.
In the latter case, the trade would not be managed, the stop-loss would most likely eventually be taken out, and it would be at a loss. The up-side is that because stop-losses are mandatory, you will at least only lose a certain amount of money (i.e. not your entire balance).
However, if you kept auto-trading as a whole running, and instead changed the system's status to "Trade Mgmt Only", then in fact the open order(s) would be cancelled the next time the system checks its rules (as per the frequency settings). And that would be the end of that. You would be free to stop auto-trading completely, or change the status to "Disabled", or do nothing - because systems which are doing trade management only will not place any new orders.
If there is an open trade
This would have the effect of orphaning any open trades. There would no longer be anything looking after that trade. And that's fine if you are using a take-profit to exit, but not good if the system relies on moving the stop-loss in order to lock-in profit.
In the latter case, the trade would not be managed, the stop-loss would most likely eventually be taken out. Whether it would be at a loss or not would depend on how much trade management had already been done before you switched it off.
However, if you kept auto-trading as a whole running, and instead changed the system's status to "Trade Mgmt Only", then the trade would be managed until it was closed. And that would be the end of that. You would be free to stop auto-trading completely, or change the status to "Disabled", or do nothing - because systems which are doing trade management only will not place any new orders.
Other Options
You can of course, shut down auto-trading and then go and manage or close any open orders/trades manually.
You are also free to change the stop-loss at any time manually. ATM will never move a stop-loss to a position of increased risk, so you can lock in some profit manually and ATM won't bring it back down to where it calculates it should be.
Another trick with the status of "Trade Mgmt Only" is that you can make the trades manually, and let ATM do the trade management. There are a number of scenarios where this might be useful, and if you think it might be for you then read this.
- Login to post comments
Opening A Clickatell Account
Fortunately, Clickatell will give you 10 free credits so you can test that it works before paying any money. If it works and you're happy, you then purchase some SMS credits from them.
Following these links will show you the coverage and prices of Clickatell. Then follow these instructions to open an account:
- Follow this link to start the registeration.
- Choose the "Clickatell Central" option.
- Fill in your details (which includes choosing a username and password), and click the "Continue" button.
- Follow their directions to verify your email address and phone number.
- During the verification process you will find out your Client ID. Note that down.
- You should now be logged in to your Clickatell account. But there's more to do...
- Click the "Manage my Products" link (at the top, just below the header).
- Click the "HTTP/S" link.
- Fill in the "Description" field. This can be anything you like, e.g. "My HTTP/S connection". Leave all the checkboxes empty.
- Click the "Submit" button.
- Note the "API ID" of your connection.
Now you are all set to go. When you enter the SMS details into ATM, you will need to type in your Clickatell username and password, and the API ID.
Here are a couple of extra points of interest:
- If you're still looking at the Clickatell account page, you can see your Client ID in the header. Note that down if you didn't before. You'll need to enter this along with your username, next time you want to login to the Clickatell site.
- Also in the header is an "Buy SMS Credits" link. But you should have been given 10 free credits, and before buying any more credits, you should use those 10 free ones to test that ATM can actually send SMS to your phone through Clickatell.
- While using the free credits, the actual text sent by ATM will not show on your phone. Instead you'll just get a "Clickatell test message". But at least you'll be able to determine that text messages can be sent to your phone by ATM, and approximately how quickly they turn up.
If everything works fine, then use the "Buy SMS Credits" link mentioned above to purchase SMS credits from them.
Thinking Stuff is an affiliate of Clickatell, and we receive 10% of the money you pay to them. We didn't choose Clickatell because of the money. In fact at first we decided to use Clickatell, and then thought that if if we're sending business their way anyway, we might as well join their affiliate program and reap the rewards on offer. If only all the companies we use had similar offers... *sigh* :-)
Note that we stop receiving commissions 6 months after you join up, so if you were a real friend, you'd create a new account every 6 months using the links here :-)
- Login to post comments
Recent blog posts
- New Release: v3.0.3 - Everything Except Autotrading
- Mid July 2010 Update
- Start of June 2010 Update
- New Release: v3.0.2 - Copy, better error message, more options
- New Release: v3.0.1 - The Stabilise-ening
- Ah, The First Bug [Fixed in v3.0.1]
- New Release: v3.0.0 - The Rewrite
- Start of February 2010 Update
- End Of 2009 Update
- New Release: v2.0.10




Recent comments
20 weeks 5 days ago
35 weeks 6 days ago
41 weeks 4 days ago
41 weeks 4 days ago
48 weeks 22 hours ago
49 weeks 2 days ago
1 year 4 weeks ago
1 year 4 weeks ago
1 year 6 weeks ago
1 year 11 weeks ago