trendlines daily la .mq5
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «trendlines daily la .mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор для платформы MetaTrader 5, предназначенный для отрисовки линий трендов (сопротивления и поддержки) на ценовом графике. Использует объекты типа OBJ_TREND для визуализации ключевых ценовых уровней, определённых по пивотным точкам на различных таймфреймах.
Логика работы основана на поиске более высоких максимумов (HigherHigh) и более низких минимумов (LowerLow) в исторических данных. По результатам анализа строятся линии сопротивления и поддержки, которые автоматически обновляются при смене бара.
Поддерживается отрисовка трендов на таймфреймах D1, H4 и H1 с настраиваемыми цветами для каждого уровня. При работе на текущем таймфрейме, отличном от целевого, выполняется корректировка позиций линий для корректного отображения.
Индикатор не содержит торговой логики и не использует торговые API. Он исключительно визуальный инструмент, работающий в окне графика.
Настройки программы
| Настройка | Описание |
|---|---|
| D1_R | Цвет линии сопротивления на таймфрейме D1 (дневной). |
| D1_S | Цвет линии поддержки на таймфрейме D1 (дневной). |
| H4_R | Цвет линии сопротивления на таймфрейме H4 (четырёхчасовой). |
| H4_S | Цвет линии поддержки на таймфрейме H4 (четырёхчасовой). |
| H1_R | Цвет линии сопротивления на таймфрейме H1 (часовой). |
| H1_S | Цвет линии поддержки на таймфрейме H1 (часовой). |
Поиск по коду файла
#property indicator_chart_window
extern color D1_R=Lime;
extern color D1_S=Lime;
extern color H4_R=Aqua;
extern color H4_S=Aqua;
extern color H1_R=White;
extern color H1_S=White;
#define RESISTANCE 1
#define SUPPORT 2
int init()
{
// код доступен только после оплаты
}
int deinit()
{
ObjectDelete("D1_R");
ObjectDelete("D1_S");
ObjectDelete("H4_R");
ObjectDelete("H4_S");
ObjectDelete("H1_R");
ObjectDelete("H1_S");
ObjectDelete("M5_R");
ObjectDelete("M5_S");
return(0);
}
int start()
{
// код доступен только после оплаты
}
void Draw_M15_Trends()
{
int sbar=0;
int ebar=0;
int i;
double rate_array[][6];
ArrayCopyRates(rate_array, Symbol(), PERIOD_H1);
for (i=2; i < Bars; i++)
{
if (HigherHigh(i, 1, rate_array) == true)
{
if (ebar == 0)
ebar = i;
else if (sbar == 0 && rate_array[i][3] > rate_array[ebar][3]) // use 3 for high
sbar = i;
}
if (sbar !=0 && ebar !=0)
break;
}
DrawTrendline ("H1_R", ebar, sbar, PERIOD_H1, RESISTANCE, rate_array);
ebar = 0;
sbar = 0;
for (i=2; i < Bars; i++)
{
if (LowerLow(i, 1, rate_array) == true)
{
if (ebar == 0)
ebar = i;
else if (sbar == 0 && rate_array[i][2] < rate_array[ebar][2]) // use 2 for low
sbar = i;
}
if (sbar !=0 && ebar !=0)
break;
}
DrawTrendline ("H1_S", ebar, sbar, PERIOD_H1, SUPPORT, rate_array);
}
void Draw_H1_Trends()
{
int sbar=0;
int ebar=0;
int i;
double rate_array[][6];
ArrayCopyRates(rate_array, Symbol(), PERIOD_H4);
for (i=2; i < Bars; i++)
{
if (HigherHigh(i, 1, rate_array) == true)
{
if (ebar == 0)
ebar = i;
else if (sbar == 0 && rate_array[i][3] > rate_array[ebar][3]) // use 3 for high
sbar = i;
}
if (sbar !=0 && ebar !=0)
break;
}
DrawTrendline ("H4_R", ebar, sbar, PERIOD_H4, RESISTANCE, rate_array);
ebar = 0;
sbar = 0;
for (i=2; i < Bars; i++)
{
if (LowerLow(i, 1, rate_array) == true)
{
if (ebar == 0)
ebar = i;
else if (sbar == 0 && rate_array[i][2] < rate_array[ebar][2]) // use 2 for low
sbar = i;
}
if (sbar !=0 && ebar !=0)
break;
}
DrawTrendline ("H4_S", ebar, sbar, PERIOD_H4, SUPPORT, rate_array);
}
void Draw_D1_Trends()
{
int sbar=0;
int ebar=0;
int i;
double rate_array[][6];
ArrayCopyRates(rate_array, Symbol(), PERIOD_D1);
for (i=2; i < Bars; i++)
{
if (HigherHigh(i, 1, rate_array) == true)
{
if (ebar == 0)
ebar = i;
else if (sbar == 0 && rate_array[i][3] > rate_array[ebar][3]) // use 3 for high
sbar = i;
}
if (sbar !=0 && ebar !=0)
break;
}
DrawTrendline ("D1_R", ebar, sbar, PERIOD_D1, RESISTANCE, rate_array);
ebar = 0;
sbar = 0;
for (i=2; i < Bars; i++)
{
if (LowerLow(i, 1, rate_array) == true)
{
if (ebar == 0)
ebar = i;
else if (sbar == 0 && rate_array[i][2] < rate_array[ebar][2]) // use 2 for low
sbar = i;
}
if (sbar !=0 && ebar !=0)
break;
}
DrawTrendline ("D1_S", ebar, sbar, PERIOD_D1, SUPPORT, rate_array);
}
bool HigherHigh (int point, int shift, double array[][6])
{
if (shift == 0)
return (true);
if (array[point][3] >= array[point+shift][3] && array[point][3] >= array[point-shift][3])
{
if (array[point]Показано первые 50% кода (символов: 5451)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.