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);