Thuộc tính giao dịch
Giao dịch là sự phản ánh của việc thực hiện một hoạt động giao dịch dựa trên một lệnh chứa yêu cầu giao dịch. Mỗi giao dịch được mô tả bởi các thuộc tính cho phép lấy thông tin về nó. Để đọc giá trị của các thuộc tính, các hàm loại HistoryDealGet...()
được sử dụng, trả về giá trị từ các bảng liệt kê tương ứng.
Đối với hàm HistoryDealGetInteger()
ENUM_DEAL_PROPERTY_INTEGER
Định danh | Mô tả | Kiểu dữ liệu |
---|---|---|
DEAL_TICKET | Vé giao dịch. Số duy nhất được gán cho mỗi giao dịch | long |
DEAL_ORDER | Số lệnh của giao dịch | long |
DEAL_TIME | Thời gian giao dịch | datetime |
DEAL_TIME_MSC | Thời gian thực hiện giao dịch tính bằng mili giây kể từ 01.01.1970 | long |
DEAL_TYPE | Loại giao dịch | ENUM_DEAL_TYPE |
DEAL_ENTRY | Điểm vào giao dịch - vào, ra, đảo ngược | ENUM_DEAL_ENTRY |
DEAL_MAGIC | Số ma thuật của giao dịch (xem ORDER_MAGIC) | long |
DEAL_REASON | Lý do hoặc nguồn gốc thực hiện giao dịch | ENUM_DEAL_REASON |
DEAL_POSITION_ID | Định danh vị thế, trong việc mở, sửa đổi hoặc đóng mà giao dịch này tham gia. Mỗi vị thế có một định danh duy nhất được gán cho tất cả các giao dịch thực hiện cho biểu tượng trong suốt vòng đời của vị thế. | long |
Đối với hàm HistoryDealGetDouble()
ENUM_DEAL_PROPERTY_DOUBLE
Định danh | Mô tả | Kiểu dữ liệu |
---|---|---|
DEAL_VOLUME | Khối lượng giao dịch | double |
DEAL_PRICE | Giá giao dịch | double |
DEAL_COMMISSION | Hoa hồng giao dịch | double |
DEAL_SWAP | Hoán đổi tích lũy khi đóng | double |
DEAL_PROFIT | Lợi nhuận giao dịch | double |
DEAL_FEE | Phí thực hiện giao dịch được tính ngay sau khi thực hiện giao dịch | double |
DEAL_SL | Mức Stop Loss | double |
| ||
DEAL_TP | Mức Take Profit | double |
|
Đối với hàm HistoryDealGetString()
ENUM_DEAL_PROPERTY_STRING
Định danh | Mô tả | Kiểu dữ liệu |
---|---|---|
DEAL_SYMBOL | Biểu tượng giao dịch | string |
DEAL_COMMENT | Bình luận giao dịch | string |
DEAL_EXTERNAL_ID | Định danh giao dịch trong hệ thống giao dịch bên ngoài (trên Sàn giao dịch) | string |
Mỗi giao dịch được đặc trưng bởi một loại, các giá trị được phép được liệt kê trong ENUM_DEAL_TYPE
. Để lấy thông tin về loại giao dịch, sử dụng hàm HistoryDealGetInteger() với bộ điều chỉnh DEAL_TYPE
.
ENUM_DEAL_TYPE
Định danh | Mô tả |
---|---|
DEAL_TYPE_BUY | Mua |
DEAL_TYPE_SELL | Bán |
DEAL_TYPE_BALANCE | Số dư |
DEAL_TYPE_CREDIT | Tín dụng |
DEAL_TYPE_CHARGE | Phí bổ sung |
DEAL_TYPE_CORRECTION | Điều chỉnh |
DEAL_TYPE_BONUS | Thưởng |
DEAL_TYPE_COMMISSION | Hoa hồng bổ sung |
DEAL_TYPE_COMMISSION_DAILY | Hoa hồng hàng ngày |
DEAL_TYPE_COMMISSION_MONTHLY | Hoa hồng hàng tháng |
DEAL_TYPE_COMMISSION_AGENT_DAILY | Hoa hồng đại lý hàng ngày |
DEAL_TYPE_COMMISSION_AGENT_MONTHLY | Hoa hồng đại lý hàng tháng |
DEAL_TYPE_INTEREST | Lãi suất |
DEAL_TYPE_BUY_CANCELED | Giao dịch mua bị hủy. Có thể có tình huống một giao dịch mua đã thực hiện trước đó bị hủy. Trong trường hợp này, loại của giao dịch đã thực hiện trước đó (DEAL_TYPE_BUY ) được thay đổi thành DEAL_TYPE_BUY_CANCELED , và lợi nhuận/thua lỗ của nó được đặt về 0. Lợi nhuận/thua lỗ đã nhận trước đó được tính/thu hồi bằng một hoạt động số dư riêng biệt. |
DEAL_TYPE_SELL_CANCELED | Giao dịch bán bị hủy. Có thể có tình huống một giao dịch bán đã thực hiện trước đó bị hủy. Trong trường hợp này, loại của giao dịch đã thực hiện trước đó (DEAL_TYPE_SELL ) được thay đổi thành DEAL_TYPE_SELL_CANCELED , và lợi nhuận/thua lỗ của nó được đặt về 0. Lợi nhuận/thua lỗ đã nhận trước đó được tính/thu hồi bằng một hoạt động số dư riêng biệt. |
DEAL_DIVIDEND | Hoạt động cổ tức |
DEAL_DIVIDEND_FRANKED | Hoạt động cổ tức không chịu thuế (franked) |
DEAL_TAX | Phí thuế |
Các giao dịch không chỉ khác nhau về loại được đặt trong ENUM_DEAL_TYPE
, mà còn ở cách chúng thay đổi vị thế. Đây có thể là việc mở vị thế đơn giản, hoặc tích lũy một vị thế đã mở trước đó (vào thị trường), đóng vị thế bằng một giao dịch ngược với khối lượng tương ứng (ra thị trường), hoặc đảo ngược vị thế, nếu giao dịch ngược hướng bao phủ khối lượng của vị thế đã mở trước đó.
Tất cả các tình huống này được mô tả bởi các giá trị từ bảng liệt kê ENUM_DEAL_ENTRY
. Để nhận thông tin này về một giao dịch, sử dụng hàm HistoryDealGetInteger() với bộ điều chỉnh DEAL_ENTRY
.
ENUM_DEAL_ENTRY
Định danh | Mô tả |
---|---|
DEAL_ENTRY_IN | Vào |
DEAL_ENTRY_OUT | Ra |
DEAL_ENTRY_INOUT | Đảo ngược |
DEAL_ENTRY_OUT_BY | Đóng một vị thế bằng một vị thế ngược |
Lý do thực hiện giao dịch được chứa trong thuộc tính DEAL_REASON
. Một giao dịch có thể được thực hiện do kích hoạt lệnh đặt từ ứng dụng di động hoặc chương trình MQL5, cũng như do sự kiện StopOut, tính toán ký quỹ biến đổi, v.v. Các giá trị có thể của DEAL_REASON
được mô tả trong bảng liệt kê ENUM_DEAL_REASON
. Đối với các giao dịch không giao dịch do số dư, tín dụng, hoa hồng và các hoạt động khác, DEAL_REASON_CLIENT
được chỉ định là lý do.
ENUM_DEAL_REASON
Định danh | Mô tả |
---|---|
DEAL_REASON_CLIENT | Giao dịch được thực hiện do kích hoạt lệnh đặt từ thiết bị đầu cuối máy tính để bàn |
DEAL_REASON_MOBILE | Giao dịch được thực hiện do kích hoạt lệnh đặt từ ứng dụng di động |
DEAL_REASON_WEB | Giao dịch được thực hiện do kích hoạt lệnh đặt từ nền tảng web |
DEAL_REASON_EXPERT | Giao dịch được thực hiện do kích hoạt lệnh đặt từ chương trình MQL5, tức là Expert Advisor hoặc script |
DEAL_REASON_SL | Giao dịch được thực hiện do kích hoạt Stop Loss |
DEAL_REASON_TP | Giao dịch được thực hiện do kích hoạt Take Profit |
DEAL_REASON_SO | Giao dịch được thực hiện do sự kiện Stop Out |
DEAL_REASON_ROLLOVER | Giao dịch được thực hiện do rollover |
DEAL_REASON_VMARGIN | Giao dịch được thực hiện sau khi tính ký quỹ biến đổi |
DEAL_REASON_SPLIT | Giao dịch được thực hiện sau khi chia tách (giảm giá) của một công cụ có vị thế mở trong thời gian thông báo chia tách |
DEAL_REASON_CORPORATE_ACTION | Giao dịch được thực hiện do hành động doanh nghiệp: sáp nhập hoặc đổi tên chứng khoán, chuyển khách hàng sang tài khoản khác, v.v. |