class CTimeFilter
Класс-фильтр времени торговли, инкапсулирующий логику проверки допустимости сделок.
Сообщите нам, если считаете, что материал размещён без разрешения.
Обращение по товару «ctimefilter.mqh» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
Библиотека CTimeFilter — это фильтр времени торговли для MQL-платформы. Она позволяет ограничивать совершение сделок по часам, минутам и дням недели.
Класс CTimeFilter содержит единственный метод CanTrade(), который возвращает логическое значение: true, если торговля в текущий момент допустима, и false — если нет. Проверка учитывает день недели и временной интервал, заданный пользователем через параметры настроек.
По умолчанию торговля разрешена со 00:00 до 24:00 по всем включённым дням. Суббота всегда исключена из торговых дней. Пользователь может настроить начало и конец торговой сессии, а также включить или отключить торговлю для каждого дня недели отдельно.
| Настройка | Описание |
|---|---|
| __timeFilter__ | Текстовый разделитель в настройках, используется для визуальной группировки параметров фильтра времени. |
| StartHour | Час начала торговой сессии. |
| StartMinute | Минута начала торговой сессии. |
| FinishHour | Час окончания торговой сессии. |
| FinishMinute | Минута окончания торговой сессии. |
| TradeOnMonday | Разрешает торговлю в понедельник. |
| TradeOnTuesDay | Разрешает торговлю во вторник. |
| TradeOnWednessDay | Разрешает торговлю в среду. |
| TradeOnThursDay | Разрешает торговлю в четверг. |
| TradeOnFriday | Разрешает торговлю в пятницу. |
| TradeOnSunday | Разрешает торговлю в воскресенье. |
Классов: 1 · методов: 1 · конструкторов: 0 · деструкторов: 0 · отдельных функций: 0
class CTimeFilter
Класс-фильтр времени торговли, инкапсулирующий логику проверки допустимости сделок.
bool CanTrade()
Проверяет, разрешена ли торговля в текущий момент на основе настроенных дней недели и временного интервала.
#property strict
extern string __timeFilter__ = "----- Time filter ------";
extern int StartHour = 00;
extern int StartMinute = 00;
extern int FinishHour = 24;
extern int FinishMinute = 0;
extern bool TradeOnMonday = true;
extern bool TradeOnTuesDay = true;
extern bool TradeOnWednessDay = true;
extern bool TradeOnThursDay = true;
extern bool TradeOnFriday = true;
extern bool TradeOnSunday = true;
class CTimeFilter
{
public:
bool CanTrade()
{
int dayOfWeek = TimeDayOfWeek( TimeCurrent() );
int min = TimeMinute( TimeCurrent() );
int hour = TimeHour( TimeCurrent() );
switch(dayOfWeek)
{
case 0: // sunday
if (!TradeOnSunday) return false;
break;
case 1: // monday
if (!TradeOnMonday) return false;
break;
case 2: // tuesday
if (!TradeOnTuesDay) return false;
break;
Показано первые 50% кода (символов: 1196)
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.