Получение данных по последним 3 барам

 
Здравствуйте. Получаю данные за последние 3 бара. Но в отладке на последнем баре я получаю только открытие. Закрытие всегда равно открытию почему-то. Kaк можно это изменить? В итоге, чтобы получить полноценный бар, мне нужно дождаться следующего бара и в итоге я получаю отставание на 2 бара. Как можно получить значение закрытия бара и чтобы на его основе получить изменение SL и TP уже на следующем баре, а не через 1.

MqlRates mrate[];
ArraySetAsSeries(mrate,true);
if (!mysymbol.RefreshRates())
     {
      Alert("Ошибка обновления котировок - ошибка: ",GetLastError(),"!");
      return;
     }
if(CopyRates(_Symbol,_Period,0,3,mrate)<0)
     {
      Alert("Ошибка копирования исторических данных - ошибка:",GetLastError(),"!!");
      return;
     }
 
Fresto:
Здравствуйте. Получаю данные за последние 3 бара. Но в отладке на последнем баре я получаю только открытие. Закрытие всегда равно открытию почему-то. Kaк можно это изменить? В итоге, чтобы получить полноценный бар, мне нужно дождаться следующего бара и в итоге я получаю отставание на 2 бара. Как можно получить значение закрытия бара и чтобы на его основе получить изменение SL и TP уже на следующем баре, а не через 1.

MqlRates mrate[];
ArraySetAsSeries(mrate,true);
if (!mysymbol.RefreshRates())
     {
      Alert("Ошибка обновления котировок - ошибка: ",GetLastError(),"!");
      return;
     }
if(CopyRates(_Symbol,_Period,0,3,mrate)<0)
     {
      Alert("Ошибка копирования исторических данных - ошибка:",GetLastError(),"!!");
      return;
     }
MqlRates mrate[];
ArraySetAsSeries(mrate,true);
/*if (!mysymbol.RefreshRates())
     {
      Alert("Ошибка обновления котировок - ошибка: ",GetLastError(),"!");
      return;
     }*/

if(CopyRates(_Symbol,_Period,0,3,mrate)<0)
     {
      Alert("Ошибка копирования исторических данных - ошибка:",GetLastError(),"!!");
      return;
     }
     Print(TimeToString(mrate[2].time, TIME_DATE | TIME_MINUTES | TIME_SECONDS), "  ", mrate[2].open, "  ", mrate[2].close, "  ", TimeToString(mrate[0].time, TIME_DATE | TIME_MINUTES | TIME_SECONDS), "  ", mrate[0].open, "  ", mrate[0].close);
2017.03.02 12:28:59.476 EnumTF (EURJPY,M15) 2017.03.02 10:45:00  120.461  120.418  2017.03.02 11:15:00  120.343  120.374


 
Для распечатки массивов удобно пользовать ArrayPrint
 
Просто я прохожу отладку на RTS 3.17 за последний 2017 год. Сравниваю значения mrate[0].close и mrate[0].open, параллельно предыдущий бар и их время.
Всегда у 0 индекса значения open и close совпадают. Прошел так уже месяц, тоже самое.
Может быть потому что демо счет, но он как будто на данном моменте у 0 бара не знает закрытие, потому что на следующем шаге этот 0 бар переходит в предыдущий и там закрытие становится известно
 
Fresto:
Просто я прохожу отладку на RTS 3.17 за последний 2017 год. Сравниваю значения mrate[0].close и mrate[0].open, параллельно предыдущий бар и их время.
Всегда у 0 индекса значения open и close совпадают. Прошел так уже месяц, тоже самое.
Может быть потому что демо счет, но он как будто на данном моменте у 0 бара не знает закрытие, потому что на следующем шаге этот 0 бар переходит в предыдущий и там закрытие становится известно

 Распечатайте цены методом ArrayPrint. Затем эти цены привяжите к скриншоту с барами - иначе неясно об чём речь.
 
Vladimir Karputov:

 Распечатайте цены методом ArrayPrint. Затем эти цены привяжите к скриншоту с барами - иначе неясно об чём речь.

 

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

