Скачать MetaTrader 5

Как изменить цвет линий?

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Зарегистрируйся на MQL5.community и оставляй комментарии!
Forex Trader
114255
Forex Trader 2009.06.21 07:33 

Скрипт устанавливает на графике линии поддержки/сопротивления. Все линии отображаются красными, т.е. цветом по умолчанию. Как сделать, чтобы эти линии отображались в другом цвете?

Forex Trader
114255
Forex Trader 2009.06.21 19:44  
Найдите в коде строку, где образуется нужная Вам линия. После этого обычно идет устновка свойств линии, типа:
ObjectSet("Support",OBJPROP_COLOR,Red);
Вот тут и меняйте цвет какой Вам надо.
Если в код не можете влезть, после отрисовки линии на графике, выделите ее двойным щелчком, потом правой кнопкой вызовите меню и выберите свойства Трендлайн. Там легко меняете цвет на вкладке "Общие".
Forex Trader
114255
Forex Trader 2009.06.25 16:20  
Roger :
Найдите в коде строку, где образуется нужная Вам линия. После этого обычно идет устновка свойств линии, типа:
ObjectSet("Support",OBJPROP_COLOR,Red);
Вот тут и меняйте цвет какой Вам надо.
Если в код не можете влезть, после отрисовки линии на графике, выделите ее двойным щелчком, потом правой кнопкой вызовите меню и выберите свойства Трендлайн. Там легко меняете цвет на вкладке "Общие".

Добрый день, Roger!

Спасибо за ответ, но, к сожалению что-то не так. Строку в коде, думаю, нашел. Вот она (если не ошибаюсь):

ObjectSet(lname, OBJPROP_STYLE, STYLE_SOLID);

Заменил на:

ObjectSet("Support",OBJPROP_COLOR, Aqua);

Но скрипт по-прежнему рисует Red.

Forex Trader
114255
Forex Trader 2009.06.25 19:05  
Вы поняли меня буквально. У Вашей линии имя - Iname. Замените "Support" на Iname. Если не получится, выложите код.
Forex Trader
114255
Forex Trader 2009.06.26 08:47  
Evgeniy_V :

Строку в коде, думаю, нашел. Вот она (если не ошибаюсь):

ObjectSet(lname, OBJPROP_STYLE, STYLE_SOLID);


Ошиблись, Вы выбрали стиль линии а не её цвет.

Forex Trader
114255
Forex Trader 2009.06.26 10:16  
Roger :
Вы поняли меня буквально. У Вашей линии имя - Iname. Замените "Support" на Iname. Если не получится, выложите код.

Добрый день, Roger!

Не получилось. Подправьте, пожалуйста, если Вас это не очень затруднит, чтобы можно было изменить цвет линий.

Выкладываю часть кода скрипта DrawExtLevels.zip ( 1,97 килобайт ) , где речь о линиях:

//========================================================

// Рисуем уровни

//========================================================

void DrawLevels()

{

int i, m;

string lname;

datetime ct;

m=ArrayRange(values, 0);

ct=TimeYear(Time[0])+TimeMonth(Time[0])+TimeDay(Time[0]);

for (i=0;i<m;i++)

{

lname="AcadLevel" + "_" + ct + "_" + i;

if (ObjectFind(lname) == -1)

{

ObjectCreate(lname, OBJ_HLINE, 0, Time[0], values[i]);

ObjectSet(lname, OBJPROP_STYLE, STYLE_SOLID);

}

}

return(0);

}

А это с форума v-equities:

Инструкция установки скрипта.

Кликаете правой кнопкой мыши по терминалу, далее - свойства, найти объект, experts и scripts. Закидываете в последнюю папку скрипт DrawExtLevels.
Запускаем терминал, открываем папку Скрипты и кидаем скрипт DrawExtLevels на график той валютной пары которой мы хотим увидеть уровни. Сразу после этого появится окно где нужно будет открыть закладку Входные параметры. Но сперва копируем уровни со страницы компании http:/.ru/ru/analitics/tech/ и вставляем эти уровни в строку где написано «Сюда вставить уровни», нажимаем ОК и уровни данной валютной пары появятся на графике.

А по существу, ИМХО, уровни у них не плохие.

Forex Trader
114255
Forex Trader 2009.06.26 15:21  
void DrawLevels()

{

int i, m;

string lname;

datetime ct;

m=ArrayRange(values, 0);

ct=TimeYear(Time[0])+TimeMonth(Time[0])+TimeDay(Time[0]);

for (i=0;i<m;i++)

{

lname="AcadLevel" + "_" + ct + "_" + i;

if (ObjectFind(lname) == -1)

{

ObjectCreate(lname, OBJ_HLINE, 0, Time[0], values[i]);

ObjectSet(lname, OBJPROP_STYLE, STYLE_SOLID);
ObjectSet(lname, OBJPROP_COLOR, Aqua);

}

}

return(0);

}
Forex Trader
114255
Forex Trader 2009.06.26 15:49  
satop :
void DrawLevels()

{

int i, m;

string lname;

datetime ct;

m=ArrayRange(values, 0);

ct=TimeYear(Time[0])+TimeMonth(Time[0])+TimeDay(Time[0]);

for (i=0;i<m;i++)

{

lname="AcadLevel" + "_" + ct + "_" + i;

if (ObjectFind(lname) == -1)

{

ObjectCreate(lname, OBJ_HLINE, 0, Time[0], values[i]);

ObjectSet(lname, OBJPROP_STYLE, STYLE_SOLID);
ObjectSet(lname, OBJPROP_COLOR, Aqua);

}

}

return(0);

}

Отлично, satop!

Я уже у себя исправил. Классно. Благодарю.

Forex Trader
114255
Forex Trader 2009.06.26 21:59  
пож.
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий