Наверное проще будет заменить
if (Digits==3 || Digits==5){dist=Dist_to_function*10*Point; shag=Shag_to_function*10*Point;} else if (Digits==2 || Digits==4){dist=Dist_to_function*Point; shag=Shag_to_function*Point;}
на
if (Digits==3 || Digits==5){dist=Dist_to_function*10*Point; shag=Shag_to_function*10*Point;} else{dist=Dist_to_function*Point; shag=Shag_to_function*Point;}
Подскажите пожалуйста в какую сторону глядеть... ведь эти переменные объявленны
При объявлении переменной надо присвоить ей значение:
int x=0;
При объявлении переменной надо присвоить ей значение:
int x=0;
Если она не глобальная.
Той, по которой компилятор выдает предупреждение.
Чтобы было понятней давайте расшифруем всё по-порядку
#property strict void Trailing(int Magic_to_function, string Symbol_Curent ,int Dist_to_function, int Shag_to_function, bool Isp_shag, bool Bezubitok) { double dist; double shag; if (Digits==3 || Digits==5){dist=Dist_to_function*10*Point; shag=Shag_to_function*10*Point;} else if (Digits==2 || Digits==4){dist=Dist_to_function*Point; shag=Shag_to_function*Point;}
1. Объявили переменные без явной инициализации
2. Присваивается значение этим переменным только при условии 1 или 2
Соответственно в случае не выполнения этих условий переменные так и останутся не инициализированными... О чём и предупреждает компилятор.
Я-бы написал так, учитывая что это, как мне кажется, для мультивалютника...
#property strict void Trailing(int Magic_to_function, string Symbol_Curent ,int Dist_to_function, int Shag_to_function, bool Isp_shag, bool Bezubitok) { double sp = MarketInfo(Symbol_Curent, MODE_POINT); double dist = Dist_to_function*sp; double shag = Shag_to_function*sp; if(Digits == 3 || Digits == 5) // или лучше if(Digits % 2 == 1) { dist = Dist_to_function*10*sp; shag = Shag_to_function*10*sp; } // и дальше по тексту }
Чтобы было понятней давайте расшифруем всё по-порядку
1. Объявили переменные без явной инициализации
2. Присваивается значение этим переменным только при условии 1 или 2
Соответственно в случае не выполнения этих условий переменные так и останутся не инициализированными... О чём и предупреждает компилятор.
Я-бы написал так, учитывая что это, как мне кажется, для мультивалютника...
Спасибо огромное добрый человек!)
Чтобы было понятней давайте расшифруем всё по-порядку
1. Объявили переменные без явной инициализации
2. Присваивается значение этим переменным только при условии 1 или 2
Соответственно в случае не выполнения этих условий переменные так и останутся не инициализированными... О чём и предупреждает компилятор.
Я-бы написал так, учитывая что это, как мне кажется, для мультивалютника...
Подскажите в чём ошибка? не запоминает переменные: price_osnova_buy_1 , price_osnova_buy_2, price_osnova_sell_1 , price_osnova_sell_2 ,
Подскажите в чём ошибка? не запоминает переменные: price_osnova_buy_1 , price_osnova_buy_2, price_osnova_sell_1 , price_osnova_sell_2 ,
Пожалуйста вставляйте код правильно - Правильно вставляем код на форуме

- 2014.04.29
- www.mql5.com

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
При компиляции выдает вот такие предупреждения
possible use of uninitialized variable 'dist' 3123.mq4 28 109
possible use of uninitialized variable 'shag' 3123.mq4 37 111
possible use of uninitialized variable 'dist' 3123.mq4 72 109
possible use of uninitialized variable 'shag' 3123.mq4 81 110
Подскажите пожалуйста в какую сторону глядеть... ведь эти переменные объявленны