Ошибки, баги, вопросы - страница 2441

 
Уважаемые форумчане, есть-ли во фрилансе услуга по подготовки статьи к изданию? Я сам подзабыл все правила и тонкости исполнения. Если нет, то, кто возьмется подготопить текст статьи "Системный индикатор" за оплату работы. Переписка в "личке", если не запрещено.
 
Yousufkhodja Sultonov:
Уважаемые форумчане, есть-ли во фрилансе услуга по подготовки статьи к изданию? Я сам подзабыл все правила и тонкости исполнения. Если нет, то, кто возьмется подготопить текст статьи "Системный индикатор" за оплату работы. Переписка в "личке", если не запрещено.
Увод любой работы в личные сообщения запрещён. Для всяких нестандартных работ во фрилансе есть категория «Обучение»
 
Vladimir Karputov:
Увод любой работы в личные сообщения запрещён. Для всяких нестандартных работ во фрилансе есть категория «Обучение»

Спасибо за напоминание, воспользуюсь этой категорией.

 
Sergey Dzyublik:

Что бы решить задачу, вначале нужно понимать суть задачи, то есть найти, что это за хеш.

Есть такой советник

void OnDeinit( const int )
{
  int Array[] = {123};
  
  FileSave((string)MQLInfoInteger(MQL_PROGRAM_HASH), Array);
}


Когда делаю проход, пишется файл с одним и тем же названием. Это правильно.


Затем перекомпилирую, прописав вместо 123 число 456.

После этого каждый проход будет писать соответствующий один и тот же файл, но уже с другим названием.


Вот такой функционал и нужно как-то реализовать. Т.е. если EX5 поменялся, то и создаваемые им названия файлов меняются.


ЗЫ Использование макроса __DATETIME__ не подходит.

 
fxsaber:

Вот такой функционал и нужно как-то реализовать. Т.е. если EX5 поменялся, то и создаваемые им названия файлов меняются.

а если вынести в подключаемую библиотеку .ex5 и ее перекомпилировать?

 
Igor Makanu:

а если вынести в подключаемую библиотеку .ex5 и ее перекомпилировать?

Что это изменит?

 
fxsaber:

Что это изменит?

насколько я понял задачу (проблему) нельзя хэш исполняемого файла изменять, т.к. он используется при оптимизации

вот и предлагаю 

int Array[] = {123};

вынести в подключаемую библиотеку и перекомпилировать ее после удачного прохода оптимизации - не проверял, но вроде библиотеки mql подключаются в ходе выполнения (не ресурсы)

 
Igor Makanu:

насколько я понял задачу (проблему) нельзя хэш исполняемого файла изменять

Вы не поняли задачу.

Советник должен формировать другое название файла, если его EX5 поменялся.

 
fxsaber:

Вы не поняли задачу.

Советник должен формировать другое название файла, если его EX5 поменялся.

я предлагаю менять библиотеку, хотите 2 библиотеки подключайте и имя разные используйте

вот такие манипуляции проводить:

эксперт link_library.mq5 :

#import "lib.ex5"
int value_array();
#import
//+------------------------------------------------------------------+
int OnInit()
  {
   Print("Array = ",value_array());
   return(INIT_SUCCEEDED);
  }

библиотека lib.mq5 :

int Array[] = {123};
 int value_array() export
   {
    return(Array[0]);
   }
в MQL библиотека по сути мало чем отличается от исполняемого файла - нет ограничений, может и в файл писать самостоятельно и  ... все может как MQL - программа
 
Igor Makanu:

я предлагаю менять библиотеку, хотите 2 библиотеки подключайте и имя разные используйте

вот такие манипуляции проводить:

эксперт link_library.mq5 :

библиотека lib.mq5 :

в MQL библиотека по сути мало чем отличается от исполняемого файла - нет ограничений, может и в файл писать самостоятельно и  ... все может как MQL - программа

Не понимаю, почему не ясна задача: Если изменился советник - изменить название файла.