Chuyên lập trình AmiBroker cho Giao dịch chứng khoán

Thứ 3, 01/07/2025

::

PM
Đầu tư chứng khoán khoa học trên nền tảng phân tích dữ liệu và thống kê
CategoryGetSymbols - lấy danh sách các mã cổ phiếu thuộc danh mục đã cho
2023-05-19 15:41:00 1615 Lượt xem

    CategoryGetSymbols - lấy danh sách các mã cổ phiếu thuộc danh mục đã cho

    Cú pháp:

    CategoryGetSymbols(category, index, mode = 0)

    Giá trị trả về

    CHUỖI (STRING)

    Chức năng

    Hàm CategoryGetSymbols lấy danh sách các mã cổ phiếu (ngăn cách dạng dấu phẩy) thuộc danh mục đã cho. Các danh mục được hỗ trợ:

    • categoryMarket (thị trường)
    • categoryGroup (nhóm)
    • categorySector (lĩnh vực)
    • categoryIndustry (ngành)
    • categoryWatchlist (danh sách theo dõi)
    • categoryFavorite (yêu thích)
    • categoryIndex (danh mục chỉ số)
    • categoryGICS (hệ thống GICS)
    • categoryICB (hệ thống ICB)
    • categoryAll (mới trong phiên bản 5.50) - có nghĩa là tất cả các mã cổ phiếu trong cơ sở dữ liệu

    index là số thị trường/nhóm/ngành/lĩnh vực/danh sách theo dõi:

    • 0..255 cho categoryMarket, categoryGroup, categoryIndustry
    • 0..63 cho categorySector
    • không giới hạn cho categoryWatchlist.
    • bị bỏ qua cho categoryFavorite, categoryIndex

    mode - (mới trong phiên bản 5.50) tham số chế độ quyết định trường nào được lấy:

    • 0 (giá trị mặc định) - ký hiệu mã
    • 1 - tên đầy đủ

    Ý nghĩa của tham số số chỉ mục khác nhau đối với các danh mục GICS và ICB - số chỉ mục cho categoryGICS và categoryICB thực sự là mã GICS/ICB. Ví dụ: 10 cho lĩnh vực năng lượng hoặc 351010 cho ngành "Thiết bị và Vật tư Y tế". Các mã này được cố định ngay cả khi có thêm phân loại mới trong tương lai. Điều này có nghĩa là bạn sẽ không cần phải thay đổi mã AFL ngay cả khi có thêm phân loại mới. Tuy nhiên, điều quan trọng là hiểu rằng các mã này hoạt động theo cách phân cấp. Vì vậy,

    CategoryGetSymbols(categoryGICS, 10)

    sẽ trả về tất cả các mã cổ phiếu thuộc lĩnh vực năng lượng, bao gồm cả các mã trong lĩnh vực 10101010 - Khoan dầu và khí đốt cũng như 10102050 - Than và Nhiên liệu tiêu thụ.

    Sử dụng hàm StrExtract để trích xuất các mã cổ phiếu riêng lẻ từ danh sách.

    Ví dụ

    /* chú ý: nếu danh sách theo dõi cung cấp có nhiều mã cổ phiếu
    ** hiệu suất có thể kém
    ** TRÁNH SỬ DỤNG MÃ NÀY TRONG CHẾ ĐỘ THỰC THI THỜI GIAN THỰC!
    */

    function CreateAverageForWatchList( listnum )
    {
       // lấy danh sách các mã cổ phiếu (ngăn cách dạng dấu phẩy) trong danh sách theo dõi
       list = CategoryGetSymbols(categoryWatchlist, listnum);

       Average = 0; // trường hợp không có thành viên trong danh sách theo dõi

       for( i = 0; ( sym = StrExtract( list, i ) ) != ""; i++ )
       {
          f = Foreign( sym, "C" );
          if( i == 0 ) Average = f;
          else Average = Average + f;
       }
       return Average / i; // chia cho số thành phần
    }

    Plot( CreateAverageForWatchList( 1 ), "Avg of WL 1", colorGreen );

     

    Ví dụ 2, lấy tất cả các mã ký hiệu và tên đầy đủ:
    // để lấy tất cả các mã ký hiệu
    CategoryGetSymbols(categoryAll, 0);
    // để lấy tên đầy đủ của tất cả các mã, sử dụng:
    CategoryGetSymbols(categoryAll, 0, 1);

    Đọc thêm

    Thu gọn

    Bài viết khác:
    Zalo
    Hotline