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.
Your EA has 4 signal types.
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 scneario's. Just use the contact form , or mail us on .
You can enable or disable a signal by clicking on the options button and select Enable/Disable. When your signal is disabled it will not be included in the generated EA (mql or compiled). The EA needs at least one enabled Open Buy or Open Sell signal to open any orders automatically. It's possible to leave both Open signals disabled if you plan on manually opening your orders.
Open the options menu to Copy a signal to the other signal(s). A common scenario is that you start by creating the Open Buy Signal. When ready, you may want to copy the Open Buy signal to the Close Sell signal and you may want to copy the Open Sell signal to the Close Buy signal. This way the open order will reverse from a buy order, to a sell order and vice versa. There are 2 ways to copy your signal: by copying the signal on the EA overview page and by using Move | Cut-Copy-Paste in the signal editor.
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.
Once you have opened the signal editor, you can choose from the following order types:
If a market order is selected, the condition When the order is sent to the broker must be configured. If a pending order is selected (Limit order or Stop order), both the condition When the order is sent to the broker and the Price at which the order is requested to be filled must be entered.
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.
Open the options menu of a ANY | ALL group and select Add Condition. After you click Add Condition a simple condition will be added.
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.
You can toggle between an indicator, function or constant. Click on the element you would like to edit and a popup window will appear.
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.
There are three operator categories:
If a simpel Condition does not meet your requirements you can add a Advanced Condition.
An Advanced Condition can contain various elements.
You can add a nested Group of Conditions. Click on Add Group.
You can remove a node by selecting "Remove" under options. The root Group (Any/All) can never be removed. Nested Groups can be removed.
There are 2 ways to move elements.
Open the options menu of the root group to invert a signal. A common scenario is that you start by creating the Open Buy Signal. When ready, you will want to create the Open Sell signal, which is the same as the Open Buy signal, but then Inverted. To do so, click the Invert button on the Open Sell signal after you copied the signal from the Open Buy signal. Make sure that you verify that the inverted signal is what you expect it to be.
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.
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.
The signal editor enables you with a set of well known operators. We've added a set of special crossover operators to make things easier.
Symbol | Name | Category |
---|---|---|
Cross | Crossover | |
Up Cross | Crossover | |
Down Cross | Crossover | |
== | Equal | Comparison |
!= | Not Equal | Comparison |
>= | Above or Equal | Comparison |
<= | Below or Equal | Comparison |
> | Above | Comparison |
< | Below | Comparison |
+ | Add | Mathematical |
- | Substract | Mathematical |
/ | Divide | Mathematical |
* | Multiply | Mathematical |
% | Modulo | Mathematical |
Use this operator if the direction of the crossover does not matter.
Use this operator if the direction crosses over from below (Up Cross).
Use this operator if the direction crosses over from above (Down Cross).
Comparison operator. Returns true if both sides of the expression are equal.
Comparison operator. Condition is met if both sides of the condition are not equal.
Comparison operator. Condition is met if the left side of the condition is above or equal to the right side of the condition.
Comparison operator. Condition is met if the left side of the condition is below or equal to the right side of the condition.
Comparison operator. Condition is met if the left side of the condition is above the right side of the condition.
Comparison operator. Condition is met if the left side of the condition is below the right side of the condition.
Use this operator to add numbers.
Use this operator to substract numbers.
Use this operator to divide numbers.
Use this operator to multiply numbers.
Returns the remainder after a division.
The signal editor provides the flexibility to apply various functions when specifying your conditions. Below is a description of the available functions.
The price category of functions give information about the current price, based on your symbol.
The account category of functions give information about your account.
The Date category of functions give information about the date- and time functions.
The Order category of functions give information about open orders.
Next: Modules