Спорить о современной модели монетизации в IT не буду. Покупка одной новой железяки, работающей на 25% возможной эффективности по сравнению с использованием оптимизированных алгоритмов, глобальное потепление конечно не спровоцирует :)
Отложим тему OpenCL и MT5 на попозже, когда свободные шальные деньги на стационарный комп в семейном бюджете появятся.
К вам просьба, Ренат. Допишите плз в мануале MQL5 (в разделе OpenCL) дисклеймер, что перед использованием double данных и расчетов в видеокартах/графических сопроцессорах, необходимо убедиться в их поддержке этими устройствами. Чтобы новички MQL5 не питали лишних иллюзий на старом железе.
К вам просьба, Ренат. Допишите плз в мануале MQL5 (в разделе OpenCL) дисклеймер, что перед использованием double данных и расчетов в видеокартах/графических сопроцессорах, необходимо убедиться в их поддержке этими устройствами. Чтобы новички MQL5 не питали лишних иллюзий на старом железе.
Это уже пишется при автоматическом тесте карты и она не выбирается: сделано в последнем релизе
OpenCL test compilation failed with error: use of type 'double' requires cl_khr_fp64 extension to be enabled
Про старые карты без поддержки double можно с уверенностью сказать, что они абсолютно бесполезны для математических расчетов.
Это уже пишется при автоматическом тесте карты и она не выбирается: сделано в последнем релизе
Я с уважением отношусь к MetaQuotes. Очень хорошие платформы вами разработаны и поддерживаются.
Дисклеймер (системные требования) логичен, если вы хотите следить за репутацией. Т.к. наивные новички (типа меня:) загоревшись интересной фичей, подхваченой в сети и обломавшись при запуске MT5 могут надолго остыть к новой платформе, поскольку сложится впечатление, что потенциально возможны другие обломы при ее использовании. Например, необходимость разбираться с ООП в стандартных библиотеках и т.п.
С ООП кстати неплохо было бы официально выложить (лучше прямо на страницах сайта MT5) шаблон простенького торгующего советника без ООП, чтобы даже младенцы MQL4 могли быстро втянуться в MQL5, при этом полностью контролируя работу кода. В этом смысле новый учебник по MQL5 (желательно покороче - без повторения воды старого) не помешал бы. Тогда торгующее комьюнити (основной двигатель/стопор прогресса) быстрее на новую платформу переползет.
Стандартная библиотека MQL5 написана на языке MQL5 и предназначена для облегчения написания программ (индикаторов, скриптов, экспертов) конечным пользователям. Библиотека обеспечивает удобный доступ к большинству внутренних функций MQL5.
aim-1 : I respect MetaQuotes. Very good platforms are developed and supported by you.
Disclaimer (system requirements) is logical if you want to monitor your reputation. Because naive newbies (like me :) caught fire of interesting features picked up on the network and broken off when MT5 is launched can cool down for a long time to the new platform, as it seems that other breakdowns are potentially possible when using it. For example, the need to understand OOP in standard libraries , etc.
With OOP, by the way, it would be nice to officially lay out (better, right on the MT5 website pages) a template of a simple trading Expert Advisor without OOP, so that even MQL4 babies can quickly get involved in MQL5, while fully controlling the work of the code. In this sense, a new textbook on MQL5 (preferably shorter - without repeating the old water) would not hurt. Then the trading community (the main engine / stopper of progress) will crawl to the new platform faster.
Thanks again for your hard work.
Some examples come with the MQL5 package. Totally procedure-oriented programming. I'm not sure about MQL4
//test.mqhvoid f( int ii )
{
for ( int i = -ii; i <= ii; i++ )
{
int j = CLContextCreate( i );
if ( j != -1 )
{
CLContextFree( j );
Print( ii, ":", i, ":", j );
}
}
}
#include "test.mqh"voidOnStart() { f( 32765 ); }
Результат:
32765:0:214735257632765:1:2147418112
а если
#include "test.mqh"voidOnStart() { f( 32766 ); }
Результат:
32766:0:2147418112
Почему в одном случае одна выдача(строчка), а в другом две?
Да, приняли решение не использовать старые карты без поддержки double вообще.
У старых карт вообще все очень плохо, включая плохие неотлаженные драйверы, которые часто падают, роняя терминал.
В реальности надо уже явно контролировать версии драйверов, как это делают разработчики компьютерных игр. На дефолтных Microsoft драйверах далеко не уедешь.
Проверю выдачу.
Без double математики в нашей области делать нечего. Тем более в 2020 году.
Если раньше на заре появления OpenCL еще можно было искать компромиссы и самообманываться «ну ведь во float же можно что-то посчитать», то теперь нет.
Любые попытки переконвертировать double -> int -> double полностью убивают производительность и выигрыш, особенно на больших объемах.
Правильный вариант - это использовать родные форматы и более современные карты с новыми драйверами.
Поддержка есть:
К вам просьба, Ренат. Допишите плз в мануале MQL5 (в разделе OpenCL) дисклеймер, что перед использованием double данных и расчетов в видеокартах/графических сопроцессорах, необходимо убедиться в их поддержке этими устройствами. Чтобы новички MQL5 не питали лишних иллюзий на старом железе.
Это уже пишется при автоматическом тесте карты и она не выбирается: сделано в последнем релизе
Про старые карты без поддержки double можно с уверенностью сказать, что они абсолютно бесполезны для математических расчетов.
Такова реальность.
Это уже пишется при автоматическом тесте карты и она не выбирается: сделано в последнем релизе
Some examples come with the MQL5 package. Totally procedure-oriented programming. I'm not sure about MQL4
а если
Результат:
Почему в одном случае одна выдача(строчка), а в другом две?
Непонятно Результат:
а если
Результат:
Почему в одном случае одна выдача(строчка), а в другом две?
Спасибо за сообщение.
Исправлено.
Переполнение значения OpenCL хендла из-за его частого переиспользования, более чем SHORT_MAX раз
а неделю назад все работало нормально. Зачем отключать OpenCL если нет поддержки double и оно не используется?
Да, приняли решение не использовать старые карты без поддержки double вообще.
У старых карт вообще все очень плохо, включая плохие неотлаженные драйверы, которые часто падают, роняя терминал.
В реальности надо уже явно контролировать версии драйверов, как это делают разработчики компьютерных игр. На дефолтных Microsoft драйверах далеко не уедешь.