Спасибо, код работает отлично, он создает файл, когда советник загружен, затем на каждом тике я открываю файл, помещаю в него кучу информации и затем закрываю его. Но как только он открывает ордер, он больше не работает.
Я искал это везде и не могу найти никакой информации об ошибке, я не могу найти никого, у кого была такая же проблема, я не могу найти никого с такой же ошибкой, у некоторых людей было:
"недопустимое целое число в качестве параметра 1 для функции TimeToNumber ".
Но я не могу найти ничего о:
"invalid integer number as parameter 1 for FileWritefunction ".
Спасибо, код работает нормально, он создает файл, когда советник загружен, затем на каждом тике я открываю файл, помещаю в него кучу информации и затем закрываю его. Но как только он открывает ордер, он больше не работает.
Я искал это везде и не могу найти никакой информации об ошибке, я не могу найти никого, у кого была такая же проблема, я не могу найти никого с такой же ошибкой, у некоторых людей было:
"недопустимое целое число в качестве параметра 1 для функции TimeToNumber ".
Но я не могу найти ничего о:
"invalid integer number as parameter 1 for FileWritefunction ".
SUre, это код для функции init :
int init() { //---- File_Name = StringConcatenate(Name_of_file, " - ", Symbol(), " - ", TimeToStr(TimeLocal(),TIME_DATE), " - ", TimeHour(TimeLocal()), ".", TimeMinute(TimeLocal()), ".", TimeSeconds(TimeLocal()), ".txt"); Handle=FileOpen(File_Name,FILE_CSV|FILE_WRITE,";");//File opening if(Handle==-1) // File opening fails { Alert("An error while opening the file. ",// Error message "May be the file is busy by the other applictiom"); PlaySound("Bzrrr.wav"); // Sound accompaniment return; // Exir start() } FileClose( Handle ); //---- return(0); }
Так что это просто создает файл.
Затем в функции start я открываю файл:
Handle=FileOpen(File_Name,FILE_CSV|FILE_READ|FILE_WRITE,";");//File opening //Handle = 1; Print("Handle: ", Handle); if(Handle==-1) // File opening fails { Alert("An error while opening the file. ",// Error message "May be the file is busy by the other applictiom"); PlaySound("Bzrrr.wav"); // Sound accompaniment return; // Exir start() } FileSeek(Handle, 0, SEEK_END);
И затем я пишу в файл, например:
Qnt_Symb=FileWrite(Handle,"**** STARTING TICK ", Symbol(), ": ", TimeToStr(TimeLocal(),TIME_DATE|TIME_SECONDS), " ****"); Qnt_Symb=FileWrite(Handle,"************************************************************");
И затем я закрываю файл в конце.
Qnt_Symb=FileWrite(Handle,"***************************"); Qnt_Symb=FileWrite(Handle,"**** END TICK ", Symbol(), " ****"); FileClose( Handle ); //---- return(0);
И это все.
Спасибо за помощь!
SUre, это код для функции init:
Так что это просто создает файл.
Затем в функции start я открываю файл:
И затем я пишу в файл, например:
И затем я закрываю файл в конце.
И это все.
Спасибо за помощь!
Вы искали ( Ctrl + F ) Handle в вашем коде, чтобы найти другие объявления? Есть ли у вас возвраты в start(), кроме как в конце? Вы посмотрели CSV файл, чтобы увидеть, является ли он полным? Если искусства отсутствуют, это может дать вам некоторое представление о том, что выполняется или не выполняется.
Здравствуйте, Raptor UK,
Нет никаких других расшифровок Handle
Единственный другой возврат - это тот, который вы видите при открытии файла, если Handle равен -1
Не совсем понятно, что вы делаете, если файл завершен. Когда открывается ордер, обрабатывается вся функция запуска, и я знаю, потому что в файле есть последние строки, строки ** END TICKET **, поэтому я знаю, что он дошел до конца и закрыл файл.
Что значит "искусства отсутствуют"? Извините, я не знаю, что такое искусство?
Здравствуйте, Raptor UK,
Нет никаких других расшифровок Handle
Единственный другой возврат - это тот, который вы видите при открытии файла, если Handle равен -1
Не совсем понятно, что вы делаете, если файл завершен. Когда открывается ордер, обрабатывается вся функция запуска, и я знаю, потому что в файле есть последние строки, строки ** END TICKET **, поэтому я знаю, что он дошел до конца и закрыл файл.
Что значит "искусства отсутствуют"? Извините, я не знаю, что такое искусство?
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
У меня есть советник, который пишет в файл журнала некоторую информацию, в некоторые моменты он решает открыть ордер, и когда это происходит, советник больше не пишет в файл, я просто получаю:
invalid integer number as parameter 1 for 'FileWrite' function
Прилагаю снимок экрана: видно, как при открытии ордера хэндл файла не меняется, но по какой-то причине он больше не может открыть файл. HELP!!!