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

Givonly SnR SnD

givonly_snr_snd_modm15 [saol].mq5
Вы автор или правообладатель?

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

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

О программе

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

Индикатор рисует горизонтальные линии сопротивления и поддержки для выбранных таймфреймов (M15, M30, H1, H4, D1, W1), а также прямоугольные зоны спроса и предложения. Каждый таймфрейм имеет собственную цветовую кодировку для удобства визуального восприятия.

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

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

НастройкаОписание
SHOW_M15 Показать M15 — Переключатель отображения уровней и зон для таймфрейма M15.
SHOW_M30 Показать M30 — Переключатель отображения уровней и зон для таймфрейма M30.
SHOW_H1 Показать H1 — Переключатель отображения уровней и зон для таймфрейма H1.
SHOW_H4 Показать H4 — Переключатель отображения уровней и зон для таймфрейма H4.
SHOW_D1 Показать D1 — Переключатель отображения уровней и зон для таймфрейма D1.
SHOW_W1 Показать W1 — Переключатель отображения уровней и зон для таймфрейма W1.
Supply_Demand_Area Зона спроса и предложения — Целочисленный параметр, определяющий глубину (в пунктах) зон спроса и предложения.
Получить полный код

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

#property indicator_chart_window

extern bool SHOW_M15=true;
extern bool SHOW_M30=true;
extern bool SHOW_H1=true;
extern bool SHOW_H4=true;
extern bool SHOW_D1=true;
extern bool SHOW_W1=false;
extern int Supply_Demand_Area=10;

int init()
  {
      // код доступен только после оплаты
   }

int deinit()
  {

   ObjectDelete("M15 RESISTANCE");
   ObjectDelete("M30 RESISTANCE");
   ObjectDelete("H1 RESISTANCE");
   ObjectDelete("H4 RESISTANCE");
   ObjectDelete("D1 RESISTANCE");
   ObjectDelete("W1 RESISTANCE");
   ObjectDelete("M15 SUPPORT");
   ObjectDelete("M30 SUPPORT");
   ObjectDelete("H1 SUPPORT");
   ObjectDelete("H4 SUPPORT");
   ObjectDelete("D1 SUPPORT");
   ObjectDelete("W1 SUPPORT");
   ObjectDelete("GIVONLY M15 RESISTANCE LINE");
   ObjectDelete("GIVONLY M30 RESISTANCE LINE");  
   ObjectDelete("GIVONLY H1 RESISTANCE LINE");
   ObjectDelete("GIVONLY H4 RESISTANCE LINE");
   ObjectDelete("GIVONLY D1 RESISTANCE LINE");
   ObjectDelete("GIVONLY W1 RESISTANCE LINE");
   ObjectDelete("GIVONLY M15 SUPPORT LINE");
   ObjectDelete("GIVONLY M30 SUPPORT LINE");  
   ObjectDelete("GIVONLY H1 SUPPORT LINE");
   ObjectDelete("GIVONLY H4 SUPPORT LINE");
   ObjectDelete("GIVONLY D1 SUPPORT LINE");
   ObjectDelete("GIVONLY W1 SUPPORT LINE");
   ObjectDelete("M15 SUPPLY AREA");
   ObjectDelete("M30 SUPPLY AREA");
   ObjectDelete("H1 SUPPLY AREA");
   ObjectDelete("H4 SUPPLY AREA");
   ObjectDelete("D1 SUPPLY AREA");
   ObjectDelete("W1 SUPPLY AREA");
   ObjectDelete("M15 DEMAND AREA");
   ObjectDelete("M30 DEMAND AREA");  
   ObjectDelete("H1 DEMAND AREA");
   ObjectDelete("H4 DEMAND AREA");
   ObjectDelete("D1 DEMAND AREA");
   ObjectDelete("W1 DEMAND AREA");

   return(0);
  }

int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
      // код доступен только после оплаты
   }

   void  SND(int period)
      {
         string name;
         name = StringConcatenate(TF(period)," SUPPLY AREA");
         double atas, bawah;
         atas = SNR(period,MODE_HIGH);
         bawah= atas-Supply_Demand_Area*Point;
         bool ada=false;
         if( (SNR(period,MODE_HIGH)==SNR(15,MODE_HIGH) && period>15 && SHOW_M15)
            || (SNR(period,MODE_HIGH)==SNR(30,MODE_HIGH) && period>30 && SHOW_M30)
            || (SNR(period,MODE_HIGH)==SNR(60,MODE_HIGH) && period>60 && SHOW_H1)
            || (SNR(period,MODE_HIGH)==SNR(240,MODE_HIGH) && period>240 && SHOW_H4)
            || (SNR(period,MODE_HIGH)==SNR(1440,MODE_HIGH) && period>1440 && SHOW_D1)
            || (SNR(period,MODE_HIGH)==SNR(10080,MODE_HIGH) && period>10080 && SHOW_W1)
           )   ada=true;
         if(!ada) {
            ObjectCreate(name,OBJ_RECTANGLE,0,0,0);
            ObjectSet(name,OBJPROP_TIME1,Time[0]);
            ObjectSet(name,OBJPROP_TIME2,Time[Bars-1]);
            ObjectSet(name,OBJPROP_COLOR,CadetBlue);
            ObjectSet(name,OBJPROP_PRICE1,atas);
            ObjectSet(name,OBJPROP_PRICE2,bawah);
            ObjectMove(name,0,Time[0],atas);
            ObjectMove(name,1,Time[Bars-1],bawah);
            }

         name = StringConcatenate(TF(period)," DEMAND AREA");
         bawah= SNR(period,MODE_LOW);
         atas = bawah+Supply_Demand_Area*Point;
         ada=false;
         if( (SNR(period,MODE_LOW)==SNR(15,MODE_LOW) && period>15 && SHOW_M15)
            || (SNR(period,MODE_LOW)==SNR(30,MODE_LOW) && period>30 && SHOW_M30)
 

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

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

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

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

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

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

Стоимость полного кода
607,80₽ ≈ $7.43