Пожелания к MQL5 - страница 37

 
stringo:

У меня сложилось такое впечатление, что зря мы выводим сообщения о функциях, которые не используются. Может, действительно, это сообщение никому не нужно?

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

 
stringo:

У меня сложилось такое впечатление, что зря мы выводим сообщения о функциях, которые не используются. Может, действительно, это сообщение никому не нужно?

Нет, наверное все-таки нужно. Просто сделать его скрытым по умолчанию (свернутым в одну строку) - мешать не будет, и при необходимости будет доступно.

 
stringo:

У меня сложилось такое впечатление, что зря мы выводим сообщения о функциях, которые не используются. Может, действительно, это сообщение никому не нужно?


Сообщение об ошибке открытия файла, проверки лота функцией Check(), сообщения о неправильном индексе ArrayMaximum(), ArrayMinimum() и т.п. тоже не нужны.

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

Хочу такой редактор!

 
революционное решение - должна быть кнопка, переворачивающая график с ног на голову и обратно - для проверки сигналов с точки зрения медведей или быков))
 
delyus:
революционное решение - должна быть кнопка, переворачивающая график с ног на голову и обратно - для проверки сигналов с точки зрения медведей или быков))

Так вроде многие видеокарты это поддерживают. И кнопка есть. Повернуть на 180°.

 

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

Самый простой способ сделать это в MQL5:

extern int    AvgType   = 0  comment "Тип скользящей средней:\n   0 - обычная;\n   1- линейная регрессия";
extern double RiskLevel = 15 comment "%";

В MT5 это выглядеть будет так:


А учитывая, что в MQL5 будут классы, можно вообще создать базовый класс "Внешняя переменная" и существенно расширить функционал. Примеры:

extern int AvgType = 0 comment "Тип скользящей средней";
// Фактически, это будет равносильно конструкции:
extern AvgType = extern.Create(int, 0 [,"Тип скользящей средней"]);
// Для простоты и для backward-совместимости можно использовать в MQL5 обе конструкции или только первую
// Эти свойства задались уже при создании переменной.
// Менять их в программе, в принципе, особого смысла нет.
// Так что можно их (некоторые из них) сделать read-only
AvgType.DataType = int; 
AvgType.Value    = 0;
AvgType.Comment  = "Тип скользящей средней";
//=== Для чего нужны вот эти всё свойства - смотреть рисунок-пример далее... ===
// Границы для настройки оптимизатора.
// (Если они заданы, то пользователь не сможет выбрать значения за их пределами.)
AvgType.MinValue  = 0;
AvgType.MaxValue  = 1;
AvgType.StepValue = 1; // граничный - т.е. минимальный шаг, к которому чувствителен эксперт
// Значения по умолчанию для настройки оптимизатора.
// (Это подмножество граничных значений.)
AvgType.MinValueDefault  = 0;
AvgType.MaxValueDefault  = 1;
AvgType.StepValueDefault = 1;
// Пояснения к значениям переменной
AvgType.Values.Add(0, "обычная");
AvgType.Values.Add(1, "линейная регрессия");

Я понимаю, будут сложности с реализацией таких вещей - ведь все настройки внешних переменных должны быть доступны пользователю еще до запуска эксперта, поэтому вариант с переменной в виде объекта, настраиваемого несколькими отдельными командами, наверное, будет сложно реализовать... Но я описал саму идею, концепцию (и даже предложил в самом начале легко реализуемый минимальный однострочечный вариант) - а как реализовать это технически, я думаю, MetaQuotes сможет найти какое-то свое - более приемлемое - решение.

 

Не совсем MQL5. :) Инвесторский доступ. Многие об этом говорили, выдвигали пожелания. Я предлагаю еще один вариант - сделать инвесторских паролей два:

1-й пароль - видно историю и детали текущих открытых позиций;

2-й пароль - видно историю, а по текущим позициям деталей нет, по ним видно лишь статистическую информацию (кол-во, общая плавающая прибыль).


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

 
SK. писал (а):

Ещё хотелось бы break из if().

Наткнулся на примерно такой код:

while ( true )
{
   if ( condition1 )
   {
      Alert("1");
      break;
   }
 
   if ( condition2 )
   {
      Alert("2");
      break;
   }
 
   break;
}
Мне кажется, это то что нужно ;)
Причина обращения: