MetaTrader 4 Client Terminal build 610 - страница 98

 

Очень любопытная ситуация... Исправно компилировавшийся и работавший в билде 616 эксперт, в билде 617 компилируется без проблем, но при попытке запустить его выдаётся сообщение: "2014.03.19 13:36:41.475 'TrailingStopCmillion_v1_616' is not expert and cannot be executed"...

В чём проблема???

Файлы:
 
Vinin:

С обновлением версии на билд 618 пропал столбик с параметрами пользовательской оптимизации


Этой колонки нет, если в оптимизируемом советнике нет вызова OnTester
 
Batman:

Очень любопытная ситуация... Исправно компилировавшийся и работавший в билде 616 эксперт, в билде 617 компилируется без проблем, но при попытке запустить его выдаётся сообщение: "2014.03.19 13:36:41.475 'TrailingStopCmillion_v1_616' is not expert and cannot be executed"...

В чём проблема???


Нашёл причину... Теперь, оказывается, наличие строки "#property show_inputs" в коде вызывает эту ошибку... А не лучше ли отлавливать это на стадии компиляции - тогда и вопрос не возник бы?

Похоже, это появилось не в 617 билде, а в 610.

 
stringo:

Этой колонки нет, если в оптимизируемом советнике нет вызова OnTester

Извинюсь. Разобрался
 

Ренат скажите может эта проблема у меня на локальном уровне ??? https://www.mql5.com/ru/forum/149655/page94#930272

Или это у всех так ??? Очень не удобно писать классы и структуры в инклюдниках если в основном советники они не подхватываются ....

Заявка в сервис деск висит с 4 марта Errors, MetaTrader 4, Открыта, Начата: 2014.03.04 17:59, #968630 коминтариев к ней нет ....

 
VOLDEMAR:

Ренат скажите может эта проблема у меня на локальном уровне ??? https://www.mql5.com/ru/forum/149655/page94#930272

Или это у всех так ??? Очень не удобно писать классы и структуры в инклюдниках если в основном советники они не подхватываются ....

Заявка в сервис деск висит с 4 марта Errors, MetaTrader 4, Открыта, Начата: 2014.03.04 17:59, #968630 коминтариев к ней нет ....

У меня такого нет. Да и не видел чтобы кто ещё об этом говорил. Может локально-таки?
 
artmedia70:
У меня такого нет. Да и не видел чтобы кто ещё об этом говорил. Может локально-таки?

То есть у Вас написан код в инклюднике например структуры при подключении её к советнику в советнике появляется список структуры ???
 
Batman:


Нашёл причину... Теперь, оказывается, наличие строки "#property show_inputs" в коде вызывает эту ошибку... А не лучше ли отлавливать это на стадии компиляции - тогда и вопрос не возник бы?

Похоже, это появилось не в 617 билде, а в 610.


#property show_inputs является указателем СКРИПТУ на Вывод окна свойств перед запускам а вы его в эксперт запихнули и удивляетесь.
 
GSB:

#property show_inputs является указателем СКРИПТУ на Вывод окна свойств перед запускам а вы его в эксперт запихнули и удивляетесь.

Не я его туда запихивал. Авторская версия работала несколько лет без проблем, пока не появились 600-е новшества.

Повторюсь - при обнаружении такой строки в эксперте надо выводить ошибку ещё НА СТАДИИ КОМПИЛЯЦИИ. Думаю, не сложно это учесть.

Строка, очесидно, осталась после модификации зацикленного скрипта в эксперт. Другого объяснения не вижу.

 
Batman:

Не я его туда запихивал. Авторская версия работала несколько лет без проблем, пока не появились 600-е новшества.

Повторюсь - при обнаружении такой строки в эксперте надо выводить ошибку ещё НА СТАДИИ КОМПИЛЯЦИИ. Думаю, не сложно это учесть.

Строка, очесидно, осталась после модификации зацикленного скрипта в эксперт. Другого объяснения не вижу.


Да никто его не модифицировал. Это и есть скрипт в чистом виде, он же зациклен... причем без проверки на IsStopped()

   while(true)
   {
      RefreshRates();
      BID = MarketInfo(Symbol(),MODE_BID);
      ASK = MarketInfo(Symbol(),MODE_ASK);
      TIME = iTime(Symbol(),0,0);
      delta = MarketInfo(Symbol(),MODE_STOPLEVEL);
//      if (delta<TrailingStop)delta=TrailingStop;
      ObjectSetText("info",StringConcatenate("TrailingStop ",txt," Orders ", n,"  ",
      TimeToStr(TimeCurrent(),TIME_SECONDS)),8,"Arial",Blue);
      TrailingStop();
      if (n==0) break;
      Sleep(1000);
   }

Все остальное - грехи пользователя. Нельзя же пользовать продукт даже не "прочитав инструкцию пользователя" :) шутка, но со смыслом там же написано Comment("Нет открытых ордеров. Закрытие скрипта ",

Если он работал бы с несколькими инструментами еще можно было бы использовать его как эксперт убрав #property show_inputs, и зацикливание тогда оправдано, а таком виде как есть ну никакого смыла.

P.S. Да нет, даже при работе по всем позициям на нескольких инструментах и то нет смыла зацикливания, он же тралит по свечам или фракталам, можно и тика подождать. Не понятен замысел автора.

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