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

 
Fast235 #:

Напомните в input блоке можно комментарий не выводить в параметры робота?

чтобы в параметрах все же вылазил MagicNumber вместо - Магический номер (это как пример)

'sinput' выводит параметр, но Вы его не можете включить в оптимизацию.

Переменные с модификатором sinput #

Переменные с модификатором input позволяют не только задавать значения внешних параметров при запуске программ, но также играют большую роль при оптимизации торговых стратегий в тестере. Каждая объявленная в эксперте input-переменная, за исключением типа string, может участвовать в оптимизации.

В некоторых случаях бывает необходимо исключить некоторые внешние параметры программы из формирования области всех возможных проходов в тестере. Специально для таких случаев существует модификатор памяти sinput. sinput - это сокращенное написание объявления статической внешней переменной: sinput = static input. То есть такое объявление в коде советника

sinput       int layers=6;   // Количество слоев

будет эквивалентно  полному объявлению

static input int layers=6;   // Количество слоев

Переменная, объявленная с модификатором sinput, является входным параметром MQL5-программы, значение этого параметра можно изменять при её запуске. Но при этом данная переменная не участвует в процессе оптимизации входных параметров, то есть не производится перебор её значений при поиске наилучшего набора параметров по заданному критерию.

sinput

На рисунке показано, что эксперт имеет 5 внешних параметров, из них параметр "Количество слоев" объявлен как sinput и равен 6. Этот параметр не может изменяться в процедуре оптимизации торговой стратегии, для него возможно установить нужное значение, которое и будет использоваться. Поля Старт, Шаг и Стоп для такой переменной не доступны для установки значений.

Таким образом, задав для переменной модификатор sinput, мы запрещаем пользователю оптимизировать данный параметр. Это значит, что в тестере стратегий пользователю терминала становится недоступным задавать для неё начальное и конечное значения для автоматического перебора в указанном диапазоне в процессе оптимизации.

Но при этом есть одно исключение из данного правила – sinput-переменные можно варьировать в задачах оптимизации с помощью функции ParameterSetRange(). Данная функция создана специально для программного управления пространством доступных значений для любых input-переменных, в том числе и объявленных как static input (sinput). Другая функция ParameterGetRange() позволяет при запуске оптимизации (в обработчике OnTesterInit()) получить значения input-переменных и в случае необходимости переопределить шаг изменения и диапазон, в пределах которого будет перебираться значение оптимизируемого параметра.

Таким образом, сочетание модификатора sinput и двух функций по работе с input-параметрами позволяет создавать гибкие правила для задания интервалов оптимизации одних input-переменных в зависимости от значения других input-переменных.

Документация по MQL5: Основы языка / Переменные / Input переменные
Документация по MQL5: Основы языка / Переменные / Input переменные
  • www.mql5.com
Input переменные - Переменные - Основы языка - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 

sinput я помню, вопрос в отображении комментария, можно ли отображать вместо комментария название переменной, в параметрах советника?

ps строка с sinput случайно попалась для примера)

 
Fast235 #:

sinput я помню, вопрос в отображении комментария, можно ли отображать вместо комментария название переменной, в параметрах советника?

ps строка с sinput случайно попалась для примера)

Просто ничего не пишите после ';'

Пример - описание есть:

input group    "Buy Saucer"
input uchar       InpBuySaucerCode     = 174;   // Buy Saucer: Arrow code (font Wingdings)

а теперь уберём описание:

input group    "Buy Saucer"
input uchar       InpBuySaucerCode     = 174;    


и увидим имя переменной

 

Просто ничего не пишите после ';'

в этом и вопрос был, комментарий есть, а выводить в параметрах нужно имя переменной,

может есть какая-то фишка для этого....

 
Fast235 #:

Просто ничего не пишите после ';'

в этом и вопрос был, комментарий есть, а выводить в параметрах нужно имя переменной,

может есть какая-то фишка для этого....

Ничего не понял

 
Vitaly Muzichenko #:

Ничего не понял

что-бы при таком коде выводился не закомментированный текст (который нужен...) выводилась название input переменной, а именно MagicNumber (т.е. это служебная информация)

видимо это не возможно..

 
Fast235 #:

что-бы при таком коде выводился не закомментированный текст (который нужен...) выводилась название input переменной, а именно MagicNumber (т.е. это служебная информация)

видимо это не возможно..

Ну вот же


Вопросы от начинающих MQL5 MT5 MetaTrader 5
Вопросы от начинающих MQL5 MT5 MetaTrader 5
  • 2021.10.13
  • www.mql5.com
Подскажите пожалуйста, такой показатель тестера в жизни реален? И хороший это или плохой результат за год с депо 3000...
 
Vitaly Muzichenko #:

Ну вот же


зачем мне group?? служебная это значит в редакторе только!

[Удален]  
Fast235 #:

зачем мне group?? служебная это значит в редакторе только!

group тут вооще не при делах.

Смотри следующую строку.

Не пиши "//комментарий" и будет тебе счастье )))

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

group тут вооще не при делах.

Смотри следующую строку.

Не пиши "//комментарий" и будет тебе счастье )))

а если он нужен в качестве описания? но только в редакторе

может я чего-то не понимаю на ровном месте? )

совсем нубом то меня не нужно считать) у меня 10 тыс строк 7 include