← К каталогу
Исходный код · ID 2398

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

Класс-фильтр времени торговли, инкапсулирующий логику проверки допустимости сделок.

Методы и конструкторы
Метод · 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 и перейдите к оплате.

Стоимость полного кода
119,60₽ ≈ $1.46