Để tính tổng Lots hiện tại có trên MT4 bạn có thể sử dụng hàm OrdersTotal
để lấy tổng số lệnh đang mở trong tài khoản và sau đó duyệt qua từng lệnh để lấy thông tin số lượng (lots)
của từng lệnh và tính tổng. Ví dụ:
double GetTotalLots(string type) { double totalLots =0; for(int i=0; i<OrdersTotal(); i++) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) if(OrderSymbol()==_Symbol && OrderMagicNumber()==MagicNumber) { if(OrderType()==OP_BUY && type== "OP_BUY") { totalLots +=OrderLots(); } if(OrderType()==OP_SELL && type== "OP_SELL") { totalLots +=OrderLots(); } } } return(totalLots ); }
Hàm GetTotalLots
được sử dụng để tính tổng số lô của các lệnh mở có cùng cặp tiền và mã Magic như được chỉ định, với loại lệnh cụ thể (OP_BUY hoặc OP_SELL). Dưới đây là mô tả chi tiết về hàm này:
- Tham số đầu vào:
type
: Một chuỗi string, chỉ định loại lệnh mà bạn muốn tính tổng số lô (OP_BUY hoặc OP_SELL).
- Biến cục bộ:
double totalLots = 0
: Biến này được khởi tạo với giá trị mặc định là 0. Nó sẽ lưu tổng số lô của các lệnh đạt điều kiện.
- Vòng lặp qua các lệnh đã mở:
- Vòng lặp
for
chạy qua tất cả các lệnh đã mở bằng cách sử dụng hàmOrdersTotal()
để lấy tổng số lệnh hiện tại. - Với mỗi lệnh, sử dụng hàm
OrderSelect()
để chọn lệnh hiện tại theo vị trí (SELECT_BY_POS
) trong danh sách lệnh. - Sau đó, kiểm tra nếu lệnh được chọn có cùng cặp tiền (
OrderSymbol()
) và mã Magic (OrderMagicNumber()
) với cặp tiền và mã Magic được chỉ định trong hàm. - Tiếp theo, kiểm tra nếu loại lệnh của lệnh hiện tại là OP_BUY và
type
được truyền vào cũng là “OP_BUY”, hoặc nếu loại lệnh của lệnh hiện tại là OP_SELL vàtype
là “OP_SELL”, thì thêm số lô của lệnh vào biếntotalLots
.
- Vòng lặp
- Trả về tổng số lô:
- Khi kết thúc vòng lặp, hàm sẽ trả về tổng số lô của các lệnh mở phù hợp. Nếu không có lệnh nào được tìm thấy hoặc không phù hợp với loại lệnh được chỉ định, hàm sẽ trả về giá trị mặc định là 0.
Lưu ý rằng bạn cần chắc chắn gọi hàm này với loại lệnh thích hợp và kiểm tra kết quả trước khi sử dụng tổng số lô trả về trong chiến lược giao dịch của bạn.[block_content id=”3041″]