Выпущена бета-версия MetaTrader 4 Build 582 с обновленным языком MQL4 и Маркетом приложений - страница 5

 
ReasonMan:

Вы правы, WOLDEMAR, мануал нужен. Но при этом необязательно уменьшать удобство пользования советником (и для клиента, и для программиста). При общении всегда проще называть короткое имя параметра (к тому же совпадающее с его именем в коде). А в описании можно не только дать краткое пояснение, но и указать диапазон или список значений для этого параметра. Это удобнее, чем лезть в мануал или запоминать. Зачем лишать людей возможных удобств.

Ещё раз повторюсь - это было моё мнение. А моё мнение - нафиг. Тем самым я ни коим образом не умаляю вашего мнения. Прения по этому поводу абсолютно бессмысленны - сколько людей, столько и мнений.

Я давно пишу советники на заказ и, по опыту общения с заказчиками скажу вам, что им удобнее видеть описание, чем имя переменной. Описание - часть мануала.

Либо он меня будет постоянно переспрашивать: "А за чё отвечает CloseIfMore ?", или увидит "Закрыть, если позиций больше". Разница есть?

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

Сейчас можно запретить оптимизацию выбранных параметров:

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

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

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

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

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

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

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

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

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

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

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

 

Про sinput не знал. Спасибо, изучу. Хотя это и немного не в тему.

Для себя при тестировании советников под новым терминалом использую такое решение: в примечании к входным параметрам сначала пишу имя параметра, а потом краткое пояснение к нему. Мне всё же удобнее ориентироваться по именам. Но это не совсем красивое решение. Вариант с крайней левой колонкой для имён и крайней правой, после значений и диапазонов - для описаний, мне кажется нагляднее. Вам удобнее по-другому. А разработчики, как обычно, всё равно решат всё по-своему...

 
artmedia70:

Некоторые вещи нужны лишь вам наверное. Сколько человек - столько и мнений.

Моё мнение:

  1. Сетка - вообще не гляжу никогда, и не глядел. Меня не парит.

По поводу любой из мелочей программы возможно множество самых различных мнений, но.... вопрос не в том "парит" или "не парит" того или иного пользователя та или иная фича программы. Я лично тоже давно уже отключил все штатные gridlines на графиках, и реализовал все что мне нужно в виде индикатора.

Вопрос в том что ВСЕ что есть в программе может быть либо правильным, нужным, практичным, иметь смысл, либо НЕТ !

Это - чтобы это ни было в программе - может быть нужным для одного и бесполезным для другого пользователя, но оно не должно быть реализовано таким образом чтобы быть бесполезным для всех. В таком случае оно заведомо является неправильным и должно быть исправлено. Оно, на мой взгляд, в любом случае должно быть реализовано ПРАВИЛЬНО, а уж пользоваться этим или нет, "париться" с ним или нет, это дело каждого юзера.

Сетка в её нынешнем виде не имеет смысла, потому-то на нее уже никто и не смотрит. Но тема сетки закрыта, Ренат же сказал "ответа пока не будет" - что-бы это "пока" не означало.

Но сейчас для меня встал вопрос по-важнее: а что еще в МТ реализовано разработчиками с тем же нерациональным подходом? Меня, например, абсолютно "не парит" 99% всех индикаторов, "не гляжу и не глядел никогда" на некоторые из них, но я тем не менее не хотел бы чтобы они были просто бессмысленными, иррациональными приложениями.

 

Каждый пользуется терминалом по своему и следовательно требования у многих разные.

Логично, что на этом форуме в основном обитают те кто пользуется МТ4 больше как средой программирования и их не интересует вопрос как выглядят графики.

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

В других, да наверно во всех платформах, чартах и т.д сетка рисуется читаемым образом с постоенным шагом и округленными делениями.

И такое незначительное поправление в нанесении сетки не представит больших неудобств разработчикам

...или может у кого дома есть несколько ленеек с разным делением для разных случаев?

Многие могут здесь кричать: зачем тебе это, не нравится иди к другим.

Но к чему эта аррогантность если конструктивное предложение реализуемо довольно посто.

Я повторюсь ещё раз, что выше приведенное описание по разметке сетки общепринятое и широко распространено и легко читаемо да и логично.

Это относится так же к МТ5.

 
ReasonMan:

Про sinput не знал. Спасибо, изучу. Хотя это и немного не в тему.

Для себя при тестировании советников под новым терминалом использую такое решение: в примечании к входным параметрам сначала пишу имя параметра, а потом краткое пояснение к нему. Мне всё же удобнее ориентироваться по именам. Но это не совсем красивое решение. Вариант с крайней левой колонкой для имён и крайней правой, после значений и диапазонов - для описаний, мне кажется нагляднее. Вам удобнее по-другому. А разработчики, как обычно, всё равно решат всё по-своему...

Если бы Метаквоты не ленились, можно было бы оба способа давно сделать и совместить. Ещё до первого релиза.

Кто мешает сделать столбцы перемещаемыми в окне свойств? Да, и само окно свойств надо делать более гибким.

Не удивлюсь, если Метаквоты тут нас послушают и сделают наоборот :-)) Будет окно свойств ещё в 3 раза меньше с одним столбцом, без имён переменных и их описаний :-))

 
Zhunko:

Если бы Метаквоты не ленились, можно было бы оба способа давно сделать и совместить. Ещё до первого релиза.

Кто мешает сделать столбцы перемещаемыми в окне свойств? Да, и само окно свойств надо делать более гибким.

Не удивлюсь, если Метаквоты тут нас послушают и сделают наоборот :-)) Будет окно свойств ещё в 3 раза меньше с одним столбцом, без имён переменных и их описаний :-))

я бы вообще это окно уничтожил как ненужный элемент терминала, а еще уничтожил бы OnTick() и Start(), пусть программисты пишут, а трейдеры смотрят и торгуют руками, иногда пишут разработчикам и просят вернуть все обратно...
 
Vigor:
Очень хорошо. Взял свои наработки с достаточно сложной графической частью на mt5 и просто запустил их в новом mt4.

А как обстоят дела с обработчиком OnChartEvent? В этом билде пока не работает.


Давайте подробности в сервисдеск (исходники, ex4, кто генерирует события, кто ловит и т.п.).
 

Считаю данный момент багом или как минимум не правильным.

При запросе времени из под Х координаты в будущем время возвращается не правильное . Х координата значение в пикселях от левого верхнего углаю см скрин

 
VOLDEMAR:

Считаю данный момент багом или как минимум не правильным.

При запросе времени из под Х координаты в будущем время возвращается не правильное . Х координата значение в пикселях от левого верхнего углаю см скрин

Спасибо за сообщение. Исправим.
 

У меня в 574 билде по прежнему не рабоатет:

#1. ToolTips. Несколько объектов наложено один на один.

#2. Описания объектов показываются даже при

ChartSetInteger(0,CHART_SHOW_OBJECT_DESCR,false);

#3. Свойство графика

ChartSetInteger(0,CHART_SHOW_TRADE_LEVELS,false);

слетает после перезагрузки терминала и уровни начинают отображаться опять.

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