Недоработка компилятор или чудеса программирования на MQL5 - страница 3

 
meat:

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

Речь идет о сравнении скорости сгенерированного MQL4/5 кода со скоростью аналогичного кода С++. Сейчас по скоростным характеристикам MQL проигрывает C++ и мы эту проблему сейчас решаем за счет более мощного оптимизатора кода.


Ну и кроме того, в настоящей среде программирования мы можем задействовать ресурсы системы по максимуму, организовав многопоточность и загрузив все ядра процессора. В вашей же среде процессор загружается полностью лишь в оптимизаторе стратегий, а это слишком узкий круг задач. Т.е. для обычной программы (допустим ресурсоёмкий индикатор) вы уверяете нас, что в MQL на одном ядре он будет работать так же быстро, как на на четырёх ядрах в C++? :) 

Не то есть. Вы приписываете мне свои собственные слова.

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

Если хотите поговорить об эффективной утилизации, то добро пожаловать в MQL5 Cloud Network, где мы продемонстрировали как можем эффективно масштабировать любые вычисления на весь мир. Там как раз уже 3.4 млрд задач выполнено.

Распределенные вычисления в сети MQL5 Cloud Network
Распределенные вычисления в сети MQL5 Cloud Network
  • cloud.mql5.com
Заработать деньги, продавая мощности своего компьютера для сети распределенных вычислений MQL5 Cloud Network
 
Bonifacy:

Все выше мной сказанное следует воспринимать как адекватную\неадекватную критику программного продукта MQL5 и учесть\не учесть это при дальнейшей разработке. Я дня 3 изучаю MQL5 и многое удивляет. Складывается такое впечатление, что разработчики писали MQL5 ради собственного самолюбия, а не для пользователей.

Тут нужно к этой ситуации привыкать. К сожалению, убедить МК в чем-либо полезном и общепринятом практически никогда не удается. У них свое видение, а наше мнение - заведомо дилетантское.
 
marketeer:
Тут нужно к этой ситуации привыкать. К сожалению, убедить МК в чем-либо полезном и общепринятом практически никогда не удается. У них свое видение, а наше мнение - заведомо дилетантское.

К счастью, это не так.

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

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

 
Renat:
 

Речь о скоростных результатах одинаковых тестовых примеров, а не об абсолютно полной мультипотоковой утилизации CPU

Это понятно. Просто вы сказали о том, что якобы перенос кода в DLL потеряет смысл.  Вот я и объясняю, что не потеряет.  Мы же переносим код вовсе не для того, чтобы делать сравнительные тесты на одном ядре. 

Так что по большому счёту, ускорение работы MQL - не такая уж важная вещь.  Ну ускорится он процентов на 20-25 - много ли это даст?  Те, кому важна производительность всё равно будут переносить код, ну либо использовать упомянутые вами облачные вычисления.

Я конечно не говорю, что улучшать производительность не нужно. Просто, как мне кажется, есть более приоритетные задачи. Прежде всего это развитие функционала MQL. В последнее время оно как-то остановилось. Не реализованы ещё очень многие нужные вещи (к примеру шаблоны классов), которые мы используем в том же C++, и о которых постоянно напоминаем.  Т.е. гораздо важнее приближать MQL к C++ по функциональности, нежели по производительности.

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

 
Renat:

К счастью, это не так.

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

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

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

Ладно, все понятно и ясно. Больше вопросов типа: "Почему это так не работает? 0_о", я задавать больше не буду, смысла это не имеет.

Предлагаю закрыть ветку. Лучше помогите с кодом разобраться, отрезок кода выполнен, вроде бы, по справке, и был мной скопирован с чужого рабочего эксперта. 10013 Invalid request, почему? Что не так написано?  

10013 Invalid request, почему? Что не так написано?
10013 Invalid request, почему? Что не так написано?
  • www.mql5.com
Этот код я скопировал из чужого работающего эксперта, и чуть чуть поменял (Посылается 3 заявки) присвоение параметров осталось прежним. - - Категория: автоматические торговые системы
 
Bonifacy:

Ладно, все понятно и ясно. Больше вопросов типа: "Почему это так не работает? 0_о", я задавать больше не буду, смысла это не имеет.

Предлагаю закрыть ветку. Лучше помогите с кодом разобраться, отрезок кода выполнен, вроде бы, по справке, и был мной скопирован с чужого рабочего эксперта. 10013 Invalid request, почему? Что не так написано?  

Ответ был дан в соседней ветке: нужно занулять структуру, чтобы незаполненные явным образом поля приняли дефолтное/пустое значение.
 

Renat:

Contrary, we are extending the language so as to not have to suffer with external systems and DLL. For communication with external resources have regular WebRequest and pipe.

Soon we will release the next version of MQL4 / MQL5 environment, the rate of which will be at the absolute native C ++ programs. That is, the code in MQL5 will work so that no one else will be able to say "I write DLL, since there faster running my code."

Great news! I'm looking forward for that new verion of MQL4 language since I have a heavy calculation in my EA which is based on chart pattern recognition with a probabilistic classification method. The computation takes a very long time by the current version of the MQL4 language, so I wanted to write a DLL to speed up the calculations. By the way! Would it be included STL C++ classes such as "vector", "map", "list", "pair", etc.? Do you have any estimate of release time?

Best,
Rasoul

 
Renat:
 

Отладка в тестере будет, но и сейчас с этим не все так плохо.

О ! А хотя бы примерно сроки ее реализации нельзя назвать ?  В этом году ? Или когда ?  Есть же какие-то планы ?

Лично мне в MQL сейчас не хватает только этой самой отладки в тестере на исторических данных и "указателя на массив" (или ссылки на массив). 

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

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

 
Надеюсь, что реализуем до конца года.

Очень большая загрузка.