Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Нужен программист? Cервис Фриланс найдет его!
Дмитрий
1460
Дмитрий 2012.02.10 07:22 
Перерисовка происходит на нулевом баре, однако расчеты ведутся по ценам открытия. Я так понял на разных парах бар открывается в разное время, по тикам, но как узнать что во всех парах открыт новый бар?
Yury Reshetov
13463
Yury Reshetov 2012.02.10 07:24  
Дмитрий
1460
Дмитрий 2012.02.10 07:33  
grell:
Я так понял на разных парах бар открывается в разное время, по тикам, но как узнать что во всех парах открыт новый бар?


Вопрос-то конкретный.
Дмитрий
1460
Дмитрий 2012.02.10 07:35  
Reshetov:


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



Уж Вам-то, зануде, было бы интересно развернуто ответить, нет же. Настроение не то?
Leonid Borsky
2382
Leonid Borsky 2012.02.10 07:38  
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;
Leonid Borsky
2382
Leonid Borsky 2012.02.10 07:40  

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

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);
//если бары имеются на обоих инструментах,- работаем
 
Дмитрий
1460
Дмитрий 2012.02.10 07:41  
leonid553:


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



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

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

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

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


На iCustom это тоже распространяется?
/ /123
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий