Cấu hình phiên báo giá và giao dịch
Hai hàm API cho phép thiết lập các phiên báo giá và giao dịch của một công cụ tùy chỉnh. Hai khái niệm này đã được thảo luận trong phần Lịch trình của các phiên giao dịch và báo giá.
bool CustomSymbolSetSessionQuote(const string name, ENUM_DAY_OF_WEEK dayOfWeek, uint sessionIndex, datetime from, datetime to)
bool CustomSymbolSetSessionTrade(const string name, ENUM_DAY_OF_WEEK dayOfWeek, uint sessionIndex, datetime from, datetime to)
CustomSymbolSetSessionQuote
thiết lập thời gian bắt đầu và kết thúc của phiên báo giá được chỉ định bằng số (sessionIndex
) cho một ngày cụ thể trong tuần (dayOfWeek
). CustomSymbolSetSessionTrade
thực hiện tương tự cho các phiên giao dịch.
Việc đánh số phiên bắt đầu từ 0.
Các phiên chỉ có thể được thêm vào theo thứ tự, tức là một phiên với chỉ số 1 chỉ có thể được thêm nếu đã tồn tại một phiên với chỉ số 0. Nếu quy tắc này bị vi phạm, một phiên mới sẽ không được tạo và hàm sẽ trả về false
.
Giá trị ngày trong các tham số from
và to
được đo bằng giây, và from
phải nhỏ hơn to
. Phạm vi bị giới hạn trong hai ngày, từ 0 (00 giờ 00 phút 00 giây) đến 172800 (23 giờ 59 phút 59 giây của ngày tiếp theo). Sự thay đổi ngày là cần thiết để có thể chỉ định các phiên bắt đầu trước nửa đêm và kết thúc sau nửa đêm. Tình huống này thường xảy ra khi sàn giao dịch nằm ở phía bên kia thế giới so với các máy chủ của nhà môi giới (đại lý).
Nếu các tham số bắt đầu và kết thúc bằng không (from = 0
và to = 0
) được truyền cho phiên sessionIndex
, thì phiên đó sẽ bị xóa, và số thứ tự của các phiên tiếp theo (nếu có) sẽ được dịch chuyển xuống.
Các phiên giao dịch không thể vượt quá các phiên báo giá.
Ví dụ, chúng ta có thể tạo một bản sao của một công cụ cho một múi giờ khác bằng cách dịch chuyển thời gian báo giá trong ngày và lịch trình phiên để gỡ lỗi robot trong các điều kiện khác nhau, như với bất kỳ nhà môi giới ngoại lai nào.