Почему из пользовательского индикатора нельзя работать с файлами?

 
Я ему говорю file = FileOpen(...), а он мне FileOpen function can not be called from the custom indicator..

Отладчика и так нет, так вы еще и файлы в МТ4 отключили...
 
пользовательские индикаторы работают в интерфейсном потоке, в отличие от экспертов и скриптов. поэтому часть функций мы запретили для использования в индикаторах.
если Вы хотите отладку, то используйте функцию Print. мы специально разделили логи терминала и логи экспертов, чтобы не устраивать мешанину. либо пишите свои длльские функции. мы публиковали пример использования на форуме Альпари по программированию. скоро и у нас выложим.