Blog Lập Trình

Hàm xử lý lệnh trong MT4

31/12/2024


Bài viết này giới thiệu về các hàm quan trọng để quản lý lệnh giao dịch trong MetaTrader 4 (MT4), bao gồm:

  • OrderModify(): Sửa đổi các tham số của lệnh đang mở như stop loss, take profit
  • OrderClose(): Đóng các lệnh giao dịch đang mở
  • OrderDelete(): Xóa các lệnh pending chưa được kích hoạt
  • Mỗi hàm được trình bày chi tiết với cú pháp, tham số, giá trị trả về và ví dụ sử dụng cụ thể. Bài viết cũng cung cấp các lưu ý quan trọng khi sử dụng các hàm này trong lập trình EA.

    OrderModify

    Hàm OrderModify() được sử dụng để sửa đổi các tham số của một lệnh đang mở.

    bool OrderModify(
       int        ticket,     // ticket của lệnh
       double     price,      // giá mới
       double     stoploss,   // mức stop loss mới
       double     takeprofit, // mức take profit mới
       datetime   expiration, // thời gian hết hạn
       color      arrow_color=clrNone // màu mũi tên
    );

    Các tham số:

  • ticket: Số ticket của lệnh cần sửa đổi
  • price: Giá mới cho lệnh pending
  • stoploss: Mức stop loss mới
  • takeprofit: Mức take profit mới
  • expiration: Thời gian hết hạn cho lệnh pending
  • arrow_color: Màu của mũi tên trên biểu đồ
  • Giá trị trả về:

  • true: Nếu sửa đổi lệnh thành công
  • false: Nếu sửa đổi lệnh thất bại
  • OrderClose

    Hàm OrderClose() được sử dụng để đóng một lệnh đang mở.

    bool OrderClose(
       int        ticket,      // ticket của lệnh
       double     lots,       // số lot
       double     price,      // giá đóng
       int        slippage,   // slippage tối đa
       color      arrow_color // màu mũi tên
    );

    Các tham số:

  • ticket: Số ticket của lệnh cần đóng
  • lots: Số lot cần đóng
  • price: Giá đóng lệnh
  • slippage: Slippage tối đa cho phép
  • arrow_color: Màu của mũi tên trên biểu đồ
  • Giá trị trả về:

  • true: Nếu đóng lệnh thành công
  • false: Nếu đóng lệnh thất bại
  • OrderDelete

    Hàm OrderDelete() được sử dụng để xóa một lệnh pending.

    bool OrderDelete(
       int        ticket,      // ticket của lệnh
       color      arrow_color // màu mũi tên
    );

    Các tham số:

  • ticket: Số ticket của lệnh pending cần xóa
  • arrow_color: Màu của mũi tên trên biểu đồ
  • Giá trị trả về:

  • true: Nếu xóa lệnh thành công
  • false: Nếu xóa lệnh thất bại
  • Ví dụ sử dụng

    // Sửa đổi stop loss và take profit của lệnh
    bool modified = OrderModify(ticket, 0, newStopLoss, newTakeProfit, 0);
    
    // Đóng lệnh
    bool closed = OrderClose(ticket, OrderLots(), Bid, 3, clrRed);
    
    // Xóa lệnh chờ
    bool deleted = OrderDelete(ticket, clrRed);

    Lưu ý quan trọng

  • Luôn kiểm tra giá trị trả về của các hàm để xử lý lỗi
  • Nên sử dụng hàm OrderSelect() trước khi thao tác với lệnh
  • Cần tính toán chính xác các tham số như giá, stop loss, take profit trước khi sử dụng
  • Nên có cơ chế retry khi thao tác với lệnh thất bại

  • © 2024 BlogLapTrinh, Inc. All rights reserved.