В‌от эксперт:

//+------------------------------------------------------------------+
//|                                                       TestEA.mq5 |
//|                              Copyright © 2016, Vladimir Karputov |
//|                                           http://wmua.ru/slesar/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2016, Vladimir Karputov"
#property link      "http://wmua.ru/slesar/"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//--- we work only at the time of the birth of new bar
   static datetime PrevBars=0;
   datetime time_0=iTime(0);
   if(time_0==PrevBars)
      return;
   PrevBars=time_0;
//--- выводит значения 3 последних баров
   MqlRates rates[];
   if(CopyRates(_Symbol,_Period,1,3,rates))
     {
      //ArrayPrint(rates);
      Print("Проверка\n[time]\t[open]\t[high]\t[low]\t[close]\t[tick_volume]\t[spread]\t[real_volume]");
      for(int i=0;i<3;i++)
        {
         PrintFormat("[%d]\t%s\t%G\t%G\t%G\t%G\t%G\t%G\t%I64d\t",i,
                     TimeToString(rates[i].time,TIME_DATE|TIME_MINUTES|TIME_SECONDS),
                     rates[i].open,rates[i].high,rates[i].low,rates[i].close,
                     rates[i].tick_volume,rates[i].spread,rates[i].real_volume);
        }
     }
   else
      PrintFormat("CopyRates failed, error code=%d",GetLastError());
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---

  }
//+------------------------------------------------------------------+
//| Get Time for specified bar index                                 |
//+------------------------------------------------------------------+
datetime iTime(const int index,string symbol=NULL,ENUM_TIMEFRAMES timeframe=PERIOD_CURRENT)
  {
   if(symbol==NULL)
      symbol=Symbol();
   if(timeframe==0)
      timeframe=Period();
   datetime Time[1];
   datetime time=0;
   int copied=CopyTime(symbol,timeframe,index,1,Time);
   if(copied>0) time=Time[0];
   return(time);
  }
//+------------------------------------------------------------------+

Работает только в момент рождения нового бара.

Р‌аспечатка на таймфрейме M30, сервер MetaQuotes-Demo, RTS-3.17:

2017.03.02 13:23:39.146 2017.01.03 10:00:00   Проверка
2017.03.02 13:23:39.146 2017.01.03 10:00:00   [time] [open] [high] [low] [close] [tick_volume] [spread] [real_volume]
2017.03.02 13:23:39.146 2017.01.03 10:00:00   [0] 2016.12.30 22:30:00 114820 114960 114710 114780 1422 10 4003
2017.03.02 13:23:39.146 2017.01.03 10:00:00   [1] 2017.01.03 09:00:00 114970 116640 114970 116400 15808 10 41628
2017.03.02 13:23:39.146 2017.01.03 10:00:00   [2] 2017.01.03 09:30:00 116410 116880 116350 116580 8777 10 24622
2017.03.02 13:23:39.647 2017.01.03 10:30:00   Проверка
2017.03.02 13:23:39.647 2017.01.03 10:30:00   [time] [open] [high] [low] [close] [tick_volume] [spread] [real_volume]
2017.03.02 13:23:39.647 2017.01.03 10:30:00   [0] 2017.01.03 09:00:00 114970 116640 114970 116400 15808 10 41628
2017.03.02 13:23:39.647 2017.01.03 10:30:00   [1] 2017.01.03 09:30:00 116410 116880 116350 116580 8777 10 24622
2017.03.02 13:23:39.647 2017.01.03 10:30:00   [2] 2017.01.03 10:00:00 116590 116770 116420 116540 9704 10 24699
2017.03.02 13:23:40.142 2017.01.03 11:00:00   Проверка
2017.03.02 13:23:40.142 2017.01.03 11:00:00   [time] [open] [high] [low] [close] [tick_volume] [spread] [real_volume]
2017.03.02 13:23:40.142 2017.01.03 11:00:00   [0] 2017.01.03 09:30:00 116410 116880 116350 116580 8777 10 24622
2017.03.02 13:23:40.142 2017.01.03 11:00:00   [1] 2017.01.03 10:00:00 116590 116770 116420 116540 9704 10 24699
2017.03.02 13:23:40.142 2017.01.03 11:00:00   [2] 2017.01.03 10:30:00 116540 116910 116370 116850 9377 10 22963
2017.03.02 13:23:40.629 2017.01.03 11:30:00   Проверка
2017.03.02 13:23:40.629 2017.01.03 11:30:00   [time] [open] [high] [low] [close] [tick_volume] [spread] [real_volume]
2017.03.02 13:23:40.629 2017.01.03 11:30:00   [0] 2017.01.03 10:00:00 116590 116770 116420 116540 9704 10 24699
2017.03.02 13:23:40.629 2017.01.03 11:30:00   [1] 2017.01.03 10:30:00 116540 116910 116370 116850 9377 10 22963
2017.03.02 13:23:40.629 2017.01.03 11:30:00   [2] 2017.01.03 11:00:00 116840 117530 116680 117470 11319 10 32073
2017.03.02 13:23:41.096 2017.01.03 12:00:00   Проверка
2017.03.02 13:23:41.096 2017.01.03 12:00:00   [time] [open] [high] [low] [close] [tick_volume] [spread] [real_volume]
2017.03.02 13:23:41.096 2017.01.03 12:00:00   [0] 2017.01.03 10:30:00 116540 116910 116370 116850 9377 10 22963
2017.03.02 13:23:41.096 2017.01.03 12:00:00   [1] 2017.01.03 11:00:00 116840 117530 116680 117470 11319 10 32073
2017.03.02 13:23:41.096 2017.01.03 12:00:00   [2] 2017.01.03 11:30:00 117470 118230 117380 118140 20868 10 54006

