Вопросы общего характера

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Игорь
344
Игорь  

Разъясните мне пожалуйста (гугол не смог помочь). Что значат эти предупреждения:

1. declaration of 'MaShift' hides global declaration at line 12    (Объявление «MaShift» скрывает глобальную декларацию в строке 12)

2. variable 'MaPeriod' not used    (Переменная «MaPeriod» не используется)

3. expression not boolean    (Выражение не булево)

4. empty controlled statement found    (Пустое управляемое заявление найдено)

Dmitry Fedoseev
56651
Dmitry Fedoseev  
Игорь:

Разъясните мне пожалуйста (гугол не смог помочь). Что значат эти предупреждения:

1. declaration of 'MaShift' hides global declaration at line 12    (Объявление «MaShift» скрывает глобальную декларацию в строке 12)

2. variable 'MaPeriod' not used    (Переменная «MaPeriod» не используется)

3. expression not boolean    (Выражение не булево)

4. empty controlled statement found    (Пустое управляемое заявление найдено)


1. Переменная объявлена на глобальном уровне и с таким же именем в функции.

2. Переменная объявлена, но ни где не используется.

3. Неправильное выражение в условии проверяемом if'ом.

4. У меня ни разу не было.

Игорь
344
Игорь  
Dmitry Fedoseev:

1. Переменная объявлена на глобальном уровне и с таким же именем в функции.

2. Переменная объявлена, но ни где не используется.

3. Неправильное выражение в условии проверяемом if'ом.

4. У меня ни разу не было.

Игорь
344
Игорь  
Игорь:
double iMA=(Symbol(),0,MaPeriod,MaShift,MODE_SMA,PRICE_CLOSE,1);

Тогда я не пойму, в чём тут косяк?

При этом у меня в параметрах

extern int MaPeriod=21;
extern int MaShift =3;
extern double lots=0.01;
extern int Slippage=5;
Dmitry Fedoseev
56651
Dmitry Fedoseev  
Игорь:

Тогда я не пойму, в чём тут косяк?

При этом у меня в параметрах


Посмотрите, нет ли еще где объявления MaShift.

Alexey Viktorov
25773
Alexey Viktorov  
Игорь:

Тогда я не пойму, в чём тут косяк?

При этом у меня в параметрах

Судя по этой строке

double iMA=(Symbol(),0,MaPeriod,MaShift,MODE_SMA,PRICE_CLOSE,1);

это mql4.

Так написать можно только после трёх суток работы без перерывов на обед и сон. Поэтому и предупреждение

Игорь:

3. expression not boolean    (Выражение не булево)

Должно быть так

double ima = iMA(Symbol(),0,MaPeriod,MaShift,MODE_SMA,PRICE_CLOSE,1);
Georgiy Merts
9181
Georgiy Merts  
Игорь:
 

4. empty controlled statement found    (Пустое управляемое заявление найдено)

Это значит, что после условия цикла или ифа - стоит точка с запятой, и компилятор удивляется - тебе ничего не надо в этом цикле или ифе делать ?

Весьма нужное предупреждение, чаще всего эта самая точка с запятой - лишние. (Но, бывают случаи, когда вся работа выполняется прямо в заголовке цикла, и тело цикла и правда, должно быть пустым.
Maxim Dmitrievsky
19140
Maxim Dmitrievsky  

Интересный стиль написания кода ))  компилятор аж сконфузился и решил выдать все ошибки сразу

Ivan Ivanov
1908
Ivan Ivanov  
Все те 4 "ошибки" на самом деле "предупреждения" (warning)

Программа компилируется не смотря на их существование, но хорошо если их не было.

Если там была хоть одна реальная ошибка, то компиляция не пройдет , а остановится на ошибке, и не скажет ничего о том что после нее

Кстати вот пример о "empty controlled statement" :

if ( true )  ;
Aleksey Semenov
3610
Aleksey Semenov  
ох  #property strict  вам в помощ, ошибок у них нету, ага щас разбежались ))), надо всем по дефолту под #property strict писать а не абы как лишь бы компилилось
Vasiliy Vilkov
1389
Vasiliy Vilkov  
Где найти программера для создания сайта и примерные расценки? Только не одно страничный...
12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий