Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 1073

 
Комментарии, не относящиеся к этой теме, были перенесены в "Вопросы от начинающих MQL4 MT4 MetaTrader 4".
 

Всем хорошего дня! Есть вопрос... Извините если не по теме...

Как правильно сделать так чтобы объект отображался на "родительском" ТФ и всех что меньше, а на тех что старше "родительского" нет.

Т.е. как программно установить объекту несколько флагов?

 Если использовать

ObjectSetInteger ( ch_id , name , OBJPROP_TIMEFRAMES , flag ); 

то объект отображается только на том ТФ который соответствует флагу, однако в свойствах объекта, вручную, можно выбрать несколько...

тф

 
Anzhela Sityaeva:

Всем хорошего дня! Есть вопрос... Извините если не по теме...

Как правильно сделать так чтобы объект отображался на "родительском" ТФ и всех что меньше, а на тех что старше "родительского" нет.

Т.е. как программно установить объекту несколько флагов?

 Если использовать

то объект отображается только на том ТФ который соответствует флагу, однако в свойствах объекта, вручную, можно выбрать несколько...


ObjectSetInteger(ch_id, name, OBJPROP_TIMEFRAMES, OBJ_PERIOD_H1 | OBJ_PERIOD_H2); 

Как на рисунке - 1 час и 2 часа

 
Artyom Trishkin:

Как на рисунке - 1 час и 2 часа

Допустим создается объект на часе, он должен отображаться на все от М1 и до Н1. Все что выше Н1 его видно не должно быть...

Т.е. придется перечислять все?

UPD: Похоже, что так. Благодарю за ответ!

 
Artyom Trishkin:

Как на рисунке - 1 час и 2 часа

Но на рисунке ещё и все минуты. А перечислять их как в том стихотворении

Рука бойца колоть устала.

Я-бы проверил что получится из этого:

ObjectSetInteger(ch_id, name, OBJPROP_TIMEFRAMES, OBJ_PERIOD_H3-1);

Проверил. Получилось.

 
Alexey Viktorov:

Но на рисунке ещё и все минуты. А перечислять их как в том стихотворении

Рука бойца колоть устала.

Я-бы проверил что получится из этого:

Проверил. Получилось.

Отлично. Это без цикла?
 
Anzhela Sityaeva:
Отлично. Это без цикла?
Конечно. Всего одна короткая строка. Только надо определить какой старший ТФ в списке флагов.
 
Alexey Viktorov:

Но на рисунке ещё и все минуты. А перечислять их как в том стихотворении

Рука бойца колоть устала.

Я-бы проверил что получится из этого:

Проверил. Получилось.

А ты распечатай числовые значения флагов. Общий флаг должен содержать в себе все значения нужных флагов. А чему равно OBJ_PERIOD_H3-1 ? Если сумме всех флагов, что до него - тогда - да, а если нет, то где-то косяк.

И если нужны не все флаги, что до OBJ_PERIOD_H3-1, то тогда что?

 
Artyom Trishkin:

А ты распечатай числовые значения флагов. Общий флаг должен содержать в себе все значения нужных флагов. А чему равно OBJ_PERIOD_H3-1 ? Если сумме всех флагов, что до него - тогда - да, а если нет, то где-то косяк.

Не... Я тут как-то в одной теме общался по поводу флагов и экспериментировал над такими строками

Print("summa_flag = ", 1 | 2 | 4);

даёт сумму 7

а

Print("summa_flag = ", 1 | 2 | 3);

даёт только 3


Добавлено:

Вот смотри, флаг 4... сумма до него 3.

флаг 16... сумма до него 15

и так далее.

 
Alexey Viktorov:

Не... Я тут как-то в одной теме общался по поводу флагов и экспериментировал над такими строками

даёт сумму 7

а

даёт только 3

Естественно. Всё верно тут.

Каждый последующий флаг имеет, обязан иметь значение больше предыдущего в два раза.

А вводя вместо 4 значение 3, ты тем самым продублировал первые два флага: 1 и 2