Р‌аспечатка на таймфрейме M30, сервер MetaQuotes-Demo, RTS-3.17:

2017.03.02 13:22:18.108 2017.01.03 10:00:00   Проверка
2017.03.02 13:22:18.108 2017.01.03 10:00:00   [time] [open] [high] [low] [close] [tick_volume] [spread] [real_volume]
2017.03.02 13:22:18.108 2017.01.03 10:00:00   [0] 2016.12.30 22:30:00 115070 115120 114950 115020 820 10 1773
2017.03.02 13:22:18.108 2017.01.03 10:00:00   [1] 2016.12.30 23:00:00 115010 115020 114810 114830 1305 10 3411
2017.03.02 13:22:18.108 2017.01.03 10:00:00   [2] 2016.12.30 23:30:00 114820 114960 114710 114780 1422 10 4003
2017.03.02 13:22:18.699 2017.01.03 10:30:00   Проверка
2017.03.02 13:22:18.699 2017.01.03 10:30:00   [time] [open] [high] [low] [close] [tick_volume] [spread] [real_volume]
2017.03.02 13:22:18.699 2017.01.03 10:30:00   [0] 2016.12.30 23:00:00 115010 115020 114810 114830 1305 10 3411
2017.03.02 13:22:18.699 2017.01.03 10:30:00   [1] 2016.12.30 23:30:00 114820 114960 114710 114780 1422 10 4003
2017.03.02 13:22:18.699 2017.01.03 10:30:00   [2] 2017.01.03 10:00:00 114970 116640 114970 116400 15808 10 41628
2017.03.02 13:22:19.197 2017.01.03 11:00:00   Проверка
2017.03.02 13:22:19.197 2017.01.03 11:00:00   [time] [open] [high] [low] [close] [tick_volume] [spread] [real_volume]
2017.03.02 13:22:19.197 2017.01.03 11:00:00   [0] 2016.12.30 23:30:00 114820 114960 114710 114780 1422 10 4003
2017.03.02 13:22:19.197 2017.01.03 11:00:00   [1] 2017.01.03 10:00:00 114970 116640 114970 116400 15808 10 41628
2017.03.02 13:22:19.197 2017.01.03 11:00:00   [2] 2017.01.03 10:30:00 116410 116880 116350 116580 8777 10 24622
2017.03.02 13:22:19.679 2017.01.03 11:30:00   Проверка
2017.03.02 13:22:19.679 2017.01.03 11:30:00   [time] [open] [high] [low] [close] [tick_volume] [spread] [real_volume]
2017.03.02 13:22:19.679 2017.01.03 11:30:00   [0] 2017.01.03 10:00:00 114970 116640 114970 116400 15808 10 41628
2017.03.02 13:22:19.679 2017.01.03 11:30:00   [1] 2017.01.03 10:30:00 116410 116880 116350 116580 8777 10 24622
2017.03.02 13:22:19.679 2017.01.03 11:30:00   [2] 2017.01.03 11:00:00 116590 116770 116420 116540 9704 10 24699
2017.03.02 13:22:20.227 2017.01.03 12:00:00   Проверка
2017.03.02 13:22:20.227 2017.01.03 12:00:00   [time] [open] [high] [low] [close] [tick_volume] [spread] [real_volume]
2017.03.02 13:22:20.227 2017.01.03 12:00:00   [0] 2017.01.03 10:30:00 116410 116880 116350 116580 8777 10 24622
2017.03.02 13:22:20.227 2017.01.03 12:00:00   [1] 2017.01.03 11:00:00 116590 116770 116420 116540 9704 10 24699
2017.03.02 13:22:20.227 2017.01.03 12:00:00   [2] 2017.01.03 11:30:00 116540 116910 116370 116850 9377 10 22963



