Маленький экспериментик над тиковыми данными или насколько полезно функция iVolume()?

 

Доброго времени суток!

Сегодня совершенно случайно я обратил внимание на объем тиков на один
день по валютным парам EURUSD на дату 2011.11.02. Значит на метатрейдере
объем тиков на D1 показал 51000. Я удивился и решил сделать эксперимент по всем
таймфреймам, и посчитал сумму по каждому таймфрейму на один день. Вот что получилось:

//+------------------------------------------------------------------+
//|                                                 TickByPeriod.mq4 |
//+------------------------------------------------------------------+
#property copyright ""
#property link      ""
extern datetime StartDate=D'2011.11.02 00:00';
extern datetime EndDate  =D'2011.11.03 00:00';
//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start(){
   int tPeriod[7];
   tPeriod[0]=PERIOD_D1;
   tPeriod[1]=PERIOD_H4;
   tPeriod[2]=PERIOD_H1;
   tPeriod[3]=PERIOD_M30;
   tPeriod[4]=PERIOD_M15;
   tPeriod[5]=PERIOD_M5;
   tPeriod[6]=PERIOD_M1;
   
   int mPeriod[7];
   for(int i=0; i<ArraySize(tPeriod); i++){
      for(int i0=iBarShift(NULL,tPeriod[i],StartDate); i0>iBarShift(NULL,tPeriod[i],EndDate); i0--){
         mPeriod[i]=mPeriod[i]+iVolume(NULL,tPeriod[i],i0);
      }
   }
   
   Alert("D1->",mPeriod[0],", H4->",mPeriod[1],", H1->",mPeriod[2],
   ", M30->",mPeriod[3],", M15->",mPeriod[4],", M5->",mPeriod[5],", M1->",mPeriod[6]);
}
//+------------------------------------------------------------------+

и скрипт выдал такой результат: D1->51000, H4->30999, H1->26892, M30->26045, M15->23636, M5->21527, M1->19199

Я проверил историю таймфреймов. Пробелов в истории нету. Из этого можно сделать вывод. что объем тиков которого
мы получаем из метатрейдера не всегда бывает правильным, и соответственно индикаторы работающие на основание
объема тиков конечно же будут работать неправильно.

Файлы:
 
DominoesFX:

Доброго времени суток!

Сегодня совершенно случайно я обратил внимание на объем тиков на один
день по валютным парам EURUSD на дату 2011.11.02. Значит на метатрейдере
объем тиков на D1 показал 51000. Я удивился и решил сделать эксперимент по всем
таймфреймам, и посчитал сумму по каждому таймфрейму на один день. Вот что получилось:

и скрипт выдал такой результат: D1->51000, H4->30999, H1->26892, M30->26045, M15->23636, M5->21527, M1->19199

Я проверил историю таймфреймов. Пробелов в истории нету. Из этого можно сделать вывод. что объем тиков которого
мы получаем из метатрейдера не всегда бывает правильным, и соответственно индикаторы работающие на основание
объема тиков конечно же будут работать неправильно.


2011.11.06 21:30:33 TickByPeriod EURUSD,Daily: Alert: D1->109731, H4->109731, H1->109731, M30->109731, M15->109731, M5->109731, M1->109731

2011.11.06 21:30:31 TickByPeriod EURUSD,Daily inputs: StartDate='2011.07.12 00:00'; EndDate='2011.07.13 00:00';

2011.11.06 21:32:44 TickByPeriod EURUSD,Daily: Alert: D1->111220, H4->111220, H1->111220, M30->111217, M15->111216, M5->111220, M1->111220

2011.11.06 21:32:43 TickByPeriod EURUSD,Daily inputs: StartDate='2011.11.02 00:00'; EndDate='2011.11.03 00:00';



 
Vinin:

2011.11.06 21:32:44 TickByPeriod EURUSD,Daily: Alert: D1->111220, H4->111220, H1->111220, M30->111217, M15->111216, M5->111220, M1->111220

Видите отличаются.

 

Обновил информацию по графикам (все таки не все таймфреймы открыты)

2011.11.06 21:58:39 TickByPeriod EURUSD,Daily: Alert: D1->111220, H4->111220, H1->111220, M30->111220, M15->111220, M5->111220, M1->111220

2011.11.06 21:58:39 TickByPeriod EURUSD,Daily inputs: StartDate='2011.11.02 00:00'; EndDate='2011.11.03 00:00';

 
Vinin:

Обновил информацию по графикам (все таки не все таймфреймы открыты)

2011.11.06 21:58:39 TickByPeriod EURUSD,Daily: Alert: D1->111220, H4->111220, H1->111220, M30->111220, M15->111220, M5->111220, M1->111220

2011.11.06 21:58:39 TickByPeriod EURUSD,Daily inputs: StartDate='2011.11.02 00:00'; EndDate='2011.11.03 00:00';


У меня все таймфреймы открыты. но данные по некоторым датам все равно не совпадают.
или это с Дилинговым Центром связано?

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