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

 
Высказывайте, пожалуйста, свои пожелания к MQL5.

Разработка MQL5 идет вовсю и это одна из наших ударных позиций в новой торговой платформе. Мы пока специально не участвуем в обсуждениях ради спокойствия. Но через некоторое время мы начнем публиковать информацию о новом языке, библиотеках и среде программирования.
 
Renat:
Высказывайте, пожалуйста, свои пожелания к MQL5.
Только к языку, или к редактору с терминалом тоже можно?
 
komposter:
Renat:
Высказывайте, пожалуйста, свои пожелания к MQL5.
Только к языку, или к редактору с терминалом тоже можно?
К языку и редактору. К терминалу - это в отдельной теме. Пока лучше обсуждать MQL5 и редактор.
 
  • В Фортране была замечательная штука - подпрограмма. В списке параметров были не только входящие, но и исходящие. А теперь всё через глобальные..
  • Желательно иметь настраиваемые свойства спец. функций. Например, потиковый запуск, запуск с заданной частотой, зацикленный с автоматическим обновлением окружения.
  • Возможность вызывать из эксперта другую прикладню программу, например, индикатор (и стандартный и пользовательский) с возможностью отображения его на чарте.
  • Доступ к названиям программ, загруженных в окно
  • Доступ к списку имеющихся прикладных програм и библиотек (. . тэкс, а посмотрим какие у нас вооружения..:)
  • Доступ ко всем индикаторным массивам индикаторов, загруженных вручную, из эксперта и скрипта.
  • Обмен информацией между терминалами и прогрммный доступ к корреспонденции (вполне возможно, что коммерция пойдёт по пути продажи сигналов).
  • Несколько графических слоёв и полная свобода (например, индикаторный слой сверху) (или: для каждого ордера свой слой, т.к. в сегодняшнем однослойном пространстве верхние ордерные линии нельзя выделить, если на одной цене несколько ордлиний - граф. гориз. объектов).

----

  • В редакторе, конечно, нужен отладчик.
  • Возможность схлопывать группы строк в линию.
  • Метки не должны пропадать после закрытия МЕ.
  • Выделять названия пользовательских функций цветом.
  • Моргающие скобки (выделяешь левую - моргает правая).
 
Возможность цветной печати непосредственно из ME.
 
По редактору:
  • автодополнение при вводе пользовательских переменных и функций;
  • всплывающие подсказки при заполнении параметров пользовательских функций (как у обычных);
  • комментирование/разкомментирование блока;
  • окно "immediately" - моментальное выполнение введенной строки кода;
  • убрать баги с поиском коротких строк и с "затенением" не комментированного текста.

По взаимодействию с терминалом:
  • при компиляции советника перезапускать на графике только его или не перезапускать ничего!
  • при компиляции файла, на который ссылается другой файл, компилировать и его;
  • запуск/остановка скрипта/эксперта/индикатора из кода (из того же окна "immediately").
По языку:
  • список символов из кода;
  • ВСЕ параметры символа из кода (чтоб можно было расчитать все, что расчитывает терминал);
  • события - торговые, интерфейсные, вызванные ошибкой;
  • функция Comment - расширить функциональность (не стирать предыдущий текст, выбор шрифта и цвета, угол привязки, ...);
  • Глобальные Переменные терминала - возможность скрыть от пользователя, сохранение на диск по команде либо сразу после изменения.
Ну, и присоединяюсь практически ко всем предыдущим ораторам. У меня пока все.
 

Не зная свойств спец. функций MQL5 трудно сказать наперёд, но вот в MQL4 есть такая проблема.

Зациклена start(). Работает. Пользователь подключается на другой счёт. Информация окружения с нового счёта становится доступной эксперту в текущем сеансе до того, как принудительно закончит работу start(). При этом эксперт (на основе своего внутреннего анализа) отписывает, что закрыты ордера (кот. были на предыдущем счёте), изменились свопы, стоплевелы и всё другое.. со всеми вытекающими.

Явное отслеживание в эксперте информации о новом счёте с его последующим решением о выходе из start() тоже не очень-то получается. Я не смог уловить закономерность, но не всегда происходит деинициализация. Например, если терминал только что загружен, произошло подключение к счёту А, то переход на счёт Б происходит без deinit-init-start. Через минуту перключение с Б на А происходит с ожидаемой deinit-init-start и последующий переход с А на Б или между любыми другими счетами тоже номально. Складывается впечатление, что проблема как-то связана с фактом первого подключения к счёту. Эффект устойчивый.

В общем, пожелание такое: при перекл. на другой счёт первым делом выполнить deinit по текущему счёту в текущем окружении, а потом - как бы с чистого листа (подключаться к новому счёту и запускать в терминал новые значения окружения).

 

Если вы реализовали объектную модель, то просмотр этой объектной модели, доступных методов, свойств и т.д. а так же в отладке.

В остальном все, что выше предложено, это часть того, что есть в большинстве современных сред разработки, все что нужно, это повторить, например, Визуальную Студию Микрософт. Например, при переходе с VB 6 на VB .NET не многое изменилось, функции просто стали частью отдельного класса, для тех кто сразу не находит свойственных альтернатив, увеличились только маштабы подходов. Убрали только низкоуровневые функции, благодаря которым я расширил круг познания и даже сменил язык программирования, естественно что те кто незнали о таких функциях как objptr в этом не нуждались:) Потом конечно все альтернативные функции и классы были познаны, но простота в доступности таких мелких особенностей как работа с указателями, не позволила мне вернутся в прошлый век и открыла новые просторы, без логического обоснования на заморочке всех времен C++, в то время когда я например пытался писать на VB, я изучал ASM и пытался создать язык программирования, но дальнейшее познание системного программирования, привело меня к тому, что лучшее из всего что было создано для прикладного программирования это .NET, я так и не понял логического смысла Java и до сих пор не понимааю, так же как и всего остального типа, Perl PHP и того же ASP, так получилось, что все это ушло с появлением .NET.

P.S.: Это как пример того к чему надо стремится:)

Самое важное что провоцировало серьезное развитие технологии .NET это Reflection и возможность изучения исходного кода для осознания как это работает вплоть до мелких деталей, ни одно описание и примеры не дадут большего, чем возможность зрить в корень. В связи с этим все дизасемблеры и многие другие средства которые были придуманы для низкоуровневых подходов просто меркнут. Например я знаю много деталей и отличия .NET 1.0 от 1.1 и тем более от 2.0 не потому что я знаю что новая версия это хорошо или лучше, а потому что я видел разницу в исходном коде и машинном коде и до сих пор вижу все новые и новые высоты, которых достигает .NET.

Будем полагать что терминал и его язык я так же изучил и будем так же полагать что будет что сравнить в учете того что имеем:) Я не доверяю словам, я доверяю глазам:)

 

1) драг енд дроп перетаскивание ордеров как в одной проге сейчас не вспомню название, красивое такое))

2) в тестере W1

3) визуальный редактор экспертов, чтобы любой новичок не зная совершенно языка мкл мог воплощать в советниках свои идеи для проверки их на истории. а то идеи на проверке оказываются иллюзиями, а без программиста шансов расстаться с иллюзиями нет))

последнее пока звучит фантастически понимаю, но если это воплотить в жизнь мт совершит качественный скачок, станет поистине массовым и оставит конкурентов позади уже навсегда))

 
Возможность создания стратегий визуально, на основе правил, примененных к индикаторам. Так же, как это реализовано в визуальной среде Trading Solutions. Удобно, что не надо возиться с индикатором, создавая код советника только лишь для проверки его сигналов.
Причина обращения: