Разные Close для свечей с одинаковым временем

 

Мне для работы нужны Close нестандартных тайм-фреймов, например, 17 минут.

Я подумал, что это достаточно просто: делаешь CopyClose и CopyTime минуток, потом находишь те Close, у которых количество минут делится нацело на нестанд. ТФ и копируешь их в целевой массив.

Потому что я думал, что Close, например, на 21:00 у всех ТФ, начиная с М1 и заканчивая H1 и далее, будет одинаковый.

Но оказалось, что это не так!

Для проверки я взял GBPUSD за прошлую пятницу, 19.09.2014, время 21:00 по терминалу MQ и проверил Close у свечей с временем 21:00 на стандартных таймфреймах M1,M5,M15,M30,H1.

И они все были разными!

Непонятно, почему так. Ведь ценой закрытия часовой/М15 и т.д. свечи является время закрытия последней минутки в этом часе/в этом М15 и т.д. 

Наверное, я чего-то не догоняю. Прошу по-простому пояснить, почему цены закрытия не совпадают?

Спасибо!

 

PS 

А вообще, было бы идеально, если бы в  CopyClose(Symbol,timeframe,start,count,close_array) вторым параметром можно было бы указывать НЕ timeframe из числа ENUM_TIMEFRAMES, а количество минут.

Ведь все равно котировки у нас в минутках, а из них уже набираются стандартные таймфреймы. 

 
falkov:

А вообще, было бы идеально, если бы ...

идеально было бы -- если бы вы привели обоснования своим словам -- с примерами, выкладками и прочее

проверил у себя -- Close на всех М1 М5 М15 М30 Н1 -- в указанное время -- одинаково

 
falkov:

Для проверки я взял GBPUSD за прошлую пятницу, 19.09.2014, время 21:00 по терминалу MQ и проверил Close у свечей с временем 21:00 на стандартных таймфреймах M1,M5,M15,M30,H1.

И они все были разными!

И правильно. Ведь Вы взяли время 21:00, которое указывает на время открытия свечей. Свеча М1 от 21:00 закрывается до момента 21:01, свеча М5 - до момента 21:05, свеча М15 - до момента 21:15 и т. д. То есть у каждой из сравниваемых свечей время закрытия разное. Отсюда и цена закрытия разная. Для корректно сравнения нужно брать последние свечи каждого таймфрейма, которые предшествуют времени 21:00. Для М1 - это 20:59 (если такая свеча вообще есть; если нет, то ищем 20:58 и т. д., пока не найдем), для М5 - это 20:55 (скорее всего, есть такая свеча, хотя тоже не мешало бы проверить ее наличие), для М15 - 20:45, для М30 - 20:30, для Н1 - 20:00. Вот у этих свечей уже будут одинаковые цены закрытия. 

 

Для H1 время 21:00

Для M30 время 21:30

Для M15 время 21:45

Для M5 время 21:55

Для M1 время 21:59

Цена закрытия одинакова.

 
elugovoy:

Для H1 время 21:00

Для M30 время 21:30

Для M15 время 21:45

Для M5 время 21:55

Для M1 время 21:59

Цена закрытия одинакова.

Говоря формульно: TimeBar(самого старшего таймфрейма) + ( PeriodSecond(самого старшего таймфрейма) - PeriodSecond(текущего таймфрейма) )

ЗЫ исключения будут для баров начиная с днёвок (там нужно смотреть пятница не пятница, а ещё выше нужно смотреть конец месяца и выходные). 

 
elugovoy:

Для H1 время 21:00

Для M30 время 21:30

Для M15 время 21:45

Для M5 время 21:55

Для M1 время 21:59

Цена закрытия одинакова.

Цена закрытия должна быть одинаковая, а объемы должны быть разные
 
Alexey:
Цена закрытия должна быть одинаковая, а объемы должны быть разные

Если суммировать все объёмы от открытия бара до закрытия, то независимо от ТФ объёмы будут одинаковые.

Например если суммировать объёмы всех баров часа на М1 и сравнить их с объёмом бара H1 этого часа. 

 

Спасибо за помощь в понимании!

Вы все правы - действительно, нужно брать свечу, предшествующую закрытию старшего ТФ и помнить, что на чарте - времена открытия.

 

Приятно общаться с умными людьми!

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