- trigger alerts

Trading system toolbox
(AmiBroker 4.10)

SYNTAX AlertIf( BOOLEAN_EXPRESSION, command, text, type = 0, flags = 1+2+4+8, lookback = 1 );
RETURNS nothing
FUNCTION Triggers alert action if BOOLEAN_EXPRESSION is true.

1. BOOLEAN_EXPRESSION is the expression that if evaluates to True (non zero value) triggers the alert. If it evaluates to False (zero value) no alert is triggered. Please note that only lookback most recent bars are considered.

2. The command string defines the action taken when alert is triggered. If it is empty the alert text is simply displayed in the Alert output window (View->Alert Output). Other supported values of command string are:
SOUND the-path-to-the-WAV-file
EXEC the-path-to-the-file-or-URL

SOUND command plays the WAV file once.
EMAIL command sends the e-mail to the account defined in the settings (Tools->Preferences->E-mail). The format of the e-mail is as follows: Subject: Alert type_name (type) Ticker on Date/Time
Body: text
EXEC command launches external application or file or URL specified after EXEC command. are attached after file name and text is attached at the end

3. Text defines the text that will be printed in the output window or sent via e-mail or added as argument to the application specified by EXEC command

4. Type defines type of the alert. Pre-defined types are 0 - default, 1 - buy, 2 - sell, 3 - short, 4- cover. YOu may specify higher values and they will get name "other"

5. Flags control behaviour of AlertIF function. This field is a combination (sum) of the following values:
( 1 - display text in the output window, 2 - make a beep (via computer speaker), 4 - don't display repeated alerts having the same type, 8 - don't display repeated alerts having the same date/time) By default all these options are turned ON.

6. lookback parameter controls how many recent bars are checked

IMPORTANT: AlertIf is not mindless function, it contains internal logic (aka. finite state machine). For full understanding how AlertIf function works and how to use it, you need to read Tutorial: Using formula-based alerts.

EXAMPLE Buy = Cross( MACD(), Signal() );
Sell = Cross( Signal(), MACD() );
Short = Sell;
Cover = Buy;
AlertIF( Buy, "EMAIL", "A sample alert on "+FullName(), 1 );
AlertIF( Sell, "SOUND C:WindowsMediaDing.wav", "Audio alert", 2 );
AlertIF( Short, "EXEC Calc.exe", "Launching external application", 3 );
AlertIF( Cover, "", "Simple text alert", 4 );

Note EXEC command uses ShellExecute function and allows not only EXE files but URLs too.


The AlertIf function is used in the following formulas in AFL on-line library:

More information:

See updated/extended version on-line.