Пропуски в данных и индикаторы. Важно!!

 
Столкнулся с такой проблемой - в данных массивов High[], Open[] и иже с ними случаются пропуски - различного размера, по различным причинам.. У себя я их проверял вот таким скриптиком, можете пронать на своих данных:

int fh;
int start()
{
  int g, gf;
  gf = 0;
  for(int i=0; i<=Bars; i++){
    g = Time[i]-Time[i+1];
    if ((g/60)>Period()){ 
      FileWrite(fh,i,g);
      gf+=1;
      Comment("Found:"+gf);
    }
  }
  Comment("Done, Found:"+gf);
  return(0);
}

int init(){
   fh = FileOpen("tst_gate.csv", FILE_CSV|FILE_WRITE,';');
   FileWrite(fh,"i;time");
}

int deinit(){
   FileClose(fh);
}



Пропусков получил достаточное количество (хотя с качеством связи у меня все ok). Так вот, проблема в следующем. Смотрю на код расчета например MA (см. пользовательский индикатор moving averages)

void sma()
  {
   double sum=0;
   int    i,pos=Bars-ExtCountedBars-1;
//---- initial accumulation
   if(pos<MA_Period) pos=MA_Period;
   for(i=1;i<MA_Period;i++,pos--)
      sum+=Close[pos];
//---- main calculation loop
   while(pos>=0)
     {
      sum+=Close[pos];
      ExtMapBuffer[pos]=sum/MA_Period;
	   sum-=Close[pos+MA_Period-1];
 	   pos--;
     }
//---- zero initial bars
   if(ExtCountedBars<1)
      for(i=1;i<MA_Period;i++) ExtMapBuffer[Bars-i]=0;
  }



Вся процедура выполняется не НА ОПРЕДЕЛЕННОЕ ВРЕМЯ НАЗАД, а на ОПРЕДЕЛЕННОЕ ЧИСЛО ЭЛЕМЕНТОВ МАССИВА - Close[] в данном случае. Т.е. с учетом пропусков в данных в значении индикатора можно получить расчет индикатора то например по значениям на час назад, то на два.. А при плохом качестве данных - вообще тогда не понятно, чего будет показываеть индикатор. Короче - вот проблема, а чего с ней делать - высказывайтесь. Если кто считает, что это не проблема - обоснуйте, pls.

 
Ищите в форуме, все эти вопросы уже всплывали не раз. Не ленитесь.
 
Ищите в форуме, все эти вопросы уже всплывали не раз. Не ленитесь.


Что-то я не нашел информации на форуме, какой смысл может иметь индикатор, значение которого в каждой точке расчитано по различному временному периоду (случайному?).
 
Знаешь, есть куча народу, которые вообще не видят смысла в индикаторах. Кто прав?
Истина где-то посередине, наверно.
 
Знаешь, есть куча народу, которые вообще не видят смысла в индикаторах. Кто прав?
Истина где-то посередине, наверно.


Зачем же в философию уходить :) Нет смысла использовать индикаторы, принципа работы которых не понимаешь - думаю причин объяснять не надо.. А тут как раз то случай, когда становится непонятен даже принцип работы MA.
 
"не философский" ответ -
1. в индикаторе предусматриваешь блок кода, который будет "умно" обрабатывать "дырявые" участки
2. пишешь скрипт, который будет моделировать отсутствующие бары и вставлять их в историю
как вариант можно "смотреть" другие т-ф и укладываться в их рамки
 
"не философский" ответ -
1. в индикаторе предусматриваешь блок кода, который будет "умно" обрабатывать "дырявые" участки
2. пишешь скрипт, который будет моделировать отсутствующие бары и вставлять их в историю
как вариант можно "смотреть" другие т-ф и укладываться в их рамки


1. Т.е. от использования встроенных индикаторов отказываемся?
2. Чревато. К тому же не вижу, от чего индикатор, непонятный на "реальных" данных будет понятнее, если его построить на придуманных :)
 
Тут есть еще кучка неприятных вещей с этим связанных:

1. Горизонтальная ось графиков в MT лишается смысла, т.е. непонятно, чего она означает. Надписи в виде дат выглядят смешно.. лучше (да и честнее) уж тогда писать номера баров :)
2. Результатам тестирования советников можно доверять (относительно) только при работе с одним и тем же ДЦ (ибо количество, длительность и собственно время пропусков в данных разных ДЦ различны).
3. Результатам тестирования советников, использующие встроенные (или написанные по тому же принципу, что встроенные) индикаторы доверять нельзя вообще - т.к. даже при поведении рынка, аналогичном поведению на тестовом периоде, пропуски в данных ЗНАЧИТЕЛЬНО влияют на значения идикаторов.
4. Про доверие советникам, оптимизированных на придуманных ("фрактальным" :) способом) данных я думаю вообще говорить излишне.. Достаточно набрать "грааль" в поиске :)
 
Думаю, что решение во многом зависит от постановки задачи.
А пропуски в реальной жизни будут всё равно.
Причина обращения: