input const не является константой

 

Честно говоря, первый раз напоролся. Захотелось сделать неубиваемый коммент в input параметрах советника, чтобы нельзя было его затереть. Попробовал вот так - затереть можно, нельзя изменить в программе. Впрочем, input параметры и так нельзя изменить программно. Похоже, способа сделать неизменяемый коммент нет?

input const string      Comment1        = "Formats of StartDate and StopDate are D'Year.Month.Day Hour:Minute:Second', for example D'2017.08.04 12:11:45'";
input datetime          StartDate       = D'2017.08.04 12:00';
input datetime          StopDate        = D'2017.08.04 23:55';

***

 
input datetime          StartDate       = D'2017.08.04 12:00'; // StartDate (Year.Month.Day Hour:Minute:Second)
input datetime          StopDate        = D'2017.08.04 23:55'; // StopDate  (Year.Month.Day Hour:Minute:Second)
 

Привет , можно  конечно.

используя enum

Если это прописать, то выйдет не меняющаяся строка "Privet bro!" в панели настройки.

Как бы будет выбор при двойном клике - но выбор будет один и тот же :)))) 

enum qw

{

   i=1,//Privet bro!

};

input qw  comment=1;  

 
fxsaber:
Это о чем?
 
Alexey Volchanskiy:
Это о чем?

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

 
Alexey Volchanskiy:
Это о чем?

Об этом:

//+------------------------------------------------------------------+
//|                                                      Test_en.mq5 |
//|                                      Copyright 2012, CompanyName |
//|                                       http://www.companyname.net |
//+------------------------------------------------------------------+
#property script_show_inputs
input const string      Comment1        = ""; // Formats of StartDate and StopDate
input const string      Comment2        = ""; // are D'Year.Month.Day Hour:Minute:Second'
input const string      Comment3        = ""; // for example D'2017.08.04 12:11:45'";
input datetime          StartDate       = D'2017.08.04 12:00';
input datetime          StopDate        = D'2017.08.04 23:55';
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+ 
void OnStart()

Результат:

Входные параметры

Поле "Значение" конечно остаётся редактируемым, то главное, то, что в поле "Переменная" (в первых трёх строчках) помещено описание.

 
fxsaber:

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


а-а, я что-то не допер, у меня коммент получился длинным, решил вынести в строку

 
Alexey Volchanskiy:

а-а, я что-то не допер, у меня коммент получился длинным, решил вынести в строку


Эта строка не бесконечна по размеру, поэтому в примере выше я разбил пояснения на три строки.

 
Vladimir Karputov:

Об этом:

Результат:

Поле "Значение" конечно остаётся редактируемым, то главное, то, что в поле "Переменная" (в первых трёх строчках) помещено описание.


Остроумное решение!

 
Vladimir Karputov:

Эта строка не бесконечна по размеру, поэтому в примере выше я разбил пояснения на три строки.


Ну да, там вроде максимум 64 знака

 
Alexey Volchanskiy:

Ну да, там вроде максимум 64 знака


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

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