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

Discussion in 'Thị trường chứng khoán' started by AmiX, Sep 18, 2025.

965 người đang online, trong đó có 386 thành viên. 08:07 (UTC+07:00) Bangkok, Hanoi, Jakarta
  1. 1 người đang xem box này(Thành viên: 0, Khách: 1)
thread_has_x_view_and_y_reply
  1. AmiX

    AmiX Thành viên rất tích cực

    Joined:
    Jan 17, 2025
    Likes Received:
    41
    [​IMG]
    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ư:
    [​IMG]
    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:
    Tải và cài tiện ích SSL từ http://www.amibroker.com/bin/SSLAddOn.exe
    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 );
    [​IMG]
    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:
    Để cho phép cảnh báo lặp lại khi quét lại:
    AlertIf( condition, “”, “Text”, 1, 1+2 );
    Để 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 );
    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.
    &nbs
    Nguồn: https://phaisinh.online/2025/09/18/su-dung-canh-bao-dua-tren-cong-thuc-trong-amibroker/
    663388 likes this.

Share This Page