Файлы:
TestEA.mq5  6 kb
 
Я так понял, всё снова упирается в сервер. Сейчас буду переходить с Открытия в БКС. Просто всё же проверять на 1 контракте сложно, нужно склейка.
 
Vladimir Karputov:

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

В‌от эксперт:

//+------------------------------------------------------------------+
//|                                                       TestEA.mq5 |
//|                              Copyright © 2016, Vladimir Karputov |
//|                                           http://wmua.ru/slesar/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2016, Vladimir Karputov"
#property link      "http://wmua.ru/slesar/"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//--- we work only at the time of the birth of new bar
   static datetime PrevBars=0;
   datetime time_0=iTime(0);
   if(time_0==PrevBars)
      return;
   PrevBars=time_0;
//--- выводит значения 3 последних баров
   MqlRates rates[];
   if(CopyRates(_Symbol,_Period,1,3,rates))
     {
      //ArrayPrint(rates);
      Print("Проверка\n[time]\t[open]\t[high]\t[low]\t[close]\t[tick_volume]\t[spread]\t[real_volume]");
      for(int i=0;i<3;i++)
        {
         PrintFormat("[%d]\t%s\t%G\t%G\t%G\t%G\t%G\t%G\t%I64d\t",i,
                     TimeToString(rates[i].time,TIME_DATE|TIME_MINUTES|TIME_SECONDS),
                     rates[i].open,rates[i].high,rates[i].low,rates[i].close,
                     rates[i].tick_volume,rates[i].spread,rates[i].real_volume);
        }
     }
   else
      PrintFormat("CopyRates failed, error code=%d",GetLastError());
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---

  }
//+------------------------------------------------------------------+
//| Get Time for specified bar index                                 |
//+------------------------------------------------------------------+
datetime iTime(const int index,string symbol=NULL,ENUM_TIMEFRAMES timeframe=PERIOD_CURRENT)
  {
   if(symbol==NULL)
      symbol=Symbol();
   if(timeframe==0)
      timeframe=Period();
   datetime Time[1];
   datetime time=0;
   int copied=CopyTime(symbol,timeframe,index,1,Time);
   if(copied>0) time=Time[0];
   return(time);
  }
//+------------------------------------------------------------------+

Работает только в момент рождения нового бара.

Р‌аспечатка на таймфрейме M30, сервер MetaQuotes-Demo, RTS-3.17:

