Để lấy số lots của lệnh mới nhất, bạn có thể sử dụng hàm
OrdersTotal()
để lấy số lượng lệnh đang mở trong thời điểm hiện tại, sau đó sử dụng vòng lặp để lấy thông tin về mỗi lệnh và tìm ra lệnh mới nhất.
Ví dụ, để lấy số lots của lệnh mới nhất, bạn có thể sử dụng đoạn mã sau:
double LayLotMoiNhat(int LoaiLenh)
{
double Lotmoinhat = 0;
for(int i = 0; i < OrdersTotal(); i++)
{
if(OrderSelect(i, SELECT_BY_POS,MODE_TRADES))
{
if(OrderSymbol() == Symbol())
{
if(OrderType() == LoaiLenh)
{
Lotmoinhat = OrderLots();
}
}
}
}
return Lotmoinhat;
}
Print("Số lots Buy mới nhất của lệnh là ", LayLotMoiNhat(OP_BUY));
Trong đoạn mã trên, chúng ta sử dụng vòng lặp for để duyệt qua các lệnh đang mở, bắt đầu từ lệnh mới nhất. Với mỗi lệnh, chúng ta sử dụng hàm
OrderSelect()
để chọn lệnh cần lấy thông tin, sau đó sử dụng hàm
OrderLots()
để lấy thông tin về số lots của lệnh đó. Khi đã lấy được thông tin của lệnh mới nhất, chúng ta dừng vòng lặp và in ra kết quả.
Lưu ý rằng, khi lấy thông tin về lệnh đang mở, bạn cần sử dụng hàm
OrderSelect()
để chọn lệnh cần lấy thông tin, sau đó sử dụng các hàm
OrderLots()
,
OrderType()
,... để lấy thông tin về lệnh đó. Nếu không có lệnh nào đang mở, hàm
OrderSelect()
sẽ trả về giá trị false, do đó bạn cần kiểm tra kết quả trả về của hàm này trước khi sử dụng các hàm lấy thông tin về lệnh.
👉 Group ZALO hỏi đáp và trao đổi CODE:
TẠI ĐÂY