Bài 15: Hàm Lấy giá mới nhất (Latest Price MT4) trong tổng lệnh hiện tại

Bài 15: Hàm Lấy giá mới nhất (Latest Price MT4) trong tổng lệnh hiện tạiLatest Price MT4
Xin chào! Để 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 GiaMoiNhat(string type)
{
   double GiaVaoLenh = 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")   GiaVaoLenh = OrderOpenPrice();
            if(OrderType()==OP_SELL && type== "OP_SELL") GiaVaoLenh = OrderOpenPrice();
         }
    }
   return GiaVaoLenh;
}

Hàm GiaMoiNhat dùng để lấy giá mở lệnh mới nhất của loại lệnh được chỉ định (OP_BUY hoặc OP_SELL). Dưới đây là mô tả chi tiết về hàm này:

  1. Tham số đầu vào:
    • type: Một chuỗi string, chỉ định loại lệnh mà bạn muốn lấy giá mở lệnh. Có thể là “OP_BUY” hoặc “OP_SELL”.
  2. Biến cục bộ:
    • double GiaVaoLenh = 0: Biến này được khởi tạo với giá trị mặc định là 0. Nó sẽ lưu giá mở lệnh mới nhất của loại lệnh được chỉ định.
  3. 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àm OrdersTotal() để 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ì lấy giá mở lệnh của lệnh đó bằng cách sử dụng hàm OrderOpenPrice() và gán cho GiaVaoLenh.
  4. Trả về giá mở lệnh mới nhất:
    • Khi kết thúc vòng lặp, hàm sẽ trả về giá mở lệnh mới nhất của loại lệnh được chỉ định. 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 giá trị trả về trong chiến lược giao dịch của bạn.[block_content id=”3041″]

Leave a Reply

Your email address will not be published. Required fields are marked *