Blog Lập Trình

Hàm đặt lệnh trong MT4

28/12/2024


OrderSend

Hàm OrderSend là một trong những hàm quan trọng nhất trong MT4, được sử dụng để mở các lệnh giao dịch mới.

Cú pháp

bool OrderSend(
   string   symbol,              // cặp tiền tệ
   int      cmd,                 // loại lệnh
   double   volume,              // khối lượng
   double   price,               // giá vào lệnh
   int      slippage,           // độ trượt giá cho phép
   double   stoploss,           // giá stop loss
   double   takeprofit,         // giá take profit
   string   comment=NULL,       // comment
   int      magic=0,           // magic number
   datetime expiration=0,      // thời gian hết hạn
   color    arrow_color=clrNONE // màu mũi tên
);

Các tham số

  • symbol: Tên cặp tiền tệ (ví dụ: "EURUSD"). Sử dụng NULL để chỉ định cặp tiền trên chart thực thi
  • cmd: Loại lệnh (OP_BUY, OP_SELL, OP_BUYLIMIT, OP_SELLLIMIT, OP_BUYSTOP, OP_SELLSTOP)
  • volume: Khối lượng giao dịch tính bằng lot
  • price: Giá đặt lệnh
  • slippage: Độ trượt giá tối đa cho phép (tính bằng điểm)
  • stoploss: Mức giá stop loss
  • takeprofit: Mức giá take profit
  • comment: Ghi chú cho lệnh (tùy chọn)
  • magic: Số định danh cho bot thực thi
  • expiration: Thời gian hết hạn của lệnh chờ (tùy chọn)
  • arrow_color: Màu của mũi tên trên biểu đồ (tùy chọn). Xem thêm các hằng định nghĩa màu ở đây https://docs.mql4.com/constants/objectconstants/webcolors
  • Giá trị trả về

    Nếu lệnh được thực hiện thành công, hàm sẽ trả về true. Ngược lại, nếu có lỗi xảy ra, hàm sẽ trả về false.

    Một số ví dụ về cách sử dụng hàm OrderSend

  • Đặt lệnh Mua
  • bool result = OrderSend(
       NULL,     // cặp tiền
       OP_BUY,       // lệnh buy
       0.1,          // khối lượng 0.1 lot
       Ask,          // giá ask hiện tại
       3,            // độ trượt giá 3 điểm
       Ask-100*_Point, // stop loss
       Ask+100*_Point, // take profit
       "My order",   // comment
       12345,        // magic number
       0,            // không có thời hạn
       clrGreen      // mũi tên màu xanh
    );
  • Đặt lệnh Bán
  • bool result = OrderSend(
       NULL,     // cặp tiền
       OP_SELL,       // lệnh buy
       0.1,          // khối lượng 0.1 lot
       Bid,          // giá ask hiện tại
       3,            // độ trượt giá 3 điểm
       Bid+100*_Point, // stop loss
       Bid-100*_Point, // take profit
       "My order",   // comment
       12345,        // magic number
       0,            // không có thời hạn
       clrRed      // mũi tên màu xanh
    );
  • Đặt lệnh chờ
  • bool result = OrderSend(
       NULL,     // cặp tiền
       OP_BUYLIMIT,       // lệnh chờ mua
       0.1,          // khối lượng 0.1 lot
       Ask-100*_Point,          // giá ask hiện tại
       3,            // độ trượt giá 3 điểm
       Ask-100*_Point, // stop loss
       Ask+100*_Point, // take profit
       "My order",   // comment
       12345,        // magic number
       0,            // không có thời hạn
       clrGreen      // mũi tên màu xanh
    );


    © 2024 BlogLapTrinh, Inc. All rights reserved.