Thinking Stuff's ATM

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...

Thinking Stuff's ATE

Automated Trading Execution (ATE) is where we run your trading systems for you on our servers. Your system can be exported from ATM, or written in plain English and we'll make it for you. We'll even backtest and suggest improvements if you want us to. This service essentially automates your automated trading.  Learn more...

Thinking Stuff's Groups

Join a group of like-minded individuals, and help each other to trading success. Once you join a group, you will have access to that group's trading systems, ideas, and feedback. And please contribute your own knowledge as much as possible. Or contact us to start your own group.  Learn more...

Creating Indicators

Custom Indicators have 2 parts - their Columns, and the Indicators that correspond to those Columns. So creating the Indicators is the second part of a two part process. The first step is to create the Columns.

With the required Columns done, create an Indicator for each Column that you want to be able to chart / use in trading rules / use in alerting rules.

You'll need to give each Indicator 3 different names:

  1. A name that the user will see in the list of indicators.
  2. A name that will have the specific parameters the user chose substituted into it, for display in the Alert and Trading System windows.
  3. A name that will have the specific parameters the user chose substituted into it, for display on the Charts window.

Here's an example:

  1. Simple Moving Average
  2. Simple Moving Average(OHLC; Setting01) becomes Simple Moving Average(CLOSE, 20)
  3. SMA(OHLC; Setting01) becomes SMA(CLOSE, 20)

Generally you want the Chart description to be as short as possible. Also, the chart doesn't handle full-stops/periods/decimal points very well, so don't use those in the name.

Also, don't use any of Column01-Column20 in any of the titles.

Next are the options to choose from which describe what that Indicator does. Is this an overlay? Does the user have to choose the OHLC? Are they allowed to multiply or add to the result? And so on. I think self-explanatory.
 

Settings

Then come settings. Each Indicator is allowed 6 settings. And what these settings do are feed values into the Columns.

Some functions need parameters. The Simple Moving Average needs a column to average, plus a period. E.g. SMA(CLOSE, 20). The user gives the parameters to the Indicator, the Indicator passes them to its corresponding Column, and the Column passes them to whatever function is being used in that Column.

It is up to you then, as the creator of a Custom Indicator, to ensure that the settings you setup for the Indicator match those that are required by the Column.

Whether the user needs to select the OHLC or not; how many settings are required; how many decimal points each setting has; are all set on the Indicator, not the Column.

When used in expressions or formula, settings are written as Setting01, Setting02... Setting06.

E.g. here you as the creator of the custom indicator are explicitly setting Column01 to equal the Simple Moving Average of period 20 of the CLOSE:

Column01 = SMA(CLOSE, 20)

Whereas if you wanted to let the user decide what the period should be, it would look like this:

Column01 = SMA(CLOSE, Setting01)

You then specify on the Indicator that Setting01 is required, and fill in the rest of its details (e.g. zero decimal places, and default value is 20).

If you also wanted to let the user choose any of the open, high, low, or close to take the average of, on the Indicator there is a setting for that - "OHLC required". Choose that option, and your formula looks like this:

Column01 = SMA(OHLC, Setting01)

Similarly, a simple moving average of the Commodity Channel Index is:

Column01 = CCI(Setting01)
Column02 = SMA(Column01, Setting02)

On the Indicator you set up both Setting01 (the period for the CCI - zero decimals, default 50) and Setting02 (the period for the SMA - zero decimals, default 20). OHLC not required.

See also:

Groups: