[quote user="kaka"]

Có thể có nhiều lệnh thay đổi giá mà chương trình của bác quên ko tính đi chăng?

[/quote]

Nếu thay đổi giá thì chương trình hiện chưa xử lý được, coi như xuất hiện thêm lệnh mới-> sai về số đang chờ khớp, nhưng phần tính giá trung bình chỉ xử lý khi tổng KLGD tăng lên và khi đó mới khớp thêm 1 lô mới, với giá khớp đang xuất hiện trên bảng điện tử nên logic là không sai: giá tb cũ x tổng KLGD cũ = tổng số tiền giao dịch trước đó. số này cộng với KL vừa khớp x giá vừa khớp chia lại cho tổng KLGD là đúng.

Cám ơn bác kaka!