Dashboard và view toàn ngành cổ phiếu.

Cách đây gần 1 tháng có một khách hàng nhờ làm code, anh tâm sự không am hiểu quá nhiều về code. Sau khi mình đăng lên nhóm amibroker đoạn code như sau có kèm theo 1 đoạn video ngắn, thì anh liên hệ để nhờ viết giúp anh bộ code,bởi anh có ý tưởng và chưa thực hiện được Sau khi mò để đưa lên được 3 ngành cho nó hiển thị lên cũng hơi phê. Bởi mình là dân không chuyên về code, code này nhìn có vẻ ổn nhưng sau khi chạy thì nó bị mất cổ phiếu thuộc nhóm ngành, mình không biết fix lỗi thế nào đành để vậy, nghiên cứu sau.

Cũng may thời gian này đang cách ly trước khi đi làm nên có khá nhiều thời gian rãnh. Bắt đầu nghiên cứu lại từ đầu, mỗi mã là một button, mỗi button có 1 ID, phải xử lý ID trùng nhau. 3 cái ngành đã hiển thị bình thưởng thì mã cổ phiếu ổn, nhưng trong quá trình chạy bị mất cổ phiếu. ID trùng nhau dẫn đến 1 số lần chạy code bị lỗi và không hiển thị được, khả năng do mình đang dùng ID thủ công. Vậy giờ chuyển sang dùng ID linh hoạt thì làm thế nào, bởi vì trong quá trình giao dịch nhà đầu tư bổ sung thêm mã cổ phiếu vào nhóm ngành thì sao, hoặc danh sách mã cổ phiếu khách hàng khác danh sách của mình, vậy để làm sao không xảy ra trường hợp lỗi. Vấn đề càng trở nên nan giải. Cả ngày ngồi cày và xem hướng dẫn tại forum của amibroker ghép các code lại, thử mọi cách, thứ xong backtest. 2-3 ngày vẫn chưa khắc phục được lỗi.
Thời gian cách ly chỉ còn 1 ngày, ngoài biển thì mạng yếu không thể lướt web để tra cứu được, cuối cùng tạm dừng lại và cố gắng down thật nhiều bài viết và code tương tự để ra biển tranh thủ thời gian tối đến nghiên cứu tiếp.

Cuối cùng cũng hoàn thiện cho anh. Lúc gửi cho anh code nó hiển thị tùm lum, mình sẽ nói cái lỗi đó ở phía dưới nhé. Liên hệ với anh thì anh lại nhờ thêm làm cho anh cái kiểu giống trang web. Tối đến đi dò sóng để tìm giao diện cho anh, Lần này anh để cho mình toàn quyền thiết kế, thế là mình đem hết những thứ có sẵn gom chúng lại. cuối cùng cũng hoàn thiện cho anh sau 10 đêm chỉnh code.

Sau khi gửi code cho anh thì thực sự không như mình nghĩ, tưởng không gặp lỗi cuối cũng lỗi triền miên, không phải lỗi không đọc được code mà là lỗi hiển thị, cái lỗi mà code trươc gửi cho anh đã bị. Nguyên nhân xảy ra code là các lệnh vẽ ô xuông, kích thước là 1 hằng số, vị trí của các phần hiển thị cũng là vị trí. bởi vậy lúc thiết kế trên máy tính của mình nó không bị lỗi, nhưng khi chuyển qua máy tính của anh thì bị lỗi do độ phân giải khác nhau.
Vấn đề giải quyết ở đây bắt đầu nghiên cứu đến việc làm sao để chúng hiển thị tương thích với mọi độ phân giải màn hình. Kích thước chiều ngang máy mình khi hiển thị amiboker là  1880px. cuối cùng mình giải quyết bằng phân số độ phân giải, nói thêm thì dài dòng nhưng tóm lại nó giải quyết tương đối.
Sau đó 1 tuần anh mới liên hệ để mình thêm giúp anh 1 cột % của volume so với volume trung bình 20 phiên. Nếu làm như vậy các cột sẽ rộng ra và chúng không thể hiển thị trên cùng 1 sheet của ami được, vậy chỉ còn cách chia làm 2 sheet. phía dưới là thành quả cuối cùng.

Chúc nhà đầu tư thành công !

Post a Comment

Previous Post Next Post