2017.03.02 13:23:39.146 2017.01.03 10:00:00   Проверка
2017.03.02 13:23:39.146 2017.01.03 10:00:00   [time] [open] [high] [low] [close] [tick_volume] [spread] [real_volume]
2017.03.02 13:23:39.146 2017.01.03 10:00:00   [0] 2016.12.30 22:30:00 114820 114960 114710 114780 1422 10 4003
2017.03.02 13:23:39.146 2017.01.03 10:00:00   [1] 2017.01.03 09:00:00 114970 116640 114970 116400 15808 10 41628
2017.03.02 13:23:39.146 2017.01.03 10:00:00   [2] 2017.01.03 09:30:00 116410 116880 116350 116580 8777 10 24622
2017.03.02 13:23:39.647 2017.01.03 10:30:00   Проверка
2017.03.02 13:23:39.647 2017.01.03 10:30:00   [time] [open] [high] [low] [close] [tick_volume] [spread] [real_volume]
2017.03.02 13:23:39.647 2017.01.03 10:30:00   [0] 2017.01.03 09:00:00 114970 116640 114970 116400 15808 10 41628
2017.03.02 13:23:39.647 2017.01.03 10:30:00   [1] 2017.01.03 09:30:00 116410 116880 116350 116580 8777 10 24622
2017.03.02 13:23:39.647 2017.01.03 10:30:00   [2] 2017.01.03 10:00:00 116590 116770 116420 116540 9704 10 24699
2017.03.02 13:23:40.142 2017.01.03 11:00:00   Проверка
2017.03.02 13:23:40.142 2017.01.03 11:00:00   [time] [open] [high] [low] [close] [tick_volume] [spread] [real_volume]
2017.03.02 13:23:40.142 2017.01.03 11:00:00   [0] 2017.01.03 09:30:00 116410 116880 116350 116580 8777 10 24622
2017.03.02 13:23:40.142 2017.01.03 11:00:00   [1] 2017.01.03 10:00:00 116590 116770 116420 116540 9704 10 24699
2017.03.02 13:23:40.142 2017.01.03 11:00:00   [2] 2017.01.03 10:30:00 116540 116910 116370 116850 9377 10 22963
2017.03.02 13:23:40.629 2017.01.03 11:30:00   Проверка
2017.03.02 13:23:40.629 2017.01.03 11:30:00   [time] [open] [high] [low] [close] [tick_volume] [spread] [real_volume]
2017.03.02 13:23:40.629 2017.01.03 11:30:00   [0] 2017.01.03 10:00:00 116590 116770 116420 116540 9704 10 24699
2017.03.02 13:23:40.629 2017.01.03 11:30:00   [1] 2017.01.03 10:30:00 116540 116910 116370 116850 9377 10 22963
2017.03.02 13:23:40.629 2017.01.03 11:30:00   [2] 2017.01.03 11:00:00 116840 117530 116680 117470 11319 10 32073
2017.03.02 13:23:41.096 2017.01.03 12:00:00   Проверка
2017.03.02 13:23:41.096 2017.01.03 12:00:00   [time] [open] [high] [low] [close] [tick_volume] [spread] [real_volume]
2017.03.02 13:23:41.096 2017.01.03 12:00:00   [0] 2017.01.03 10:30:00 116540 116910 116370 116850 9377 10 22963
2017.03.02 13:23:41.096 2017.01.03 12:00:00   [1] 2017.01.03 11:00:00 116840 117530 116680 117470 11319 10 32073
2017.03.02 13:23:41.096 2017.01.03 12:00:00   [2] 2017.01.03 11:30:00 117470 118230 117380 118140 20868 10 54006

Р‌аспечатка на таймфрейме M30, сервер MetaQuotes-Demo, RTS-3.17:

