Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1902

 
MixanM #:

Ну да, я это и имел ввиду - что он возвращает данные только по ордеру "селлстоп". Я в ваш добавил вот это еще просто для визуальной проверки:

Все работает корректно


 

Подскажите, пожалуйста, новичку, оператор return управление передает обратно в цикл for или в функцию  OnTick?

void OnTick()
{
  for (выражение)
    {
        if (выражение)
         {
            .....
            ....
            return;
         }
    }
}
 
Олег Иванов #:

Подскажите, пожалуйста, новичку, оператор return управление передает обратно в цикл for или в функцию  OnTick?

Выйдет из ф-ции OnTick

 
Олег Иванов #:

Подскажите, пожалуйста, новичку, оператор return управление передает обратно в цикл for или в функцию  OnTick?

Оператор continue передает управление в начало ближайшего внешнего оператора цикла while, do-while или for

 
Tretyakov Rostyslav #:

Оператор continue передает управление в начало ближайшего внешнего оператора цикла while, do-while или for

В моем примере оператор return. Я за него спрашивал.

 
JRandomTrader #:

Выйдет из ф-ции OnTick

Как это выйдет из  OnTick, если эта подпрограмма постоянно циркулирует в советнике?
 
Олег Иванов #:
Как это выйдет из  OnTick, если эта подпрограмма постоянно циркулирует в советнике?

Вот из текущего выполнения и выйдет (как если бы дошла до конца). На следующем тике будет новый вызов.

 
JRandomTrader #:

Вот из текущего выполнения и выйдет (как если бы дошла до конца). На следующем тике будет новый вызов

Т.е. вернется на начало OnTick.  Благодарю, понял. 

 
Олег Иванов #:

Т.е. вернется на начало OnTick.  Благодарю, понял. 

Вернётся с приходом нового тика. В неликвидах его можно ждать долго.

OnTick - это не цикл типа forever, это, скорее, работа по прерываниям.
 

Всем добрый день. Помогите пожалуйста переделать код скрипта. Сейчас скрипт переводит все открытые графики на период н1. А как переделать код чтобы скрипт на все открытые графики применил шаблон с указанным именем?

//| Script program start function                                    |
//+------------------------------------------------------------------+
/********************Script program start function*******************/
void OnStart()
 {
  long prevChart = ChartFirst();
  while(prevChart >= 0)
   {
    if(ChartPeriod(prevChart) != PERIOD_H1)
      ChartSetSymbolPeriod(prevChart, ChartSymbol(prevChart), PERIOD_H1);
    prevChart = ChartNext(prevChart);
   }
 }/******************************************************************/
/*****************************End program****************************/

//+------------------------------------------------------------------+
Причина обращения: