Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Есть вопросы автору статьи? Обсуди их на форуме!
Anton Tarasov
458
Anton Tarasov 2015.11.03 10:13 
Как прописать чтобы с открытием свечи открывался ордер,а с открытием следующей он закрывался и открывался новый!
Alexey Kozitsyn
6228
Alexey Kozitsyn 2015.11.03 10:50  
Anton Tarasov:
Как прописать чтобы с открытием свечи открывался ордер,а с открытием следующей он закрывался и открывался новый!
Для начала нужно указать платформу.
Anton Tarasov
458
Anton Tarasov 2015.11.03 11:52  
Alexey Kozitsyn:
Для начала нужно указать платформу.
Mt4
Alexey Volchanskiy
16233
Alexey Volchanskiy 2015.11.03 15:32  
Anton Tarasov:
Mt4

Вот функция для определения начала нового бара

/// Определяет начало нового бара
bool NewBar()
{
    static datetime lastbar = 0;
    datetime curbar = iTime(Symbol(), PERIOD_M1, 0);
    if(lastbar!=curbar)
    {
        lastbar=curbar;
        return (true);
    }
    return(false);
}
Anton Tarasov
458
Anton Tarasov 2015.11.03 15:37  
Alexey Volchanskiy:

Вот функция для определения начала нового бара

Спасибо!

Vladimir Pastushak
66029
Vladimir Pastushak 2015.11.03 16:06  
Alexey Volchanskiy:

Вот функция для определения начала нового бара

это не совсем правильная функция!!!

Она будет давать один ложный сигнал при первом запуске советника 

Вот так будет правильно и надежно :

// =========================================================================================================// 
bool NewBar()
  {
   static datetime time=0;
   datetime cur_time = iTime(Symbol(), PERIOD_CURRENT, 0);
   if(time==0)
     {
      time=cur_time;
      return false;
     }
   if(time!=cur_time)
     {
      time=cur_time;
      return true;
     }
   return false;
  }
// =========================================================================================================//
Dmitry Fedoseev
42648
Dmitry Fedoseev 2015.11.03 16:14  
Vladimir Pastushak:

это не совсем правильная функция!!!

Она будет давать один ложный сигнал при первом запуске советника 

Вот так будет правильно и надежно :

Лишний if советнику как камень на шею.
Dmitry Fedoseev
42648
Dmitry Fedoseev 2015.11.03 16:15  
Anton Tarasov:
Как прописать чтобы с открытием свечи открывался ордер,а с открытием следующей он закрывался и открывался новый!
Проходим в цикле по ордерам, если время открытия бара ордера меньше Time[0], значит закрываем его. Если после этого ордеров нет, то открываем новый.
Alexey Busygin
6433
Alexey Busygin 2015.11.03 19:38  
Dmitry Fedoseev:
Лишний if советнику как камень на шею.
поставьте тогда второй else
Maxim Dmitrievsky
13306
Maxim Dmitrievsky 2015.11.03 19:44  
bool NEW_BAR() еще короче
 {
  static int nBars=0;
  if(nBars!=Bars)
   {
    nBars=Bars;
    return(true);
   }
  return(false);
 }
Dmitry Fedoseev
42648
Dmitry Fedoseev 2015.11.03 19:45  
Alexey Busygin:
поставьте тогда второй else
А хрен редьки не слаще
/ /12345678
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий