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

supportresistance.mq5

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

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

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

О программе

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

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

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

НастройкаОписание
SR_1Hours Уровни H1 — Включает или отключает отображение уровней поддержки и сопротивления на таймфрейме H1
SR_4Hours Уровни H4 — Включает или отключает отображение уровней поддержки и сопротивления на таймфрейме H4
SR_Daily Уровни D1 — Включает или отключает отображение уровней поддержки и сопротивления на таймфрейме D1
SR_Weekly Уровни W1 — Включает или отключает отображение уровней поддержки и сопротивления на таймфрейме W1
ShowAgeLabels Метки возраста уровней — Отображает метки возраста для уровней поддержки и сопротивления
ShowLastTouch Последнее касание уровней — Отображает информацию о последнем касании уровней
ShowAllSRLines Показать все линии уровней — Отображает все линии уровней поддержки и сопротивления
__colors__ Настройки цвета уровней — Заголовочный текстовый параметр для группы настроек цвета уровней
ColorAge1 Цвет группы уровней 1 — Цвет первой группы уровней по возрасту
ColorAge2 Цвет группы уровней 2 — Цвет второй группы уровней по возрасту
ColorAge3 Цвет группы уровней 3 — Цвет третьей группы уровней по возрасту
ColorAge4 Цвет группы уровней 4 — Цвет четвёртой группы уровней по возрасту
ColorText Цвет текста панели — Цвет текстовой информационной панели уровней
Получить полный код

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

#property version   "1.32"
#property strict
#property indicator_chart_window
#include <CSupportResistance.mqh>

extern bool        SR_1Hours       = true;
extern bool        SR_4Hours       = true;
extern bool        SR_Daily        = true;
extern bool        SR_Weekly       = true;
extern bool        ShowAgeLabels   = true;
extern bool        ShowLastTouch   = false; 
extern bool        ShowAllSRLines  = true; 
extern string      __colors__      = "---- S/R settings ----";
extern color       ColorAge1       = clrSilver;
extern color       ColorAge2       = clrDarkGray;
extern color       ColorAge3       = clrLightSeaGreen;
extern color       ColorAge4       = clrTeal;
extern color       ColorText       = clrBlack;

CSupportResistance* _supportResistanceW1;
CSupportResistance* _supportResistanceD1;
CSupportResistance* _supportResistanceH4;
CSupportResistance* _supportResistanceH1;

color        Colors[]     = {Silver,clrDarkGray, LightSeaGreen,Teal};

void ClearAll()
{
   _supportResistanceW1.ClearAll();
   _supportResistanceD1.ClearAll();
   _supportResistanceH4.ClearAll();
   _supportResistanceH1.ClearAll();
}

void CalculateSR(bool forceRefresh = false)
{  
   string txt="S/R:";
   if (SR_Weekly) 
   {
      txt +="W1,";
      _supportResistanceW1.Calculate(forceRefresh);
      _supportResistanceW1.Draw("W1", ColorText, Colors, ShowAgeLabels, ShowLastTouch, ShowAllSRLines);
   }

   if (SR_Daily) 
   {
      txt +="D1,";
      _supportResistanceD1.Calculate(forceRefresh);
      _supportResistanceD1.Draw("D1", ColorText, Colors, ShowAgeLabels, ShowLastTouch, ShowAllSRLines);
   }

   if (SR_4Hours)
   {
      txt +="H4,";
      _supportResistanceH4.Calculate(forceRefresh);
      _supportResistanceH4.Draw("H4", ColorText, Colors, ShowAgeLabels, ShowLastTouch, ShowAllSRLines);
   }

   if (SR_1Hours)
   {
      txt +="H1,";
      _supportResistanceH1.Calculate(forceRefresh);
      _supportResistanceH1.Draw("H1", ColorText, Colors, ShowAgeLabels, ShowLastTouch, ShowAllSRLines);
   }

   switch (SR_Detail)
   {
      case Minium:     txt += " Minimum";     break;
      case MediumLow:  txt += " Medium/Low";  break;
      case Medium:     txt += " Medium";      break;
      case MediumHigh: txt += " Medium/High"; break;
      case Maximum:    txt += " Maximum";     break;
   }

   ObjectCreate("@info", OBJ_LABEL, 0, 0, 0);
   ObjectSet("@info", OBJPROP_BACK, false);
   ObjectSet("@info", OBJPROP_CORNER, CORNER_LEFT_UPPER);
   ObjectSet("@info", OBJPROP_XDISTANCE, 250);
   ObjectSet("@info", OBJPROP_YDISTANCE, 0);
   ObjectSetText("@info", txt, 8, "Arial", ColorText);
}

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 deinit()
{ 
   ClearAll();
   delete _supportResistanceW1;
   

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

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

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

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

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

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

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