Новая версия платформы MetaTrader 5 build 2980: Push-уведомления о торговых операциях - страница 57

 
A100 #:

Явно при вызове можно указать add<long>, но в MQL почему то только  add<long,long,long> компилируется

Забавно.

Попробовал такой код:

template < typename T1>
T1 f111(int A)
  {return A;}

......
f111<long>(2); //ОК

Все работает, но противоречит документации.


Уважаемые разработчики - такое применение шаблона в mql {см f111()} - допустимо и в будущем не будет отменено (т.е. фраза в документации "Каждый формальный параметр в определении шаблона должен хотя бы один раз появиться в списке параметров" не верна ) или нет ?

 
mktr8591 #:
Забавно.

Попробовал такой код:

Все работает, но противоречит документации.


Уважаемые разработчики - такое применение шаблона в mql {см f111()} - допустимо и в будущем не будет отменено (т.е. фраза в документации "Каждый формальный параметр в определении шаблона должен хотя бы один раз появиться в списке параметров" не верна ) или нет ?

Допустимо, отменено не будет

 
Добрый день, 

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

Выгрузка результатов уже реализована после каждого прохода для дальнейшего анализа и т.д.

Самое главное, это полная настройка тестера (в том числе настройка кастомизации комиссий и символов) и запуск в режиме cli, в стиле как имеется возможность компиляции файлов в ME, с помощью командой строки

Подскажите имеется ли такая возможность на текущий момент ?

Или будет ли такая возможность в будущих версиях, а иначе придется о костылях думать, что очень не хочется..
 
Ilyas #:

Допустимо, отменено не будет

Спасибо!

Тогда можете поправить, чтобы ф-я

template <typename T1, typename T2, typename T3>
T1 add(T2 A, T3 B)  {return T1(A + B);}


вызывалась, например, как  add<long>(1,2) ?

(пример отсюда  https://www.mql5.com/ru/forum/371494/page56#comment_24823447)

Новая версия платформы MetaTrader 5 build 2980: Push-уведомления о торговых операциях
Новая версия платформы MetaTrader 5 build 2980: Push-уведомления о торговых операциях
  • 2021.09.24
  • www.mql5.com
В пятницу 18 июня 2021 года будет выпущена обновленная версия платформы MetaTrader 5...
 
mktr8591 #:

Спасибо!

Тогда можете поправить, чтобы ф-я


вызывалась, например, как  add<long>(1,2) ?

(пример отсюда  https://www.mql5.com/ru/forum/371494/page56#comment_24823447)

Для приведённого кода, результат будет неожидаемый, если один из параметров T2/T3 будет иметь тип int/uint, а второй меньшего типа (char,short...), результат будет "обрезаться" до int/uint

Ваша задача (для скаляров) хорошо решается через перегрузку

 
Ilyas #:

Допустимо, отменено не будет

Добрый день!

Пожалуйста ответьте на мой предыдущий вопрос...

Есть ли такая возможность?

Если нет, то планируется ли?

 
Daniil Kurmyshev #:

Добрый день!

Пожалуйста ответьте на мой предыдущий вопрос...

Есть ли такая возможность?

Если нет, то планируется ли?

Читайте тут https://www.metatrader5.com/ru/terminal/help/start_advanced/start#configuration_file
Запуск платформы - Для продвинутых пользователей - Справка по MetaTrader 5
Запуск платформы - Для продвинутых пользователей - Справка по MetaTrader 5
  • www.metatrader5.com
По завершении установки в меню "Пуск" создается группа программ торговой платформы, а на рабочем столе дополнительно помещается ярлык...
 

Благодарю! Теперь все понятно)

 

Мой "рабочий" терминал был подключен в MQL Storage, второй, с бета-версией, не был. Сегодня изменил пароль от mql5.com и попробовал подключить ко второму терминалу Storage.

Результаты с новым паролем:

1. Терминал №1 (релиз b2981): OK

MQL5.community  activated for 'mktr8591', balance:
MQL5.chats      activated for 'mktr8591'

   ME - "Storage    invalid MQL5 login or password" (как я понимаю, пароль слишком длинный для старой версии)

2. В storage.mql5.io захожу без ошибок, вижу свои файлы.

3. Терминал №2(beta b3062): MQL community также работает OK.

    ME - сразу при входе в журнале ошибка "Storage    projects list request failed with error 1001"

          в контекстном меню Навигатора выбираю "Подключить MQL5 Storage" - в журнале ошибка  "Storage    activation of MQL5 Storage failed [1001]"

Почему второй терминал не подключается? Что я не так делаю?

(Windows 7 Service Pack 1 build 7601, Intel Core i5-2520M  @ 2.50GHz)

 

Обратил внимание на изменение поведения программ при делении на 0 целых чисел в последних билдах - ошибка с вылетом программы возникает не в месте деления, а там, где впервые используется результат деления:

   int i = 2, j = 0;
   i = 1 / j;                 // No error!!!
   Print("после ");           //после
   Print(i);                // Zero divide....

Если обернуть деление в функцию, результат тот же.

Видимо, это оптимизация....