Để lấy giá vào lệnh mới nhất trong n lệnh trên MT4, bạn có thể sử dụng hàm OrderSelect()
để chọn lệnh cuối cùng được mở. Sau đó, bạn có thể sử dụng hàm OrderOpenPrice()
để lấy giá vào lệnh của lệnh đó. Dưới đây là một ví dụ đơn giản:
double GiaBuyMoiNhat() { double GiaVaoLenh = 0; for(int i = 0; i < OrdersTotal(); i++) { if(OrderSelect(i, SELECT_BY_POS,MODE_TRADES)) if(OrderSymbol()==Symbol() && OrderMagicNumber()== Magic) { if(OrderType()==OP_BUY) GiaVaoLenh = OrderOpenPrice(); } } return GiaVaoLenh; }
Hàm GiaBuyMoiNhat()
trong đoạn mã trên được viết để tìm và trả về giá mở lệnh (OrderOpenPrice) của lệnh mua (buy order) gần nhất mà có cùng cặp tiền (_Symbol) và cùng mã MagicNumber với giá trị được chỉ định (Magic).
Dưới đây là mô tả chi tiết về hàm này:
double GiaBuyMoiNhat()
: Hàm trả về một giá trị kiểu số thực, đại diện cho giá mở lệnh của lệnh mua gần nhất.double GiaVaoLenh = 0;
: Khởi tạo biếnGiaVaoLenh
với giá trị mặc định là 0 để lưu giá mở lệnh của lệnh mua gần nhất.for(int i = 0; i < OrdersTotal(); i++)
: Vòng lặp chạy qua tất cả các lệnh trong lịch sử giao dịch.if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
: Chọn lệnh thứi
trong lịch sử giao dịch.if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
: Kiểm tra xem lệnh được chọn có cùng cặp tiền và mã MagicNumber với giá trị được chỉ định hay không.if(OrderType() == OP_BUY) GiaVaoLenh = OrderOpenPrice();
: Nếu lệnh là lệnh mua và chế độ (mode) là 0, gán giá mở lệnh của lệnh này cho biếnGiaVaoLenh
.return GiaVaoLenh;
: Trả về giá mở lệnh của lệnh mua gần nhất. Nếu không tìm thấy lệnh mua nào thỏa mãn điều kiện, hàm sẽ trả về giá trị mặc định là 0.
Hàm này có thể được sử dụng để lấy giá mở lệnh của lệnh mua gần nhất trong một chiến lược giao dịch hoặc trong quá trình phân tích thị trường.
double GiaSellMoiNhat() { double GiaVaoLenh = 0; for(int i = 0; i < OrdersTotal(); i++) { if(OrderSelect(i, SELECT_BY_POS,MODE_TRADES)) if(OrderSymbol()==Symbol() && OrderMagicNumber()== Magic) { if(OrderType()==OP_SELL) GiaVaoLenh = OrderOpenPrice(); } } return GiaVaoLenh; }
Hàm GiaSellMoiNhat()
trong đoạn mã trên được viết để tìm và trả về giá mở lệnh (OrderOpenPrice) của lệnh bán (sell order) gần nhất mà có cùng cặp tiền (_Symbol) và cùng mã MagicNumber với giá trị được chỉ định (Magic).
Dưới đây là mô tả chi tiết về hàm này:
double GiaSellMoiNhat()
: Hàm trả về một giá trị kiểu số thực, đại diện cho giá mở lệnh của lệnh bán gần nhất.double GiaVaoLenh = 0;
: Khởi tạo biếnGiaVaoLenh
với giá trị mặc định là 0 để lưu giá mở lệnh của lệnh bán gần nhất.for(int i = 0; i < OrdersTotal(); i++)
: Vòng lặp chạy qua tất cả các lệnh trong lịch sử giao dịch.if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
: Chọn lệnh thứi
trong lịch sử giao dịch.if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
: Kiểm tra xem lệnh được chọn có cùng cặp tiền và mã MagicNumber với giá trị được chỉ định hay không.if(OrderType() == OP_SELL) GiaVaoLenh = OrderOpenPrice();
: Nếu lệnh là lệnh bán, gán giá mở lệnh của lệnh này cho biếnGiaVaoLenh
.return GiaVaoLenh;
: Trả về giá mở lệnh của lệnh bán gần nhất. Nếu không tìm thấy lệnh bán nào thỏa mãn điều kiện, hàm sẽ trả về giá trị mặc định là 0.
Hàm này có thể được sử dụng để lấy giá mở lệnh của lệnh bán gần nhất trong một chiến lược giao dịch hoặc trong quá trình phân tích thị trường.[block_content id=”3041″]