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

ShadeNY

shadeny1.mq5
Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

ShadeNY — это пользовательский индикатор для платформы MetaTrader 4, предназначенный для визуальной маркировки торговых сессий на ценовых графиках. Индикатор отрисовывает цветные прямоугольники, охватывающие временные интервалы активной сессии, что позволяет трейдеру наглядно оценить продолжительность и расположение сессионного периода.

Работа индикатора поддерживает таймфреймы от M1 до H4. При инициализации на графике отрисовываются затенённые области прошлых сессий, а при поступлении новых данных текущая сессия обновляется путём расширения соответствующего прямоугольника. После завершения сессии создаётся отдельный объект-заливка.

Цвет заливки настраивается пользователем. По умолчанию используется жёлтый цвет. При удалении индикатора с графика все созданные объекты корректно удаляются.

Настройки программы

НастройкаОписание
ShadeColor ShadeColor — Цвет заливки прямоугольников, обозначающих торговую сессию. По умолчанию — жёлтый.
Получить полный код

Поиск по коду файла

#property indicator_chart_window

extern color     ShadeColor=Yellow;

/*

#define NY_OPEN_HH   17 // NY session open hour
#define NY_OPEN_MM   30 // NY session open minutes
#define NY_CLOSE_HH  00 // NY session close hour
#define NY_CLOSE_MM  05 // NY session close minutes
*/

#define NY_OPEN_HH   14 // NY session open hour
#define NY_OPEN_MM   30 // NY session open minutes
#define NY_CLOSE_HH  21 // NY session close hour
#define NY_CLOSE_MM  05 // NY session close minutes

/*

#define NY_OPEN_HH   08 // NY session open hour
#define NY_OPEN_MM   30 // NY session open minutes
#define NY_CLOSE_HH  14 // NY session close hour
#define NY_CLOSE_MM  05 // NY session close minutes
*/

#define MAX_DAYS_TO_SHADE  5 // maximum number of days back from last chart date to be shaded

string obj[]; //array of object names
int    iPrevious=0, iStart=-1, iEnd;
double dLow, dHigh;

int init()
  {
      // код доступен только после оплаты
   }
   if(Period()>PERIOD_H4) return(0); // no shading required
   int iMaxBarsOnChart=iBars(NULL,0), i, iBarDay, iBarTime;

   int iBarsToDo=MathMin((MAX_DAYS_TO_SHADE*PERIOD_D1)/Period(),iMaxBarsOnChart);

   for(i=iBarsToDo; i<iMaxBarsOnChart; i++)
     {
      iBarDay=TimeYear(Time[i])*PERIOD_MN1*12+TimeMonth(Time[i])*PERIOD_MN1+TimeDay(Time[i])*PERIOD_D1;
      iBarTime=iBarDay+TimeHour(Time[i])*60+TimeMinute(Time[i]);
      if(iBarTime>=iBarDay+NY_OPEN_HH*60+NY_OPEN_MM && iBarTime<=iBarDay+NY_CLOSE_HH*60+NY_CLOSE_MM) iStart=i;
      else if(iStart>-1) break;
     }
   if(iStart>-1) iBarsToDo=iStart;
   iStart=-1;

   for(i=iBarsToDo; i>=0; i--)
     {
      iBarDay=TimeYear(Time[i])*PERIOD_MN1*12+TimeMonth(Time[i])*PERIOD_MN1+TimeDay(Time[i])*PERIOD_D1;
      iBarTime=iBarDay+TimeHour(Time[i])*60+TimeMinute(Time[i]);
      if(iBarTime>=iBarDay+NY_OPEN_HH*60+NY_OPEN_MM && iBarTime<=iBarDay+NY_CLOSE_HH*60+NY_CLOSE_MM)
        {
         if(iBarDay==iPrevious)   // current NY session
           {
            dLow =MathMin(

Показано первые 50% кода (символов: 2883)

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
288,30₽ ≈ $3.52