будем разбираться. какая у Вас версия компилера?
дополнение:
представленный фрагмент кода не даёт ошибок компиляции. функция, вставленная в конец существующего эксперта не даёт ошибок компиляции. пошлите пожалуйста код Вашего эксперта на stringoATmetaquotesdotru
дополнение:
представленный фрагмент кода не даёт ошибок компиляции. функция, вставленная в конец существующего эксперта не даёт ошибок компиляции. пошлите пожалуйста код Вашего эксперта на stringoATmetaquotesdotru
будем разбираться. какая у Вас версия компилера?
дополнение:
представленный фрагмент кода не даёт ошибок компиляции. функция, вставленная в конец существующего эксперта не даёт ошибок компиляции. пошлите пожалуйста код Вашего эксперта на stringoATmetaquotesdotru
дополнение:
представленный фрагмент кода не даёт ошибок компиляции. функция, вставленная в конец существующего эксперта не даёт ошибок компиляции. пошлите пожалуйста код Вашего эксперта на stringoATmetaquotesdotru
Эксперт большой с инклудами, но я из него поудалял все лишнее, но чтобы осталась эта ошибка.
//+------------------------------------------------------------------+
//| ContinueExpert.mq4 |
//| Tester |
//| dev/null |
//+------------------------------------------------------------------+
#property copyright "Tester"
#property link "dev/null"
int init() { return(0); }
int deinit() { return(0); }
int start() { return(0); }
#include <stdlib.mqh>
string lastError() {
int err = GetLastError();
return ("Error " + err + ": " + ErrorDescription(err));
//return ("Error " + err + ": ");
}
//check last error and if any print
bool printLastError(string source) {
int err = GetLastError();
//0 == ERR_NO_ERROR, 4000 = ERR_NO_MQLERROR
if (err == 0 || err == 4000)
return (false);
Print(source + " error " + err + ": " + ErrorDescription(err));
return (true);
}
int LogFileHandle = -1;
void openLog(string logFileName) {
//closeLog();
LogFileHandle = FileOpen(logFileName, FILE_READ | FILE_WRITE | FILE_CSV, '\t');
if (LogFileHandle < 0)
Print("Can''t open log file " + logFileName + ": " + lastError());//
else {
FileSeek(LogFileHandle, 0, SEEK_END);
Print("Log " + logFileName + " opened. handle=" + LogFileHandle);
}
}
// prints message to system log and expert file
void log(string message) {
Print(message);
if (LogFileHandle >= 0) {
int wrote = FileWrite(LogFileHandle,
TimeToStr(LocalTime(), TIME_SECONDS), message);
if (wrote < 0)
printLastError("log " + LogFileHandle);
}
}
void continueError() {
int i = 10;
double max = 0.0;
//for (;i > 0;) {
while (i > 0) {
i--;
if (Close[i] > max)
max = Close[i];
else
continue;
Print("new max=" + max);
}
}
Если удалить любую функцию выше, например, log() - ошибка пропадает. MetaEditor у меня 4.00 Build 142.
спасибо. нашли ошибку в компилере. в следующем билде будет исправление
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
void continueError() { int i = 10; double max = 0.0; //for (;i > 0;) { while (i > 0) { i--; if (Close[i] > max) max = Close[i]; else continue; Print("new max=" + max); } }Цикл
не компилируется с continue. В тоже время аналогичнный цикл
компилируется. Вопрос знактокам: чтобы это значило?