Ошибка оператора for или что это?

 
Здравствуйте! Весь форум неасилил перекопать, поэтому задам вопрос по-новому (если он уже был задан извините).

У меня как то неправильно работает цикл for (while и ему подобные).
Вот первый кусок кода:

for(int i=0; i<362; i++)
{
Print("i=>", i);
}

В распечатке я вижу
i=>158
i=>159
...
i=>362

То есть i никак не начинается с 0 !

Далее
int i=362
while(i>0)
{
Print("i=>", i);
i=i-1
}
В распечатке я вижу
i=202
i=201
...
i=0
и опять не правильный отсчет идет..
Что это - ошибка метатрейдера или я совсем плохой стал???

Подскажите пожалуйста!
 
RainMan:
Здравствуйте! Весь форум неасилил перекопать, поэтому задам вопрос по-новому (если он уже был задан извините).

У меня как то неправильно работает цикл for (while и ему подобные).
Вот первый кусок кода:

for(int i=0; i<362; i++)
{
Print("i=>", i);
}

В распечатке я вижу
i=>158
i=>159

Что это - ошибка метатрейдера или я совсем плохой стал???

Подскажите пожалуйста!
Тоже попробовал, получил распринтовку начиная со 120, а не с 0. Но завершилось значением 361, а не 362



Перезапустил второй раз, и распринтовка уже начинается со 121



Скрипт прилагается

Файлы:
test.mq4  1 kb
 
Смотрите в файлах протоколов. При большой частоте вывода не все результаты отображаются в терминале.
 

ну вы даете, смеялся долго =))

 
bstone:
Смотрите в файлах протоколов. При большой частоте вывода не все результаты отображаются в терминале.
В логах все нормально от 0 до 361.

Будем теперь знать, что некоторые принты могут в журнале не отражаться.
 
А чего тут смеяться - нигде не написано что информационное окно служит лишь для красоты и написанному не нужно верить. В файле логов действительно все есть. Как же теперь тестировать с большим кол-вом выходной дебаговской информации? У меня файл заполняется лишь после закрытия терминала... А до этого файл пуст.
 

Да все нормально. Добавил слип в 1 секунду и все стало нормально.

Просто Принт не успевал печатать и всего-то.

Методом тыка уменьшил слип до 2 милисекунд= нормально.

На 1 милисекунде начинает принтовать примерно с i= 60

 
D500_Rised:

Да все нормально. Добавил слип в 1 секунду и все стало нормально.

Просто Принт не успевал печатать и всего-то.

Это если скрипт запустить. А большинство программеров отлаживают коды в тестере через Print(), где Sleep() вообще не работает. Поэтому такая инфа о том, что журналу нельзя верить, весьма полезна.

Тут еще и доступ к логам блокируется, пока терминал не выгрузишь, что дополнительные траблы добавляет.
 
wenay:

ну вы даете, смеялся долго =))

:-)


>Это если скрипт запустить. А большинство программеров отлаживают коды в тестере через Print(), где Sleep() вообще не работает. Поэтому такая инфа о том, что журналу нельзя верить, весьма >полезна.

к сожалению это от не знаний языка

все правильно работает

от 0 до 361
 
RainMan:
А чего тут смеяться - нигде не написано что информационное окно служит лишь для красоты и написанному не нужно верить. В файле логов действительно все есть. Как же теперь тестировать с большим кол-вом выходной дебаговской информации? У меня файл заполняется лишь после закрытия терминала... А до этого файл пуст.

Незнаю почему у меня на Висте по умолчанию стоит предел этого текстовика, и больше 200мег он не весит =)), а на ХР предела нету, вечно по 2-3 гига при отладке =))
 
wenay:
RainMan:
А чего тут смеяться - нигде не написано что информационное окно служит лишь для красоты и написанному не нужно верить. В файле логов действительно все есть. Как же теперь тестировать с большим кол-вом выходной дебаговской информации? У меня файл заполняется лишь после закрытия терминала... А до этого файл пуст.

Незнаю почему у меня на Висте по умолчанию стоит предел этого текстовика, и больше 200мег он не весит =)), а на ХР предела нету, вечно по 2-3 гига при отладке =))
Значит удаляет какую-то инфу, как предел достигнут. Тогда зачем Вам вообще этот файл, если ему обрезание сделали и в журнал не все пишется?
Причина обращения: