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