Блин, да еще 1.15 сделали в Финами обязательным обновлением... У меня все скрипты перестали работать.

Я xml архивом не пользуюсь, сам с файлами работаю. Открываю файл на чтение в ините, потом закрываю, потом октрываю на wopen и пишу по мере работы скрипта. В частности есть запись в этот файл и в самом конец инита. (В общем все как у вас в тестово м примере на вики "Сохранение данных в файл" + запись в файл в конце инита). В 1.8 все нормально работало.
А теперь похоже file.close() перестало работать. В чем проявляется:
1) при запуске скрипта - по прежнему скрипт при запуске выполняет инит 2-3 раза (старый глюк, я надеялся в 1.15 исправился. для справки у меня 3 графика с автозапускаемыми скриптами), так вот при чтении из файла с переменными при втором запуске инита (при первом запуске - он мне все переменные нормально заполняет) мне заполняет переменные пустыми местами. Вывод запись в файл в конце инита не состоялась корректно. Возможно потому, что файл плохо закрылся или "недооткрылся". Проверяем эту гипотезу:
2) пытался это лечить следующим образом (ниже кусок инита):
file.ropen(); // это было в изначальном скрипте
чтение переменных из файла; // это было в изначальном скрипте
file.close(); // это было в изначальном скрипте
while(file.isopen()) {file_log.writeLn(getFormattedDateTime(getServerTime())+": не успело закрыть");}
file.wopen(); // это было в изначальном скрипте
запись переменных в файл // это было в изначальном скрипте
file.close();
В результате транзак при запуске графики не открывает - там пустые места а в лог - в другой открытый файл (file_log) пишет "не успело закрыть". я пару минут, пока она мне в файл 100 МБ накатало подождал. В общем не успело оно за 2 минуты файл закрыть...
В общем получается, что файл действительно не закрывается после чтения
Но увы не все так просто. Если закомментарить while - После 3-го запуска инита вызывается (быстрее чем через 2 минуты) onNewCandle , в конце которого тоже стоит сохранение в файл, а в начале (при первом запуске onNewCandle ) file.wopen(). И при этом, правда с глюками (переменные==0 не сохраняет, не смотря на использование as_string(переменная)) сохранение работает.
Т.е. - есть альтернативная гипотеза - при втором/третье вызове инита некорректно работает file.ropen из-за слишком быстрого подряд вызова. Но почему не работает - может потому что file.close(), которое в конце инита не успевает исполниться, или вообще не работает?

Ибо, если его file.close() из конца инита убрать, т.е. когда file.close() точно не работает - наблюдаются те же эффекты.
И опять же в 1.8 то же выполнение инита 3 раза подряд не мешало корректно работать и открывать файл на чтение, даже несмотря на то, что он был в состоянии "открыт на запись" (file.close() в конце инита не было) перед вторым и третьим запуском инита.
Проверяйте file.close и в любом случае исправляйте тройной вызов инита.