Скачать MetaTrader 5

Ну совсем с нуля!

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
BAM
50
BAM  

1. инит старт запускается по любому когда приходит минутный тик?

2. мне нужно чтобы инит старт запускался когда приходит бар например 5 минутный

объясните чайнику

Victor Nikolaev
Модератор
14658
Victor Nikolaev  
BAM:

1. инит старт запускается по любому когда приходит минутный тик?

2. мне нужно чтобы инит старт запускался когда приходит бар например 5 минутный

объясните чайнику


1. Init() запускается при старте

2. Start() запускается на каждом тике

3. Для работы по ценам открытия бара произвольного таймфрейма нужен контроль нового бара на нужном таймфрейме

Vladimir Paukas
4099
Vladimir Paukas  
BAM:

1. инит старт запускается по любому когда приходит минутный тик?

2. мне нужно чтобы инит старт запускался когда приходит бар например 5 минутный

объясните чайнику


Если время нулевого бара больше записанного в переменной, то

{

Записываете время текущего бара в переменную;

Выполняете что вам нужно

}

Sergey Guliaev
2301
Sergey Guliaev  
start(){
  if(iVolume("USDCHF",PERIOD_M5,0)>1) return(0);
  .
  .
  .
  return(0);
}
может так?
Левитин Сергей В.
5163
Левитин Сергей В.  
valenok2003:
может так?

Плохо, но для тестера сойдет.
Boris
3896
Boris  
BAM:

1. инит старт запускается по любому когда приходит минутный тик?

2. мне нужно чтобы инит старт запускался когда приходит бар например 5 минутный

объясните чайнику


Для всего использую функцию NewBar():


if(NewBar == true)
{
//код 
}

//вне старта следует функция:

bool NewBar()
{
  static datetime lastbar = 0;
  datetime curbar = Time[0];
  if(lastbar != curbar)
  {
    lastbar = curbar;
    return(true);
  }
  else
  {
    return(false);
} }
Алексей Тарабанов
7316
Алексей Тарабанов  

https://book.mql4.com/ru/variables/arrays

Очень рекомендую топикстартеру и всем прочим, желающим исполнять какие-нибудь операции не на каждом тике, а когда они сами считают нужным :)

Sergey Guliaev
2301
Sergey Guliaev  
tara:

https://book.mql4.com/ru/variables/arrays

Очень рекомендую топикстартеру и всем прочим, желающим исполнять какие-нибудь операции не на каждом тике, а когда они сами считают нужным :)


к сожалению пример только для текущего ТФ, а не для произвольного
Sergey Guliaev
2301
Sergey Guliaev  
Figar0:

Плохо, но для тестера сойдет.

как лучше?
Левитин Сергей В.
5163
Левитин Сергей В.  
valenok2003:

как лучше?


Вариант лучше тремя постами выше.

Первый тик бара и весь бар при торговле советника на счете может быть пропущен, например советник открывал или закрывал ордера, или был занят рассчетами ( в момент прихода первого тика уже /или все еще выполнялась функция start). Кратковременный дисконнект в момент прихода первого тика так же приведет к пропуска бара. Потому - только для тестера, для торговли лучше сравниватть время бара с временем уже обработаного бара.

Victor Nikolaev
Модератор
14658
Victor Nikolaev  

Удивлен что все еще есть люди использующие тики для контроля нового бара.

Похоже они очень много пропустили. Или потеряли. Что одно и то же.

12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий