Bài 19: Hàm Close All Đóng Lệnh theo yêu cầu MT4

by TonyJay

Bài 19: Hàm Close All Đóng Lệnh theo yêu cầu MT4

Hàm CloseOrder trong ngữ cảnh của giao dịch trên nền tảng MT4 hoặc MT5 là một hàm được sử dụng để đóng tất cả các lệnh mở hiện tại trên một tài khoản giao dịch. Thông thường, nó được sử dụng khi bạn muốn đóng toàn bộ các lệnh mở của một cặp tiền cụ thể hoặc toàn bộ tài khoản giao dịch của bạn.

Cách thực hiện “Close All” thường bao gồm các bước sau:

  1. Xác định tất cả các lệnh mở: Sử dụng các hàm như OrderSelect()  để lặp qua tất cả các lệnh mở hoặc vị thế mở trên tài khoản của bạn.
  2. Đóng các lệnh mở: Sử dụng hàm OrderClose() để đóng từng lệnh mở hoặc vị thế mở. Bạn có thể cần cung cấp thông tin như số lượng, giá đóng cửa và lý do đóng lệnh.
  3. Ghi nhận và xử lý kết quả: Kiểm tra kết quả của mỗi lệnh đóng để đảm bảo rằng chúng đã được đóng thành công và xử lý bất kỳ lỗi nào xảy ra trong quá trình đóng lệnh.
  4. Báo cáo kết quả: Sau khi đóng tất cả các lệnh mở, bạn có thể muốn báo cáo kết quả, như tổng số lệnh đã đóng thành công hoặc bất kỳ vấn đề nào phát sinh.
void CloseOrder(string type)
  {
   for(int i=OrdersTotal()-1 ; i>=0; i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
      if(OrderSymbol()==_Symbol && OrderMagicNumber()==MagicNumber)
        {
         if(OrderType()==OP_BUY && type== "OP_BUY")
         {
            if(!OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),5,clrNONE))
               Print("Closed Order Buy Error ",GetLastError());
          }
         if(OrderType()==OP_SELL && type== "OP_SELL")
         {
            if(!OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),5,clrNONE))
               Print("Closed Order Sell Error ",GetLastError());
         }         
        }
     }
  }

Hàm CloseOrder được viết để đóng các lệnh mở tương ứng với loại lệnh được chỉ định (OP_BUY hoặc OP_SELL). Dưới đây là mô tả từng dòng code:

  1. Vòng lặp: Vòng lặp được sử dụng để lặp qua tất cả các lệnh mở trên tài khoản giao dịch.
  2. Kiểm tra lệnh: Mỗi lệnh được kiểm tra xem có phải là lệnh mua (OP_BUY) hoặc bán (OP_SELL) và có thuộc cặp tiền và số magic được chỉ định hay không.
  3. Đóng lệnh: Nếu lệnh thỏa mãn các điều kiện trên, hàm OrderClose() được gọi để đóng lệnh đó. Các tham số của hàm này bao gồm: số vé của lệnh, số lượng muốn đóng, giá đóng cửa, slippage (độ trượt giá), và màu sắc của giao dịch trong lịch sử giao dịch.
  4. Xử lý lỗi: Nếu việc đóng lệnh không thành công, một thông báo lỗi sẽ được in ra để thông báo cho người dùng biết.

Hàm này sẽ đóng tất cả các lệnh mở tương ứng với loại lệnh được chỉ định, nhưng cần phải chú ý rằng việc đóng lệnh có thể gây mất tiền nếu không được thực hiện đúng cách, vì vậy cần phải xác định rõ ràng loại lệnh mà bạn muốn đóng trước khi sử dụng hàm này. 


???? Group ZALO hỏi đáp và trao đổi CODE: TẠI ĐÂY ???? ???? Group TELEGRAM hỏi đáp và trao đổi CODE: TẠI ĐÂY

You may also like

Leave a Comment

FOREX FORUM CODE là nền tảng tổng hợp, chia sẻ và cập nhật kiến thức lập trình, cung cấp những thông tin hữu ích giúp bạn học và phát triển robot giao dịch. Website hiện đang trong giai đoạn thử nghiệm và chờ cấp phép hoạt động, hướng đến việc trở thành nguồn tài nguyên tin cậy cho cộng đồng lập trình viên.

Ý kiến bạn đọc

FOREX FORUM CODE rất hoan nghênh độc giả gửi thông tin và góp ý cho chúng tôi!
Email: tonyjay.trade@gmail.com

Chịu trách nhiệm nội dung

  • Mr Tony Jay
  • Telegram: @tony_ntp

Liên hệ quảng cáo

  • Telegram: @tony_ntp
  • tonyjay.trade@gmail.com

Hợp tác nội dung

  • Telegram: @tony_ntp
  • tonyjay.trade@gmail.com

Website Links

  • Latest News
  • MQL5 Source Code
  • MQL4 Source Code
  • Forex News

Chia sẽ và ủng hộ FOREX FORUM CODE

  • BTC: EFLbMPhSjuETHDpXw5T9tHTPwVi51rYYD
  • USDT TRC20:
    TKbahyoCceKSVZNKk46c1hsZFh3aYNPB75
  • USDT BEP20:
    0x8324d5346D6b3760a4A679Cf0cD674d7e4aa7995
  • USDT ERC20:
    0x8324d5346D6b3760a4A679Cf0cD674d7e4aa7995
Miễn trừ trách nhiệm: – Tất cả thông tin, bài viết, nhận định hay chia sẻ trên website của tôi chỉ nhằm mục đích cung cấp kiến thức và hỗ trợ tham khảo. Tôi không đưa ra bất kỳ lời khuyên đầu tư, tín hiệu giao dịch hay cam kết lợi nhuận nào trong thị trường này. Giao dịch ngoại hối tiềm ẩn rủi ro cao và không phù hợp với tất cả mọi người. Mọi quyết định đầu tư đều thuộc về cá nhân bạn, và bạn phải tự chịu trách nhiệm hoàn toàn với kết quả giao dịch của mình. Bằng việc tham gia vào website này, bạn đồng ý rằng tôi không chịu trách nhiệm cho bất kỳ tổn thất hay thiệt hại nào phát sinh từ việc bạn sử dụng thông tin được chia sẻ tại đây.

@2024 – All Right Reserved. Designed and Developed by TonyJay