2017.03.02 13:22:18.108 2017.01.03 10:00:00   Проверка
2017.03.02 13:22:18.108 2017.01.03 10:00:00   [time] [open] [high] [low] [close] [tick_volume] [spread] [real_volume]
2017.03.02 13:22:18.108 2017.01.03 10:00:00   [0] 2016.12.30 22:30:00 115070 115120 114950 115020 820 10 1773
2017.03.02 13:22:18.108 2017.01.03 10:00:00   [1] 2016.12.30 23:00:00 115010 115020 114810 114830 1305 10 3411
2017.03.02 13:22:18.108 2017.01.03 10:00:00   [2] 2016.12.30 23:30:00 114820 114960 114710 114780 1422 10 4003
2017.03.02 13:22:18.699 2017.01.03 10:30:00   Проверка
2017.03.02 13:22:18.699 2017.01.03 10:30:00   [time] [open] [high] [low] [close] [tick_volume] [spread] [real_volume]
2017.03.02 13:22:18.699 2017.01.03 10:30:00   [0] 2016.12.30 23:00:00 115010 115020 114810 114830 1305 10 3411
2017.03.02 13:22:18.699 2017.01.03 10:30:00   [1] 2016.12.30 23:30:00 114820 114960 114710 114780 1422 10 4003
2017.03.02 13:22:18.699 2017.01.03 10:30:00   [2] 2017.01.03 10:00:00 114970 116640 114970 116400 15808 10 41628
2017.03.02 13:22:19.197 2017.01.03 11:00:00   Проверка
2017.03.02 13:22:19.197 2017.01.03 11:00:00   [time] [open] [high] [low] [close] [tick_volume] [spread] [real_volume]
2017.03.02 13:22:19.197 2017.01.03 11:00:00   [0] 2016.12.30 23:30:00 114820 114960 114710 114780 1422 10 4003
2017.03.02 13:22:19.197 2017.01.03 11:00:00   [1] 2017.01.03 10:00:00 114970 116640 114970 116400 15808 10 41628
2017.03.02 13:22:19.197 2017.01.03 11:00:00   [2] 2017.01.03 10:30:00 116410 116880 116350 116580 8777 10 24622
2017.03.02 13:22:19.679 2017.01.03 11:30:00   Проверка
2017.03.02 13:22:19.679 2017.01.03 11:30:00   [time] [open] [high] [low] [close] [tick_volume] [spread] [real_volume]
2017.03.02 13:22:19.679 2017.01.03 11:30:00   [0] 2017.01.03 10:00:00 114970 116640 114970 116400 15808 10 41628
2017.03.02 13:22:19.679 2017.01.03 11:30:00   [1] 2017.01.03 10:30:00 116410 116880 116350 116580 8777 10 24622
2017.03.02 13:22:19.679 2017.01.03 11:30:00   [2] 2017.01.03 11:00:00 116590 116770 116420 116540 9704 10 24699
2017.03.02 13:22:20.227 2017.01.03 12:00:00   Проверка
2017.03.02 13:22:20.227 2017.01.03 12:00:00   [time] [open] [high] [low] [close] [tick_volume] [spread] [real_volume]
2017.03.02 13:22:20.227 2017.01.03 12:00:00   [0] 2017.01.03 10:30:00 116410 116880 116350 116580 8777 10 24622
2017.03.02 13:22:20.227 2017.01.03 12:00:00   [1] 2017.01.03 11:00:00 116590 116770 116420 116540 9704 10 24699
2017.03.02 13:22:20.227 2017.01.03 12:00:00   [2] 2017.01.03 11:30:00 116540 116910 116370 116850 9377 10 22963



Я понял, что вы берете не последний бар, а предпоследний 
CopyRates(_Symbol,_Period,1,3,rates) Поэтому если вы хотите просчитать что-то на последнем баре, вы должны подождать его закрытие, высчитать что-то на следующем баре и показать это уже дальше. Получается вы высчитываете с опозданием в 1 бар.

P.s. например, я должен изменить SL в зависимости от бара. Т.е. Я получаю данные за предыдущий закрывшийся бар, изменяю SL и он изменится только на следующем баре. В итоге у меня получается всегда промежуточный бар.
 
используйте CopyRates(_Symbol,_Period,0,3,rates) 
 
Fresto:
Я понял, что вы берете не последний бар, а предпоследний 
CopyRates(_Symbol,_Period,1,3,rates) Поэтому если вы хотите просчитать что-то на последнем баре, вы должны подождать его закрытие, высчитать что-то на следующем баре и показать это уже дальше. Получается вы высчитываете с опозданием в 1 бар.

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

И вот тогда у нас по бару одно и то же значение у close, open, high, low. 

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