Эксперт использует уже удаленные данные кода при запуске на демо счете

 

Добрый день!

Помогите, пожалуйста, решить проблему. 

Делаю эксперта, написала код на MQL5, проверила в тестере - работает отлично.

Решила изменить некоторые параметры в глобальных переменных (поменять размера тейка), поменяла, скомпилировала. При запуске в тестере работает по прежнему отлично.

Когда запустила на демо счете, то заметила, что тейк не изменился и остался старым, хотя старого значения в коде уже в принципе не существует.

Проверила весь код, каждую строчку, каждую букву, тейк точно задается лишь в одном месте и нигде не повторяется.

Аналогичное происходит при использовании параметра #property script_show_inputs, т.е. когда запускается эксперт и я во входных параметрах изменяю объем позиции с 0.01 на 0.02, например, то значение все равно остается старым.

Заподозрила, что проблема может быть не в самом коде и удалила весь код, оставила только это, но! очень забавным оказалось то, что при запуске этого кода на демо счете, эксперт продолжил открывать сделки по той схеме, которая была прописана ДО того, как я все удалила, хотя в этих нескольких строчках вообще отсутствует опция открытия сделок. 

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

Заранее благодарю!


#property copyright "Copyright 2021, MetaQuotes Ltd."

#property link      "https://www.mql5.com"

#property version   "1.00"

#property script_show_inputs


input double Lot = 0.01;


int OnInit()

   { 

   Print(Lot);     

   return(INIT_SUCCEEDED);

   }


void OnDeinit(const int reason)

   {

   }


void OnTick()

   {

   }

 

ПОЗДРАВЛЯЮ ! вы столкнулись с необъяснимым наукой паранормальным явлением !

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

 
Alkalashnikova:

Добрый день!

Помогите, пожалуйста, решить проблему. 

Делаю эксперта, написала код на MQL5, проверила в тестере - работает отлично.

Решила изменить некоторые параметры в глобальных переменных (поменять размера тейка), поменяла, скомпилировала. При запуске в тестере работает по прежнему отлично.

Когда запустила на демо счете, то заметила, что тейк не изменился и остался старым, хотя старого значения в коде уже в принципе не существует.

Проверила весь код, каждую строчку, каждую букву, тейк точно задается лишь в одном месте и нигде не повторяется.

Аналогичное происходит при использовании параметра #property script_show_inputs, т.е. когда запускается эксперт и я во входных параметрах изменяю объем позиции с 0.01 на 0.02, например, то значение все равно остается старым.

Заподозрила, что проблема может быть не в самом коде и удалила весь код, оставила только это, но! очень забавным оказалось то, что при запуске этого кода на демо счете, эксперт продолжил открывать сделки по той схеме, которая была прописана ДО того, как я все удалила, хотя в этих нескольких строчках вообще отсутствует опция открытия сделок. 

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

Заранее благодарю!

Здравствуйте! Попробуйте выполнить следующую последовательность действий:

  1. Если редактор MetaEditor у Вас был закрыт, то заново откройте его.
  2. Если файл с кодом рабочего эксперта по каким-то причинам был Вами так же закрыт, то снова откройте его.
  3. Дальше в редакторе MetaEditor заходите в Файл\Сохранить как и в папке Experts сохраняете код Вашего рабочего эксперта. Если при сохранении файла с рабочим кодом у Вас на компьютере выскочит предупреждение, что такой файл уже существует, всё-равно сохраняйте.
  4. После сохранения фала произведите Компиляцию кода. Это обязательно НУЖНО сделать!!!

После таких манипуляций должно всё заработать, как надо.

С уважением, Владимир.

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