Скачать MetaTrader 5

Смотри, как бесплатно скачать роботов

Интересный скрипт?
Поставь на него ссылку - пусть другие тоже оценят

Понравился скрипт?
Оцени его работу в терминале MetaTrader 5

Библиотеки

YZ_Summer_Time - библиотека для MetaTrader 5

| Russian English 中文 Español Deutsch 日本語 Português

Просмотров:
1817
Рейтинг:
голосов: 31
Опубликован:
2014.10.06 14:57
Обновлен:
2016.11.22 07:33
\MQL5\Include\

Проверка даты на принадлежность к зимнему или летнему времени. Функция определяет время (летнее или зимнее).

Перевод часов на зимнее время проводится в ночь последнего воскресенья октября, а летнее время включают в ночь последнего воскресенья марта.

Более надежного варианта вычисления летнего или зимнего времени не существует.

Код разработан для отладки новостных событий.

//
// Доработал алгоритм 2014.10.09
//
// YURAZ yzh@mail.ru
// функция определяет летнее или зимнее время
// перевод часов на зимнее время проводится в ночь последнего воскресенья октября
// а летнее время включают в ночь последнего воскресенья марта
// более надежного варианта вычисления летнего или зимнего времени не существует
// возврат 0 - летнее время
// возврат 1 - зимнее время
//
int YZ_summer_time(datetime pdt)
  {
   MqlDateTime dt;
   TimeToStruct(pdt,dt);
   int code=1;
   if(dt.mon>=11 || dt.mon<=2) // ЗИМА
     {
      code=1;
     }
   if(dt.mon>=4 && dt.mon<=9) // ЛЕТО
     {
      code=0;
     }
   datetime tSeek;
   MqlDateTime dtf;
   if(dt.mon==10) // октябрь
     {
      if(dt.day<25) // ночью в последнее воскресенье октября - переход на зимнее время
         code=0; // еще лето
      else
        {
         TimeToStruct(pdt,dtf);
         tSeek=StringToTime(IntegerToString(dtf.year)+".10.31 02:00");  // установим последний день октября
         TimeToStruct(tSeek,dtf);
         for(int i=31; i>=25;  i--)
           {
            if(dtf.day_of_week==0 ) // Необходимо  найти именно ночь  с субботы на воскресенье
               break;  
            tSeek=tSeek-86400; // ( НАХОДИТЬ  именно 2 часа ночи  т е сам переход не имеет смысла так как рынок форекс с субботы на воскроесенье закрыт  )
            TimeToStruct(tSeek,dtf);
           }
         if(pdt<tSeek)
           {
            code=0; // лето
           }
         else
            code=1; // зима
        }
     }
   if(dt.mon==3) // март
     {
      if(dt.day<25) // ночью в последнее воскресенье марта  - переход на летнее время
         code=1; // еще зима
      else
        {
         TimeToStruct(pdt,dtf);
         tSeek=StringToTime(IntegerToString(dtf.day_of_year)+".03.31 03:00");  // установим последний день марта
         for(int i=31; i>=25;  i--)
           {
            if(dtf.day_of_week==0 ) // Необходимо  найти именно ночь  с субботы на воскресенье
               break;  
            tSeek=tSeek-86400; // ( НАХОДИТЬ  именно 3 часа ночи  т е сам переход не имеет смысла так как рынок форекс с субботы на воскроесенье закрыт  )
            TimeToStruct(tSeek,dtf);
           }
         if(pdt>tSeek)
           {
            code=0; // лето
           }
         else
            code=1; // зима
        }
     }
  return( code);
  }

Color Linear Regression Color Linear Regression

Цветная версия индикатора Linear Regression.

LRMA Linear Regression fot MT5 LRMA Linear Regression fot MT5

Индикатор использует метод наименьших квадратов для построения «наиболее подходящей» прямой линии, проходящей через ряд точек ценовых значений.

Расчет залога для открытия позиции Расчет залога для открытия позиции

Библиотека расчета требуемого залога для открытия позиции в MetaТrader 5.

FractalsTrendLines FractalsTrendLines

Индикатор чертит бычью и медвежью линии тренда на основании показаний индикатора iFractals от ближайшего экстремума до последнего непробитого фрактала.