MQL_DLLS_ALLOWED не может быть установлен - PullRequest
0 голосов
/ 17 октября 2019

Я хочу знать, есть ли способ установить значения идентификатора свойства ENUM_MQL_INFO_INTEGER, используя внешнюю программу или dll или что-то еще. Я попробовал это:

int OnInit()
  {
//---
   MQL_DLLS_ALLOWED = 1;
   Print(MQLInfoInteger(MQL_DLLS_ALLOWED));
//---
   return(INIT_SUCCEEDED);
  }

Это выдало ошибку:

'MQL_DLLS_ALLOWED' - l-value required   TestingEnum.mq5 15  4
'1' - cannot convert enum   TestingEnum.mq5 15  22
'=' - l-value required  TestingEnum.mq5 15  21

Пожалуйста, дайте мне знать, что я могу сделать.

1 Ответ

1 голос
/ 20 октября 2019

Я не могу помочь вам с вашим вопросом напрямую, в основном из-за причин, обсуждаемых в комментариях. Я считаю, что вы можете проверить значение, разрешена ли DLL, но вы не можете легко включить / отключить ее. Может быть, есть способ запустить терминал МТ из командной строки, с некоторыми ключами, разрешающими или блокирующими dll, так что вы можете проверить. Но это означает перезапуск вашей платформы, я не уверен, что это удобно.

Если бы я был вами и устал от включения / выключения dll десятки раз, я бы представил глобальную переменную клиентского терминала со значениями 0 или1 (удваивается конечно). Затем, если оно равно нулю, dll не вызывается и ea не запускается (если вы проверите это в OnInit()), если это ненулевое значение, dll работает. Простой сценарий, изменяющий этот GV, может быть написан и назначены горячие клавиши. В этом случае горячая клавиша блокирует все, и позволяет dll снова при необходимости. Если вам понадобится какая-либо помощь, я отредактирую свой код и приведу несколько основных примеров.

...