//+------------------------------------------------------------------+ //| Отправка терминалу команды на показ графика поверх всех других. | //+------------------------------------------------------------------+ bool ChartBringToTop(const long chart_ID=0) { //--- сбросим значение ошибки ResetLastError(); //--- покажем график поверх всех других if(!ChartSetInteger(chart_ID,CHART_BRING_TO_TOP,0,true))// или false { //--- выведем сообщение об ошибке в журнал "Эксперты" Print(__FUNCTION__+", Error Code = ",GetLastError()); return(false); } //--- успешное выполнение return(true); }Это искусственному идиотизму не понять.
- www.mql5.com
Это искусственному идиотизму не понять.
Благодарю)
Алексей, а в какую часть кода вставлять ваш фикс ?!
(до/после OnInit / OnCalculate ... ?!)
-------------------------------------------------------------------------------------------------
... ну у этого "Искусственного Импровизатора" ещё всё впереди! ... молодой-же ещё )
чё уж так говорить, когда он "рогом упирается" и постоянно пишет : "OBJPROP_TIME1" вместо "OBJPROP_TIME,1" ... хотя НЕКОТОРЫЕ вещи - пишет нормально )
(если уж вкратце рассказывать, то он сперва "накосячит", потом по списку ошибок выдаст правильный вариант, а потом в следующий раз совершит снова те-же ошибки ))
(,,, а в целом - скрафтил мне вполне рабочий скрипт отрисовки меток СтопЛоса на истории графика, этим - я доволен! ), остальное - тестирую )
| OBJPROP_BACK | Объект на заднем плане | bool |
https://www.mql5.com/ru/docs/objects/objectsetinteger
ObjectSetInteger(0, RectName, OBJPROP_BACK, true);
- www.mql5.com
Это искусственному идиотизму не понять.
Ремарка. Не CHART_BRING_TO_TOP, а CHART_FOREGROUND. Первое свойство - это про окно в целом, а не про ценовой график.
Только ничто не поможет именно с объектом OBJ_RECTANGLE. Через него всегда будет просвечивать график. Другое дело - OBJ_RECTANGLE_LABEL. Для него свойство графика CHART_FOREGROUND действует как положено.
Ремарка. Не CHART_BRING_TO_TOP, а CHART_FOREGROUND. Первое свойство - это про окно в целом, а не про ценовой график.
Только ничто не поможет именно с объектом OBJ_RECTANGLE. Через него всегда будет просвечивать график. Другое дело - OBJ_RECTANGLE_LABEL. Для него свойство графика CHART_FOREGROUND действует как положено.
// Принудительно задаём time/price свойства (чтобы избежать "прыжка в угол") if(!ObjectSetInteger(g_chart_id, InpObjName, OBJPROP_TIME,1, (long)time_left)) PrintFormat("OBJPROP_TIME,1 set failed: %d", GetLastError()); if(!ObjectSetDouble (g_chart_id, InpObjName, OBJPROP_PRICE,1, price_top)) PrintFormat("OBJPROP_PRICE,1 set failed: %d", GetLastError()); if(!ObjectSetInteger(g_chart_id, InpObjName, OBJPROP_TIME,2, (long)time_right)) PrintFormat("OBJPROP_TIME,2 set failed: %d", GetLastError()); if(!ObjectSetDouble (g_chart_id, InpObjName, OBJPROP_PRICE,2, price_bottom)) PrintFormat("OBJPROP_PRICE,2 set failed: %d", GetLastError()); // Отключаем привязку к corner (делаем явную привязку к time/price) if(!ObjectSetInteger(g_chart_id, InpObjName, OBJPROP_CORNER, -1)) PrintFormat("OBJPROP_CORNER set failed: %d", GetLastError());
... а ничего так и неполучилось ...
-------------------------------------------------------------------------------
... а ничего так и неполучилось ...
-------------------------------------------------------------------------------
я красил белым, все норм, ничего не видно за ним
сделай два прямоугольника, один на другой
одним закрась, а второй по усмотрению - цвет который нужен
... а ничего так и неполучилось ...
-------------------------------------------------------------------------------
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Здравия, уважаемые профессионалы!
столкнулся с такой делемой:
хочу сделать простой индикатор, который просто рисовал-бы обычный объект "Прямоугольник" OBJ_RECTANGLE, но ПОВЕРХ баров !
чтобы он полностью перекрывал-бы бары под собой!
,,, + ввести параметр Прозрачности для частичного отображения баров под прямоугольником! :
... но как я понял - это сделать или очень ити-его сложно, или вообще нельзя (?!), так как в свойствах хоть и задано:
ObjectSetInteger(0, RectName, OBJPROP_FILL, true); // заливка
ObjectSetInteger(0, RectName, OBJPROP_BACK, false); // рисовать перед барами
... но это не помогает, и Прямоугольник по прежнему рисуется ПОД барами ! ... тогда недопонятно - для какого-такого "икса" в МТ-5 предусмотрена возможность рисовать "на фоне", или "перед" барами, если оно "один икс" рисует ПОД барами (??!!) О_0 ... --_--
код в аттаче, может чего подскажете ?!
... или тогда вместо обычного прямоугольника - рисовать OBJ_RECTANGLE_LABEL ??
...но как я почитал в Справочнике - он больше предназначен именно для создания Панелей ...
Но тогда - придётся как-то совмещать координаты пикселей на экране - с время/дата баров (?!)
в общем - прошу вас накидать идей, а я всёравно скормлю все предложения ИИ-шке - пусть делает!
Благодарю за подсказки/советы/рекомендации !