У меня ошибка в компиляторе MQL4

 
В скрипте хотел сделать бесконечный цикл, написал такой код

int start()
{
    while (true)
    {
        ...
    }
}
Нажал кнопку "Компилировать". Смотрю в нижнем окошке "Инструментарий" в закладке "Ошибки" ничего не написано,  как будто компилятор находиться в процессе компиляции
И у меня  проц загрузился на все 100%. Ждал ждал минут 5, так и не скомпилировал. Потом я в процессах закрыл процесс "MetaLang.exe".

Потом посмотрел в спраке, и написал так (хотя это одно и тоже)

int start()
{
    while (1)
    {
        ...
    }
}
Такая же беда.

Вот, справка:
Справочник MQL4 - Основы языка - Операторы - Оператор цикла for

...
Любое из трех или все три выражения в операторе for могут отсутствовать, однако разделяющие их точки с запятыми (;) опускать нельзя. Если опущено выражение2, то считается, что оно постоянно истинно. Оператор for(;;) представляет собой бесконечный цикл, эквивалентный оператору while(1). Каждое из выражение1 и выражение3 может состоять из нескольких выражений, объединенных оператором запятая ','.
...

Помогите, что делать не знаю. Может у меня винда глючит?
У меня MT4 build 208. В MQL написано "version: 4.00 Build 207"
 
gravity001:
Помогите, что делать не знаю. Может у меня винда глючит?
У меня MT4 build 208. В MQL написано "version: 4.00 Build 207"


 while(!IsStopped()){.................... }
напишите так, - будет корректнее.
 
xeon:
gravity001:
Помогите, что делать не знаю. Может у меня винда глючит?
У меня MT4 build 208. В MQL написано "version: 4.00 Build 207"


 while(!IsStopped()){.................... }
напишите так, - будет корректнее.
Спасибо.
Еще хотел узнать, это у всех так или только у меня?
Если у всех, то путь разработчики исправят ошибку или, на крайняк, исправят справку!
Причем, я помню, что такая конструкция у меня работала в ранних версиях MT4!
 
gravity001:
Спасибо.
Еще хотел узнать, это у всех так или только у меня?
Если у всех, то путь разработчики исправят ошибку или, на крайняк, исправят справку!
Причем, я помню, что такая конструкция у меня работала в ранних версиях MT4!
Может нестоит по поводу и без повода пенять на разработчиков?, а поискать ошибки у себя?
int start()
{
    while (true)
    {
        ...
    }
}


эта конструкция неверна,

правильно будет так:

 
   bool flag=true;
 
   while(flag){
          
         if(IsStopped()){return(0);}
         
   }
 
gravity001:
В скрипте хотел сделать бесконечный цикл, написал такой кодНажал кнопку "Компилировать". Смотрю в нижнем окошке "Инструментарий" в закладке "Ошибки" ничего не написано, как будто компилятор находиться в процессе компиляции
И у меня проц загрузился на все 100%. Ждал ждал минут 5, так и не скомпилировал. Потом я в процессах закрыл процесс "MetaLang.exe".


Пришлите, пожалуйста, исходник, завешивающий компилятор на stringoATmetaquotesDOTru

Надо разобраться в чём дело

 
xeon:

...
Может нестоит по поводу и без повода пенять на разработчиков?,  а поискать ошибки у себя? 
int start()
{
    while (true)
    {
        ...
    }
}


эта конструкция неверна,

...
Можно узнать, где вы узнали, что данная конструкция неверная?
Вот официальная справка:

Справочник MQL4 - Основы языка - Операторы - Оператор цикла for

...
Любое из трех или все три выражения в операторе for могут отсутствовать, однако разделяющие их точки с запятыми (;) опускать нельзя. Если опущено выражение2, то считается, что оно постоянно истинно. Оператор for(;;) представляет собой бесконечный цикл, эквивалентный оператору while(1). Каждое из выражение1 и выражение3 может состоять из нескольких выражений, объединенных оператором запятая ','.
...
Я тоже где-то читал в книжке, что так правильно организовывать бесконечный цикл while(true).

К сожалению, я не могу привести цитату из официальной справки языка Си.
Возможно, вы правы, только укажите весомый источник, где вы это узнали!

 
gravity001:


К сожалению, я не могу привести цитату из официальной справки языка Си.
Возможно, вы правы, только укажите весомый источник, где вы это узнали!


Мой весомый источник - это практика, а "Вам шашечки или ехать?" :-)
 
stringo:
gravity001:
В скрипте хотел сделать бесконечный цикл, написал такой кодНажал кнопку "Компилировать". Смотрю в нижнем окошке "Инструментарий" в закладке "Ошибки" ничего не написано,  как будто компилятор находиться в процессе компиляции
И у меня  проц загрузился на все 100%. Ждал ждал минут 5, так и не скомпилировал. Потом я в процессах закрыл процесс "MetaLang.exe".



Пришлите, пожалуйста, исходник, завешивающий компилятор на stringoATmetaquotesDOTru


Надо разобраться в чём дело



Все отправил!
 
gravity001:
Еще хотел узнать, это у всех так или только у меня?
Если у всех, то путь разработчики исправят ошибку или, на крайняк, исправят справку!
Причем, я помню, что такая конструкция у меня работала в ранних версиях MT

У меня было так же как у Вас: скрипт откомпилировался нормально, но MetaEditor продолжал загружать процессор, пока не удалил процес Meta Language, но после этого повторная компиляция проходит нормально, ресурсы освобождаются.
 
xeon писал (а):
...
Мой весомый источник - это практика, а "Вам шашечки или ехать?"  :-)
Интересно, на чем вы практикуете?
Моя конструкция работает в Delphi и в Builder!
А у вас где не работает?

На вопрос
"Вам шашечки или ехать?"
к сожалению, не могу ответить, так как не понял. Чувстую, вроде, он риторический или цитата, но мне не смешно. Может у меня с юмором проблемы.
Причина обращения: