digital snr snd.mq5
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «digital snr snd.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Этот файл является пользовательским индикатором для MetaTrader 5, который отображает на графике ценовые уровни поддержки и сопротивления, а также зоны спроса и предложения. Индикатор рассчитывает локальные экстремумы на четырёх таймфреймах: H1, H4, D1 и W1. Уровни отображаются в виде горизонтальных линий и текстовых меток, а зоны — в виде прямоугольников, ширина которых задаётся в пунктах.
Пользователь может включать или отключать отображение для каждого таймфрейма отдельно, настраивать цвета линий поддержки и сопротивления, а также цвета линий для каждого таймфрейма. Дополнительно можно задать размер зон спроса и предложения в пунктах. Индикатор не содержит торговых функций и не предназначен для автоматического открытия или закрытия позиций.
Все расчёты выполняются на основе данных с указанных таймфреймов, получаемых через стандартные функции iHigh и iLow. Индикатор не использует внешние библиотеки и не предоставляет публичного API для вызова из других программ.
Настройки программы
| Настройка | Описание |
|---|---|
| SHOW_H1 | Включает или отключает отображение уровней и зон для часового таймфрейма (H1). |
| SHOW_H4 | Включает или отключает отображение уровней и зон для четырёхчасового таймфрейма (H4). |
| SHOW_D1 | Включает или отключает отображение уровней и зон для дневного таймфрейма (D1). |
| SHOW_W1 | Включает или отключает отображение уровней и зон для недельного таймфрейма (W1). |
| Supply_Demand_Area | Ширина зон спроса и предложения в пунктах. Если значение больше нуля, зоны отображаются. |
| SupportColor | Цвет заливки прямоугольных зон спроса (поддержки). |
| ResistanceColor | Цвет заливки прямоугольных зон предложения (сопротивления). |
| P60R | Цвет горизонтальной линии сопротивления для часового таймфрейма (H1). |
| P60S | Цвет горизонтальной линии поддержки для часового таймфрейма (H1). |
| P240R | Цвет горизонтальной линии сопротивления для четырёхчасового таймфрейма (H4). |
| P240S | Цвет горизонтальной линии поддержки для четырёхчасового таймфрейма (H4). |
| P1440R | Цвет горизонтальной линии сопротивления для дневного таймфрейма (D1). |
| P1440S | Цвет горизонтальной линии поддержки для дневного таймфрейма (D1). |
| P10080R | Цвет горизонтальной линии сопротивления для недельного таймфрейма (W1). |
| P10080S | Цвет горизонтальной линии поддержки для недельного таймфрейма (W1). |
Поиск по коду файла
#property indicator_chart_window
extern bool SHOW_H1=true;
extern bool SHOW_H4=true;
extern bool SHOW_D1=true;
extern bool SHOW_W1=true;
extern int Supply_Demand_Area=10;
extern color SupportColor = DodgerBlue;
extern color ResistanceColor = OrangeRed;
extern color P60R=Indigo;
extern color P60S=Indigo;
extern color P240R=Indigo;
extern color P240S=Indigo;
extern color P1440R=Indigo;
extern color P1440S=Indigo;
extern color P10080R=Indigo;
extern color P10080S=Indigo;
int OnInit()
{
// код доступен только после оплаты
}
void OnDeinit(const int reason)
{
if(ObjectFind("H1 RESISTANCE")==0) ObjectDelete("H1 RESISTANCE");
if(ObjectFind("H4 RESISTANCE")==0) ObjectDelete("H4 RESISTANCE");
if(ObjectFind("D1 RESISTANCE")==0) ObjectDelete("D1 RESISTANCE");
if(ObjectFind("W1 RESISTANCE")==0) ObjectDelete("W1 RESISTANCE");
if(ObjectFind("H1 SUPPORT")==0) ObjectDelete("H1 SUPPORT");
if(ObjectFind("H4 SUPPORT")==0) ObjectDelete("H4 SUPPORT");
if(ObjectFind("D1 SUPPORT")==0) ObjectDelete("D1 SUPPORT");
if(ObjectFind("W1 SUPPORT")==0) ObjectDelete("W1 SUPPORT");
if(ObjectFind("GIVONLY H1 RESISTANCE LINE")==0) ObjectDelete("GIVONLY H1 RESISTANCE LINE");
if(ObjectFind("GIVONLY H4 RESISTANCE LINE")==0) ObjectDelete("GIVONLY H4 RESISTANCE LINE");
if(ObjectFind("GIVONLY D1 RESISTANCE LINE")==0) ObjectDelete("GIVONLY D1 RESISTANCE LINE");
if(ObjectFind("GIVONLY W1 RESISTANCE LINE")==0) ObjectDelete("GIVONLY W1 RESISTANCE LINE");
if(ObjectFind("GIVONLY H1 SUPPORT LINE")==0) ObjectDelete("GIVONLY H1 SUPPORT LINE");
if(ObjectFind("GIVONLY H4 SUPPORT LINE")==0) ObjectDelete("GIVONLY H4 SUPPORT LINE");
if(ObjectFind("GIVONLY D1 SUPPORT LINE")==0) ObjectDelete("GIVONLY D1 SUPPORT LINE");
if(ObjectFind("GIVONLY W1 SUPPORT LINE")==0) ObjectDelete("GIVONLY W1 SUPPORT LINE");
if(ObjectFind("H1 SUPPLY AREA")==0) ObjectDelete("H1 SUPPLY AREA");
if(ObjectFind("H4 SUPPLY AREA")==0) ObjectDelete("H4 SUPPLY AREA");
if(ObjectFind("D1 SUPPLY AREA")==0) ObjectDelete("D1 SUPPLY AREA");
if(ObjectFind("W1 SUPPLY AREA")==0) ObjectDelete("W1 SUPPLY AREA");
if(ObjectFind("H1 DEMAND AREA")==0) ObjectDelete("H1 DEMAND AREA");
if(ObjectFind("H4 DEMAND AREA")==0) ObjectDelete("H4 DEMAND AREA");
if(ObjectFind("D1 DEMAND AREA")==0) ObjectDelete("D1 DEMAND AREA");
if(ObjectFind("W1 DEMAND AREA")==0) ObjectDelete("W1 DEMAND AREA");
}
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(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,ResistanceColor);
ObjectSet(name,OBJPROP_PRICE1,atas);
ObjectSet(name,OBJPROP_PRICE2,bawah);
ObjectMove(name,0,Time[0],atПоказано первые 50% кода (символов: 6310)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.