Скачать MetaTrader 5

Windows 7

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Alexandr Bryzgalov
29209
Alexandr Bryzgalov 2010.09.18 10:23 

Столкнулся с этой виндой

и оказалось что вот такой кусок кода не хочет работать, вернее работает, но файл не создаёт, в лог ничего не пишет(всмысле ошибок при выполнении нет), подскажите как бороться?

   string FileName="Forex_dashboard2_"+"EURUSD"+".txt";
   int handle=FileOpen(FileName,FILE_CSV|FILE_WRITE,'/');
   if(handle<1)
   {
      Print("File "+FileName+" can\'t open ",GetLastError());// Упс... неудача... повторим попытку на следующем тике
      //return(0);
   }  
   else 
   {
      int i = Bars - 1;
      FileWrite(handle,"Время свечи","Открытие свечи","Закрытие свечи","Объём","Процент по открытию свечи","Процент по закрытию свечи");
      while(i>=0)
      {
         double PercentClose,PercentOpen;
         double ld_0 = iHigh("EURUSD", PERIOD_D1, iBarShift("EURUSD",PERIOD_D1,iTime("EURUSD",0,i),false)) 
                     - iLow("EURUSD", PERIOD_D1, iBarShift("EURUSD",PERIOD_D1,iTime("EURUSD",0,i),false));
         if (ld_0 != 0.0) 
            PercentClose = 100.0 * ((iClose("EURUSD", 0, i) - iLow("EURUSD", PERIOD_D1, iBarShift("EURUSD",PERIOD_D1,iTime("EURUSD",0,i),false))) / ld_0);
         else PercentClose = 0;
         if (ld_0 != 0.0) 
            PercentOpen = 100.0 * ((iOpen("EURUSD", 0, i) - iLow("EURUSD", PERIOD_D1, iBarShift("EURUSD",PERIOD_D1,iTime("EURUSD",0,i),false))) / ld_0);
         else PercentOpen = 0;
         string Data_B=TimeToStr(iTime("EURUSD",0,i),TIME_DATE)+" "+TimeToStr(iTime("EURUSD",0,i),TIME_MINUTES);
         FileWrite(handle,Data_B,iOpen("EURUSD",0,i),iClose("EURUSD",0,i),iVolume("EURUSD",0,i),PercentOpen,PercentClose);
         i--;
      }
      FileClose(handle);
   }
на XP работает нормально
Candid
1630
Candid 2010.09.18 10:32  
Если терминал на диске С, то лучше установить его на другой диск. Меня эта мера избавила от нескольких мистических эффектов.
hasayama
612
hasayama 2010.09.18 10:39  

Использую 7-ку.

Просто скопировал ваш код в int() советника и запустил на график. Все отработало как нужно...

hasayama
612
hasayama 2010.09.18 10:40  
Кстати, да, у семерки проблемы с правами доступа. Лучше не использовать системный диск.
IgorM М
4801
IgorM М 2010.09.18 10:43  

здесь искал файл?

C:\Users\Игорь\AppData\Local\VirtualStore\Program Files\MetaTrader - Alpari\experts\files

если не выставлен контроль учетных записий 

hasayama:
Кстати, да, у семерки проблемы с правами доступа. Лучше не использовать системный диск.
можно использовать системный диск, но файлы будут в папке VirtualStore, см. скрин
Alexandr Bryzgalov
29209
Alexandr Bryzgalov 2010.09.18 14:03  
IgorM:

здесь искал файл?

C:\Users\Игорь\AppData\Local\VirtualStore\Program Files\MetaTrader - Alpari\experts\files

если не выставлен контроль учетных записий

можно использовать системный диск, но файлы будут в папке VirtualStore, см. скрин


Спасибо, переустановка терминала прямо на диск С помогла, а вот указанную папку обнаружить не получилось )
Vadim Zhunko
5240
Vadim Zhunko 2010.09.18 16:28  
sanyooooook:

Спасибо, переустановка терминала прямо на диск С помогла, а вот указанную папку обнаружить не получилось )
Она невидимая. Если лень видимость включить, то можно в адресную строку скопировывать выше указанный путь с именем своей учётной записи.
Alexandr Bryzgalov
29209
Alexandr Bryzgalov 2010.09.18 16:32  
Zhunko:
Она невидимая. Если лень видимость включить, то можно в адресную строку скопировывать выше указанный путь с именем своей учётной записи.

дело в том что я не устанавливал семёрку, это все заказчик )

Debugger
2501
Debugger 2010.09.19 11:58  

Если Используете Висту или 7 и при этом устанавливаете терминал по умолчанию в Program Files то ОБЯЗАТЕЛЬНО  нужно изменить права доступа для каталога в котором установлен терминал.

Необходимо для обычных пользователей разрешить запись в этот каталог. Тогда не придется мудрить в внутренней системой защиты виртуальным хранилищем.

 Все сразу начинает работать как в XP

Alexandr Bryzgalov
29209
Alexandr Bryzgalov 2010.09.19 12:05  
Debugger:

Если Используете Висту или 7 и при этом устанавливаете терминал по умолчанию в Program Files то ОБЯЗАТЕЛЬНО нужно изменить права доступа для каталога в котором установлен терминал.

Необходимо для обычных пользователей разрешить запись в этот каталог. Тогда не придется мудрить в внутренней системой защиты виртуальным хранилищем.

Все сразу начинает работать как в XP


Сам ни с Вистой ни семёркой не общался, не хочу, а вот юзверю как-то надо объяснить, для меня проще было попросить её, переустановить терминал в другое место )
Alexandr Bryzgalov
29209
Alexandr Bryzgalov 2010.09.19 12:24  
Debugger:

Зачем все усложнять?

Устанавливай все по умлчанию и измени права доступа. Потом работай как с ХР и радуйся жизни.

Зачем менять привычки если они тебя устраивают? :))


Ты не наверно не понял, мне вообще фиолетово как там на семерке все нужно делать, у меня ХР, скрипт не работал у заказчика(девушка, новичок на Forex, компьютер приобрела недавно), так как у меня нет ХР я спросил тут в чем может быть причина, мне дали ответ, я понял что причина в правах доступа, что бы долго не мучаться с объяснениями что и как сделать, попросил заказчика переустановить терминал в другое место, тем самым сэкономил время, нервы и себе и заказчику.
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий