Более совершенный вариант этой функции, но можно кое что подправить (а в общем я бы в виде объекта все это реализовал, или нескольких объектов).
Хотя, функцию можно в библиотеку поместить и юзать как угодно.
bool Create_BMP_Label(long chart_id, // id графикаstring bmp_nm, // имя объектаstring bmp_path, // путь к обектуlong anchor, // точка привязкиlong corner, // угол привязкиint x_dist, // координата по шкале Xint y_dist) // координата по шкале Y
{
//----------------------------------------------------------------------------////Work variablesbool Result = true; //Returned importance//----------------------------------------------------------------------------//ResetLastError();
Result = ObjectCreate(chart_id,bmp_nm,OBJ_BITMAP_LABEL,0,0,0); // создание объектаif(Result)
{
ObjectSetString(chart_id,bmp_nm,OBJPROP_BMPFILE,0,bmp_path); // BMP файлObjectSetInteger(chart_id,bmp_nm,OBJPROP_ANCHOR,anchor); // установка точки привязкиObjectSetInteger(chart_id,bmp_nm,OBJPROP_CORNER,corner); // установка угола привязкиObjectSetInteger(chart_id,bmp_nm,OBJPROP_XDISTANCE,x_dist); // установка координаты XObjectSetInteger(chart_id,bmp_nm,OBJPROP_YDISTANCE,y_dist); // установка координаты YObjectSetInteger(chart_id,bmp_nm,OBJPROP_SELECTABLE,false); // нельзя выделить объект, если FALSEObjectSetString(chart_id,bmp_nm,OBJPROP_TOOLTIP,"\n"); // нет всплывающей подсказки, если "\n"
}
//The execution errors checkingif(GetLastError()!=0)
{
Result = false;
}
//----------------------------------------------------------------------------//return(Result);
//----------------------------------------------------------------------------//
}
Более совершенный вариант этой функции, но можно кое что подправить (а в общем я бы в виде объекта все это реализовал, или нескольких объектов).
Хотя, функцию можно в библиотеку поместить и юзать как угодно.
Красиво.)) А в виде объекта в чём преимущество, если на примере этой функции? Я пока что всё в виде функций реализовываю. Может по ошибочному пути иду и потом придётся всё переделывать?
tol64: Красиво.)) А в виде объекта в чём преимущество, если на примере этой функции? Я пока что всё в виде функций реализовываю. Может по ошибочному пути иду и потом придётся всё переделывать?
Ну зачем же все. Функцию можно будет сделать более универсальной и упаковать скажем в библиотеку.
У классов тоже свои преимущества, но это уже хитрости относящиеся к ООП (основной задачей будет при этом использовать код в различных проектах не задумываясь об реализации).
Пример
Как я вижу по скрину у Вас нечто вроде информационной панели (может еще какой функционал), так вот можно рассматривать эту панель как ряд несвязанных объектов (графических,текстовых и прочих), а можно в виде объектов связанных одним классом. Таким образом если поменяется один "входной" параметр "Сorner" то такое изменение коснется всего того что относится к панели.
Тоже само с привязкой к графику, один раз указав классу график мы указываем этот график и всем объектам которыми этот класс управляет.
Ну зачем же все. Функцию можно будет сделать более универсальной и упаковать скажем в библиотеку.
У классов тоже свои преимущества, но это уже хитрости относящиеся к ООП (основной задачей будет при этом использовать код в различных проектах не задумываясь об реализации).
Пример
Как я вижу по скрину у Вас нечто вроде информационной панели (может еще какой функционал), так вот можно рассматривать эту панель как ряд несвязанных объектов (графических,текстовых и прочих), а можно в виде объектов связанных одним классом. Таким образом если поменяется один "входной" параметр "Сorner" то такое изменение коснется всего того что относится к панели.
Тоже само с привязкой к графику, один раз указав классу график мы указываем этот график и всем объектам которыми этот класс управляет.
У Вас есть очень замечательная способность. Объяснять всё предельно понятно уложившись при этом в пару строк. Спасибо. ))
После того, как ознакомлюсь со всеми нужными мне функциями и попрактикуюсь с ними, начну изучать структуры, классы и ООП. Жаль, что природа заставляет иногда ложиться спать. Приходится отползать от компьютера. ))
Задача: удалить все объекты типа OBJ_LABEL с графика. Но некоторые пропускаются и остаются. В журнале пишется ошибка:
Подскажите, как нужно сделать правильно.
Мне так кажется, что цикл должен быть не нарастающим, а убывающим, хотя в подробности в подробности не вдавался (но еще со времен MQL4 удаление ордеров проводится в убывающем цикле).
Тут фишка в том что если начать удалять с больших индексов то первоначальный список не изменится, за исключением удаления выбранного элемента (с хвоста списка)...
Мне так кажется, что цикл должен быть не нарастающим, а убывающим, хотя в подробности в подробности не вдавался (но еще со времен MQL4 удаление ордеров проводится в убывающем цикле).
Тут фишка в том что если начать удалять с больших индексов то первоначальный список не изменится, за исключением удаления выбранного элемента (с хвоста списка)...
Попробовал с конца начинать цикл:
for(i=amount_obj-1; i>=amount_obj; i--)
Теперь ошибок в журнале нет, но и не удаляется ни одного объекта.))
В четверке использую такой подход: все объекты - группы, часть имени - общая в группе.
Удаление
// удаление по маске всех объектов индюкаfor (int i = ObjectsTotal() - 1; i >= 0; i--)
{
string name = ObjectName(i);
if (StringFind(name, "sig_nal") == 0)
{
ObjectDelete(name);
}
}
для разных групп
// удаление по маске всех объектов индюкаfor (int i = ObjectsTotal() - 1; i >= 0; i--)
{
string name = ObjectName(i);
if (StringFind(name, "signal") == 0)
{
ObjectDelete(name);
}
elseif (StringFind(name, "Asignal") == 0)
{
ObjectDelete(name);
}
}
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Передаю эти свойства объектов явно ( ANCHOR_RIGHT_UPPER, CORNER_RIGHT_UPPER ):
Кажется, дошло. Вы образец функции показали, а не рабочий кусок кода?
Все, беру выходные. Извините, что отвлек :)
Более совершенный вариант этой функции, но можно кое что подправить (а в общем я бы в виде объекта все это реализовал, или нескольких объектов).
Хотя, функцию можно в библиотеку поместить и юзать как угодно.
Более совершенный вариант этой функции, но можно кое что подправить (а в общем я бы в виде объекта все это реализовал, или нескольких объектов).
Хотя, функцию можно в библиотеку поместить и юзать как угодно.
Красиво.)) А в виде объекта в чём преимущество, если на примере этой функции? Я пока что всё в виде функций реализовываю. Может по ошибочному пути иду и потом придётся всё переделывать?
Ну зачем же все. Функцию можно будет сделать более универсальной и упаковать скажем в библиотеку.
У классов тоже свои преимущества, но это уже хитрости относящиеся к ООП (основной задачей будет при этом использовать код в различных проектах не задумываясь об реализации).
Пример
Как я вижу по скрину у Вас нечто вроде информационной панели (может еще какой функционал), так вот можно рассматривать эту панель как ряд несвязанных объектов (графических,текстовых и прочих), а можно в виде объектов связанных одним классом. Таким образом если поменяется один "входной" параметр "Сorner" то такое изменение коснется всего того что относится к панели.
Тоже само с привязкой к графику, один раз указав классу график мы указываем этот график и всем объектам которыми этот класс управляет.
Ну зачем же все. Функцию можно будет сделать более универсальной и упаковать скажем в библиотеку.
У классов тоже свои преимущества, но это уже хитрости относящиеся к ООП (основной задачей будет при этом использовать код в различных проектах не задумываясь об реализации).
Пример
Как я вижу по скрину у Вас нечто вроде информационной панели (может еще какой функционал), так вот можно рассматривать эту панель как ряд несвязанных объектов (графических,текстовых и прочих), а можно в виде объектов связанных одним классом. Таким образом если поменяется один "входной" параметр "Сorner" то такое изменение коснется всего того что относится к панели.
Тоже само с привязкой к графику, один раз указав классу график мы указываем этот график и всем объектам которыми этот класс управляет.
У Вас есть очень замечательная способность. Объяснять всё предельно понятно уложившись при этом в пару строк. Спасибо. ))
После того, как ознакомлюсь со всеми нужными мне функциями и попрактикуюсь с ними, начну изучать структуры, классы и ООП. Жаль, что природа заставляет иногда ложиться спать. Приходится отползать от компьютера. ))
Написал такой скрипт:
Задача: удалить все объекты типа OBJ_LABEL с графика. Но некоторые пропускаются и остаются. В журнале пишется ошибка:
Подскажите, как нужно сделать правильно.
Написал такой скрипт:
Задача: удалить все объекты типа OBJ_LABEL с графика. Но некоторые пропускаются и остаются. В журнале пишется ошибка:
Подскажите, как нужно сделать правильно.
Мне так кажется, что цикл должен быть не нарастающим, а убывающим, хотя в подробности в подробности не вдавался (но еще со времен MQL4 удаление ордеров проводится в убывающем цикле).
Тут фишка в том что если начать удалять с больших индексов то первоначальный список не изменится, за исключением удаления выбранного элемента (с хвоста списка)...
Мне так кажется, что цикл должен быть не нарастающим, а убывающим, хотя в подробности в подробности не вдавался (но еще со времен MQL4 удаление ордеров проводится в убывающем цикле).
Тут фишка в том что если начать удалять с больших индексов то первоначальный список не изменится, за исключением удаления выбранного элемента (с хвоста списка)...
Попробовал с конца начинать цикл:
Теперь ошибок в журнале нет, но и не удаляется ни одного объекта.))
Попробовал с конца начинать цикл:
Теперь ошибок в журнале нет, но и не удаляется ни одного объекта.))
В четверке использую такой подход: все объекты - группы, часть имени - общая в группе.
Удаление
для разных групп
и тут функция IgorM
***
( на всякий ) Сортировка по ObjectName (не разбирался, актуально ли для 5ки)