Thứ Năm, 12/11/202612/11/2026

Sử dụng cảnh báo dựa trên công thức trong AmiBroker

thumbnail (7)
thumbnail (7)

1. Giới thiệu

AmiBroker cho phép thiết lập cảnh báo dựa trên điều kiện công thức. Khi điều kiện được kích hoạt, hệ thống có thể:

  • Hiển thị thông báo trong cửa sổ Alert Output.
  • Phát âm thanh (bằng tệp WAV hoặc tiếng bíp).
  • Gửi email đến địa chỉ được cấu hình.
  • Khởi chạy ứng dụng ngoài hoặc mở liên kết web.

Tính năng này được quản lý thông qua hàm

AlertIf()

. Ngoài ra, người dùng có thể sử dụng Easy Alerts cho các cảnh báo đơn giản (không cần mã hóa).

Để xem cửa sổ cảnh báo, vào menu
Window → Alert Output
.

2. Cài đặt cảnh báo

Vào
Tools → Preferences → Alerts
để truy cập các thiết lập như:

  • Cấu hình tài khoản email (hỗ trợ AUTH LOGIN, POP3-before-SMTP, CRAM-MD5, LOGIN PLAIN).
  • Kiểm tra âm thanh đầu ra.
  • Bật/tắt cảnh báo từ Automatic Analysis, Commentary/Interpretation, hoặc các chỉ báo tùy chỉnh.

AmiBroker 5.30 trở lên hỗ trợ SSL (hữu ích khi dùng Gmail). Để kích hoạt SSL:

  1. Tải và cài tiện ích SSL từ http://www.amibroker.com/bin/SSLAddOn.exe
  2. Bật SSL trong Preferences → Alerts

3. Cấu trúc hàm AlertIf

AlertIf( BOOLEAN_EXPRESSION, command, text, type = 0, flags = 1+2+4+8, lookback = 1 );

Thành phần:

  • BOOLEAN_EXPRESSION

    : Biểu thức điều kiện. Nếu đúng (true), cảnh báo được kích hoạt.

  • command

    : Hành động thực hiện:

  • ""

    : chỉ hiển thị văn bản trong Alert Output

  • SOUND path-to-WAV

    : phát tệp âm thanh WAV

  • EMAIL

    : gửi email

  • EXEC path-or-URL

    : chạy ứng dụng ngoài hoặc mở đường dẫn web

  • text

    : Văn bản hiển thị hoặc gửi trong cảnh báo.

  • type

    : Loại cảnh báo (0: mặc định, 1: Buy, 2: Sell, 3: Short, 4: Cover, >4: Other).

  • flags

    : Tổng hợp các hành vi:

  • 1

    : hiển thị văn bản

  • 2

    : phát tiếng bíp

  • 4

    : ngăn lặp cảnh báo cùng kiểu

  • 8

    : ngăn lặp cảnh báo cùng thời điểm

  • lookback

    : Số lượng thanh gần nhất để xét điều kiện cảnh báo

Ví dụ sử dụng:

Buy = Cross( MACD(), Signal() );

Sell = Cross( Signal(), MACD() );

Short = Sell;

Cover = Buy;

AlertIf( Buy, “EMAIL”, “Buy Signal on “+FullName(), 1 );

AlertIf( Sell, “SOUND C:\\Windows\\Media\\Ding.wav”, “Sell Alert”, 2 );

AlertIf( Short, “EXEC Calc.exe”, “Opening Calculator”, 3 );

AlertIf( Cover, "", “Cover Signal”, 4 );

EXEC

sử dụng ShellExecute, có thể chạy cả file

.exe

hoặc URL như

http://…

4. Logic nội bộ của AlertIf

AlertIf sử dụng một máy trạng thái bên trong để tránh các cảnh báo lặp lại không cần thiết:

  • Mỗi symbol sẽ lưu trạng thái cảnh báo cuối cùng theo

    type

  • Chỉ cảnh báo mới khác loại hoặc thời gian mới được kích hoạt

Ghi chú nâng cao:

  1. Để cho phép cảnh báo lặp lại khi quét lại:

AlertIf( condition, "", “Text”, 1, 1+2 );

  1. Để chỉ cảnh báo ở thanh hoàn thành (không phải thanh hiện tại):

barcomplete = BarIndex() < LastValue(BarIndex());

AlertIf( barcomplete AND condition, "", “Text”, 1 );

  1. Nếu không cần logic trạng thái, dùng các hàm đơn giản hơn:
  • SendEmail( subject, body )
  • PlaySound( path-to-WAV )
  • ShellExecute( path-or-URL )

5. Cửa sổ Alert Output

  • Cho biết thời điểm cảnh báo, nội dung văn bản, và
    nguồn cảnh báo
    (từ Automatic Analysis, chỉ báo tùy chỉnh hay Commentary).
  • Dễ dàng tra cứu và theo dõi nguồn tạo ra cảnh báo.

Tính năng cảnh báo trong AmiBroker giúp hệ thống giao dịch của bạn trở nên linh hoạt và chủ động hơn trong việc thông báo các điểm vào/ra lệnh, gửi thông tin hoặc kích hoạt các công cụ khác khi cần thiết.

Thông tin trong bài chỉ mang tính tham khảo, không phải khuyến nghị mua bán. Giao dịch phái sinh có rủi ro cao do sử dụng đòn bẩy; nhà đầu tư tự chịu trách nhiệm với quyết định của mình.

Nguyễn Hà Anh

Biên tập viên mảng thị trường phái sinh, theo dõi VN30F1M và dòng tiền khối ngoại hằng ngày.

AMI X BY DNSE
100 CHIẾN THUẬTmiễn phí khi tải Ami X

Tự động đặt lệnh theo tín hiệu AmiBroker thẳng vào tài khoản chứng khoán.

* Phần mềm chạy trên máy tính Windows. Giao dịch tự động vẫn có rủi ro mất vốn.

Cộng đồng