Тест идёт только 1 раз!

 
Скажите, люди добрые, из за чего может быть такая фихня:
Запускается тест, работает, получаем результат.
НО после повторгого запуска не рабтает, то есть всё отслеживает, а сделок не делает!
Пока не перезапустимтся терминал.
И то же самое в оптимизации - арботает толкьо первая сделака, потом пустота идёт.
Отчего так может быть? Иль я много кофе пил? :)
 
У меня было такое. Запоминал время последнего бара в переменную. При каждом проходе оптимизации init() вызывается, но переменные не ПЕРЕИНИЦИАЛИЗИРУЮТСЯ. Об этом уже писалось но разработчики это так и оставили. В итоге первый и последующий запуски эксперта не идентичны. В init() надо вручную инициализировать переменные с которыми производится сравнение до инициализации.
 
Вы ничего не сказали про номер билда
 
А билды последние, 177 и 178
Вот засада...
 
у меня действительно кое-что инициализируется в init() , сегодня придется переписать, пока этот баг не поправили...
 
Может, всё же кто ни то скажет, почему такая ботва приключается и что мне с этим делать???
Надоело каждый раз перегружать для теста, да и оптимизацию не прогнать....
 
"С помощью пистолета и доброго слова можно добиться гораздо больше, чем просто с помощью доброго слова" Аль Капоне.
Код на экспертизу отдавал?
 
Хехе... Весь код отдавать - это
1. месяц разбираться будут, что там вообще написано
2. не у меня одного траблс то, мож уже знают, почему так бывает???
 
А вот и отловленный токко что ТРАБЛ:
Вставляю такую строчку:

// проверим, не слишком ли часто пытаемся открыться?
// если последний раз торговали менее чем 15 min (60*15=900 сек) назад, то выходим
if(CurTime()-OrderOpenTime()<900)
{
Print("Время не вышло... Текущее время: ", TimeToStr(CurTime(),TIME_DATE|TIME_SECONDS), " последний ордер: ", TimeToStr(OrderOpenTime(),TIME_DATE|TIME_SECONDS));
return(0);
}

Вот и выбрасывает меня.... Со словами (например):
2005.07.29 13:43:51 2005.07.21 16:00 Urovni Torg BAG EURUSD,H1: Время не вышло... Текущее время: 2005.07.21 16:00:06 последний ордер: 2005.07.28 10:00:00

Тут уж ёжику понятно, что что-то не так со временем!
Господа разработчики - ЧТО неправильно???
Почему программа в тестере при запуске нового теста считает время последнего открытого ордера с ПРЕДЫДУЩЕГО теста???
И как, к стати, его обнулить вручную то?
 
U menia toze samoje, perezapusakju metatrader posle kazdovo testa:(

I vot jies4io odna oshybka lezet:

Posle mnogo ciklov , ObjectCreate(), GlobalVariableSet() test ostanavlivajetsia na random mesto,i xot' ubej, tam nikakix exit() iz samovo sloznovo eksperta netu, a test ostonavlivajetsia. I eto mozet byt' sviazanno s temi samymi oshybkami testera..
Build 178

I, ja ponimaju, 4to v metatrader vstrojana VM dlia obrabotki komand indikatorov i ekspertov (aka tipa Java VM), no eto vsio i oslozniajet, rabotajet mnogo medlenneje 4em original'nyj kod kokda jiest' xot' cikl v cikle odnovo urovnia s funkcijami tipa Highest(),Lowest() intervala 200+ barov i t.d., i jies4io oshybki lezut kokda obrabatyvajetsia nitipi4nyj kod eksperta/indikatora.
 
Странно.. Вот я НИЧЕГО не делал - а оно опять заработало!
Велика и могуча есть судьба...
Причина обращения: