Charting tab - allows you to modify charting options
- Default number of quotations in a chart - this sets the amount of
bars initially displayed in the chart. (in other words it defines "normal"
- Blank bars in right margin - defines how many blank bars are added in the
right margin (past the last available quote). This blank margin allows you
to project studies (trend lines for example) into the future
- Quote selection only by CTRL+LMB - this decides how vertical selection
line is invoked. When this box is unchecked - single click on the chart causes
display of the selection line, when this box is checked you have to hold
down CTRL key while clicking to get the selection line
- Show vertical line between days (intraday)/years(EOD) - this decides
if dotted vertical line is displayed on the chart to mark day (in intraday
mode) or year (in EOD mode) boundaries
- Show value labels - this decides if value lables for indicator /
price chart lines should be displayed. See basic
charting guide for explanation
what value label is.
- Candlesticks - this setting provides detailed control over the appearance
of candlesticks. The distinct color may be used to draw part of the candlestick
or entire candle may be drawn in the same color as its interior.
- Return to select mode after drawing - when checked current tool
is deactivated after drawing and select mode is entered, when unchecked
currently selected drawing tool remains active after drawing (allows
to plot one study after another, note that the same effect can be achieved
even if this box is checked - it is enough to hold down SHIFT key while
drawing and the tool will remain active)
- Auto-select last drawn object - this useful feature automatically
selects recently drawn object. This allows to hit ALT+ENTER to display
properties box immediately without need to click on the study, and allows
to Copy the study via CTRL+C also without additional click
- Snap to price % threshold - defines how far price 'magnet' works,
it will snap to price when the mouse is nearer than % threshold from
- Ask for parameters of newly inserted indicators - when checked
AmiBroker will automatically display Parameters window
each time you insert new indicator or overlay one indicator over another.
- Ask for confirmation when deleting indicator sections - when checked
AmiBroker will ask you to confirm deletion of any overlaid indicator
section (applies to indicators created via drag-and-drop). Please note
that deletion of indicator section modifies the underlying formula. More
on this in Tutorial: Drag-and-drop
- Max number of chart sheets - defines how many chart sheets (tabs) should
be available. More information on chart sheets is in the Tutorial
section here. Note that this setting will take effect after restart.
Color tab - allows to define colors for particular chart element.
The controls provide user definable color selection for charts, grid & background.
Palette editor - allows to modify custom colors that can be referenced
later via colorCustom0..colorCustom15 constants
Editor tab - controls the appearance and features of AFL
- Use syntax highlighting - when checked editor automatically colorizes
your code (different colors/styles for functions, constants, numbers, etc)
- Auto-change case - when checked the function and reserved variable
names are automatically capitalised so if you type bARSSince, editor will
change it to BarsSince
- Auto-complete - when checked you will be able to use auto-completion
feature (CTRL+SPACE will auto-complete the word)
- Parameter info - when checked the editor will display parameter
information tooltip when you type a function name and opening brace
- Highlight error line - when checked the formula editor marks the line of
code that contains an error with a yellow background (Windows 2000 and XP
- Copy As HTML - when checked the AFL editor on Edit->Copy
/ Cut command puts not only plain text and RTF formats to the clipboard but
also HTML and DwHTML (Dreamweaver HTML) formats allowing pasting syntax-colorized
code to Macromedia Dreamweaver and other HTML-aware applications.
Note: rarely (on very few machines) turning this on may cause problems with
pasting to Outlook.
- Move edited files from Drag-drop to Custom folder - when checked the editor
will automatically move manually edited formulas created by drag-and-drop
mechanism inside hidden 'Drag-drop' subfolder to 'Custom' subfolder.
- Font settings - allows you to define AFL editor font face and size
- Colors and styles - allows you to define what colors and styles
will be used to mark certain language elements when syntax highlighting is
Data tab - allows you to define default, global values for all databases.
IMPORTANT: some of these settings may get overwritten by PER-DATABASE settings
in File->Database Settings window. See explanation in Tutorial:
Understanding database concepts.
- Data source: defines default data souce (for databases that do
not specify other source in File->Database Settings)
- Local data storage: default setting for external databases
(this setting gets overwritten by File->Database Settings).
If "Enabled" then external data are cached in local files. If "Disabled" then
local files do not store external data.
- In-memory cache (max. symbols) - defines how many symbols data should
be kept in RAM (for very fast access) - this works together with the next
- In-memory cache (max. MegaBytes) - defines how many MB of RAM should
be used for temporary data cache (for very
- Number of bars to load - default setting for external databases
(this setting gets overwritten by File->Database Settings). Defines how
many bars should be loaded from external data souce and kept in AmiBroker.
Examples: 10-years EOD: 2600, 60-days intraday 1-minute: 30000 (approx)
- Limit number of saved quotations - if this option is ON AmiBroker
will save database with limited number of quotations. This prevents the database
from growing too much
- Max. number of saved quotations - this is the limit itself. Preferable
300 or higher for EOD databases, 3000 or higher for intraday
- Default database path - this defines the path to the database
that is loaded on startup. If such database does not exist it will be re-created
at startup time.
Intraday tab - provides settings for intraday charting
- Custom time intervals - allow to define your own N-minute or N-hours
intervals (available later from View->Intraday menu)
- Custom N-tick chart settings - allow to define your own N-tick charts
(available later from View->Intraday menu)
- Align custom minute bars to regular market hours - when checked
AmiBroker will trim pre-market custom interval bar so new bar will begin
exactly when trading hours start. Trading hours can be set per-database in
File->Database Settings->Intraday settings. Let's say that we have 45-minute
bars. Without this setting we would bet bars starting at 9:00, 9:45, 10:30,
11:15 etc. When this is turned on and trading starts at 9:30 we have guarantee
that bars will be aligned to 9:30: 8:45, 9:30, 10:15, 11:00
- Time compressed bars shows:
- time of FIRST tick inside bar - when selected the bar gets
the time stamp of the very first trade inside given time slot (bar)
- time of the LAST tick inside bar - when selected the bar gets
the time stamp of the very last trade inside given time slot (bar)
- START time of the interval - when selected the bar
is time-stamped with start time of the time slot (bar).
Lets say that 30 minute
bar covers 9:00:00..9:29:59. When this is selected AmiBroker will
display time of this bar as 9:00
- END time of the interval - when selected the bar
is time-stamped with start time of the time slot (bar). Lets say that
30 minute bar covers 9:00:00..9:29:59. When this is selected AmiBroker
will display time of this bar as 9:29:59
- Realtime chart refresh interval - defines interval between automatic
chart refreshes in real-time mode. By default charts are refreshed every
3 seconds but in very volatile market you may prefer to set it to 1, so charts
are refreshed every second in real-time mode.
New in 4.90: To enable 'every tick' chart refresh in Professional Edition, go to Tools->Preferences, Intraday tab and enter ZERO (0) into "Intraday
chart refresh interval" field. (note Standard Edition won't allow to
Once you enter zero, AmiBroker will refresh all charts with every new
trade arriving provided that the formulasyou use execute fast enough. If
not, it will dynamically adjust refresh rate to maintain maximum possible
refresh rate without consuming more than 50% of CPU (on average). So for
example if your charts take 0.2 sec to execute AmiBrokerwill refresh them
on average 2.5 times per second.
Note: built-in Windows Performance chart shows cumulated CPU consumption
for all processes, to display PER-PROCESS CPU load use SysInternals free
- Price data tooltips
if checked small tooltips will appear when you hover over the chart displaying
selected bar date, prices / indicator values
- Show interpretation in tooltip
if checked data tooltips will include also interpretation text that is normally
displayed in the Interpretation window.
- Data tip auto-hide timeout
defines how many seconds data tooltip should remain on the screen if you
don't move your mouse.
- Add full name to ticker in the ticker box
when checked the ticker box displays not only symbol but also full name of
- Add full name to ticker in the tree
when checked the workspace tree displays not only symbol but also full name
of the issue
- Full-name tooltips in symbol tree
when checked then full
name of symbol is displayed in the tooltip that appears when you move your
mouse over symbol
in the symbol tree.
- Data-tip auto-hide timeout
defines time in seconds how long data tooltip (that shows values of indicators)
will be displayed when mouse cursor does not move
- Thousand separator
defines thousand separator for number displayed on charts and all list-views.
- Decimal places in RT quote window
defines how many decimal places should be displayed in Real Time quote
- Axis font
defines font face and size to be used for chart axis and text tool
- No minimum size for resizing dialogs
when checked it allows to size dialogs below the minimum size (so some
controls become invisible)
- Display plugin activity
when checked AmiBroker displays information about accessing data
plugin in the status bar
- Case sensitive ticker symbols
when checked ticker symbols are case sensitive. In other words INTC and Intc
and iNTc are considered DIFFERENT. This is required for some Canadian symbols
for example. Please use with caution. If your exchange do not use case-sensitive
tickers please make sure it is UNCHECKED.
- Auto-arrange charts
if this option is on chart windows are scaled and arranged to fit the screen
after every opening/closing chart window.
- Auto-tile multiple chart windows
when checked multiple chart windows are always tiled vertically on
every resize of the main application window.
- Ask to save changed data
when checked AmiBroker asks if you want to save modified data on exit.
When unchecked AmiBroker saves modified data without asking.
- Save on exit: Preferences, Templates, Layouts
controls which settings should be saved automatically on exit
Alerts tab - It allows to define e-mail account settings, test sound
output and define
which parts of AmiBroker can generate alerts via AlertIF function.
E-mail settings page now allows to choose among most popular authorization
schemes like: AUTH LOGIN (most popular), POP3-before-SMPT (popular), CRAM-MD5,
LOGIN PLAIN. Version 5.30 allows also to use SSL (secure connection) used by
GMail for example. For more information about setting up with GMail see Tutorial:
Formula based alerts.
Enable alerts from checkboxes allow you to selectively enable/disable
alerts generated by Automatic analysis, Commentary/Interpretation and custom
- keyboard tab has been moved to Tools->Customize dialog
- Multi-threaded charts - enables multi-threaded execution
of AFL in charts/indicators. Multi-threading allows to maximize speed and
utilisation of modern multi-core / multi-CPU computers.
i7 CPU your charts will run upto 8 times faster than in version 5.30. In
version 5.40 the AFL engine has been completely rewritten from ground up
to allow multiple instances of the engine running simultaneously. This enables
only multithreading but also enhances responsiveness of entire application,
as even badly-written user formula used in a chart is not able to lock or
slow the rest of the program. Multi-threading is ON by default. It
can be turned off by unchecking this box but it is strongly discouraged.
Multi-threading should be turned ON if you want AmiBroker to operate at full
- Catch system exceptions in Indicators and commentaries -
when checked all exceptions (run-time errors) are catched by the indicator
drawing code, so
no Bug Recovery window appears. Instead
exception information is displayed inside chart pane. It is recommended to
have this turned ON especially when you use real-time data
- Stop parsing on first error - when checked parser stops
further code analysis on first encountered error so only one (first) error
is displayed in the formula editor error list.
If it is unchecked then parser will list all errors found. It is recommended
to turn it off.
- Enable loop termination by Shift-BREAK - when checked
AmiBroker will allow to break any for(), while() and do-while() loop by pressing
and holding down SHIFT and BREAK(PAUSE) keys on your keyboard.
- Check Shift+BREAK key every - defines how often keyboard
state should be checked when loop is executed. Note that specifying small
will make loop execution slower.
- Endless loop detection threshold - defines the number
of loop iterations after which AmiBroker will terminate the loop with "Possible
detected" error message. This is useful in situations when the code has infinite
loop (due to mistake of the formula author) because it won't allow AmiBroker
to hang due to infinite looping
- Standard include path - the default path to use when #include
statement uses < > braces instead of ""
- Formula tree root path - the root path of Formula
file/directory tree displayed in the Charts tab of Workspace window
- Show hidden folders - determines if formula tree should
show subfolders with "hidden" attribute (drag-drop folder is created as "hidden"
The Debugger settings are as follows:
- Limit BarCount to - defines maximum number of bars in
arrays (BarCount) used during debugging (by default it is 200 bars)
- Bar interval - decides if debugger uses Base time interval
or current Chart interval. The default is "Use base time interval" because
there can be no chart open at all!
- Auto-scroll to first changed item - when this is ON, the "Arrays" list
in the Watch window is scrolled automatically to first array item that has
changed (so you don't need to locate elementsm that changed manually)
- Keep debugging state - when this is ON, AFL editor saves
the debug state (breakpoints and watches) and bookmarks in the .dbg file
along with the formula when closing the editor and restores the state when
formula is reopened. Note that .dbg file is automatically deleted by AmiBroker
when there are no breakpoints, no bookmarks and no watches.
This page allows to define base currency and
exchange rates (fixed or dynamic)
for different currencies. This allows to get correct backtest results when testing
securities denominated in different currency than your base portfolio currency. For
more details please check Tutorial: Pyramiding and multiple-currency support
in the backtester.
How does AB know whether I want the fixed or dynamic quote?
There are following requirements to use currency adjustements:
a) Symbol->Information, "Currency" field shows currency different
than BASE currency
b) Appropriate currency (defined in Symbol) has matching entry in Preferences->Currencies
c) the dynamic rate "FX SYMBOL" defined in the preferences EXISTS in
your database and HAS QUOTES for each day under analysis range.
What is "INVERSE" check box for in the preferences?
Let's for example take EURUSD.
When "USD" is your BASE currency then EUR exchange rate would be "straight" EURUSD
fx (i.e. 1.3).
But when "EUR" is your BASE currency then USD exchange rate would
be INVERSE of EURUSD (i.e. 1/1.3).
Opposite would be true with FX rates like USDJPY (which are already "inverse").