Code Tổng Hợp Ngành New Ver 2.9 ( Đã được tối ưu hóa)

tổng Hợp Ngành,Chứng Khoán, Code amibroker

 Chào thân mến tất cả anh chị em, Hiện nay đa số anh chị em nhà đầu tư đều đang sử dụng bộ code Tổng hợp ngành cho việc theo dõi các cổ phiếu. trong thời gian rãnh rỗi tôi đã mày mò tối ưu hóa code để code nhẹ hơn và thêm vào tính năng xem chart trực tiếp trên code, anh chị em chỉ cần click vào mã cổ phiếu là anh chị có thể xem ngay chart giá của cổ phiếu mà không mất nhiều thời gian để chuyển sang sheet khác. Sau đây là những gì tôi đã tối ưu hóa từ phiên bản 2.2:

𝑯𝒊𝒆̂̉𝒏 𝒕𝒉𝒊̣ 𝒕𝒂̆𝒏𝒈 𝒈𝒊𝒂̉𝒎 𝒏𝒈𝒂̀𝒏𝒉:
- Bỏ tính toán khối lượng vì không được sử dụng, giảm một nửa số lần gọi Foreign.
- Xóa SetForeign(sym) vì sym là tên ngành, không phải mã chứng khoán, gây lỗi.
- Tạo hàm GetSectorClose để tính tổng giá đóng cửa, giúp code gọn gàng hơn.
- Giảm số lần gọi Foreign để tăng tốc độ, vì có khoảng 200 mã chứng khoán.
- num=1+StrCount nên được tính ngoài vòng lặp để tránh lặp lại không cần thiết.
- Tạo chuỗi displaynames để hiển thị tên ngành với unicode, tránh WriteIf phức tạp.
- Matrix trong AFL phù hợp cho mảng số, không phải mảng giá trị theo thời gian.
- Gộp danh sách ngành và biểu tượng vào một chuỗi, dùng ký tự phân tách.
- Xây dựng sector_data bằng cách nối tên ngành và danh sách mã, dễ mở rộng khi thêm ngành.
- Sử dụng VarSet để lưu tổng giá đóng cửa theo chỉ số ngành, tránh IIf lồng phức tạp.
𝑯𝒊𝒆̂̉𝒏 𝒕𝒉𝒊̣ 𝒕𝒐𝒂̀𝒏 𝒃𝒐̣̂ 𝒄𝒐̂̉ 𝒑𝒉𝒊𝒆̂́𝒖:
- Tính toán tất cả dữ liệu Foreign một lần cho mỗi ngành, tránh lặp lại.
- Tạo mảng cho tên ngành, tên hiển thị, và vị trí để giảm lặp lại.
- Lưu trữ dữ liệu Foreign trong ma trận khi tính toán ROC, tránh gọi lại nhiều lần.
- Ma trận có thể mở rộng để lưu giá đóng cửa, chg% và tỷ lệ khối lượng, giảm việc gọi Foreign nhiều lần.
- Làm code gọn hơn bằng cách thay thế chuỗi WriteIf cho tennganh bằng StrExtract từ displaylist.
- Loại bỏ hiển thị giá đóng cửa vì không cần thiết.


Đăng nhận xét