[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 82

 
goldtrader >>:

Функция возвращает вообще только ОДНО значение,

а описанная как void ни одного, т.е. ничего не возвращает.

.

Как вариант присваивайте эти значения глобальным переменным внутри функции.

Глобальные - это обьявленные вне спец. функций? Переменная flag10 обьявлена в начале советника - вместе с внешними переменными.

if (tiket!= -1) 
                  {  
          Order_Modifi_Sell ();
          taim_open = Taim0;
           flag10=0;
                  }     
              
         }
            return(taim_open,flag10);

Получается специально передавать flag10 наружу не надо - и так дойдет?

 
Figar0 >>:

Все верно. Но есть варианты решения есть, "крестьянский" : модификация в функции/процедуре глобальных переменных программы, "цивилизованный": передача переменных в функцию по ссылке.

А можно на примере? а то я как-то не очень понял.

 
Figar0 >>:

Все верно. Но есть варианты решения есть, "крестьянский" : модификация в функции/процедуре глобальных переменных программы, "цивилизованный": передача переменных в функцию по ссылке.

В этой ветке имхо лучше начинать с "крестьянских" )

 
locol91 >>:

Глобальные - это обьявленные вне спец. функций?

Вне любых функций.

Обычно их объявляют сразу после внешних переменных до функций инит, деинит и старт.

 
locol91 писал(а) >>

Получается специально передавать flag10 наружу не надо - и так дойдет?

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

 
int start()
{
   int A=1;
   func(A);
   Print(A); // Должно получиться 2:)

}

void func (int &var)
{
  var++;
}
Пример передачи параметра по ссылке, в данном случае передается не переменная, а ссылка на область памяти где она хранится. Получаете полную автономность функции без привязки к глобальным переменным программы (можно спокойно переносить из программы в программу), но "крестьянский" вариант тоже имеет право на жизнь на нашем уровне програмирования:)
 
goldtrader >>:

Вне любых функций.

Обычно их объявляют сразу после внешних переменных до функций инит, деинит и старт.

Тогда добавочный вопрос. Что за глобальные переменные обьявляються из терминала клавишей F3? И спасибо всем за разьяснения.

 
locol91 писал(а) >>

Тогда добавочный вопрос. Что за глобальные переменные обьявляються из терминала клавишей F3? И спасибо всем за разьяснения.

У Вас каша в голове)

Всего 3 уровня:

-глобальные переменные терминала, область видимости все программы работающие в терминале (это вызывается по F3)

-глобальные переменные программы (область видимости вся программа, все ее функции)

-локальные переменные (область видимости функция где она объявлена);

 
locol91 >>:

Тогда добавочный вопрос. Что за глобальные переменные обьявляються из терминала клавишей F3? И спасибо всем за разьяснения.

Это глобальные переменные терминала.

К ним может обратиться любой эксперт, скрипт, который работает в данном терминале.

Не путать с глобальными переменными скрипта/советника.

 
Figar0 >>:

У Вас каша в голове)

Всего 3 уровня:

-глобальные переменные терминала, область видимости все программы работающие в терминале (это вызывается по F3)

-глобальные переменные программы (область видимости вся программа, все ее функции)

-локальные переменные (область видимости функция где она объявлена);

Ага, каша! Даже я бы сказал плов :-) . Но все равно надо разбирать все по полкам.