Thuộc tính giao dịch
Một giao dịch là sự phản ánh thực tế rằng một hoạt động giao dịch đã được thực hiện dựa trên một lệnh. Một lệnh có thể tạo ra nhiều giao dịch do việc thực hiện từng phần hoặc đóng vị thế ngược lại.
Các giao dịch được đặc trưng bởi các thuộc tính của ba loại cơ bản: số nguyên (và các loại tương thích với nó), số thực và chuỗi. Mỗi thuộc tính được mô tả bởi hằng số riêng của nó trong một trong các liệt kê: ENUM_DEAL_PROPERTY_INTEGER
, ENUM_DEAL_PROPERTY_DOUBLE
, ENUM_DEAL_PROPERTY_STRING
.
Để đọc các thuộc tính giao dịch, sử dụng các hàm HistoryDealGet. Tất cả các hàm này giả định rằng phần lịch sử cần thiết đã được yêu cầu trước đó bằng cách sử dụng các hàm đặc biệt để lựa chọn lệnh và giao dịch từ lịch sử.
Các thuộc tính số nguyên được mô tả trong liệt kê ENUM_DEAL_PROPERTY_INTEGER
.
Định danh | Mô tả | Kiểu dữ liệu |
---|---|---|
DEAL_TICKET | Vé giao dịch; một số duy nhất được gán cho mỗi giao dịch | ulong |
DEAL_ORDER | Vé của lệnh mà giao dịch được thực hiện dựa trên đó | ulong |
DEAL_TIME | Thời gian giao dịch | datetime |
DEAL_TIME_MSC | Thời gian giao dịch tính bằng mili giây | ulong |
DEAL_TYPE | Loại giao dịch | ENUM_DEAL_TYPE (xem dưới đây) |
DEAL_ENTRY | Hướng giao dịch; vào thị trường, thoát thị trường hoặc đảo chiều | ENUM_DEAL_ENTRY (xem dưới đây) |
DEAL_MAGIC | Số ma thuật của giao dịch (dựa trên ORDER_MAGIC ) | ulong |
DEAL_REASON | Lý do hoặc nguồn gốc giao dịch | ENUM_DEAL_REASON (xem dưới đây) |
DEAL_POSITION_ID | Định danh của vị thế được mở, sửa đổi hoặc đóng bởi giao dịch | ulong |
Các loại giao dịch có thể được biểu diễn bởi liệt kê ENUM_DEAL_TYPE
.
Định danh | Mô tả |
---|---|
DEAL_TYPE_BUY | Mua |
DEAL_TYPE_SELL | Bán |
DEAL_TYPE_BALANCE | Số dư được tích lũy |
DEAL_TYPE_CREDIT | Tích lũy tín dụng |
DEAL_TYPE_CHARGE | Phí bổ sung |
DEAL_TYPE_CORRECTION | Điều chỉnh |
DEAL_TYPE_BONUS | Tiền thưởng |
DEAL_TYPE_COMMISSION | Hoa hồng bổ sung |
DEAL_TYPE_COMMISSION_DAILY | Hoa hồng tính vào cuối ngày giao dịch |
DEAL_TYPE_COMMISSION_MONTHLY | Hoa hồng tính vào cuối tháng |
DEAL_TYPE_COMMISSION_AGENT_DAILY | Hoa hồng đại lý tính vào cuối ngày giao dịch |
DEAL_TYPE_COMMISSION_AGENT_MONTHLY | Hoa hồng đại lý tính vào cuối tháng |
DEAL_TYPE_INTEREST | Tích lũy lãi suất trên quỹ tự do |
DEAL_TYPE_BUY_CANCELED | Giao dịch mua bị hủy |
DEAL_TYPE_SELL_CANCELED | Giao dịch bán bị hủy |
DEAL_DIVIDEND | Tích lũy cổ tức |
DEAL_DIVIDEND_FRANKED | Tích lũy cổ tức miễn thuế |
DEAL_TAX | Tích lũy thuế |
Các lựa chọn DEAL_TYPE_BUY_CANCELED
và DEAL_TYPE_SELL_CANCELED
phản ánh tình huống khi một giao dịch trước đó bị hủy. Trong trường hợp này, loại giao dịch đã thực hiện trước đó (DEAL_TYPE_BUY
hoặc DEAL_TYPE_SELL
) được thay đổi thành DEAL_TYPE_BUY_CANCELED
hoặc DEAL_TYPE_SELL_CANCELED
, và lợi nhuận/lỗ của nó được đặt lại về 0. Lợi nhuận/lỗ đã nhận trước đó được ghi có/trừ nợ từ tài khoản dưới dạng một hoạt động số dư riêng biệt.
Các giao dịch khác nhau về cách thay đổi vị thế. Đây có thể là việc mở vị thế đơn giản (vào thị trường), tăng khối lượng của vị thế đã mở trước đó, đóng vị thế bằng một giao dịch ngược chiều hoặc đảo chiều vị thế khi giao dịch ngược lại bao phủ khối lượng của vị thế đã mở trước đó. Hoạt động cuối cùng này chỉ được hỗ trợ trên các tài khoản netting.
Tất cả các tình huống này được mô tả bởi các phần tử của liệt kê ENUM_DEAL_ENTRY
.
Định danh | Mô tả |
---|---|
DEAL_ENTRY_IN | Vào thị trường |
DEAL_ENTRY_OUT | Thoát thị trường |
DEAL_ENTRY_INOUT | Đảo chiều |
DEAL_ENTRY_OUT_BY | Đóng bằng vị thế ngược lại |
Lý do cho giao dịch được tóm tắt trong liệt kê ENUM_DEAL_REASON
.
Định danh | Mô tả |
---|---|
DEAL_REASON_CLIENT | Kích hoạt lệnh đặt từ thiết bị đầu cuối desktop |
DEAL_REASON_MOBILE | Kích hoạt lệnh đặt từ ứng dụng di động |
DEAL_REASON_WEB | Kích hoạt lệnh đặt từ nền tảng web |
DEAL_REASON_EXPERT | Kích hoạt lệnh đặt bởi Expert Advisor hoặc script |
DEAL_REASON_SL | Lệnh Stop Loss được kích hoạt |
DEAL_REASON_TP | Lệnh Take Profit được kích hoạt |
DEAL_REASON_SO | Sự kiện Stop Out |
DEAL_REASON_ROLLOVER | Chuyển vị thế sang ngày mới |
DEAL_REASON_VMARGIN | Thêm/trừ ký quỹ biến đổi |
DEAL_REASON_SPLIT | Chia nhỏ (giá thấp hơn) công cụ có vị thế |
Các thuộc tính kiểu số thực được biểu diễn bởi liệt kê ENUM_DEAL_PROPERTY_DOUBLE
.
Định danh | Mô tả |
---|---|
DEAL_VOLUME | Khối lượng giao dịch |
DEAL_PRICE | Giá giao dịch |
DEAL_COMMISSION | Hoa hồng giao dịch |
DEAL_SWAP | Swap tích lũy khi đóng |
DEAL_PROFIT | Kết quả tài chính của giao dịch |
DEAL_FEE | Phí cho giao dịch được tính ngay sau giao dịch |
DEAL_SL | Mức Stop Loss |
DEAL_TP | Mức Take Profit |
Hai thuộc tính cuối cùng được điền như sau: đối với giao dịch vào hoặc đảo chiều, giá trị Stop Loss/Take Profit
được lấy từ lệnh mà vị thế được mở hoặc mở rộng. Đối với giao dịch thoát, giá trị Stop Loss/Take Profit
được lấy từ vị thế tại thời điểm đóng.
Các thuộc tính chuỗi của giao dịch có sẵn thông qua các hằng số liệt kê ENUM_DEAL_PROPERTY_STRING
.
Định danh | Mô tả |
---|---|
DEAL_SYMBOL | Tên của ký hiệu mà giao dịch được thực hiện |
DEAL_COMMENT | Bình luận giao dịch |
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) |
Chúng ta sẽ kiểm tra cách đọc các thuộc tính trong phần về các hàm HistoryDealGet thông qua các lớp DealMonitor
và DealFilter
.