Функция для определения нерабочих дней на сервере. Она будет интересна прежде всего тем, кто использует в своих экспертах для обработки событий функцию OnTimer(). Всё дело в том, что при использовании для обработки функции OnTimer() необходимо учитывать тот факт, что в нерабочие дни, если терминал не выключается на это время, эксперт вполне может засыпать торговый сервер запросами на совершение сделок и будет бесполезно тратить ресурсы компьютера абсолютно неуместной активностью.
Для предотвращения подобных действий со стороны эксперта и предназначена функция DaysOfWeekCheck(), содержащаяся в данной библиотеке. Для её использования проверку с этой функцией следует разместить в экспертном коде в самом начале тела функции OnTimer():
void OnTimer() { //---- if(!DayOfWeekCheck()) return;
А исполнительную часть экспертного кода поместить за этой проверкой на воскресный и субботний дни. Таким образом действие функции OnTimer() в субботу и в воскресенье будет ограничено непрохождением соответствующей проверки.
Функция использует библиотеку DaysOfWeekCheck.mqh (нужно скопировать в каталог_данных_терминала\MQL5\Include), содержимое которой следует включить в разрабатываемый код директивой #include до использования функции на глобальном уровне:
#include <DaysOfWeekCheck.mqh>
GetLotForOpeningPos
Функция, производящая расчёт величины лота в зависимости от величины используемых финансовых средств в валюте депозита.
ResultRetcodeDescription
Функция расшифровки кода результата торговой операции для функций OrderSend() и OrderCheck().
OpenBuyPosition
Данный скрипт предназначен для совершения покупок с фиксированными значениями стоп-лосса и тейк-профита в пунктах от текущей цены.
OpenSellPosition
Данный скрипт предназначен для совершения продаж с фиксированными значениями стоп-лосса и тейк-профита в пунктах от текущей цены.