Level Sensor
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «mp overlay.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный индикатор предназначен для платформы MetaTrader 5 и анализирует исторические данные цен на графике. Он определяет ключевые ценовые уровни в заданном диапазоне истории и отображает их в виде горизонтальных линий на графике.
Индикатор вычисляет наибольшие и наименьшие цены за настраиваемый период истории, после формирует набор горизонтальных уровней между этими границами с заданным шагом. Каждый уровень представлен объектом-линией, длина которого отражает количество свечей, взаимодействовавших с этим уровнем.
Это позволяет пользователю визуально оценить значимость различных ценовых зон. При удалении индикатора с графика все созданные объекты очищаются.
Настройки программы
| Настройка | Описание |
|---|---|
| MAX_HISTORY | Максимальное количество баров истории, анализируемых при расчёте уровней. Чем больше значение, тем шире диапазон данных для определения верхней и нижней границ. |
| STEP | Шаг между соседними ценовыми уровнями. Определяет гранулярность сетки уровней: меньшее значение создаёт больше линий с более мелким интервалом. |
Поиск по коду файла
#property indicator_chart_window
extern int MAX_HISTORY=500;
extern int STEP = 1;
int init()
{
// код доступен только после оплаты
}
double CSH(int shift)
{
return (MathMax(Open[shift],Close[shift]));
}
double CSL(int shift)
{
return (MathMin(Open[shift],Close[shift]));
}
string OBJECT_PREFIX = "LEVELS";
int ObjectId = 0;
string IntToStr(int X)
{
return (DoubleToStr(X,0));
}
string ObGetUniqueName(string Prefix)
{
ObjectId++;
return (Prefix+" "+IntToStr(ObjectId));
}
void ObDeleteObjectsByPrefix(string Prefix)
{
int L = StringLen(Prefix);
int i=0;
while (i<ObjectsTotal())
{
string ObjName = ObjectName(i);
if (StringSubstr(ObjName,0,L)!=Prefix) { i++; continue;}
ObjectDelete(ObjName);
}
}
int deinit()
{
ObDeleteObjectsByPrefix(OBJECT_PREFIX);
return(0);
}
int start()
{
// код доступен только после оплаты
}
string S;
ObDeleteObjectsByPrefix(OBJECT_PREFIX);
double HH = 0;
double LL = 1000000;
intПоказано первые 50% кода (символов: 1445)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.