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

 
Anzhela Sityaeva:

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

или все перечислить 

или сдвинуть OBJ_ALL_PERIODS на необходимое кол-во бит (таймфреймов), для Вашего случая кажется на 9 бит нужно сдвинуть 

OBJ_ALL_PERIODS >> 9
 
Igor Makanu:

или все перечислить 

или сдвинуть OBJ_ALL_PERIODS на необходимое кол-во бит (таймфреймов), для Вашего случая кажется на 9 бит нужно сдвинуть 

Игорь, не затруднит описать теорию, как посчитать на сколько бит сдвинуть.

 
Alexey Viktorov:

Игорь, не затруднит описать теорию, как посчитать на сколько бит сдвинуть.

в справке написаны все ТФ которые может сгенерировать терминал https://www.mql5.com/ru/docs/constants/objectconstants/visible

константа OBJ_ALL_PERIODS это ‭1 1111 1111 1111 1111 1111‬ т.е все единички

если мы будем побитово сдвигать вправо, то слева будет заполнение нулями

считаем из справки кол-во ТФ которые перечислены выше OBJ_ALL_PERIODS , я насчитал 9 штук, возможно на один ошибся - проверить вроде не сложно


ЗЫ: можно сделать комбинацию сдвиг + ИЛИ, получим отображать все ТФ и тот который посчитали необходимым добавить, примерно так:


( OBJ_ALL_PERIODS >> 9 ) | OBJ_PERIOD_H4

вроде должно поучиться отображать все что ниже PERIOD_H1 и ТФ PERIOD_H4

Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Видимость объектов
Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Видимость объектов
  • www.mql5.com
Комбинация флагов видимости объекта определяет таймфреймы графика, на которых объект отображаем. Для установки/получения значения свойства OBJPROP_TIMEFRAMES можно использовать функции ObjectSetInteger()/ObjectGetInteger...
 
Igor Makanu:

в справке написаны все ТФ которые может сгенерировать терминал https://www.mql5.com/ru/docs/constants/objectconstants/visible

константа OBJ_ALL_PERIODS это ‭1 1111 1111 1111 1111 1111‬ т.е все единички

если мы будем побитово сдвигать вправо, то слева будет заполнение нулями

считаем из справки кол-во ТФ которые перечислены выше OBJ_ALL_PERIODS , я насчитал 9 штук, возможно на один ошибся - проверить вроде не сложно

Спасибо, но это не теория, а более конкретно о текущем случае. А как-же вы насчитали 9? Или вы считали только для mql4... ведь в mql5 периодов гораздо больше.

 
Alexey Viktorov:

Спасибо, но это не теория, а более конкретно о текущем случае. А как-же вы насчитали 9? Или вы считали только для mql4... ведь в mql5 периодов гораздо больше.

я считал из справки mql5 и ссылку дал на mql5!

это не теория, а практика! а Вы спорить любите - это факт! )))

ЗЫ: Ваш пример с вычитанием будет корректно работать, но нужно от чегонить "отталкиваться", я бы опять от OBJ_ALL_PERIODS  начал, вычел бы из него все ненужные периоды

OBJ_ALL_PERIODS   - OBJ_PERIOD_H2 - OBJ_PERIOD_H3 - OBJ_PERIOD_H4 - OBJ_PERIOD_H6 - OBJ_PERIOD_H8 - OBJ_PERIOD_H12 - OBJ_PERIOD_D1 - OBJ_PERIOD_W1 - OBJ_PERIOD_MN1

ЗЫ: выражение  OBJ_PERIOD_H2 | OBJ_PERIOD_H3 | OBJ_PERIOD_H4 | OBJ_PERIOD_H6 | OBJ_PERIOD_H8 | OBJ_PERIOD_H12 | OBJ_PERIOD_D1 | OBJ_PERIOD_W1 | OBJ_PERIOD_MN1

можно посчитать и использовать через #define

 
Igor Makanu:

я считал из справки mql5 и ссылку дал на mql5!

это не теория, а практика! а Вы спорить любите - это факт! )))

ЗЫ: Ваш пример с вычитанием будет корректно работать, но нужно от чегонить "отталкиваться", я бы опять от OBJ_ALL_PERIODS  начал, вычел бы из него все ненужные периоды

ЗЫ: выражение  OBJ_PERIOD_H2 | OBJ_PERIOD_H3 | OBJ_PERIOD_H4 | OBJ_PERIOD_H6 | OBJ_PERIOD_H8 | OBJ_PERIOD_H12 | OBJ_PERIOD_D1 | OBJ_PERIOD_W1 | OBJ_PERIOD_MN1

можно посчитать и использовать через #define

Когда спорят, не ставят вопросительный знак, а в моём тексте только вопросы.

А вот теперь я понял откуда 9. Оказывается сдвиг от максимального... я считал от начала.

Всё остальное на любителя.
 
Alexey Viktorov:

А вот теперь я понял откуда 9. Оказывается сдвиг от максимального... я считал от начала.

от начала не получилось бы никак - побитовые сдвиги всегда заполняют нулями освободившиеся биты, в принципе можно эту задачу и с помощью логического NOT решить - инвертировать биты, но терминала нет - не помню как в MQL NOT побитовое сделать, а онлайн справку читать не хочу

 
Igor Makanu:

от начала не получилось бы никак - побитовые сдвиги всегда заполняют нулями освободившиеся биты, в принципе можно эту задачу и с помощью логического NOT решить - инвертировать биты, но терминала нет - не помню как в MQL NOT побитовое сделать, а онлайн справку читать не хочу

Игорь, это не серьёзно. Если не можете аргументировать - то это просто пшик. Не хотите доказывать свою правоту, тогда лучше и вовсе не встревать в дискуссию...

 
Сергей Таболин:

Игорь, это не серьёзно. Если не можете аргументировать - то это просто пшик. Не хотите доказывать свою правоту, тогда лучше и вовсе не встревать в дискуссию...

хм, о чем речь? я должен доказать, что 

OBJ_ALL_PERIODS >> 9

выставит флаги в 1  у всех ТФ которые описаны в справке выше чем OBJ_ALL_PERIODS отсчитав 9 строк ?

займитесь азами двоичного счета, это очевидно, я не могу доказывать 2 х 2 = ? 

;)

 
Igor Makanu:

хм, о чем речь? я должен доказать, что 

выставит флаги в 1  у всех ТФ которые описаны в справке чем OBJ_ALL_PERIODS ?

займитесь азами двоичного счета, это очевидно, я не могу доказывать 2 х 2 = ? 

;)

Я не об этом.

"и с помощью логического NOT решить - инвертировать биты, но терминала нет - не помню как в MQL NOT побитовое сделать, а онлайн справку читать не хочу"

Я о том, что или уж или приведите доказательство, или не мутите воду )))

"Ошибиться может каждый. Признать ошибку может только сильный!". Если это ещё никто не озвучивал, то это моё мудростьё ))). Если уже кто-то говорил - я повторил мудростьё мудрого чела )))

Причина обращения: