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

 

27. MQL5: Изменено поведение модификатора extern . Теперь объявление переменной с модификатором extern является предъобъявлением переменной.

Не работает с входом.

 // ExternUsage.mq5

 #include "Test.mqh"

 input int AN_INPUT_PARAMETER  = 27 ;
 // Test.mqh

 extern int AN_INPUT_PARAMETER;

'ExternUsage.mq5'    ExternUsage.mq5    1    1
'Test.mqh'    Test.mqh    1    1
variable 'AN_INPUT_PARAMETER' already defined with different type    ExternUsage.mq5    14    11
   see declaration of variable 'AN_INPUT_PARAMETER'    Test.mqh    62    12
1 errors, 0 warnings        2    1

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

Тогда вопрос с безопасностью.

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

Где эти скрипты искать в терминале - чего то у меня их нет.

2023.09.09 07:10:56.512 Terminal        MetaTrader 5 x64 build 3930 started for MetaQuotes Software Corp.
2023.09.09 07:10:56.512 Terminal        Windows 7 Service Pack 1 build 7601, 8 x AMD FX-8350 Eight-Core, AVX, 25 / 31 Gb memory, 23 / 476 Gb disk, admin, GMT+3
 
Aleksey Vyazmikin #:

Где эти скрипты искать в терминале - чего то у меня их нет.

Сама библиотека Alglib лежит в \MQL5\Include\Math\Alglib, а юнит тесты в \MQL5\Scripts\UnitTests\Alglib
 
fxsaber #:

Тогда вопрос с безопасностью.

Проблемы с безопасностью нет.

Или вы пугаетесь каждой ссылки в своем броузере?

 
Alain Verleyen #:

Не работает с входом.

'ExternUsage.mq5'    ExternUsage.mq5    1    1
'Test.mqh'    Test.mqh    1    1
variable 'AN_INPUT_PARAMETER' already defined with different type    ExternUsage.mq5    14    11
   see declaration of variable 'AN_INPUT_PARAMETER'    Test.mqh    62    12
1 errors, 0 warnings        2    1

input переменные изначально объявлены глобально видимыми. Поэтому повторно их объявлять не надо.

 
Vladimir Pastushak #:

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

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

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

Можно получить ответ от разработчиков терминала?

На другом ПК получил ошибку

2023.09.09 16:52:26.719 MQL5 your CPU architecture does not allow to run the file 'VR Cub.ex5': AVX512 required, you have X64 only

2023.09.09 16:52:26.719 Custom Indicator loading of VR Cub (XAGUSD,H1) from C:\Users\AdmVps\AppData\Roaming\MetaQuotes\Terminal\84F028E400DB17F520C5B2157A0398F7\MQL5\Indicators\VR Cub.ex5 failed [568]

Я правильно понимаю что сейчас будет мешанина с архитектурой? Программы сделанные  AVX512 не будут работать в тех же терминалах если другой процессор не поддерживающий  AVX512. ?
 
Vladimir Pastushak #:

Можно получить ответ от разработчиков терминала?

...

Программы сделанные  AVX512 не будут работать в тех же терминалах если другой процессор не поддерживающий  AVX512. ?

Всё правильно

 
Renat Fatkhullin # :

input переменные изначально объявлены глобально видимыми. Поэтому повторно их объявлять не надо.

Почему нет ? Это точно так же, как и любая другая глобальная переменная.

У меня есть общие входные переменные в файле mqh, который используется в нескольких проектах.

Пожалуйста, представьте способ переадресации объявления переменной «input» (и «sinput»), это было бы полезно.

 
Alain Verleyen # :

И почему это не компилируется? (не специфично для 3930). Он компилируется на C++. Значение uuid — это выражение, а не идентификатор.

 #define UUID             9DBB6777-CDB3-4786-9B8C-9279FE879B96


Причина обращения: