EAs Indicators AdvancedTerminalsGUIDES
EAs Indicators AdvancedTerminalsGUIDES
EAs [Link]
TABLE OF CONTENTS………………………………………………………1-10
2
EAs [Link]
3
EAs [Link]
4
EAs [Link]
4.3.2 Group actions when all alarms are currently signalled ...........................................43
4.3.3 Group actions when any one alarm is signalled......................................................44
5
EAs [Link]
6
EAs [Link]
[4] 3. Sending trading commands from Excel ....................................................... 67
3.1 Reading data in VBA code .................................................................... 67
3.1.1 Checking if a reader is successfully connected .....................................................67
3.1.2 Data consistency across multiple reads .................................................................66
3.2 Sending trading commands from Excel .............................................. 68
3.2.1 Differences between trading platforms...................................................................69
3.2.2 Commands and parameters ..................................................................................69
[Link] TEST command ........................................................................................69
[Link] BUY and SELL commands .......................................................................69
[Link] BUYLIMIT, SELLLIMIT, BUYSTOP, and SELLSTOP commands ............70
[Link] CLOSE command .....................................................................................70
[Link] PARTIALCLOSE command ......................................................................70
[Link] REVERSE command ................................................................................70
[Link] CLOSESYMBOL command ......................................................................71
[Link] CLOSEALL command ...............................................................................71
[Link] ORDERSL command ................................................................................71
[Link] ORDERTP command ..............................................................................71
[Link] ORDERMODIFY command ....................................................................72
3.2.3 Standard error messages ......................................................................................72
3.3 Asynchronous commands .................................................................... 72
7
EAs [Link]
8
EAs [Link]
9
EAs [Link]
10
EAs [Link]
[1] MINI TERMINAL
MT4/5 will show its usual dotted horizontal lines on the chart for each order. The
status indicator at the top of the Mini Terminal will show your current net position,
e.g. +0.10 if you are long 0.1 lots, or -0.10 if you are short 0.1 lots.
You can control the lot size on new orders, and set a stop-loss, take-profit, or trailing-
stop using the fields above the buy and sell buttons.
1.1.1 Calculators
You can open calculators for each of the order fields – the volume, s/l, t/p, and
trailing stop – by holding down the Ctrl key while clicking on them. For example, if
you are trading 0.25 lots, and you want a stop-loss which is equivalent to $100, then
you can Ctrl+click on the S/L field and tell the calculator to work out the number of
pips which is equivalent to a fixed cash risk of $100.
The entry price for pending orders can be defined either as a fixed price (e.g.
1.23456) or as a number of pips. For example, if you choose a buy-limit and enter a
value of 20 pips rather than a price, then the limit order is created 20 pips below the
current price.
11
EAs [Link]
• “OCO breakout”. You specify two prices, or two values in pips, either side of
the current price, and the Mini Terminal places a buy-stop and a sell-stop.
Once one of the pending orders is filled, the other is automatically cancelled.
You would typically use this when you are expecting a major price movement,
but you don’t know whether the move is going to be up or down. For example,
there are many trading strategies based around trading the breakout, in either
direction, of yesterday’s range.
• “OCO reversion”. In this case the Mini Terminal places a buy-limit and sell-
limit, rather than a buy-stop and sell-stop. You would typically use this if you
are expecting a move in either direction followed by a return towards the
current price – e.g. a bounce off yesterday’s high or low.
12
EAs [Link]
The panel shows the profitability of order for the symbol in cash terms, and also in
pips. The price underneath the profit in pips is the average entry price for the position
(if there is more than one open order).
You can use the options to close all open orders for the symbol, or all winning or
losing trades, or to hedge or reverse the open position.
You can click on the markers to open a pop-up window for each order, and you can
use the “handle” at the right-hand end of the marker to drag it.
You can also click on the settings icon at the left of the marker to display a menu for
editing the order or position.
13
EAs [Link]
1.5.1 Changing s/l, t/p and pending entry prices by dragging markers
You can change the s/l or the t/p of an order by dragging its marker, using the
“handle” at the right-hand end of the marker. You can also drag the entry price of
pending orders (but you cannot move the entry price of open positions!)
If you drag a marker to an invalid level – e.g. you drag a s/l the other side of the
current market price – then you will be asked if you want to close the order. You can
cancel a drag which is in progress by pressing the Esc key.
The current profit for the order shown in the top-right of the window can be switched
between cash and pips by clicking on it.
You can close the order using the red button, and you can change the s/l, t/p or
trailing stop by clicking on those options.
14
EAs [Link]
1.5.3 Changing the s/l or t/p on all open orders
You can also change the s/l or t/p on all open orders by clicking on the chart. You
move the mouse over the price where you want to set the s/l or t/p (it is easier using
the MT4/5 crosshairs), and then hold down the Ctrl key while clicking – i.e. the same
method as for placing a pending order.
From the window which pops up, you then click on the s/l or t/p buttons and the s/l or
t/p will automatically move to the new price selected. For example, you can
Ctrl+click on the high or low of a bar to set the s/l or t/p to that price or use the cross
hairs or mouse cursor to select a new price .
By default, the Mini Terminal follows normal MT4/5 behaviour and lets you have buy
and sell orders open at the same time. If you turn on non-hedging mode, buy orders
close sell orders, and vice versa. For example, if you are long 0.10 lots and place a
sell order for 0.30 lots, then the buy order will be closed and a sell order will be
placed for the balance of 0.20 lots.
15
EAs [Link]
[1] 2. Smart Lines
The Smart Lines use line objects drawn on an MT4/5 chart as the stop-loss or take-
profit for positions. They provide three main features:
In the following example there are two converging trend-lines, one for the stop-loss
and one for the take-profit. In addition, there is a time (vertical) line which will close
the open position if the price has not already hit one of the trend lines by then.
Please note: Smart Lines are processed by your trading software, not by your
broker. Smart Lines rules which you create by drawing lines on a chart will be only
be applied while your trading software is running.
A window such as the following will then pop up, letting you choose what action the
line should take:
16
EAs [Link]
You can apply horizontal and trend-lines to all buy orders, or to all sell orders, or to any
selection of orders of the same type. (For example, if you have 5 open buy orders and 5
open sell orders, then you could select any 2 buy orders or any 4 sell orders from the drop-
down list, but you cannot choose a mixture of buys and sells.)
A horizontal line or trend-line must also be either a stop-loss or a take-profit. When you
create the Smart Line, the price must be valid as your selection of stop-loss or take-profit.
For example, if a line is below the current market price then it cannot be used as a take-
profit on a buy order.
Because they are not price-based, vertical lines can be applied to any selection of orders
without restriction.
17
EAs [Link]
• A percentage of the order/position size
• A fixed amount to close
• A fixed minimum amount to leave open
Please note that the Smart Lines always round up, on the basis that it is less risky to be out
of the market than in it. For example: your order/position is 0.50 lots; the line is configured
to close 25%; and the broker’s minimum trade size is 0.10 lots. 25% of 0.50 is 0.125 lots. This
will be rounded up to 0.20 rather than rounded down to 0.10.
You can change this behaviour using the Advanced options, telling the Smart Lines to apply
the rule to each order individually.
18
EAs [Link]
2.5 Advanced closure options
In order to be able to keep a line, it must have the following three characteristics:
• It cannot be a vertical (time) line – for obvious reasons, this can only apply to
horizontal or trend-lines.
• It must apply to all-orders (or all buy orders etc) rather than to specific individual
tickets.
• The amount to close must be 100%. It cannot be a smaller percentage or a fixed lot
size.
If you do not set a line to be removed when another line is triggered then the following can
happen:
• Price rises to 1.2400. 50% of the position is closed, e.g. closing 0.30 lots from a
position of 0.60 lots.
• Price then falls to 1.2300. A further 50% is closed, reducing the position from 0.30
lots to 0.15 lots.
19
EAs [Link]
2.6 Filtering the trades to be closed
If you select one of the all-order options, rather than specific individual tickets, then you can
apply filtering to that list. In effect, you are then saying “all orders which meet the following
conditions” rather than just “all orders”.
You can filter on profit, lot size, order comment, and order magic number. For example, by
changing the profit range to -9999999 to 0, you instruct the Smart Lines only to close any
losing positions, and not to touch any winning positions.
The order comment and magic number conditions can be comma-separated lists of values.
For example: 1234,2345,6789 tells the Smart Lines to close orders if their magic number is
any out of 1234 or 2345 or 6789. Comment filters must match the start of the MT4/5 order
comment, and are not case-sensitive.
You draw a horizontal line or a trend line on the chart, and then use the "New order" tab of
the Smart Lines window to define whether the line should be a buy or a sell order, and to
specify the volume to trade.
20
EAs [Link]
By default the Mini Terminal displays order ladders at the edge of the chart. These can be
used to place pending or market orders, as illustrated in the following screenshot:
The ladders can be turned off using the settings on the Inputs tab when you add the EA to
its chart, or using the options in Maxi mode.
As you move the mouse over the ladders, the software draws the corresponding entry price:
either a limit or a stop, depending on whether the line is above or below the current market
price.
• The first click fixes your entry price: either a limit or a stop, above or below the
current market price
• The second click sets either your stop-loss or your take-profit
• And the third click sets the other out of the stop-loss and take-profit, and places the
order into the market
21
EAs [Link]
3.3 Orders with no s/l, or no t/p
You can use a double-click to end an order definition early. For example:
This also means that you can simply double-click over the ladders to place a pending limit or
stop order with no take-profit or stop-loss.
22
EAs [Link]
The Mini Terminal also has a "maxi" mode, which you can switch into using the "expand"
icon . The Terminal is then docked to the edge of the chart, creating extra space for
displaying further options and features.
The options and tools are divided up into sections. Each section can be expanded and
contracted by clicking on its title, and you can re-order the sections by clicking and dragging
on their title bars. In addition, the Mini Terminal's settings icon lets you hide sections
completely from the list.
The sections which are available in maxi mode depend on your type of account. This user
guide describes some of the more common options.
23
EAs [Link]
Please note: you can only run one EA per chart in MT4/5. If an EA is already running on a
chart, then adding the Trade Terminal to that chart will replace the existing EA. To run both
the Trade Terminal and another EA, simply open more than one chart.
You can expand and contract each area using the double-arrow icons in the title bars. The
Trade Terminal will remember your preferred settings.
The Trade Terminal shows all activity on your account, not just orders placed using the
Trade Terminal itself. For example, if you are running an automated system, or you place
manual trades using MT4/5’s own built-in features, then this activity will be reflected in the
Trade Terminal’s account summary and order list.
24
EAs [Link]
[2] 2. Trading panels, market categories, and watchlists
These deal tickets have the same functionality as the on-chart Mini Terminal tool. Please see
the Mini Terminal user guide for a description of all the features of this deal ticket.
The Trade Terminal also shares order templates with the Mini Terminal. Again, the features
for setting up and using order templates are described in the Mini Terminal user guide.
The quick-access panel shows the contents of a watchlist, as a series of deal tickets. You can
switch between different watchlists using the button at the top of the panel.
The grid view shows current prices, the day's high and low, and any open position which you
have in each market. You can sort the grid by clicking on the column headers.
You can trade from the grid by clicking on the bid or ask prices, or by clicking on the action
item and choosing "New order". This displays the same dealing form which used in the deal
ticket and Mini Terminal tool.
2.5 Watchlists
A watchlist is simply a list of any markets which you want to display together. A watchlist
can combine markets from different categories such as fx and precious metals. A market can
appear in more than one watchlist.
25
EAs [Link]
2.5.1 The Manage Watchlists window
You can create, edit, and delete watchlists using the Manage Watchlists window. This is
accessible by clicking the Watchlists button at the top of the central trading panel or quick-
access panel.
You create a new watchlist by clicking on the New button in the window's toolbar, typing in
a name, and pressing Enter.
To edit, rename or delete a watchlist, start by clicking on it in the list to highlight it. You can
then use the buttons in the toolbar at the top of the window.
You can add markets to a watchlist by highlighting that watchlist, and then using the auto-
complete text box in the toolbar to search for a market's name.
You can change the order of markets in a watchlist using drag-and-drop: you simply select
the market and drag it to a new position. You can also move markets from one watchlist to
another using drag-and-drop.
The action menu contains the entry "Add to watchlist". You can add this to add the market
to an existing watchlist, or to create a new watchlist containing the market.
If a watchlist is currently selected in the central trading panel, then the search field adds the
market to that watch list.
If the central trading panel is displaying a market category, then the search field clears the
panel and displays only the selected market. (You can then add the market to one or more
watchlists by using the action icon in its deal ticket or grid row.)
26
EAs [Link]
[2] 3. Account summary
The account summary shows key information about your account: balance, equity, floating
P/L, free margin, number of open positions etc.
You can set an alarm on any entry by clicking on the number. For example, you can ask for
an alarm when your free margin falls below $1,000, or when the number of positions is zero
(i.e. when all positions have been closed). Alarms are displayed as popup alerts in MT4/5,
and can also be sent to you by email.
When an alarm has been created, a yellow bell icon is displayed next to the number. If an
alarm is then subsequently triggered, the colour of the icon changes to red.
3.3 Email
You can get an email notification when an alarm is triggered, as well as having the standard
alert pop up on screen. In order to receive email you need to turn on MT4/5’s email
settings, which you can configure using the main Tools/Options/Email menu in MT4/5.
• Close all orders. When the alarm is triggered, this option attempts to close all open
positions and delete all pending orders. It would typically used in relation to an
alarm on free margin, where you want to close out your positions in order to prevent
a margin call.
27
EAs [Link]
• Close all charts. This option closes all charts in MT4 apart from the Trade Terminal’s
own chart. The main purpose of this is to prevent automated systems (EAs) on other
charts from placing any further trades.
28
EAs [Link]
[2] 4. Order list
The order list shows all the open positions and pending orders on your account, and
provides facilities for managing those orders. It replicates the information from MT4’s own
order list, and includes some extra details such as trade duration and profitability in pips.
N.B. If the icon next to an order changes to then it indicates that the Trade Terminal is
carrying out some kind of automated action on the order: a trailing stop, or an automated
close, or that the order is part of an OCA group. You can check which actions are being
carried out by clicking on the icon and choosing “Tasks in progress”.
You can also re-arrange the columns in the list by dragging the headers: press and hold the
left mouse button over a header, and then drag the mouse pointer to the new location
where you want to put the column.
The “Close” option on the toolbar above the order list contains options for closing multiple
orders: close everything, close all losers etc.
As described above, you can close all the orders for a particular symbol by using its widget in
the market watch. (It is also possible to close all the orders for a symbol by opening a
summary of your orders by symbol, and then using the icon for the symbol and choosing
the “Close” option.)
29
EAs [Link]
4.3.1 Selecting orders from the list
You can select some of the orders in the order list and then carry out actions only on those
specific orders. The order list follows the standard behaviour for a Windows application:
• Clicking on an entry selects that row (and de-selects any existing entries).
• Using Shift+click selects all the entries between the current selection and the item
now being clicked on. For example, if there are 5 entries in the order list and you
want to select items 2 through 4, then you click on item 2 and Shift+click on item 4.
• Using Ctrl+click “toggles” an entry: i.e. selects it if it is currently de-selected, or de-
selects it if currently selected. Therefore, you can select all the entries in the list
except by one by clicking on the first entry, Shift+clicking on the last entry, and then
Ctrl+clicking on the order you want to leave out.
Once you have selected some entries in the order list, you can use the “Selected orders”
option on the Tools menu. This will be disabled (greyed out) if no orders are currently
selected.
You can do a partial close of an order, or set/modify its stop-loss (s/l), or its profit target
(t/p), or its trailing stop (t/s). The values for stop-losses and profit-targets are specified in
pips, though the s/l and t/p can also be set to break-even, i.e. the order’s entry price.
A partial close cannot always be processed exactly: for example, you cannot do an exact
50% partial close of an order for 0.03 lots, because 0.015 lots is not a permitted size. Partial
closes always round down to the nearest lot size permitted by your broker. For example, if
you ask to close 50% of an order for 0.03 lots, then the software will close 0.01 lots, leaving
an order for 0.02 lots.
Please note: trailing stops are processed by the Trade Terminal software, not by your
broker. The trailing stop will cease operating if you close the Trade Terminal (or MT4).
You can also open a pop-up window for each order by clicking on its ticket number, or by
clicking on the icon and choosing “Edit…”
The pop-up window shows how close the s/l and t/p are to being hit (e.g. for long orders,
the distance from the current bid price to the s/l), and the cash effect on the balance if the
s/l or t/p is hit. The current profit for the order shown in the top-right of the window can be
switched between cash and pips by clicking on it.
You can close the order using the red button, and you can change the s/l, t/p or trailing stop
by clicking on those options.
30
EAs [Link]
4.4 Automated closes
Automated closes let you define rules for exiting an open position. These can consist of
multiple parts (e.g. scaling out of a position when profit thresholds are met), and can
include visual and email alerts. Automated closes can also be saved as templates for quick
re-use in future.
Please note: automated closed are processed by the Trade Terminal software, not by your
broker. They will cease operating if you close the Trade Terminal (or MT4/5).
You create an automated close, or run an existing one, by choosing “Automated close” from
the Tools menu for an order (or multiple orders), and then choosing “Create” to define a
new automated-close rule, or “Edit” if there is already an active automated-close on the
order.
Each automated close can consist of any number of stages: for example, close 50% of the
order and set a break-even stop when it reaches 20 pips of profit, and close the remainder
of the order when it reaches 30 pips. You simply click on the “Add a rule” link to add a stage
to the automated-close.
Please note that the percentage of an order to close is specified in relation to its original
size, not the current size following any previous partial closes. For example, if you have two
stages, and each of them is configured to close 50% of the order, then the order will be
completely closed when the second stage is reached. (In other words, this does not close
50% of the order, and then close 50% of the remainder, leaving 25% of the original order
open.)
31
EAs [Link]
choosing “Automated close” from the Tools menu and selecting the template from the sub-
menu.
You can organise your list of saved automated-close templates, removing any which you no
longer need, by choosing “Manage templates” from the sub-menu.
Please note: OCA groups are processed by the Trade Terminal software, not by your broker.
They will cease operating if you close the Trade Terminal (or MT4/5).
You create an OCA group by choosing “Create OCA group” from the OCA menu. This option
is only available if you have at least two pending orders. You simply choose a name for the
group, so that you can recognise it in future, and tick the pending orders which you want to
include in the group.
A single order can belong to multiple OCA groups, and orders in a group can be for different
symbols.
You can delete an OCA group by choosing “Delete OCA group” from the OCA menu. Please
note that this does not delete the pending orders; it only stops the Trade Terminal from
running the OCA rule on those orders.
This pops up a floating window containing aggregated information about the orders such as
their combined profitability in cash and pips, and their total volume. The summary contains
separate sets of columns for open positions and pending orders.
You can carry out actions on all the orders in a category by clicking on its icon. This
displays the tool menu described above.
4.7.1 Settings
You can control the settings for the Trade Terminal (and also all copies of the on-chart Mini
Terminal) by choosing “Confirmations and preferences” from the Settings menu in the
toolbar above the order list.
32
EAs [Link]
The options available may depend on your broker, but you will typically see the following
settings:
• Confirm new orders. Turns on or off confirmations when you place a quick order by
clicking on the green and red buy and sell buttons in a trading widget.
• Confirm close-all. Turns on or off confirmations when you close all the orders for a
symbol by clicking on its status indicator.
• Hedging mode. By default the Trade Terminal is usually installed in hedging mode,
which is the standard behaviour for MT4/5 as a whole: if you place a buy order and
then place a sell order for the same symbol (or vice versa), the software will create
two open orders. (Please note that hedging is not permitted on US brokers:, a sell
order will be rejected if you already have an open buy order.) However, you can also
choose to run the software in non-hedging mode. If you have an open buy order,
and you place a sell order, then the sell closes the buy rather than creating a new
order. For example, if you are long 0.3 lots, and you sell 0.1 lots, then you will be left
with a buy order for 0.2 lots. Alternatively, if you are short 0.2 lots, and you place a
buy order for 0.3 lots, then you will be left with a buy order for 0.1 lots.
You can continue trading, and modifying orders etc, while the Trade Terminal is undocked.
When you want to re-dock the Terminal, you simply click on the option on the Settings
menu again.
33
EAs [Link]
[3] ALARM MANAGER
In essence, the Alarm Manager is a set of building blocks which you can use to create a
completely personalised and automated trading companion. For example, you can use the
Alarm Manager to do any and all of the following:
• Warn you on screen (or by email, or SMS) if your margin usage exceeds 20%
• Close all losing positions if drawdown on your account exceeds 10%
• Send a message to followers on Twitter (or email or SMS) every time you trade
• Automatically place orders or close positions at a time in the future, e.g. “at 2pm” or
“in 30 minutes time”
• Warn yourself if you have open positions without a stop-loss
• Automatically place orders or close positions based on technical indicators such as
RSI or moving-average crosses
• Send a message to followers on Twitter whenever there is a new 30-day high in an
instrument
• Display a message congratulating yourself if you have 3 consecutive winning trades
• Remind yourself to stop trading if you have 4 consecutive losing trades, or if your
balance declines by more than 3%, or if your win/loss % falls below 30%
• Show a message 10 minutes before high-impact events in the economic calendar
• Place a new order when RSI is above 70 on three different timeframes
• Place a new order if RSI goes above 70 or there is a MACD cross of the signal line
34
EAs [Link]
[3] 2. Overview of the Alarm Manager
A group is just a label, to help you organise your alarms. You can put any type of alarm into
any group.
Each alarm can have any number of actions associated with it. For example, when an alarm
is triggered it can pop up a message, and/or place a trade, and/or send an email.
This shows the condition for the alarm (e.g. open loss of more than 10%); the current value
(e.g. -7.5%); and whether the alarm has been triggered.
The condition for the alarm has not been met yet (or the alarm has been reset). Any
actions for the alarm will be carried out in future when the conditions are met.
The condition for the alarm has been met, and any actions have already been carried
out. The actions will not be carried out again until the alarm is reset.
You can edit an alarm by clicking on the text display on the left, and you can reset an alarm
by clicking on the trigger on the right.
2.3 Triggers
An alarm is either already triggered or not yet triggered, but an alarm can have three states:
35
EAs [Link]
For example: the alarm is set to go off if margin usage exceeds 10%, and margin usage is
currently above 10%. (An alarm cannot be reset if it is in this state.)
For example: the alarm is set to go off if margin usage exceeds 10%. Margin usage in the
past rose about 10%, and the alarm was triggered, but margin usage is now back below
10%.
The actions are not carried out again until (a) the alarm is reset and (b) it is then triggered
again.
You can reset an alarm manually by clicking on the trigger: . You can also configure
alarms to reset automatically after a period of time such as 10 minutes.
You cannot manually reset an alarm if it would go off again immediately. For example, you
have an alarm on margin usage above 10%, and margin usage is currently above 10% and
the alarm has been triggered. This alarm cannot be reset at the moment because margin
usage remains above 10%, and the alarm would go off again immediately.
36
EAs [Link]
While a group is disabled, all the alarms in it continue to update, but they are not triggered
when their conditions are met, and no actions are carried out.
• You can do this manually to prevent alarms going off without having to permanently
delete the alarms
• You can use actions on alarms to disable a group. In effect, you can create a “one-
cancels-all” group of alarms where the first alarm to trigger prevents all the others
from triggering.
37
EAs [Link]
[3] 3. Creating and editing alarms
If you want to create a new alarm in a new group, then you simply choose a new group
name when configuring the alarm: change the group name in the “Alarm settings” section.
The different types of alarm are listed separately below. (This list is constantly being
extended, but some types of alarms are not available on some trading platforms.)
38
EAs [Link]
alarms displayed in blue.
• You can replace the usual text for the alarm with a fixed caption. For example, if you
have an alarm on 5 consecutive losses, then you can use the fixed caption so that the
title of the alarm becomes “Stop trading!” instead of “5 consecutive losses”.
However, you can configure alarms so that they are reset automatically. For example, you
can get a warning when margin usage goes over 10%, and you can configure the alarm to
reset if margin usage falls below 10% for at least 5 minutes. You will get another message if
margin usage goes above 10%; falls below 10% for at least 5 minutes; and then rises back
above 10%.
• Immediate reset
• Timed reset after trigger
• Timed reset after the signal clears, i.e. after the conditions for the alarm are no
longer met
• Reset at the start of the next bar (only applicable to technical indicators and price
alarms)
For example: you can use immediate auto-reset on a timer countdown. If you have a timer
set to 5 minutes, with immediate auto-reset, then its actions will be carried out every 5
minutes.
39
EAs [Link]
For example: you set an alarm on margin usage, and you want to be warned every 10
minutes even if margin usage simply stays above the threshold such as 25%
You configure the alarm to auto-reset 10 minutes after it is triggered. If, 10 minutes later,
margin usage is above the threshold then the alarm will go off again, regardless of whether
or not margin usage had fallen below the threshold during those 10 minutes.
For example: you set an alarm on margin usage, but you do not want repeated alerts if
margin usage simply stays above the threshold such as 25%.
You configure the alarm to auto-reset 5 minutes after the signal is cleared. You will then get
two separate alerts if the following happens:
In this scenario you will not get repeated alerts if the following happens:
For example: you want to be notified about new 30-day highs, but you do not want
repeated notifications during the same day as new highs are continually reached.
You create a bar-breakout alarm which monitors the previous 30 days, and you configure
the auto-reset to be “start of next bar”. You will get one notification today if a new high is
set, and you will get another notification tomorrow if today’s new high is then breached
tomorrow.
40
EAs [Link]
You assign new actions using the “Add action” button, and you can change existing actions
by clicking on their titles in the list.
The different types of actions are described below, and they consist of the following main
categories:
41
EAs [Link]
[3] 4. Creating and editing alarm groups
Alarms are divided up into groups. The groups are just labels, and you can give them any
names you want. You can put any type of alarm into any group. (If you want to, you can put
an account alarm into a group which you have called “News alarms”.)
In other words, you do not create a new group by itself. Instead, you do the following:
You can use these settings to change the name, to change the order in which groups are
displayed, and to disable the group of alarms.
You can also assign actions to the group itself (as well as, or instead of, to the individual
alarms in the group).
42
EAs [Link]
You can configure a group’s actions to be carried out under three different circumstances:
For example, you want to discipline yourself to stop trading when things are going badly.
You want a reminder when you have had three consecutive losing trades and you have also
had open drawdown of more than 3%, but not necessarily at the same time. You do the
following:
This will then display the message if the following events happen in either order:
• You go more than 3% into loss (even if you later return to profit)
• You have three losing trades
For example: you want to open a new position when RSI on three different timeframes is
simultaneously above 70. You do the following:
• Create the three separate alarms for RSI on the different time periods
43
EAs [Link]
• Create an action for the group which places a new order
• Set the group’s actions to be triggered if all the alarms are currently signalled
For example, you want to place a new order if RSI goes above 70 or if MACD crosses above
its signal line. You do the following:
44
EAs [Link]
[3] 5. Types of alarm
45
EAs [Link]
• Balance changes. The app looks at changes in the balance rather than individual
positions. If you have a basket of trades which is closed simultaneously, then these
will count as one winning trade, not multiple (consecutive) winning trades
5.2.5 Win/loss %
The “win/loss %” alarm calculates the win/loss percentage on closed trades, starting from
trades which are closed after the alarm is created. You choose a minimum number of trades
before the alarm can become active (so that one single winner is not immediately treated as
a win rate of 100%).s
Some platforms require a stop-loss to be created separately after opening a new position.
Therefore, the alarm has a parameter which lets you control how quickly it goes off after
detecting a new position.
46
EAs [Link]
5.4 Time alarms
The time of day is interpreted based on the current time when you create the alarm. For
example, if you create an alarm for 3am when it is currently 2pm, then the alarm will be
treated as 3am tomorrow (and not 3am today, causing the alarm to go off immediately).
You can use the alarms parameters to choose between different providers of calendar data,
what impact of events to alert about, and how long before each event to trigger the alarm.
5.5.2 Sentiment
The “sentiment” alarm is triggered by current market sentiment in terms of the number of
traders who are currently long/short in a symbol. For example, you can use the alarm to
alert yourself when fewer than 20% of traders are long USD/JPY.
You can choose between different providers of sentiment data. The symbols for which
sentiment is available will depend on the data provider; usable sentiment data is only
available for heavily traded instruments.
Price-type determines the type of price to use in the indicator calculation: each bar’s close;
or its median price (average of high and low); or the average of high, low and close.
Bar-shift determines whether the calculation looks at the current in-progress bar, or
whether the calculation is shifted back to ignore one or more bars. For example, in order to
47
EAs [Link]
ignore moving-average crosses during the current bar, which may cross back again before
the bar ends, set the shift value to 1.
The “swing point” alarm only looks at completed bars. It does not inspect the current bar,
and therefore it does not get triggered by swing points which can be cancelled later in the
bar by setting a new high or low.
5.6.4 Stochastic
The “stochastic” alarm is triggered by values of the stochastic oscillator indicator. You define
the parameters for the calculation in the usual way (i.e. %K, %D, and slowing), and you can
then choose different types of alarm: either %K crossing %D, or %K or %D crossing an
absolute level such as 65.
5.6.5 MACD
The “MACD” alarm is triggered by values of the MACD indicator. You define the parameters
for the calculation in the usual way (i.e. the periods for the two moving averages, and the
signal period), and you can then choose different types of alarm: either MACD crossing its
signal line, or MACD or the signal crossing absolute values such as -0.0020.
48
EAs [Link]
5.6.7 Average true range
The “average true range” alarm is triggered by values of the ATR indicator (Wilder
definition). You define the parameters for the calculation and set a threshold such as 0.01.
49
EAs [Link]
[3] 6. Types of action
All text parameters for actions – e.g. messages, URLs – can use variables described below.
For example, the default text for a pop-up alert window uses the variables {DATE} and
{TIME} which are replaced by the current date and time.
6.1 Notifications
50
EAs [Link]
6.3 Close positions
If you turn on the “non-hedging mode” option then the order is offset against any existing
position in the opposite direction. For example: if you buy 0.3 lots and you are currently
short 0.1 lots, then the open sell position will be closed and a new buy order will be placed
for 0.2 lots.
Please note that the ability to set a stop-loss or take-profit on the new order is not available,
and is disabled, on some trading platforms.
The entry price for order can either be a fixed price, or it can be a number of pips from the
current price. For example: a sell-stop 20 pips from the current price means 20 pips above
the current bid price.
Please note that the ability to set a stop-loss or take-profit on the new order is not available,
and is disabled, on some trading platforms.
51
EAs [Link]
6.5 Miscelleaneous actions
Disables the group to which the alarm belongs. This can be used to create a “one-cancels-
all” groups of alarms where the first alarm to be triggered prevents any other alarms in the
same group from being triggered.
52
EAs [Link]
[3] 7. Text variables
All the text parameters used in actions can contain variables which are replaced before the
text is used.
For example, you can set the text of a pop-up alert, or an email, or a tweet to Your account
equity is {ACCEQUITY} and this will be converted to something such as Your account equity is
15224.97 before sending/displaying.
Other miscellaneous variables which can be used with some alarms are as follows:
Variable Description/replacement
{BALANCECHANGE} For the balance change alarm, the cash size of the balance change which
triggers the alarm
53
EAs [Link]
[4] Excel RTD
• Put real-time data into Excel using only Excel’s RTD() function. No macros; no
programming; no XLL add-ins
• Send simple trading commands from VBA code in Excel
You can run multiple copies of the Excel RTD app for different accounts, and then combine
the data for those accounts in a single spreadsheet.
The app is supplied with an example spreadsheet which lets you enter up to 5 account
numbers, and then automatically displays a dashboard of equity and balance etc; symbol
prices; and a consolidated list of open positions.
54
EAs [Link]
[4] 2. Displaying real-time data in Excel
• MT4/5: the app will report all the symbols which are included in the MT4/5 market
watch
• Tradable: the app will report all available symbols in the platform
• All other platforms: you configure which symbols the app reports using the app’s
Symbols menu.
For example, if your account number is 156734 and you want to display the account’s
balance, or the bid price of GBPUSD:
Please note: with some language settings – for example, Polish – Excel may want the
sections of the formula to be separate by semi-colons instead of commas. For example:
55
EAs [Link]
2.3.1 Account data properties
Property Meaning
currency The deposit currency of the account
balance Account balance
equity Account equity
pl Floating profit/loss
usedmargin Margin in use
freemargin Free margin
tickets Number of “tickets“: open positions and pending orders
Property Meaning
bidSymbol Bid price of symbol
askSymbol Ask price of symbol
highSymbol Daily high of the symbol. Not available on all platforms. The
definition of the day’s start (e.g. GMT, or some other time zone)
depends on the broker/platform.
lowSymbol Daily low of the symbol. Not available on all platforms. The
definition of the day’s start (e.g. GMT, or some other time zone)
depends on the broker/platform.
The app also provides a count and a list of all configured symbols. For example, the
following formulas return the number of available symbols and the name of the 5 th symbol
on the list (which can be in any order):
Property Meaning
symbols Number of symbols
sN Name of the nth symbol, e.g. EURUSD. The N value is an index
between 1 and the total number of symbols
56
EAs [Link]
For example, you can get the symbol name and net profit of the 2nd ticket (if there is one)
using the following formulas:
Property Meaning
tNt Ticket number, i.e. the ID of the open position or pending order
tNa Action: BUY, SELL, BUYLIMIT, SELLLIMIT, BUYSTOP, SELLSTOP
tNs Symbol name
tNv Volume
tNnpl Net profit (gross profit + commission + swap). Not applicable on
pending orders, and reported as zero.
tNpl Gross profit. Not applicable on pending orders, and reported as
zero.
tNswap Swap. Not applicable on pending orders, and reported as zero.
tNcomm Commission. Not applicable on pending orders, and reported as
zero.
tNsl Stop-loss price
tNtp Take-profit price
tNop Open/entry price
tNcp Current price of symbol
tNcm Order comment
tNmg Order magic number (MetaTrader 4 only)
tNot Open time (as number of seconds since 1/1/1970)
57
EAs [Link]
M4 4
M5 5
M6 6
M10 10
M12 12
M15 15
M30 30
H1 60
H2 120
H3 180
H4 240
H6 360
H8 480
D1 1440
D2 2880
W1 7200
Data Meaning
time Start time of the bar (in the format yyyy/mm/dd hh:mm:ss)
open Open price
high High price
low Low price
close Close price
range Range from high to low
median Average of high and low
typical "Typical" price: average of high, low, and close
weighted "Weighted" price: average of high, low, close, and close – i.e. double-
weighting on the close value
change Change in bar: close minus open, therefore negative for down bars and
positive for up bars.
abschange Absolute change value, i.e. change converted to a positive number if
negative
Therefore, the close price on bar 0 (for any timeframe) is the current bid price. In effect, the
following two formulas are identical:
58
EAs [Link]
=RTD("[Link]", , "156734", "@bh,GBPUSD,60,close,0")
The amount of data available on each timeframe depends on the underlying platform, but
will typically be around 250 bars.
Please note that the technical indicators are not available on the tradable platform.
The property name for a technical indicator starts with an indicator name such as @rsi or
@ema, and is then followed by a list of parameters separated by commas.
The first two parameters for an indicator are always the symbol name and the timeframe,
which can be specified either as H2 or as the equivalent number of minutes such as 120.
The last parameter is always the bar "shift". You will normally want to use a value of 0 for
the shift, in order to get the current indicator value, but you can also use a shift of e.g. 1 to
get the value of the indicator at the end of the previous bar. (The only exception are the
swing-point indicators, which always return the latest swing point and do not use a shift
parameter.)
Many indicators can be applied to different data values from each bar, e.g. the high price or
even the bar range instead of the close price.
Please bear in mind that exponential moving averages and similar calculations are affected
by the amount of available bars. For convenience, everyone always refers to the N value in
such calculations as "N bars" (e.g. "21-bar EMA"), but this is not what it truly means. The N
is a weighting factor, and a calculation such as an EMA always looks at the entire bar history
which it has collected, but giving increased weight to the most recent N bars. Two
calculations of an EMA can be different – though only usually by small amounts – if they are
using different amounts of bar history.
59
EAs [Link]
The indicator’s parameters are as follows:
Parameter Meaning
symbol Symbol name, e.g. GBPUSD
timeframe Bar timeframe, as a number of minutes or a notation such as H1 or M3
data Data to use from each bar, e.g. close or high
period Number of bars to calculate the average over
shift Bar shift, e.g. zero in order to get the current value of the indicator
Parameter Meaning
symbol Symbol name, e.g. GBPUSD
timeframe Bar timeframe, as a number of minutes or a notation such as H1 or M3
data Data to use from each bar, e.g. close or high
period Number of bars to calculate the average over
shift Bar shift, e.g. zero in order to get the current value of the indicator
For example, the following formula does an average of the close prices of the last 21 bars on
GBP/USD H1:
Parameter Meaning
symbol Symbol name, e.g. GBPUSD
timeframe Bar timeframe, as a number of minutes or a notation such as H1 or M3
data Data to use from each bar, e.g. close or high
period Number of bars to calculate the average over
shift Bar shift, e.g. zero in order to get the current value of the indicator
60
EAs [Link]
Parameter Meaning
symbol Symbol name, e.g. GBPUSD
timeframe Bar timeframe, as a number of minutes or a notation such as H1 or M3
data Data to use from each bar, e.g. close or high
period Number of bars to calculate the average over
shift Bar shift, e.g. zero in order to get the current value of the indicator
For example, the following formula calculates MACD for GBP/USD M30, using the standard
12-bar fast EMA and a 26-bar slow EMA, and applying the calculation to the high price of
each bar:
Parameter Meaning
symbol Symbol name, e.g. GBPUSD
timeframe Bar timeframe, as a number of minutes or a notation such as H1 or M3
data Data to use from each bar, e.g. close or high
fast Number of bars for the fast EMA
slow Number of bars for the slow EMA
slowing Smoothing period for the signal value
shift Bar shift, e.g. zero in order to get the current value of the indicator
Parameter Meaning
symbol Symbol name, e.g. GBPUSD
timeframe Bar timeframe, as a number of minutes or a notation such as H1 or M3
period Number of bars to calculate the average over
61
EAs [Link]
shift Bar shift, e.g. zero in order to get the current value of the indicator
Parameter Meaning
symbol Symbol name, e.g. GBPUSD
timeframe Bar timeframe, as a number of minutes or a notation such as H1 or M3
period Number of bars to calculate the indicator over
shift Bar shift, e.g. zero in order to get the current value of the indicator
For example, the following formula calculates the oscillator on GBP/USD H2 bars, using
standard parameters of (5,3,3) – i.e. K period of 5, D period of 5, slowing value of 3.
Parameter Meaning
symbol Symbol name, e.g. GBPUSD
timeframe Bar timeframe, as a number of minutes or a notation such as H1 or M3
k K period for the calculation
d D period for the calculation
slowing Slowing period (moving average of D values)
shift Bar shift, e.g. zero in order to get the current value of the indicator
For example, the following formula calculates the upper band on GBP/USD M10, using an
average of the close prices on the last 30 bars, and 2 standard deviations:
62
EAs [Link]
Parameter Meaning
symbol Symbol name, e.g. GBPUSD
timeframe Bar timeframe, as a number of minutes or a notation such as H1 or M3
data Data to use from each bar, e.g. close or high
period Number of bars to calculate the indicator over
deviations Number of standard deviations to calculate (e.g. 2)
shift Bar shift, e.g. zero in order to get the current value of the indicator
For example, the following formula calculates the volatility of the last 21 bar-ranges on
GBP/USD M10:
Parameter Meaning
symbol Symbol name, e.g. GBPUSD
timeframe Bar timeframe, as a number of minutes or a notation such as H1 or M3
data Data to use from each bar, e.g. close or high
period Number of bars to calculate the indicator over
shift Bar shift, e.g. zero in order to get the current value of the indicator
For example, the following formula calculates CCI using the typical bar price for the last 14
bars on EUR/USD H1:
Parameter Meaning
symbol Symbol name, e.g. GBPUSD
timeframe Bar timeframe, as a number of minutes or a notation such as H1 or M3
data Data to use from each bar. CCI is usually calculated on the "typical" bar
price
period Number of bars to calculate the indicator over
shift Bar shift, e.g. zero in order to get the current value of the indicator
63
EAs [Link]
[Link] @high – Highest bar value
You can calculate the highest of a series of bar values using the @high indicator. For
example, the following formula calculates the highest high during the last 20 GBP/USD D1
bars:
The indicator can be applied to any bar data. For example, you can find the highest low as
well as the highest high. You can also use it to find the bar with the largest range or change.
Parameter Meaning
symbol Symbol name, e.g. GBPUSD
timeframe Bar timeframe, as a number of minutes or a notation such as H1 or M3
data Data to use from each bar, e.g. close or high
period Number of bars to calculate the indicator over
shift Bar shift, e.g. zero in order to get the current value of the indicator
The following formula calculates the smallest D1 bar range during the last 20 GBP/USD D1
bars:
Parameter Meaning
symbol Symbol name, e.g. GBPUSD
timeframe Bar timeframe, as a number of minutes or a notation such as H1 or M3
data Data to use from each bar, e.g. close or high
period Number of bars to calculate the indicator over
shift Bar shift, e.g. zero in order to get the current value of the indicator
For example, the following formulas finds the most recent swing-high and swing-low prices
on GBP/USD M5, using a 5-bar swing (2 bars either side of swing point) and not allowing an
"unconfirmed" swing involving the current bar:
64
EAs [Link]
The indicator’s parameters are as follows. Please note that the @swingh and @swingl do
not have a bar "shift" parameter; they only return the most recent swing price.
Parameter Meaning
symbol Symbol name, e.g. GBPUSD
timeframe Bar timeframe, as a number of minutes or a notation such as H1 or M3
data Data to use from each bar. You normally use "high" with @swingh, and
"low" with @swingl. However, you can use any value; for example, you
can use "high" with @swingl to find a bar which has a lower high than
the bars around it.
swingbars Number of higher/lower bars required either side of the swing bar. The
usual value is 2, for a five-bar swing consisting of two lower
highs/higher lows either side of the swing bar, but you can use any
value from 1 (i.e. three-bar swing) upwards.
unconfirmed Either 0 or 1. Zero ignores the current bar and only allows "confirmed"
swings. 1 includes the current bar, and allows "unconfirmed" swings
which can change depending on price movements during the current
bar.
For example, the following formula calculates the lower Keltner channel on GBP/USD H1,
using a 20-bar EMA minus half of 10-bar ATR:
Because Keltner channels are simply a combination of an EMA and ATR, the formula above
is equivalent to the following:
Parameter Meaning
symbol Symbol name, e.g. GBPUSD
timeframe Bar timeframe, as a number of minutes or a notation such as H1 or M3
data Data to use from each bar, e.g. close or high, for calculating the EMA
emaPeriod Number of bars to use for the EMA
atrPeriod Number of bars to use for the ATR
atrMultiple Multiples of ATR to add to/subtract from the EMA
65
EAs [Link]
shift Bar shift, e.g. zero in order to get the current value of the indicator
Property Meaning
LastUpdateTime Time of the last update from the RTD app. Will report 1/1/2000
if the RTD app is not running for the account.
A B C
1 Symbol/Account 12376522 265823654
2 EURUSD [ see below]
3 GBPUSD
You could then fill the formula from cell B2 into B3, C2 etc and the cell references would
automatically adjust.
(The CONCATENATE function in Excel simply joins two pieces of together. In the above
example it is joining the text "bid" with the symbol name in column A, to produce the
property name bidEURUSD or bidGBPUSD.)
(Unless you are using something like an MT4 mini account with a lot size of 10K instead of
100K, in which case 0.20 lots would be 2000 instead of 20000.)
66
EAs [Link]
[4] 3. Sending trading commands from Excel
The RTD app can also be used to send simple trading commands from VBA code in Excel.
You can also programmatically read the same data which is available via the RTD function.
The following features can in fact be used from any programming language which supports
COM, not just from VBA in Excel.
In other words: you create an instance of the [Link] object; you use the
Connect() function to link it to a specific account number; and then you can use the Read()
function to get data about the account.
The property names for the Read() function are the same as the property names for use
with Excel’s RTD function.
In order to check whether data is actually available you can use Read() to make sure that
properties such as balance are not blank, or you can read the LastUpdateTime property and
check that the time is later than 1/1/2000.
If you are querying multiple pieces of data, particularly multiple pieces of ticket data, then
you need to be careful about updates and data consistency. For example, consider the
following code which loops through the ticket list:
For i = 1 To [Link]("tickets")
strSymbol = [Link]("t" & i & "s")
vVolume = [Link]("t" & i & "v")
Next
67
EAs [Link]
• Between the two uses of Read(), i.e. between the execution of lines 2 and 3, one of
the tickets is closed.
• Therefore, what used to be ticket 2 becomes ticket 1.
• As a result, at the end of the first loop, strSymbol will hold the symbol of the ticket
which is now closed, and vVolume will hold the volume of the ticket which is still
open.
To ensure consistency while reading multiple pieces of data, use [Link](). This
will suspend any changes to the data until you then use [Link](). For
example:
[Link]()
For i = 1 To [Link]("tickets")
strSymbol = [Link]("t" & i & "s")
vVolume = [Link]("t" & i & "v")
Next
[Link]()
You can send simple commands from Excel using the [Link] object. For
example:
SendCommand() is synchronous. It returns either when the RTD app completes the
command, or when the timeout period expires. (Timeout does not mean that the request
such as a market order has been withdrawn/cancelled. It only means that the
broker/platform has not responded within the acceptable time.)
68
EAs [Link]
The return value from SendCommand() is a string, beginning either with ERR: to indicate
that an error occurred, or with OKAY:. The only exception to this is the TEST command,
which returns the text HELLO.
• "Magic numbers" are only valid for MT4 and MT5, and these parameters will be
ignored on other platforms.
• Order comments are only available on some platforms.
• Stop-losses and take-profits are not currently supported on tradable
Trading volumes are always specified as cash amounts, not as lot sizes. The format of
symbol names depends on whether the "Use standardised symbol names" option is turned
on in the RTD app.
69
EAs [Link]
[Link] BUYLIMIT, SELLLIMIT, BUYSTOP, and SELLSTOP commands
Submits a new pending order. If successful, it returns the ID of the new ticket in the form
OKAY:ticket-number
70
EAs [Link]
sl Optional Stop-loss price for the new position
tp Optional Take-profit price for the new position
comment Optional Comment for the new position
magic Optional Magic number for the new position
For example:
71
EAs [Link]
[Link] ORDERMODIFY command
Changes both the stop-loss and take-profit on an open trade or pending order. For pending
orders, you can also alter the entry price.
Property Meaning
ERR:Need account Account value for SendCommand() is blank
ERR:Need command Command value for SendCommand() is blank
ERR:No listening app Cannot find an running instance of the RTD app for
the specified account
ERR:No response within No response from the broker/platform within the
timeout specified number of seconds
ERR:Commands not allowed The "Allow commands" option is not turned on in
the RTD app
ERR:Unrecognised command The command value for SendCommand() is not
understood by the RTD app
ERR:Missing parameters The command was missing one or more compulsory
parameters
For example:
72
EAs [Link]
Set cmd = CreateObject("[Link]")
lCommandId = [Link]("10915", "BUY", "s=EURUSD|v=10000",
60)
strResult = ""
While strResult = ""
strResult = [Link](lCommandId)
If strResult = "" Then MsgBox "Still waiting..."
Wend
[Link] (lCommandId)
CheckAsyncResult() either returns a blank string if the command is still executing and has
not reached its specified timeout or, if complete, it returns the same string response as
SendCommand().
73
EAs [Link]
[5] MARKET MANAGER
• It shows a “watch list” of both symbol prices and open positions, with facilities for
closing positions and opening new ones
• It shows headline information about the account, such as equity, balance, and
margin usage.
• It shows a list of all open tickets, i.e. all open positions and pending orders, with the
ability to open each ticket as a separate window, and then modify or close the
position or order.
• It provides a concise summary of recent price activity on a symbol
On other platforms, you control which symbols are displayed using the app’s Symbols menu.
You can use this Symbols menu to do a number of things:
• Quickly switch between currency-pairs for a particular currency, e.g. all USD pairs
such as EURUSD, USDJPY etc
• Create a bespoke list of symbols
• Save a list of symbols as a “set”, and then quickly re-load a set.
This is the same dealing form used in FXBlue’s very popular Trade Terminal and Mini
Terminal apps. It can be used to load trading templates created in other modules of the
software, or to create new templates.
74
EAs [Link]
1.2.2 Quick trade-entry from templates
The Market Manager shares templates with FXBlue’s Trade Terminal and Mini Terminal
apps. You can quickly execute a template by holding down the Ctrl key while clicking on the
bid or ask price for a symbol, and then clicking on the template name:
Please note: templates have an order-type stored as part of their definition. In this context,
the order-type is replaced by “buy” or “sell” depending on whether you have clicked on the
bid price or the ask price.
If there are multiple tickets which make up a position, you can close individual tickets using
the order list.
75
EAs [Link]
You can close a position or pending order by clicking on its volume, or you can inspect and
order and change its details by clicking on the action such as “Buy” or “Sell”. This opens an
order window as discussed in the next section.
76
EAs [Link]
Please note: when a s/l or t/p is set to a value in pips, it is measured from the open/current
price. For example, a buy at 1.2345 with a s/l of 10 pips will have its s/l set to 1.2335. (In
other words, when creating a s/l or t/p on an order, pip values are measured from the ask
price.) However, the information in the pop-up order window shows how close the s/l and
t/p are to being hit; the figures are measured from the other side of the spread.
77
EAs [Link]
• Current price versus the high-low range over the last 60 minutes, 24 hours, and 5
days.
• Recent H1, M15 and M5 candles.
• The current volume and profitability of any open position in the symbol.
This is drawn from the data in your trading platform, and there can be a short delay before
all the information appears if the historic data needs to be downloaded from the broker’s
servers.
Please note that the gauge for the last 60 minutes is not the same as the current H1 candle.
The former runs from e.g. 10.23am to 11.22am whereas the current H1 candle runs from
e.g. 11.00am to 11.22am.
The symbol window can be switched so that it shows very recent price activity instead of
the candles, using the button highlighted in the following screenshot. This is not a tick chart;
it is a 500-millisecond chart which continues updating even if there is no market activity.
78
EAs [Link]
• Open the standard dealing form by clicking on the Buy and Sell buttons in the top-
left and top-right corners.
• Quickly execute a saved template by holding down Ctrl while clicking on the Buy or
Sell buttons.
• Symbol information. Same as a simple click on the symbol; opens a pop-up window
for that symbol.
• Place order. Opens the standard dealing form.
79
EAs [Link]
[6] CORRELSTION MATRIX
The Correlation Matrix shows the correlation between symbols over a configurable
timeframe and number of bars, for example the last 100 H1 bars.
• +100 means that the price movements in symbol A and B have been identical
(“positive correlation”).
• -100 means that the price movements in symbol A and B have been exactly opposite:
A went up when B went down, and vice versa (“negative correlation”).
• 0 means that the symbols have moved independently.
Correlation can have a major effect on your trading risk. For example the following charts
show H1 EURUSD and USDCHF over the same time period:
These symbols had very strong negative correlation (about -95). If you were long EURUSD
and short USDCHF over this period, or vice versa, then you would have seen very similar
profits on both positions. In effect, you did not have two positions: you only really had one
position. (If you were long both symbols, or short both symbols, then you probably had a
profit on one and a matching loss on the other.)
The Correlation Matrix helps you to identify symbols with strong or weak correlation.
80
EAs [Link]
[6] 2. Using the Correlation Matrix
It makes little difference whether values are positive or negative (e.g. +90 or -90), and the
meaning depends on whether you are long or short each symbol. For example:
• +90. If you are long both symbols, or short both symbols, then you will tend to see
identical profits or losses on both positions. If you are long one symbol and short the
other, then you will tend to have a matching profit and loss.
• -90. If you are long both symbols, or short both symbols, then you will tend to have a
matching profit and loss. If you are long one symbol and short the other, then you
will tend to see identical profits or losses on both positions.
The chequered cells show rows and columns which are the same (i.e. correlation of EURUSD
against itself is meaningless). The grid is symmetrical either side of the chequered line: e.g.
the correlation of EURUSD against USDCHF is the same as the correlation of USDCHF against
EURUSD.
Correlation between symbols changes over time, and recent correlation may not continue in
future. As a general rule, the settings which you choose should be related to how long you
81
EAs [Link]
intend to keep open positions for. For example, if you expect a position to be open for 24
hours, you might want to look at H1 correlation over the last 50 or 100 bars (roughly 2 or 4
days).
You can choose which symbols to include in the Matrix by using the … button. This shows
the list of symbols which are currently being displayed, and a list of all available symbols.
The list shows the average correlation, and also marks any symbols which have strong
correlation with another symbol on the list. In the following example the overall average is
weak correlation, but AUDUSD and NZDUSD have strong correlation with each other:
82
EAs [Link]
[7] CORRELSTION TRADER
The Correlation Trader shows the correlation between symbols over a configurable
timeframe, e.g. recent H1 bars.
• +100 means that the price movements in symbol A and B have been identical
(“positive correlation”).
• -100 means that the price movements in symbol A and B have been exactly opposite:
A went up when B went down, and vice versa (“negative correlation”).
• 0 means that the symbols have moved independently.
Correlation can have a major effect on your trading risk. For example the following charts
show H1 EURUSD and USDCHF over the same time period:
These symbols had very strong negative correlation (about -95). If you were long EURUSD
and short USDCHF over this period, or vice versa, then you would have seen very similar
profits on both positions. In effect, you did not have two positions: you only really had one
position. (If you were long both symbols, or short both symbols, then you probably had a
profit on one and a matching loss on the other.)
The Correlation Trader helps you to identify symbols with strong or weak correlation, and to
trade emerging differences in the correlation.
83
EAs [Link]
[7] 2. Using the Correlation Trader
2.2 Correlation
The bar in the middle lets you change the timeframe for the charts. It also shows the
following:
• Recent correlation between the two symbols over the selected timeframe.
• Any open position in each symbol, and its profitability
The gauge shows the correlation on scale of 0 to ± 100. It makes little difference whether
values are positive or negative (e.g. +90 or -90), and the meaning depends on whether you
are long or short each symbol. For example:
• +90. If you are long both symbols, or short both symbols, then you will tend to see
identical profits or losses on both positions. If you are long one symbol and short the
other, then you will tend to have a matching profit and loss.
• -90. If you are long both symbols, or short both symbols, then you will tend to have a
matching profit and loss. If you are long one symbol and short the other, then you
will tend to see identical profits or losses on both positions.
84
EAs [Link]
2.2.2 Correlation colors
The color of the gauge depends on the strength of the correlation:
You can use the New Order to carry out simple trading actions such as closing an open
position or opening a new one.
The top of the trading form shows any open position in the selected symbol, with a button
for closing the position. Below that is a simple form for placing a new buy or sell market
order.
85
EAs [Link]
[8] SENTIMENT TRADER
The Sentiment Trader displays information about current and historic long/short sentiment:
the percentage of traders who currently have (or had) an open buy or sell position in a
symbol.
The figures are not technical analysis based on price action. They are calculated from real-
money accounts which are being published to [Link]. For example:
The list of available symbols is determined by popularity, i.e. the number of people trading
them. For example, sentiment data is not available for CADJPY because there are typically
too few traders with an open position to calculate a meaningful percentage.
If a trader has multiple open orders in the same symbol, then the sentiment calculation uses
a single net figure for the trader’s positions. For example, if a trader has an open buy order
for 1.5 lots and an open sell order for 0.7 lots, then they are treated as being long.
The sentiment percentage is not weighted by volume (because [Link] has a few
users with very large accounts and trade sizes). A trader who is long 0.1 lots has the same
effect on the figures as a trader who is long 50 lots.
86
EAs [Link]
[8] 2. Using the Sentiment Trader
The Sentiment Trader shows the current long/short sentiment (25% long in the following
example), and a chart of historic sentiment plotted against price action. In the example
below, sentiment has remained consistently below 50%, i.e. a majority of traders have been
short EURUSD.
87
EAs [Link]
You can choose the timeframe for the historic chart (e.g. M5, H1), and three different types
of chart:
This displays a list like the example below which shows the symbols; the current long/short
sentiment as a bar; any open position which you have in the symbol; and the P/L of the
open position.
You can switch the main display to a different symbol by clicking on its name in this list.
88
EAs [Link]
You can use the New Order to carry out simple trading actions such as closing an open
position or opening a new one.
The top of the trading form shows any open position in the selected symbol, with a button
for closing the position. Below that is a simple form for placing a new buy or sell market
order.
89
EAs [Link]
[9] SESSION MAP
The Session Map shows your current local time in relation to “sessions” during the trading
day, i.e. the core trading hours when institutional dealers are most active in Sydney, Tokyo,
London and New York.
(For example, Tokyo trading is defined as 11pm GMT to 8am GMT, or 8am to 5pm Tokyo
time.)
The Session Map also shows markers for future news events; information about your
floating P/L and equity; and price activity during each session.
Please note: the current time is taken from your computer clock, and its accuracy depends
on your computer clock being accurate.
Each marker is color-coded to indicate its importance: red for high-impact events; orange
for medium; and gray for low.
You can hover the mouse over a marker to display a tooltip showing what the event is, and
you can click on a marker to see that text in full. For example:
90
EAs [Link]
The map is color-coded depending on the floating P/L: green for profit; red for loss; gray if
no open position.
You can get a summary of your account by clicking on the P/L box. For example:
You can also click on a session bar to show a summary of price action for major symbols
during that session.
The following example shows the most recent trading in Tokyo. EURUSD fell 5.5 pips during
the session, with a trading range of 26.2 pips, closing at 1.3688.
91
EAs [Link]
Please note: the prices used in the Session Map are an average of multiple brokers and may
differ very slightly from the prices displayed by your broker.
92
EAs [Link]
[10] STEALTH ORDERS
[10] 1. Overview
Stealth Orders hide your entry and exit levels from the market. Instead of placing pending
orders, the app buys or sells at the current market price when an entry level is reached.
There is no pending order in the market which other participants can see. Similarly, you can
have a stealth stop-loss or take-profit which sends a close instruction when an exit level is
hit.
You can use the app to do four things, including closing multiple trades if their combined
profit reaches a threshold:
• Stealth entries: the equivalent of limit and stop orders. You can also create one-
cancels-all (OCA) groups of orders where the remaining orders are removed when the
first one is filled.
• Stealth exits: the equivalent of a take-profit or stop-loss on a single trade. Exit points
can be specified in cash terms (e.g. "take-profit at USD +50") instead of prices.
• Symbol exits: these close all the positions and orders for a symbol if a price is hit, or
if the combined profit of the positions reaches a threshold. You can also use filtering,
e.g. "only long EUR/USD orders, and only if their comment includes the text
Breakout".
• Account exits: these close all positions and orders on the entire account when a
threshold is hit.
• You will tend to get more slippage with stealth orders (though this can be positive as
well as negative).
• Stealth orders are only processed if the app is running and connected to your broker.
A normal pending order, or stop-loss or take-profit, will be processed even if your
trading software is not running or your internet connection goes down.
For protection, you can use your trading platform to set a "real" stop-loss or take-profit on
positions, in addition to using stealth orders. For example, if you are long EUR/USD and the
current price is 1.2345, you can set a real stop-loss in the market at 1.2300 using your
trading platform and also a stealth stop-loss at 1.2310 using the app. Your position will be
closed at 1.2310 (plus or minus slippage) provided that the app remains running. If there is
any sort of problem with the connection to your broker, the real stop-loss at 1.2300 should
be activated instead, by the broker/exchange.
93
EAs [Link]
[10] 2. Stealth entries
Stealth entries are the equivalent of limit and stop entry orders. Instead of placing e.g. a
buy-limit into the market at 1.2345, the app waits for the price to hit 1.2345 and then places
a buy order.
If you ask for an entry price which is already valid, e.g. a buy-limit at 1.3400 when the
current price is below that, the software will warn you before creating an entry which is
then processed immediately.
In combination with the stop-loss and take-profit settings, this lets you create a new open
trade with a stealth exit attached to it. Once your immediate buy or sell order has been
placed, the app creates a stealth exit for the new ticket using the stop-loss and take-profit
details.
When an entry is filled, these details are then used to create a stealth exit for the open
trade.
94
EAs [Link]
2.4 Maximum spread
You can set a maximum spread at the time an entry is hit. If the spread is higher than the
threshold when your entry price is reached, then the stealth entry is removed and not
traded. For example, if you set the maximum spread to 3 pips, and the spread when your
entry price is reached is 3.5 pips, then the stealth entry will be removed without trading.
For example, you want to trade the break-out of yesterday's range (e.g. 1.2345 to 1.2375),
going long or short when the high or low is broken, but not then placing the opposite order
from the low or high if the price re-traces again. You create two stealth entries: a buy-stop
(at 1.2375) and a sell-stop (at 1.2345), and you assign them to the same OCA group, e.g.
"Breakout". When one of the prices is hit, the other stealth entry will be removed.
95
EAs [Link]
[10] 3. Stealth exits
Stealth exits are the equivalent of stop-losses and take-profits (s/l and t/p). They close
individual open trades when a price is hit, or when the trade's net profit reaches a threshold
(e.g. USD 50 profit or USD 100 loss).
If you set a stop-loss or a take-profit on a stealth entry, then this automatically creates a
stealth exit for the ticket when the entry price is hit and an order is placed.
You can only create a new stealth exit if there is an open position on your account. If you
want to open a new trade in the market, and then apply a stealth exit to it, you can create
an immediate buy or sell order using the Entries tab and use the stop-loss and take-profit to
create a stealth exit for the new trade.
If you choose a specific volume (e.g. 0.30 lots) and this is larger than the size of the trade
when the closure rules are hit (e.g. 0.20 lots) then the app simply ignores the excess and
closes the open trade (0.20 lots). It does not place a new order for the difference (e.g. 0.10
lots).
Percentages are always rounded up to the nearest permitted trade size. For example:
96
EAs [Link]
• The broker's minimum trade size and increment is 0.10 lots
• The app will close 0.40 lots out of 0.50 (leaving 0.10). 75% of 0.50 is 0.375, which is
rounded up to the next multiple of the permitted 0.10 trade size.
In addition, a stop-loss (but not a take-profit) can be set as a trailing stop, in pips.
Please note that close percentages apply to the trade volume when the rule is triggered, not
to the original trading volume. If you have two rules for the same trade which each close
50%, then this will leave 25% of the original trade still open. The first rule will close 50% of
the original trade (e.g. 0.20 lots out of 0.40 lots), and the second rule will then close 50% of
the remaining trade size (e.g. 0.10 lots out of 0.20 lots).
97
EAs [Link]
[10] 4. Symbol exits
Symbol exits close all the open trades for a single symbol, e.g. EUR/USD, when a price target
is hit, or when the combined net profit on all the open trades for the symbol reaches a
trigger value.
You can also set up filtering, so that the symbol exit only acts on some of the orders for the
symbol. For example, you can create a symbol exit which only looks at EUR/USD buy orders
which have the comment "Breakout".
You must always specify both an upper and a lower limit. If you only want to use one of
these, simply set the other limit to a value which will never be hit (e.g. if you only want to
use the lower limit, then set the upper limit to a profit of USD 999999 or a price of 999999).
If you select "All symbols", you can only use a profit trigger because there is no applicable
price.
98
EAs [Link]
• The app will not close 75% of the total overall position, i.e. closing three of the
positions and leaving you with one of the trades (0.10 lots out of the original 0.40 lots,
i.e. 75%).
The close amount is not applied to pending orders. They are always removed in full.
4.6 Filtering
You can set up filtering so that the symbol exit only looks at, and acts on, trades which
match certain criteria. For example, you can restrict the symbol exit so that it only closes
EUR/USD buy orders, not sell orders, or only EUR/USD buy orders which have the comment
"Breakout".
You can also use the "All symbols" option to create a symbol exit which acts on multiple
symbols: for example, something which closes all trades with the comment "Breakout", on
all symbols, when their combined profit hits a trigger.
You can filter on three things, and these conditions are combined. For example, if you select
buy orders and the comment "Breakout", it means "buy orders which also have the
comment", not "buy orders or orders with the comment".
• Trade direction
• Order comment
• Order "magic number"
You can specify multiple comments separated by commas: for example, "Breakout,Pivot ".
This will match against any orders whose comment contains "Breakout" or "Pivot".
99
EAs [Link]
4.6.3 Order magic number
You can also select orders whose numeric "magic number" matches a specific value. For
example, if you enter the value 12345, then the symbol exit will act on orders whose magic
number is 12345.
4.7 Repeats
You can choose that a symbol exit is not removed after it has been triggered, and is instead
kept on the list and keeps acting whenever its trigger is hit. For example:
• You are running an automated trading system on your account which is continually
placing orders.
• In addition to the trading system's own rules, you want to close its positions if it goes
USD 200 into loss or USD 300 into profit.
• And you want to keep closing the positions: the automated system keeps on trading,
but you repeatedly want to shut down its positions if the profit limits are hit.
100
EAs [Link]
[10] 5. Account exits
Account exits close all the open trades on your account (plus, optionally, pending and
stealth orders) when a threshold is reached on the account: e.g. floating P/L in loss of more
than USD 500, margin usage greater than USD 1000 etc.
• Floating P/L
• Equity
• Free margin
• Used margin
101
EAs [Link]
[10] 6. Log
The Log tab shows the activity of the Stealth Orders. It records all actions since the app most
recently started, plus any activity from previous sessions which happened within the last 2
days.
You can download the log, as a TSV file which you can open in Excel or similar software,
using the "Download" button at the bottom of the list.
102
EAs [Link]
[11] TICK CHART TRADER
[11] 1. Overview
The Tick Chart Trader shows tick charts in a variety of styles, and allows quick trading using
either keyboard or mouse.
The tick charts are compiled from the time that the app starts running. It does not provide
access to historic tick data.
• Tick charts
• Tick speed
• Timed charts
• Tick candles
• "Versus" charts
The app also provides extra-fast position entry and exit, on a FIFO basis, using either the
keyboard or mouse.
103
EAs [Link]
[11] 2. Charts
(This chart covers the same period as the tick chart example above.)
104
EAs [Link]
2.4 Tick candles
The candle chart shows traditional candles – with an open, high, low, and close – but based
on a number of ticks rather than a duration of time. For example, if the period for the chart
is set to 5 ticks, then each candle could represent anything from one second if the market is
active (i.e. all 5 ticks happen within a single second) through to as much as a minute if the
market is quiet (i.e. it takes a 60 seconds for 5 different ticks to happen).
Candle charts are based on the mid price of each tick (i.e. the average of the bid and ask).
A chart of two different symbols plotted against each other shows the correlation in their
movements. In the following example there is quite strong negative correlation between
the two symbols:
A chart of a symbol against itself is more useful than may immediately appear: it shows the
current price in relation to the high-low range of the period covered by the chart.
105
EAs [Link]
[11] 3. Trading
All trading through the Tick Chart Trader app is on a FIFO basis. For example, if you place a
buy order and then a sell order, then the sell closes the previous buy even if you are using a
trading platform such as MT4 which allows "hedged" orders. The trading functionality in the
Tick Chart Trader app is designed for people who want quick entry and exit from a single
position in each symbol.
You can close an open position by clicking on the position/profit marker in the top-right of
the app. This pre-fills the dealing panel with an order which closes your position. For
example, if you are long 0.30 lots, then the panel will be pre-filled with a sell order for 0.30.
However, you can change the contents of the dealing panel before placing the order. For
example, you can click on the bid price, pre-filling the dealing panel with a sell order, but
then change that to a buy order before placing the trade.
You can close the panel without placing a trade by clicking anywhere outside it.
B has the same effect as clicking on the ask price: it pre-fills the dealing panel for a buy
order. S is equivalent to clicking on the bid price; it pre-fills the panel for a sell order. C has
the same effect as clicking on the position/profit marker.
After pressing one of these keys you can then either amend the order details, or simply
press the spacebar rather than having to click on the "Place order" button. (You can move
from the "Place order" button to the volume field using the standard keyboard shortcut
Shift+Tab.)
You can close the panel without placing a trade by pressing the Esc key.
106
EAs [Link]
Using the Ctrl key is then equivalent to opening the trading panel (using either mouse or
keyboard) and then clicking on the "Place order" button without changing the pre-filled
settings.
In other words:
• Ctrl+C, or holding down Ctrl while clicking on the position/profit marker, closes your
current open position.
• Ctrl+B, or holding down Ctrl while clicking on the ask price, places a new buy order
using the trade size shown in the footer.
• Ctrl+S, or holding down Ctrl while clicking on the bid price, places a new sell order
using the trade size shown in the footer.
107
EAs [Link]
[11] 4. Options and settings
You can change options and settings for the app using the controls in the bottom-left corner
of its window.
• It controls how many ticks are displayed on the chart (number of seconds rather than
ticks in the case of "versus" charts).
• It controls how much tick history is recorded for symbols which are not currently
being displayed.
For example, if the history-length is set to 100 and you are currently looking at EUR/USD,
then the software will only show the most recent 100 ticks but it will be recording an
unlimited number of ticks for EUR/USD. You can change the value from 100 to e.g. 200 in
order to see more of the EUR/USD history (provided that 200 ticks have been received).
However, the software will have only stored the most recent 100 ticks for any other symbol
which is not being displayed, such as GBP/USD, and after changing the setting the software
will only record a maximum of 200 ticks for these symbols.
4.3 Download
The Download button downloads the entire available tick history for the selected symbol as
a TSV file, showing the date, bid price, and ask price.
108
INDICATORS
INDICATORS [Link]
TABLE OF CONTENTS…………………………………………………110-115
110
INDICATORS [Link]
2.2 Choosing the symbol ........................................................................... 128
2.3 Inverting prices ..................................................................................... 128
2.4 Drawing style and colours .................................................................. 128
2.5 Current price ......................................................................................... 129
2.6 Trade levels ........................................................................................... 129
2.7 Technical indicators ............................................................................. 129
111
INDICATORS [Link]
112
INDICATORS [Link]
2.4 Grid settings ......................................................................................... 150
2.4.1 Horizontal grid ........................................................................... 150
2.4.2 Vertical grid ................................................................................ 150
2.5 Initial size and position ....................................................................... 150
2.6 Number of bars visible in the Magnifier ........................................... 150
113
INDICATORS [Link]
2.2 Open trades ........................................................................................... 160
2.3 Entry and exit markers......................................................................... 160
2.4 Stop-loss and take-profit ..................................................................... 160
2.5 Trade description ................................................................................. 160
2.6 Activity bands ....................................................................................... 161
2.7 Filtering .................................................................................................. 161
114
INDICATORS [Link]
2.4.5 Deleting old offline charts ..................................................................... 172
2.5 TSV/CSV log file ................................................................................... 172
2.6 Setting the start time for the Renko blocks ..................................... 173
2.7 Warning: using Renko data in MT4 backtesting ............................. 173
115
INDICATORS [Link]
[1] 1. Overview
The Bar Changer indicator creates an offline chart in MT4 containing a modified
version of the chart on which the indicator is running. The Bar Changer can make the
following modifications to the bar data:
• Adjust the time of each bar (e.g. shift each bar backwards by 2 hours)
• Invert the price, or adjust it to thousands (e.g. converting 1.23456 to 12345.6)
• Exclude parts of each day, e.g. only include 09:00-16:59.
The facility to set daily time ranges is mainly intended for filtering the chart activity on
index CFDs which have 24-hour pricing but are only actively traded during core
market hours.
Most indicators and EAs can then be used on the offline chart just like a normal MT4
chart.
116
INDICATORS [Link]
[1] 2. Using the Bar Changer indicator
You need to turn on the “Allow DLL imports” setting in the “Common” tab of the
indicator’s options:
The entries which the indicator creates in the MT4 Experts log will confirm which
number it is using:
You can then open the offline chart by using File / Open Offline, and choosing the
entry corresponding to the symbol name and your specified timeframe value:
117
INDICATORS [Link]
2.3 Modifying prices
You can modify the prices in the offline chart in one of two ways, using the setting on
the indicator’s Inputs tab:
You specify time ranges in MT4/broker time (not your local time), and in the format
hh:mm-hh:mm. For example: 09:00-14:59. To handle daily trading hours which span
midnight, you can specify multiple ranges separated by commas. For example:
22:00-23:59,00:00-02:59
Please note that end times should (normally) be specified as xx:59 rather than xx:00.
For example, the range 00:00-05:00 would include the 1 minute of price data starting
at 5am
118
INDICATORS [Link]
You specify time ranges in MT4/broker time (not your local time), and in the format
hh:mm-hh:mm. For example: 09:00-14:59. To handle daily trading hours which span
midnight, you can specify multiple ranges separated by commas. For example:
22:00-23:59,00:00-02:59
Please note that end times should (normally) be specified as xx:59 rather than xx:00.
For example, the range 00:00-05:00 would include the 1 minute of price data starting
at 5am
119
INDICATORS [Link]
Please note that this applies a constant adjustment throughout the trading history.
The difference between your local time and MT4 time may vary over the year
because of daylight-savings changes happening on different dates.
The only exceptions are EAs/indicators which need to look at specific timeframe data
rather than the chart on which they are running (e.g. “multi-timeframe” MTF
indicators). If you configure such an indicator to look e.g. at H1 data, then it may look
at the normal H1 data in MT4 rather than your offline chart even if the offline chart
has been based on H1 data.
120
INDICATORS [Link]
[2] 1. Overview
The Candle Countdown indicator shows the time remaining in the current bar.
By default, it will use the timeframe of the chart on which it is running. However, you
can use the Input settings for the indicator to display the time remaining on a
different timeframe. You can also add multiple copies of the indicator to show the
time remaining in different bar timeframes.
You can also configure the indicator to alert you when a bar is about to end.
121
INDICATORS [Link]
[2] 2. Using the Candle Countdown indicator
The indicator can be configured in a number of ways using the settings on its Inputs
tab, as described below.
2.2 Timeframe
You can set the timeframe for the countdown: either whatever is the period of the
current chart, or a fixed period.
You can also set the text of the label, using the variable {TIME} which the indicator
replaces with the time remaining. Again, if you are using multiple copies of the
indicator on the same chart then you will typically want to change the labels to
remind you which timeframe each copy refers to.
2.5 Alerts
You can configure the indicator to give you an alert N seconds before a bar ends.
The alerts can be issued as pop-up messages and/or as sounds. To turn off either
the pop-up message or the sound, simply leave the value blank.
122
INDICATORS [Link]
[3] 1. Overview
The Chart Group indicator introduces a feature of professional trading platforms to
MT4: linking charts so that changing the symbol on one chart automatically changes
other linked charts.
For example: you have three open EURUSD charts, for M15, M30 and H1. You use
the indicator to link the charts together. Changing one of the charts to a new symbol
such as GBPUSD then automatically updates all the other charts to GBPUSD. In
other words, the indicator provides a quick way of switching multiple charts between
different symbols without having to use MT4 profiles and setting up a different profile
for each symbol.
In the following example there are three pairs of linked charts (marked in green, red,
and blue). Updating the symbol on any chart automatically updates its partner.
You can also use the indicator to synchronize timeframes instead of symbols. For
example, you have open charts for EURUSD, GBPUSD, and USDJPY. Changing the
timeframe on one of the charts then automatically changes the timeframe on the
other two charts.
123
INDICATORS [Link]
[3] 2. Using the Chart Group indicator
You need to turn on the “Allow DLL imports” setting in the “Common” tab of the
indicator’s options:
124
INDICATORS [Link]
You can have any number of charts, either all assigned to the same group or to
different groups. In the example at the start of this document there are three different
groups, each containing two charts.
If you have more than one group of charts, it is then easier to see that the red charts
are linked to each other and, separately, that the blue charts are linked to each
other, rather than just having to read the group names in the text boxes.
For an even wider range of colours, you can use the group names 1 to 6:
• 1 = Red
• 2 = Blue
• 3 = Green
• 4 = Purple
• 5 = Black
• 6 = Grey
125
INDICATORS [Link]
In case you were not already aware of this… you can change the symbol of a chart
by dragging a symbol from the MT4 market watch onto the chart (in the same sort of
way that you add an indicator to a chart by dragging the indicator from the Navigator
onto the chart).
126
INDICATORS [Link]
[4] 1. Overview
The Chart-in-Chart indicator shows the price action for an additional symbol in a sub-
window on the main chart, allowing bar-by-bar comparisons of price action on the
main chart symbol against the subsidiary symbol.
You can add multiple copies of the indicator to a chart in order to show multiple extra
symbols. In the following example the main EURUSD chart has sub-windows
showing GBPUSD, AUDUSD, and JPYUSD:
You can choose to invert prices, e.g. so that USDJPY is shown as JPYUSD (as in
the above example).
Although the sub-window cannot provide the full functionality of a main MT4 chart,
you can add popular technical indicators such as moving averages and envelopes to
the display, and you can choose to display the levels of open positions and pending
orders.
127
INDICATORS [Link]
[4] 2. Using the Chart-in-Chart indicator
You need to turn on the “Allow DLL imports” setting in the “Common” tab of the
indicator’s options:
The symbol must be present in the MT4 market watch, and you should include any
suffix which your account has for symbol names, e.g. EURUSD+
To display more than one symbol, you simply add multiple copies of the indicator to
the chart.
• Price candles
• Line showing close price only
• Lines showing high and low prices
You can set the colour of the candle “wick”, or of the close or high and low lines,
using the first of the colour parameters. For candles, you can also set different
colours for up (“bull”) and down (“bear”) bars.
Hovering the mouse over a candle, or over the close or high and low lines, displays a
pop-up tooltip giving the price values at that point in time.
128
INDICATORS [Link]
Each of these settings has a different colour parameter on the Inputs tab. Choosing
a colour other than “None” turns on the display of this information. Hovering the
mouse over one of these lines will then show information about the open position or
pending order.
(If you invert prices, then the display of trade levels is also inverted. For example, a
USDJPY buy will be shown as a JPYUSD sell, and a buy-limit will be shown as a
sell-stop.)
The Inputs tab contains 5 blocks of settings which you can use to define technical
indicators. Each of these has a choice of indicator, a colour, a line-style, and
parameters for the indicator.
129
INDICATORS [Link]
• SMA (simple moving average)
• EMA (exponential moving average)
• SMMA (smoothed moving average)
• LWMA (linear-weighted moving average)
• Bollinger band
• Envelope based on SMA
• Envelope based on EMA
• Parabolic SAR
• Yesterday’s daily (D1) close price
• Yesterday’s daily (D1) high and low prices
• Fixed price (equivalent to drawing a manual horizontal line on the chart)
The meaning of the “parameter 1” and “parameter 2” settings depends on the type of
indicator:
130
INDICATORS [Link]
[5] 1. Overview
The Donchian indicator shows Donchian channels: the high and low of the previous
N bars.
[Link]
In addition to the classic Donchian calculation, the indicator also has three other
options: average (mean) of the highs/lows; mid-point of the highs/lows; and lowest-
high rather than highest-high.
You can also choose to expand (or contract) the Donchian channel: by a fixed
percentage, or a price amount, or a multiple of ATR or SD.
You can also turn on pop-up alerts when the current price breaches the high or low
lines.
131
INDICATORS [Link]
[5] 2. Using the Donchian indicator
2.2 Timeframe
By default the indicator will be based on the same timeframe as the current chart,
and will change if you alter the chart’s timeframe.
However, you can use the Inputs tab to make the indicator use a higher timeframe
(but not a lower one). For example, you can show the D1 Donchian high and low on
an H1 chart.
132
INDICATORS [Link]
• Percentage. The high is increased by N% and low is decreased by N%.
(Therefore, it you set the parameter to 10, the total high-low range is
increased by 20%.)
• Price amount. You set the parameter to a value such as 0.0010, and this is
added to the high and subtracted from the low.
• ATR multiple. The high is increased and the low is decreased by the specified
multiple of the ATR for the period.
• Standard Deviation multiple. The high is increased and the low is decreased
by the specified multiple of the SD for the period.
2.6 Colours
You set the colours and style for the Donchian lines in the usual way, using the
Colors tab. However, you can also use the Inputs tab to tell the indicator to draw the
Donchian channel as a filled histogram instead of as lines.
2.7 Alerts
You can turn on pop-up alerts when the current price goes beyond the high or low
values. The indicator will only generate one alert per bar (treating the high and low
independently). For example, if the high is breached, then the indicator will not issue
another alert about a breach of the high before the start of the next bar.
133
INDICATORS [Link]
[6] 1. Overview
The Freehand Drawing indicator lets you draw onto MT4 charts, in order to mark or
highlight events on the chart. It is particularly useful if you are running a live webinar
for clients, or distributing screenshots or chart files to people.
You draw on the chart simply by holding down a key while you move the mouse. You
can change colours using keyboard shortcuts, and you can quickly undo any drawing
which went wrong.
134
INDICATORS [Link]
[6] 2. Using the Freehand Drawing indicator
You need to turn on the “Allow DLL imports” setting in the “Common” tab of the
indicator’s options:
• R = red
• B = blue
• G = green
• Y = yellow
• N = black
• W = white
135
INDICATORS [Link]
2.4 Undoing the most recent drawing
You can delete the most recent drawing by pressing the X key. Pressing X again
deletes the previous drawing etc.
You can also use these settings to change all the shortcut keys. You can even
change the colours, e.g. so that “red” (pressing R) then draws in purple.
136
INDICATORS [Link]
[7] 1. Overview
The Gravity indicator shows areas of possible support and resistance based on
previous price action, colour-coded to show areas of stronger and weaker market
activity.
It can either just draw from the current time onwards, using all the price activity to
date, or you can set a specific start time in order to test the indicator or to ignore
recent price movements.
137
INDICATORS [Link]
[7] 2. Using the Gravity indicator
You need to turn on the “Allow DLL imports” setting in the “Common” tab of the
indicator’s options:
However, you can adjust the indicator’s start time by creating a vertical line on the
chart and giving it the name GStart, as in the following example:
138
INDICATORS [Link]
The indicator will then only use the price action up until the start time, without looking
into the future at what subsequently happened, and will draw its support and
resistance calculation starting from the line.
You can use this either to test the indicator, seeing how reliable it would have been
in the past, or as a way of telling the indicator to ignore recent price activity which
you may regard as abnormal and irrelevant. (The spike in the most recent bar in the
screenshot at the start of this document shows the market’s anticipation of the UK
Brexit referendum in June 2016.)
139
INDICATORS [Link]
[8] 1. Overview
The High-Low indicator is a very flexible tool for showing highs and lows on a chart,
from any timeframe and based on any number of bars. You can add multiple copies
of the indicator to the same chart in order to display different levels, e.g. the D1 and
H4 highs and lows on an H1 chart:
The indicator can also show open and close prices as well as the high and low, and
can be set to use a daily time range rather than looking at an entire day’s trading.
You can also configure the indicator to generate alerts when the current price
breaches the historic high or low.
140
INDICATORS [Link]
[8] 2. Using the High-Low indicator
The indicator can be configured in a number of ways using the settings on its Inputs
tab, as described below.
You set the time range in the form hh:mm-hh:mm, e.g. 08:00-15:59
You can also choose whether the time range is only applied to the high and low, or
whether it also affects the open and close prices which the indicator calculates.
You can also choose to widen the high and low lines, e.g. adding (or subtracting) 5
pips from the price. This widening also affects any alerts which you set up. The
widening can be defined in terms of pips (e.g. 20), or a price amount (e.g. 0.0020), or
a percentage of the range between the high and low.
A negative value for the widening narrows the lines. For example, if the low is at
1.2345, then a value of 10 pips will move the line to 1.2335 (widened away from the
high) and a value of -10 will move the line to 1.2355 (narrowed towards the high).
141
INDICATORS [Link]
2.5 Open and close lines
You can choose to display lines for the open, close, and previous close. Please note:
the close line is only useful if you configure the indicator to start at the previous bar
rather than the current bar, or if you apply a daily time range. Otherwise, the close
line will simply be the current price.
You can turn each of these three lines on and off individually by choosing a colour
for it or setting the colour to “none”.
2.6 Labels
You can choose whether the indicator displays a label for each line, e.g. “D1 High”,
and you can control the text of the label. You can add the variable {PRICE} into the
text to make the indicator display the price value associated with the line.
2.7 Alerts
You can choose to get whenever the price goes beyond the high or low lines
(including any widening which you have defined). Alerts can be issued as pop-up
messages and/or as sounds.
You can set a minimum period between alerts to avoid repeated notifications, and
you can also configure the indicator to ignore the first N seconds of the current bar.
142
INDICATORS [Link]
[9] 1. Overview
The Keltner indicator shows Keltner channels: similar to Bollinger® bands, but with
the size of the channel varying based on ATR rather than standard deviation.
[Link]
You can configure the indicator to give you alerts when the price crosses the upper
or lower channel (usually regarded as a reversal signal).
143
INDICATORS [Link]
[9] 2. Using the Keltner indicator
In addition, you can also choose the type of moving average to use (SMA, EMA etc),
and what type of price to base it on: close price, median, “typical” etc.
2.4 Alerts
You can use the Inputs tab to turn on pop-up alerts whenever the current price
crosses the upper or lower channel.
To prevent repeated and too-frequent alerts, the indicator will only display a
maximum of one alert per bar. Once the price has crossed the upper or lower band,
a new alert will not be generated until (a) the price has crossed back inside the
channel, and then (b) there is a new cross beyond the upper or lower channel in a
later bar.
144
INDICATORS [Link]
[10] 1. Overview
The Linear Regression indicator shows the linear regression of the last N bars, as a
best-fit line through their close prices (or highs, or lows etc). You can add multiple
copies of the indicator to a chart in order to show different regressions: for example,
one indicator showing the linear regression of the highs and another showing the
linear regression of the lows, forming a channel.
You can also use the indicator to show the regression of prices on another
timeframe, e.g. the linear regression of D1 close prices while viewing an H1 chart.
145
INDICATORS [Link]
[10] 2. Using the Linear Regression indicator
You can also set the bar-shift. The default value of 1 means “up to, but not including,
the current bar”. A value of 0 would include the current bar, and the regression
calculation would therefore change slightly on each tick.
You can add multiple copies of the indicator to a chart in order to show different
regressions: for example, one indicator showing the linear regression of the highs
and another showing the linear regression of the lows, forming a channel.
2.4 Timeframe
By default the indicator will use the timeframe of the current chart, and will change its
calculation if you change the chart. However, you can use the Inputs tab to specify a
different timeframe, e.g. showing the regression of D1 prices while viewing an H1
chart.
146
INDICATORS [Link]
bar which makes up the higher timeframe. This creates a stepped line such as the
following:
You can use the Inputs tab to tell the indicator instead to interpolate values for each
individual bar on the lower timeframe, creating a smoothed line.
However, please note that the interpolation can create a “kink” in the line at the
beginning of the current period. For example, if you are viewing the D1 regression on
an H1 chart, and the current day is only 3 H1 bars old, then the values for the current
day are interpolated over only 3 bars whereas the values for all previous, full days
are interpolated over 24 hourly bars. This creates the “kink”.
147
INDICATORS [Link]
[11] 1. Overview
The Magnifier indicator creates a draggable, resizable sub-window inside a main
MT4 chart which “zooms in” on the selected bars, showing them in more detail from
a lower timeframe (e.g. M30 bars on an H1 chart).
You simply drag the Magnifier around the chart to zoom in on different historic
periods.
148
INDICATORS [Link]
[11] 2. Using the Magnifier indicator
You need to turn on the “Allow DLL imports” setting in the “Common” tab of the
indicator’s options:
Alternatively, you can set a different, fixed timeframe using the setting on the
indicator’s Inputs tab.
• Candles
• Bars (i.e. a central high-low bar with open and close horizontal markers)
• A line showing each close price
• Close points (i.e. dots at each close price, without a line)
• Lines showing the high and low (but not the close)
• A filled channel showing the high and low, with a line showing the close inside
the channel
149
INDICATORS [Link]
2.4 Grid settings
You can set a specific grid size using the Inputs tab, setting the parameter to a price
amount such as 0.0020, or you can turn off the grid entirely by setting the parameter
to zero.
• The zoom level of the main MT4 chart. If the bars on the main MT4 chart are
small, then the bars in the Magnifier also need to be small.
• The ratio between the main MT4 chart timeframe and the magnified
timeframe. For example, if the main MT4 chart is H1, and you set the
Magnifier to M1, then the Magnifier has to display 60 M1 bars for each H1 bar
on the main MT4 chart – and will not be able to fit many in.
• The candle size which you select for the indicator, in the Inputs tab. By default
the Magnifier will select its own size, but you can override this. The larger you
make the candles, the fewer which can be fitted in to the Magnifier’s window.
150
INDICATORS [Link]
[12] 1. Overview
The Mini Chart indicator creates a chart in a draggable, resizable sub-window inside
a main MT4 chart. It lets you see the price action on other instruments and/or
timeframes without needing to switch between different MT4 charts.
Although you cannot add MT4 indicators to a Mini Chart, it does provide its own
options for showing popular indicator calculations such as moving averages and
Bollinger bands.
151
INDICATORS [Link]
You need to turn on the “Allow DLL imports” setting in the “Common” tab of the
indicator’s options:
To display more than one symbol, you simply add multiple copies of the indicator to
the chart.
You can also leave the symbol set to (current). This will then display the same
symbol as the main MT4 chart, and will change if the main chart changes.
If you leave the timeframe set to (current) then the Mini Chart will use the same
timeframe as the main MT4 chart, and will change if the main chart changes.
The Mini Chart offers a range of different timeframes and chart types:
152
INDICATORS [Link]
• Sub-minute, seconds-based time periods such as S10 and S30
• Tick-lines, i.e. lines showing each change in the ask and bid price
• Tick charts, i.e. candles which are not time-based and are instead made up of
the same number of ticks
• Price-based charts such as Renko and Kagi
As with seconds charts, MT4 does not have historic data at frequencies under 1
minute (M1), and can only show the tick bars from the time that the indicator starts
running.
• Range charts: a new bar is drawn each time that the price rises or falls by the
block size. The Mini Chart indicator also offers stacked range charts, where
consecutive bars in the same direction are combined into a single bar.
• Renko charts: similar to range charts, but the price must reverse by two whole
blocks before a new block is drawn in the opposite direction to the current
trend. The Mini Chart indicator offers a variant on standard Renko charts
153
INDICATORS [Link]
which draws the “tails” on each bar, i.e. the movement in each bar against the
trend.
• Kagi charts: the chart changes direction when the price reverses by the block
size from the previous high/low. Each additional movement in the direction of
the current trend extends the Kagi line, and therefore, unlike range or Renko
charts, Kagi highs and lows are not aligned to a grid.
• Point and Figure charts: similar to range charts, but traditionally drawn in a
different way, with consecutive movements stacked rather than displayed as
separate bars, and with a reversal rule where a new bar is not drawn in the
opposite direction until the prices reverses by three units.
[Link] Base timeframe for Range, Renko, Kagi, and P&F charts
When the Mini Chart indicator loads, it will create historic data for Range, Renko,
Kagi, and P&F charts using the price history in the trading platform.
By default this creates the history from M1 data. If you use a large block size (e.g. 1
whole cent, price change of 0.01, on EUR/USD), then there may not be many
historic blocks over the period covered by the M1 data in the platform.
To go further back in time you can choose a longer base period such as M30 or H1.
The disadvantage of longer timeframes is that the Mini Chart cannot be certain what
happened inside each historic bar. It can only “see” the high and low. If a historic bar
covers a price range such as 0.04, and the block size is 0.01, then the Mini Chart
does not know, and has to guess, whether the price went up/down in four simple
sequential blocks rather than bouncing up and down within the bar, creating several
historic blocks.
• Heikin Ashi
• Three Line Break
• 2-bar average (i.e. each bar is the average of itself and the previous bar)
• 3-bar average
154
INDICATORS [Link]
(Transformations are different to chart types such as Kagi or Renko. With a chart
type such as Kagi, there is a price-based rule for when/how to draw each new bar,
i.e. a rule which is not simply based on time such as H1 or S30. A transformation
such as Heikin Ashi takes bar data such as H1 and applies averaging to it. A Heikin
Ashi chart has an underlying timeframe, such as H1. A Kagi or Renko chart does
not.)
• Candles
• Bars (i.e. a central high-low bar with open and close horizontal markers)
• A line showing each close price
• Close points (i.e. dots at each close price, without a line)
• Lines showing the high and low (but not the close)
• A filled channel showing the high and low, with a line showing the close inside
the channel
• No drawing – the bars themselves are not drawn, and only indicators are
displayed.
Please note: the drawing style is fixed for tick-lines, Kagi, and P&F charts. Changing
the style setting has no effect for these types of chart.
You can also set a fixed maximum and/or minimum price for the chart using the
Inputs tab.
155
INDICATORS [Link]
You can set a specific grid size using the Inputs tab, setting the parameter to a price
amount such as 0.0020, or you can turn off the grid entirely by setting the parameter
to zero.
Please note: for chart types such as Renko and Kagi which are based on price
movement rather than time, the vertical grid lines will not be evenly spaced.
The Mini Chart is both draggable and resizable, in the usual way by pressing and
holding the mouse over the sub-window’s title bar or border. By default the indicator
will then choose a corner of the chart to “dock” itself to. For example, if you drag the
sub-window close to the bottom-right corner, the indicator will then dock itself to that
corner of the chart. If you resize the chart window, the indicator will automatically re-
position itself so that it maintains the distance from the edge(s) of the chart. You can
manually override the docking using the setting on the Inputs tab.
You can also change the following settings for the chart:
2.8 Indicators
You cannot add MT4 indicators (e.g. moving averages) to a Mini Chart, but you can
use the Inputs tab to configure the display of popular indicator calculations. This
includes drawing lines at fixed prices, i.e. the equivalent of drawing a horizontal line
on a main MT4 chart.
You can define up to 10 indicator calculations. For each one, you can choose a
drawing style and a colour.
156
INDICATORS [Link]
For some indicators, you can change the parameters and/or or the type of price –
close, high, low etc – which is used in the indicator calculation. In other words, the
meaning of the Parameter A and Parameter B values on the Inputs tab depends on
the type of indicator, as described below.
For example, Parameter A = 1 and Parameter B = 3 means “the high and low of the
3 D1 bars starting yesterday”.
157
INDICATORS [Link]
2.8.7 Fixed price
Draws a horizontal line at the fixed price specified by Parameter A, i.e. the equivalent
of manually drawing a horizontal line on an MT4 chart. You can also use the
Parameter B value to draw a second line at a different price.
158
INDICATORS [Link]
[13] 1. Overview
The Order History indicator draws your historic trades on a chart, showing the entry
and exit prices and times, and also displays bands which indicate when you were in
and out of the market.
In the following example, individual historic trades for the chart symbol (EUR/USD)
are shown as entry and exit arrows with a connecting line. The blue bands at the
bottom of the screen indicate when there was an open position for the chart symbol,
and the grey bands indicate when there was an open position in any other symbol.
Switching between different chart timeframes (D1, H1, M1 etc) in effect provides a
way of zooming in on historic trading activity.
Hovering the mouse over a historic trade shows the details of that trade:
Hovering the mouse over the blue or grey bands shows the details of the trades
which were open during that period:
159
INDICATORS [Link]
[13] 2. Using the Order History indicator
The indicator can be configured in a number of ways using the settings on its Inputs
tab, as described below.
You can also set the style of entry and exit marker (arrows, price labels etc), and the
width of the line between the markers.
Please note: the prices which are shown are the final (or current) stop-loss and take-
profit for a trade. MT4 does not maintain a record of previous s/l and t/p levels for a
trade.
160
INDICATORS [Link]
You can change the summary text which is displayed for each order using the
indicator’s settings. You can use the following variables in the text. Please note that
these pop-up messages are limited in length by MT4, and will not be displayed if
they exceed 256 characters.
Variable Replaced by
{CRLF} New line
{TICKET} Order ticket number
{BUYSELL} Buy or Sell
{WINLOSS} Win or Loss
{LOTS} Trade lot size
{SYMBOL} Trade symbol
{OPENPRICE} Trade open price
{CLOSEPRICE} Trade close price
{OPENTIME} Trade open time
{CLOSETIME} Trade close time
{PROFIT} Gross profit
{SWAP} Swap
{COMMISSION} Commission
{NETPROFIT} Net profit: gross profit plus swap plus commission
{SL} Current/final stop-loss price
{TP} Current/final take-profit price
{COMMENT} Order comment
{MAGIC} Order magic number
{CURR} Account deposit currency
You can control the colour and size of the bands using the indicator’s settings.
The bands are affected by any filtering which you use. The blue band in fact
illustrates all the trades for the current chart symbol which match the filtering. The
grey band illustrates all trades for all other symbols, plus any trades for the current
chart symbol which do not match the filtering.
2.7 Filtering
You can use filter to control which historic trades are drawn on the chart as markers,
and which trades are included in the blue versus grey activity bands.
161
INDICATORS [Link]
You can filter on several different conditions: buy or sell; lot size; open time; close
time; MT4 magic number; order comment; amount of net profit. For example, you
can draw only your historic losing trades by setting maximum net profit to zero.
162
INDICATORS [Link]
[14] 1. Overview
The Pivot indicator shows a classic pivot calculation based on historic price action: a
central pivot price, with 3 support and resistance levels either side (R1-R3 and S1-
S3).
The indicator can be based on any timeframe – for example, you can choose to
display H4 pivot levels on an M30 chart – and you can configure the indicator to
generate alerts when the current price crosses a support or resistance level.
163
INDICATORS [Link]
[14] 2. Using the Pivot indicator
All the following options in the indicator are configured using the settings on its
Inputs tab.
If you want to display more than one set of pivot points, either using different
timeframes or different calculations, then you simply add multiple copies of the
indicator to the chart.
2.2 Timeframe
You choose the timeframe for the pivot calculating using the first of the parameters
on the Inputs tab. You can either make this the same as the current chart, so that the
pivot calculation changes if you alter the timeframe of the chart, or the pivot can be a
different fixed timeframe such as D1.
Each line also has a setting which controls its colour and its style (solid, dashed,
etc). Turning off the display of a line, by setting its colour to “None”, will prevent any
alerts being displayed about that pivot level.
164
INDICATORS [Link]
2.5 Alerts
You can choose to generate alerts if the price crosses upwards beyond a resistance
level, or downwards below a support level. (No alert is generated if the price is
already beyond a support or resistance level when a new bar starts, or when you
add the indicator to the chart.)
You can set the text to display in the pop-up alert message on screen, and you can
also specify a sound to play.
You can also choose to widen or narrow the threshold for the alert, e.g. so that the
alert is generated 5 pips before the price hits a level, or 10 pips beyond the level.
The threshold can be set either a number of pips (e.g. 20) or as a price amount (e.g.
0.0020). A positive number widens the threshold for the alert, meaning that the price
has to go beyond the level. A negative number narrows the threshold, meaning that
the alert is generated before the price hits the level.
165
INDICATORS [Link]
[15] 1. Overview
The Renko bar indicator draws Renko blocks on a normal MT4 time-based chart.
The blocks can either be drawn as continuous, or as separated elements whenever
a new Renko block is completed. (The blocks have varying widths, or gaps between
them, because Renko bars are not time-based and have varying durations).
The indicator can also be used to create an offline MT4 chart containing only the
Renko blocks – a more traditional Renko chart which is not time-based like a normal
MT4 chart:
166
INDICATORS [Link]
[15] 2. Using the Renko indicator
Some options in the indicator need the “Allow DLL imports” setting to be turned on,
in the “Common” tab of the indicator settings:
2.2 Notes
2.2.1 M1 data
The indicator calculates the Renko blocks from M1 data, regardless of the timeframe
of the chart on which you use the indicator. Therefore, you need as much M1 data in
your MT4 platform as possible, and you may need to use Tools / History Center in
MT4 to download extra M1 data.
If you only have 5 days of historic M1 data, then Renko bars will only be drawn for
the last 5 days even if you are looking at e.g. an H1 chart which goes back much
further.
In the following example the chart timeframe is very long (H4) and the Renko block
size is very small (5 pips). As a result, there are lots of Renko bars during each chart
candle, creating many red and blue Renko blocks which are overlaid.
167
INDICATORS [Link]
A chart such as this is unreadable because the H4 timeframe simply is not suitable
for looking at a Renko block size as small as 5 pips. You should use a lower chart
timeframe for such a Renko size.
The indicator will automatically calculate a pip size based on the number of digits in
the instrument’s price. For example, if prices are quoted to 1DP, e.g. 2048.7, then
the indicator will use a pip size of 0.1, and a setting of e.g. 20 pips would mean a
price change of 2.0.
On some non-forex symbols such as equity indexes, you may want to change the pip
size. For example, prices may be quoted to 2DP such as 13456.00, but you may
want to use a pip size of 1.00 instead of the default 0.01. The indicator has an
additional setting which lets you specify your own pip size.
2.3.2 Colours
You can set the colours for the up and down Renko blocks on the chart. These
colours are also used for the optional lines which show where a new Renko block will
start.
2.3.3 Continuous
A Renko block obviously has variable duration in time. When drawn on top of a time-
based chart such as a normal MT4 price chart, the Renko blocks will therefore have
varying widths.
You can choose either to draw the Renko blocks as continuous bars, or only to show
separate blocks at the point that each new Renko bar is formed. Examples of these
options are shown above.
168
INDICATORS [Link]
2.3.4 Lines
By default the indicator displays lines which show the prices at which a new Renko
up or down block will start. You can change the style of these lines, e.g. from dashed
to solid, or you can turn the lines off completely.
2.3.6 Alerts
You can turn on pop-up alerts in MT4 which tell you whenever a new Renko block
has been formed.
You can turn off this rounding, and instead base the start and end of the Renko
blocks on the first price in the M1 history. For example, if the opening price of the M1
data is 1.23743 and the block is 0.0010 (10 pips) then the start and end prices of all
the Renko blocks will be x.xxx43, e.g. 1.23843, 1.23943, 2.41543 etc
The advantage of a higher time period such as M5 or M30 is that the historic data
may go back further in time than M1, and it may be possible for the indicator to draw
more historic Renko blocks.
The disadvantage is that the Renko blocks will be less accurate during periods of
high volatility. For example:
169
INDICATORS [Link]
• Renko block size is 10 pips (0.0010)
• A single historic bar covers several Renko blocks, e.g. low price was 1.2056
and high was 1.2128.
• The range inside this bar was 0.0072, and therefore there were 7 Renko
blocks which were formed during this single price candle in the MT4 history
data. (In fact, there could have been many more than 7 if the price bounced
up and down during the bar.)
• However, the indicator can only see the historic high and low, and it is
impossible for the indicator to know in what order the blocks were formed.
• Therefore, under circumstances such as this, the indicator has to guess and
simplify the Renko block history. (It is possible for this to happen even on M1
data, but using higher timeframes makes the problem more frequent.)
“Offline”, in MT4 terminology, means that the price data for the chart is not being
provided directly from the broker’s server. The offline chart will nevertheless continue
to update for as long as the indicator is running, and you should be able to use most
EAs and indicators on such an offline chart.
170
INDICATORS [Link]
You can then view the offline chart by using File / Open Offline in MT4, and selecting
the special chart which the indicator has created, e.g. “EURUSD,M1234”
The offline chart continues to update with new prices and blocks for as long as the
Renko indicator is running on the main price chart. If you close the normal MT4 chart
which has the Renko indicator on it, then the offline chart will stop updating.
Please note that these updates require the “Allow DLL imports” setting to be turned
on.
You can also turn off these continuous updates. If so, the offline chart will only be
updated when each new Renko block completes, and you will need to do a manual
refresh of the chart to see the changes.
In the following example there is a gap – a missing down block – because there were
two Renko blocks within the same minute, and MT4 can only display one of them:
171
INDICATORS [Link]
(You can use the TSV/CSV log to check the actual history if MT4 is unable to
represent it in full.)
Please note: if you open the TSV/CSV file in an application such as Microsoft Excel,
the indicator cannot continue to update it while it is open in Excel. It is best to take a
copy of the file, and then open that copy in Excel.
172
INDICATORS [Link]
2.6 Setting the start time for the Renko blocks
You can set a start time for the Renko blocks by drawing a vertical line on the chart,
and using the object properties to set the name of the line to “RenkoStart”:
The indicator will not draw any Renko blocks before this line. The start time also
affects the history which is written to any offline chart or TSV/CSV log file.
However, you should not do this. You will get unrealistic, very favourable results.
More generally, EA results will tend to be unrealistic even if the EA is not deliberately
trying to exploit the price clues in the Renko data. For example, measures of volatility
will increase when a Renko reversal is happening (because of the gap between last-
close and current-open), and an EA which uses volatility as one of its strategies will
in effect be looking at a characteristic of the Renko data rather than real price
information which it would have had historically in real life.
173
INDICATORS [Link]
[16] 1. Overview
The Symbol Info indicator creates a status overview for a symbol in a draggable sub-
window inside a main MT4 chart. It shows the price change, the distance from the
recent high and low, plus an optional set of indicators giving a matrix of up and down
signals on different timeframes.
You can add any number of copies of the indicator to a chart, to display different
symbols or timeframes, with any combination of different settings.
174
INDICATORS [Link]
[16] 2. Using the Symbol Info indicator
You need to turn on the “Allow DLL imports” setting in the “Common” tab of the
indicator’s options:
To display more than one symbol, you simply add multiple copies of the indicator to
the chart.
You can also leave the symbol set to (current). This will then display the same
symbol as the main MT4 chart, and will change if the main chart changes.
2.3 % change
The indicator’s main display is the change in the symbol’s price in % terms (and also in pips).
You can choose which timeframe to use for this calculation via the parameter on the Inputs
tab, and you can also choose the number of bars. For example, D1 and 3 would mean “show
the change since the open price 2 days ago” (today, plus the 2 D1 bars before that).
175
INDICATORS [Link]
2.4 High-low range
The indicator also shows the current price in relation to the high-low range. You can
choose the timeframe and number of bars to use for the calculation of the high and
low. These can the same or different to the settings used for the % change.
2.5 Colours
You can use the Inputs tab to change the colours which are used for rises and falls.
Once it has been created, you can drag the sub-window around the chart in the
usual way, by pressing and holding the mouse over the sub-window’s title bar. By
default the indicator will then choose a corner of the chart to “dock” itself to. For
example, if you drag the sub-window close to the bottom-right corner, the indicator
will then dock itself to that corner of the chart. If you resize the chart window, the
indicator will automatically re-position itself so that it maintains the distance from the
edge(s) of the chart. You can manually override the docking using the setting on the
Inputs tab.
176
INDICATORS [Link]
[16] 3. Indicator up/down signals
You can configure the Symbol Info indicator to display a matrix of indicator up &
down signals on different timeframes (or you can turn these off, and only have the
indicator display the price change and high-low range).
You can set up to 10 rows of indicator information. Some of the indicators, e.g. EMA
or MACD, need parameters which you enter as a comma-separated list such as
12,26
The parameter for the indicator is the number of bars to use for the change
calculation. This defaults to 1 (i.e. current bar) if left blank. Changing/setting the
parameter to 2, for example, would mean “price change since the start of the
previous bar”.
The parameter for the indicator is the number of bars for the average (defaulting to
14 if left blank).
The parameter for the indicator is the number of bars for the average (defaulting to
14 if left blank).
The parameter for the indicator is the number of bars for the RSI calculation
(defaulting to 14 if left blank).
The parameters for the indicator are the fast and slow average periods, e.g. 12,26
177
INDICATORS [Link]
3.6 Awesome Oscillator
The Awesome Oscillator indicator shows an up or down signal depending on
whether the AO value is above or below zero.
This indicator does not have any parameters. (The AO is simply a comparison of the
5-bar and 34-bar simple moving averages.)
The parameters for the indicator are the “step” and “maximum” values for the PSAR
calculation, e.g. 0.02,0.2
The parameter for the indicator is the number of bars for the CCI calculation
(defaulting to 14 if left blank).
3.9 DeMarker
The DeMarker indicator shows an up or down signal if the value of the indicator is
below 0.3 or above 0.7 (i.e. it treats the DeMarker, like RSI, as an over-bought/over-
sold indicator).
The parameter for the indicator is the number of bars for the DeMarker calculation
(defaulting to 14 if left blank).
The parameters for the indicator are the period to use for the moving average, and
the number of deviations for the bands (defaulting to 20,2 if left blank).
178