Подскажите про максимальное количество баров в выборке

 

Почему в таком коде цикл делает только 10 000 итераций?

int МаксКоличествоБаров = 20000;

for(int n=МаксКоличествоБаров; n>=20; n--) { <ТЕЛО_ЦИКЛА> }

Чему бы не было равно "МаксКоличествоБаров", цикл всегда делает только 10 000 итераций, а потом вываливается?

Ставишь МаксКоличествоБаров = 30 000, он дойдет до 20 000, и т.п.

Вот такой индикатор в окне сообщений выдает только 10 000 строк, от 50 000 до 40 000. Что за бред?

#property indicator_chart_window

int init()
{
return(0);
}

int deinit()
{
return(0);
}

int start()
{
for(int n=50000; n>10000; n--)
{
Alert("n: " + DoubleToStr(n, 0));
}

return(0);
}

 

только заметь, что

int i = 0;

for(int n=50000; n>10000; n--)
{
// Alert("n: " + DoubleToStr(n, 0));

i++;
}

Alert(i);

выдает 40000, делай выводы..

 

Так чему верить? Мне надо перебрать все бары, которые есть. У меня есть подозрения, что они обрабатываются не полностью, потому что результаты в МТ4 и в другой программе с таким же алгоритмом, написанной на другом языке, оказываются различными, причем полностью.

 

тогда трассируй через лог-файл если сомневаешься:

int handle = FileOpen("log.txt", FILE_WRITE);
for(int n=50000; n>10000; n--) {
FileWrite(handle, "n: " + DoubleToStr(n, 0));
}
FileClose(handle);

 
antslag писал (а) >>

тогда трассируй через лог-файл если сомневаешься:

int handle = FileOpen("log.txt", FILE_WRITE);
for(int n=50000; n>10000; n--) {
FileWrite(handle, "n: " + DoubleToStr(n, 0));
}
FileClose(handle);

Хороший идей. Спасибо.

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