Столкнулся с такой проблемой - в данных массивов High[], Open[] и иже
с ними случаются пропуски - различного размера, по различным
причинам.. У себя я их проверял вот таким скриптиком, можете
пронать на своих данных:
Пропусков получил достаточное количество (хотя с качеством
связи у меня все ok). Так вот, проблема в следующем. Смотрю на код
расчета например MA (см. пользовательский индикатор moving averages)
voidsma(){doublesum=0;
inti,pos=Bars-ExtCountedBars-1;
//---- initial accumulationif(pos<MA_Period)pos=MA_Period;
for(i=1;i<MA_Period;i++,pos--)sum+=Close[pos];
//---- main calculation loopwhile(pos>=0){sum+=Close[pos];
ExtMapBuffer[pos]=sum/MA_Period;
sum-=Close[pos+MA_Period-1];
pos--;
}//---- zero initial barsif(ExtCountedBars<1)for(i=1;i<MA_Period;i++)ExtMapBuffer[Bars-i]=0;
}
Вся процедура выполняется не НА ОПРЕДЕЛЕННОЕ ВРЕМЯ НАЗАД, а
на ОПРЕДЕЛЕННОЕ ЧИСЛО ЭЛЕМЕНТОВ МАССИВА - Close[] в данном случае.
Т.е. с учетом пропусков в данных в значении индикатора можно
получить расчет индикатора то например по значениям на час
назад, то на два.. А при плохом качестве данных - вообще тогда
не понятно, чего будет показываеть индикатор. Короче - вот проблема,
а чего с ней делать - высказывайтесь. Если кто считает, что это
не проблема - обоснуйте, pls.
Пропусков получил достаточное количество (хотя с качеством связи у меня все ok). Так вот, проблема в следующем. Смотрю на код расчета например MA (см. пользовательский индикатор moving averages)
Вся процедура выполняется не НА ОПРЕДЕЛЕННОЕ ВРЕМЯ НАЗАД, а на ОПРЕДЕЛЕННОЕ ЧИСЛО ЭЛЕМЕНТОВ МАССИВА - Close[] в данном случае. Т.е. с учетом пропусков в данных в значении индикатора можно получить расчет индикатора то например по значениям на час назад, то на два.. А при плохом качестве данных - вообще тогда не понятно, чего будет показываеть индикатор. Короче - вот проблема, а чего с ней делать - высказывайтесь. Если кто считает, что это не проблема - обоснуйте, pls.