Skip to content

Trading Signals

On the previous page (Indicators) we added all indicators for the EA. If you want to edit your indicators, you simply go back and adjust your indicator’s parameters. Next, you can create the trading signals (‘signals’) you want to use for the opening or closing of an order. A signal is a group of conditions which have to be met before an order is opened or closed.

Get started

Your EA has 4 signal types:

  • Open Buy
  • Open Sell
  • Close Buy
  • Close Sell

Signals are a very powerful tool to create almost any open and close logic you can think of. Creating a signal may seem quite difficult in the beginning, but we believe that anyone can learn it quickly. So please be persistent when learning how to create signals. You can always reach out to us if you don’t know how to proceed after reading the information on this page. Even when you think the signal editor is too limited, please reach out to us and we can show you how you can create your signal, as we have a lot of experience in solving complex scenario’s. Just use the contact form, or mail us on .

Edit a signal

Click on a signal that you would like to edit. This will open the signal editor. If you started your EA based on a template then your signals may already contain some conditions. Other signals may be empty and so only contain an empty root group. If that’s the case, start by adding conditions to your signal.

edit a signal
Click on the signal to start editing.

ANY | ALL Root Group

After you’ve selected your order type, it’s time to configure your conditions. You’ll see the conditions start with a root group at the top. The root group gives you a choise between ANY/ALL. This option effects all conditions that are directly in this Group.

  • ANY: Only one of the conditions has to be met for the signal to activate.
  • ALL: All of the conditions have to be met for the signal to activate.

Start building your condition(s) from this root Group.

root logical operator
A signal has 1 root ANY/ALL Group

Add condition

Open the options menu of a ANY | ALL group and select Add Condition. After you click Add Condition a simple condition will be added.

add condition
Add a condition.

A condition is an expression with a Left-Hand side, an operator and a right Right-Hand side. By default, the Left- and Right-handside operands are indicators. The indicators you’ve added to your EA will appear here. You can replace the Indicator with a Function (Bid, Ask, Stoploss etc) or a constant value.

condition added
A simple condition with default Indicator values has been added. ADX is the name of the indicator. Main is the name of the MODE. S0 is the Shift (Bar) on which the indicator will be calculated.

Toggle Indicator, Function or Constant

You can toggle between an indicator, function or constant. Click on the element you would like to edit and a popup window will appear.

  • Click on Indicator to access the indicators you have added to your EA.
  • Click on Function to access functions like ask, bid, hour, minute etc.
  • Click on Constant to add a constant value. The default value is EMPTY which represents a MetaTrader empty value, which is a long number (2147483647).
toggle between indicator, function and value.
Toggle between indicator, function and value.

Shift (Bar)

For each indicator you use in your condition you have to select the Shift you want to use. By doing this, you specify which bar’s value (of the indicator) you want to use.

  • Shift (Bar): 0 - The current bar
  • Shift (Bar): 1 - The previous bar
  • Shift (Bar): 2 - The bar before the previous bar, etc.
Select on which bar the indicator will be calculated
Select which bar's value you want to use.

Operator

There are three operator categories:

  • Comparison
  • Crossover
  • Mathematical

Each category contains different operators. Depending on the context certain operator categories may not be available. Click here for a full list of available operators.

toggle between Logical, Comparison, Crossover and Arithmetic operators
List of operators can vary based on context.

Add Advanced Condition

If a simpel Condition does not meet your requirements you can add a Advanced Condition.

add advanced condition
Add an <strong>Advanced Condition</strong>

An Advanced Condition can contain various elements.

  • Operation
  • Value
  • Mathematical Operator
add advanced condition
Elements that can be added to an advanced condition. You need to define a Left-Hand side and Right-Hand side operand to complete the Advanced Condition.

The Advanced Condition supports all the requirements you may have. Here you can apply complex mathematical operations if needed.

advanced condition example
An example of an Advanced Condition. The condition checks if the Ask (price) went above the midpoint between the previous day's High and Low. This midpoint is calculated by adding the Low and the High and deviding the result by 2.

When you are done with the Advanced Condition it can be collapsed. A summary of your condition will be shown, this will help you to keep a good overview of your signal.

add condition
Collapse your Advanced Condition, a summary will be shown.

Add Group Any/All

You can add a nested Group of Conditions. Click on Add Group.

remove node
Add a Group of conditions.

Here you can add more Condtions, Advanced Conditions or another nested Group.

remove node
An example of a nested Group. Any of the conditions need to be met, if so, the nested group is met.

Remove node

You can remove a node by selecting “Remove” under options. The root Group (Any/All) can never be removed. Nested Groups can be removed.

remove node
Click remove to remove the node.

Move | Cut-Copy-Paste

There are 2 ways to move elements.

  • Move a condition Up/Down
  • Cut and Paste
  • Copy and Paste

Move a node within its container (Group or Advanced Condition) by opening the options menu. Click on Move Up or Move Down to move the element Up or Down in order.

move node
Move Condition Up.

If you need to move a node to another container (Group or Advanced Condition), open the options menu and select Cut. The interface will be blocked for editing and you will be presented with options to paste your node. Click on the Paste button where you would like to move this item. The item will be moved to this location. Alternatively, you can use Copy instead of Cut to duplicate the node.

paste node
Click on the Paste button to move the Condition to that location. Click cancel to cancel this Cut or Copy action.

Invalid signals

When you are building signals you can create a signal that is invalid. Invalid signals cannot be saved. You know that your signal is invalid when you see the exclamation mark with an error message in the top summary box.

an invalid signal
A Advanced condition is missing a Left-Hand and Right-hand side operand. Add those elements to fix this error.

Nested conditions

You can make signals as complex as you would like. To easily understand how signals work, a good strategy is to divide them into groups. Each group results in conditions being met or not-met.

complex signal
Divide signals into groups. We have got 2 blue conditions in the root group and 2 green conditions in the nested ANY/ALL group. Each group is either met or not met. The root group is an ALL group and therefore both blue conditions must be met, and 1 condition out of the green nested group must be met. The reason 1 out of 2 green conditions must be met because it is an ANY group.