Новая версия платформы MetaTrader 5 build 2940: Перенос витрин MQL5-сервисов в рабочую область и обновление дизайна - страница 21

 
Ihor Herasko:

Приведенный пример как раз является плохим кодом. Правильнее все это разруливать через switch, в котором перечислены именованные константы, но ни в коем случае не значения.

Портянки кода писать - наверное, это хороший стиль.

 
fxsaber:

Портянки кода писать - наверное, это хороший стиль.

Дело ведь не в длине кода, а в его удобном чтении и поддержке. Короткий код - не значит хороший, равно как и длинный код не означает, что он плох.

 
Ihor Herasko:

А вот по замечанию насчет set-файлов соглашусь. Но только в том ключе, что MQ выбрали неправильный путь в сохранении значений перечислений. Для универсализма стоило бы переводить их в строки. Тогда бы никаких проблем не возникло при изменении значений констант.

Вполне себе годный путь - просто в input нужно использовать пользовательские (а не предопределенные) перечисления - тем более что им можно дать более осмысленные имена (тем более для маркета)

 
A100:

Вполне себе годный путь - просто в input нужно использовать пользовательские (а не предопределенные) перечисления - тем более что им можно дать более осмысленные для маркета имена

Нет разницы между пользовательским и системным перечислением. И там, и там могут произойти переназначения. Снова получаем нерабочий set-файл.

 
Ihor Herasko:

Нет разницы между пользовательским и системным перечислением. И там, и там могут произойти переназначения. Снова получаем нерабочий set-файл.

Разница существенная: значения пользовательских перечислений зависят только (и только) от Вас, а предопределенных - от Разработчиков

Если в input параметрах Вы используете только пользовательские перечисления, то от Разработчиков - не зависите

Тем более что при этом:

затруднительно реализовать обратный перевод - из строки в значение

 
Перечисления в языке удобны только для написания перегрузок и шаблонов (template). В остальных случаях макросы являются их полной альтернативой.
 
fxsaber:
Перечисления в языке удобны только для написания перегрузок и шаблонов (template). В остальных случаях макросы являются их полной альтернативой.
Всегда думал, что перечисления в языках вводятся для создания более читаемого кода, как раз чтобы уйти от использования цифровых/текстовых значений в коде.
 

Looking for a list of the shortcuts of the terminal (and the editor to be complete) I searched in the (Engl.) reference of the terminal, in the documentation, and with the MQ-search for "shortcut" and "hot key" - nothing.

Does anybody know where I can find it or does someone has one?

At least it is something to improve the documentation with.

Ищу список горячих клавиш терминала (и редактора, чтобы быть полным) Я искал в (англ.) справочнике терминала, в документации, и с MQ-поиском для " shortcut " и " hot key " - ничего.

Кто-нибудь знает, где я могу найти это или у кого-то есть?

По крайней мере, это то, с чем можно улучшить документацию.

 
Carl Schreiber:


Ищу список горячих клавиш терминала (и редактора, чтобы быть полным) Я искал в (англ.) справочнике терминала, в документации, и с MQ-поиском для " shortcut " и " hot key " - ничего.


MetaEditor

https://www.metatrader5.com/ru/metaeditor/help/workspace/hotkeys

Горячие клавиши - Рабочая область - Справка по MetaEditor
Горячие клавиши - Рабочая область - Справка по MetaEditor
  • www.metatrader5.com
Горячие клавиши — это клавиши и их комбинации, которые позволяют быстро выполнять различные команды без обращения к меню и панелям управления...
 
A100:

Разница существенная: значения пользовательских перечислений зависят только (и только) от Вас, а предопределенных - от Разработчиков

set-файл, сохраненный пользователем, кроме этого пользователя, никто не может контролировать. 

Перечисления - это не что-то статичное, которое один раз сделал и забыл. Это развивающиеся сущности. Иначе приходим к тому, что смысла в них нет. Тогда, действительно, проще оперировать явно указанными числами.