Новая версия платформы MetaTrader 5 build 3950: Снятие/пополнение в терминале и обновленный торговый отчет - страница 2

 
Slava #:

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

Просьба пояснить. Такой код не компилируется.

// int x = 0; // Инициализация в mqh-файле, который убрал пока из #include.
extern int x;

void OnStart() { Print(x); }

В mqh-файле прописана сама инициализация. Его отключил, но код перестал быть рабочим.

 
fxsaber #:

Просьба пояснить. Такой код не компилируется.

В mqh-файле прописана сама инициализация. Его отключил, но код перестал быть рабочим.

int x должен быть где-то определён. Как по правилам c/c++
 
Slava #:
int x должен быть где-то определён. Как по правилам c/c++

Пытаюсь совместить данную фразу с этой.

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

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

 
fxsaber #:

Пытаюсь совместить данную фразу с этой.

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

В проекте 10 файлов, функции в которых обращаются к переменной x. К одной и той же переменной.

В 9 файлах эта переменная объявлена как extern int x; В одном файле определена как int x; (можно без инициализации)

extern - это некий аналог форвард-декларации

 
Slava #:

В проекте 10 файлов, функции в которых обращаются к переменной x. К одной и той же переменной.

В 9 файлах эта переменная объявлена как extern int x; В одном файле определена как int x; (можно без инициализации)

extern - это некий аналог форвард-декларации

Спасибо, понял.

Если убрать из On-функций, то работает.

extern int x;

void OnStart2() { Print(x); } // OnStart2, не OnStart.
 

Объясните тут по подробнее  64/AVX/AVX2/AVX512

Если компилировать под AVX512 будут ли такие программы работать у клиентов у которых процессор не поддерживает  AVX512 ?

Какая из этих систем лучше?

 

MetaQuotes:

Обновлена библиотека ALGLIB до версии 3.19.  ALGLIB - это высокопроизводительная библиотека численного анализа, предназначенная для работы с численными методами и алгоритмами анализа данных.

  1. Мы переписали существующие классы библиотеки на использование матриц и векторов, а также добавили новый функционал из ALGLIB 3.19. Весь исходный код был пересмотрен и приведен к единому стилю оформления. Исходный код библиотеки ALGLIB находится в папке <каталог данных терминала>\MQL5\Include\Math\Alglib. Тестировочные скрипты находятся в папке скриптов MQL5\Scripts\UnitTests\Alglib.

    К сожалению, изменения в библиотеке ALGLIB версии 3.19 для MQL5 были достаточно серьезными, поэтому обратной совместимости нет. Если ваши коды используют бибилиотеку ALGLIB для MQL5 версии 3.5, вам необходимо явно проверить свои программы и внести нужные правки.

    Кроме самой библиотеки были обновлены и тестовые скрипты - количество тестов выросло с 29 до 91 для классов и с 143 до 152 для интерфейсов. Таким образом, разработчики платформы MetaTrader 5 предоставляют трейдерам максимально эффективные решения:

    • язык MQL5, не уступающий по скорости C++;
    • встроенную работу с базами данных SQLite, расчеты на OpenCL, поддержку DirectX и интеграцию с Python;
    • математические библиотеки, среди которых Нечеткая логикаСтатистика и обновленный ALGLIB.

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

 
Vladimir Pastushak #:

Объясните тут по подробнее  64/AVX/AVX2/AVX512

Если компилировать под AVX512 будут ли такие программы работать у клиентов у которых процессор не поддерживает  AVX512 ?

Какая из этих систем лучше?

нет, я уже попробовал.

и ещё, прогу скомпилил под AVX2, процессор поддерживает AVX2 но терминал AVX, прога успешно работает, делаю вывод - главное поддержка процессором.

что бы получить терминал AVX2 мне нужно заново сделать инсталляцию, обновиться до AVX2 терминал не сможет.

может быть я где-то ошибся с выводами.

 
fxsaber # :

Плохое объяснение. Очевидно, что подобный скрипт небезопасен.

О каких логах и ссылках речь?

Это работает, но для этого требуется двойной щелчок.