Как отучить мультивалютный индикатор перерисовывать?

 
Перерисовка происходит на нулевом баре, однако расчеты ведутся по ценам открытия. Я так понял на разных парах бар открывается в разное время, по тикам, но как узнать что во всех парах открыт новый бар?
 
 
grell:
Я так понял на разных парах бар открывается в разное время, по тикам, но как узнать что во всех парах открыт новый бар?


Вопрос-то конкретный.
 
Reshetov:


Вам сюда: https://www.mql5.com/ru/forum/133408



Уж Вам-то, зануде, было бы интересно развернуто ответить, нет же. Настроение не то?
 
grell:
Перерисовка происходит на нулевом баре, однако расчеты ведутся по ценам открытия. Я так понял на разных парах бар открывается в разное время, по тикам, но как узнать что во всех парах открыт новый бар?


Если я правильно понял вопрос, возможно вам (хоть как-то) поможет кусочек кода

extern string  Symbol_1 = "FDAXH2";
extern string  Symbol_2 = "FTSEH2";

//проверяем наличие баров (синхронизируем работу) 
// - для инструментов, с разным началом времени торговли
datetime Time_bar_Sl1 = iTime(Symbol_1,Period(), 0); 
datetime Time_bar_Sl2 = iTime(Symbol_2,Period(), 0); 
if (Time_bar_Sl1 == Time_bar_Sl2) TRADE=true;   else TRADE=false;
 

Или вот такой:

double bidSymb1=iClose(Symbol_1,Period(),iBarShift(Symbol_1,0,Time[0],false)); 
double bidSymb2=iClose(Symbol_2,Period(),iBarShift(Symbol_2,0,Time[0],false));
//синхронизируем бары:
if(bidSymb1!=0 && bidSymb2 !=0)  return(0);
//если бары имеются на обоих инструментах,- работаем
 
 
leonid553:


Если я правильно понял вопрос, возможно вам (хоть как-то) поможет кусочек кода



Спасибо огромное, Леонид. Я уже пробовал было не open[0], а close[1] использовать, но расчеты в первые секунды бара сбивались и советник реагировал не верно. Короче, то что нужно, про время я не подумал.
 
Не велика разница, по ценам открытия или по ценам закрытия предыдущего бара, но по ценам закрыия нет проблемы с ожиданием открытия бара. Берем последний по времени бар с других символов. Если по ценам открытия, то нужно целый бар ждать. Вдруг по какому-то символу будет тик в самом конце бара? Поэтому придется ждать целый бар. Короче, задача невыполнима. Считайте по ценам закрытия на предыдущем баре.
 
grell:
Перерисовка происходит на нулевом баре, однако расчеты ведутся по ценам открытия. Я так понял на разных парах бар открывается в разное время, по тикам, но как узнать что во всех парах открыт новый бар?

Проверять на равенство время баров.
 
Integer:
Не велика разница, по ценам открытия или по ценам закрытия предыдущего бара, но по ценам закрыия нет проблемы с ожиданием открытия бара. Берем последний по времени бар с других символов. Если по ценам открытия, то нужно целый бар ждать. Вдруг по какому-то символу будет тик в самом конце бара? Поэтому придется ждать целый бар. Короче, задача невыполнима. Считайте по ценам закрытия на предыдущем баре.

По-хорошему, нельзя для расчета мультивалютного индикатора использовать бары разных инструментов, не соответствующие друг дргугу.
 
PapaYozh:

Проверять на равенство время баров.


На iCustom это тоже распространяется?
Причина обращения: