Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 599

 
peace1984:

Здравствуйте, может быть повторюсь, но у меня проблема с входными данными..

Использую:

input int sys=0;

При смене пользователем на 1


в тестере всё равно используется 0

подскажите, пожалуйста, в чём может быть причина? Пробовал extern - та же история.

input int Sys=0;
int sys=(Sys<0)?0:Sys;
Используйте переменную sys. Если ввести в настройках значение Sys меньше ноля, то скорректируется до ноля
 
artmedia70:
Используйте переменную sys. Если ввести в настройках значение Sys меньше ноля, то скорректируется до ноля


попробовал, к сожалению не получилось... всё также не изменяется значение
 
peace1984:

попробовал, к сожалению не получилось... всё также не изменяется значение

Вы не заметили, что в моём примере две разные переменные?

В коде всегда проверяйте значение переменной sys, в то время как внешняя переменная имеет имя Sys. После её объявления сразу же идёт присвоение её значения с корректировкой переменной sys.

 
artmedia70:

Вы не заметили, что в моём примере две разные переменные?

В коде всегда проверяйте значение переменной sys, в то время как внешняя переменная имеет имя Sys. После её объявления сразу же идёт присвоение её значения с корректировкой переменной sys.



да, я это понял.. сделал как у вас, в объявлении переменных.. но если пользователь сменяет значение на 1, всё равно остаётся 0..
 
peace1984:

да, я это понял.. сделал как у вас, в объявлении переменных.. но если пользователь сменяет значение на 1, всё равно остаётся 0..

#property strict есть в коде? Хотя... но попробуйте.

Как проверяли значение sys? Не Sys, а именно sys - её нужно в дальнейших расчётах использовать.

 
artmedia70:

#property strict есть в коде? Хотя... но попробуйте.

Как проверяли значение sys? Не Sys, а именно sys - её нужно в дальнейших расчётах использовать.



вставил strict (его не было), но результат не изменился..

значение sys определяет параметр для atr (0- это 20дн, 1-55дн.)... берётся именно 20.. если в коде поменять значение на 1, то берётся 55..

 
peace1984:

вставил strict (его не было), но результат не изменился..

значение sys определяет параметр для atr (0- это 20дн, 1-55дн.)... берётся именно 20.. если в коде поменять значение на 1, то берётся 55..

//------------------------------------------------------
enum atrSys
  {
   atr0=20,   // 20
   atr1=55,   // 55
  };
input atrSys AtrSys   =  atr0;       // Период ATR
//------------------------------------------------------

Так попробуйте. В коде проверяйте значение AtrSys.

ЗЫ. Комментарии из кода не удаляйте - они тоже нужны.

 
artmedia70:
Так попробуйте. В коде проверяйте значение AtrSys.

Этот вариант я тоже уже пробовал, в самом начале.. от него и перешёл на 0 и 1..
 
peace1984:
Этот вариант я тоже уже пробовал, в самом начале.. от него и перешёл на 0 и 1..

Чудес не бывает. Код показывайте.
 
artmedia70:
Чудес не бывает. Код показывайте
Это мой первый опыт, строго не судите:)
Файлы:
11.mq4  8 kb