supportresistance.mq5
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «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? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.