как я понял этот блок пытается добавить символ в список, с проверкой результата.
Но если эксперт мульт значит добавляться должны несколько валютных пар (что из приведенного выше примера не видно).
Этот код находится в цикле по валютным парам, Exp_Symbol на каждом проходе, кроме первого, "чужая" валютная пара. Если валютных пар пять, то SymbolSelect(Exp_Symbol, true) сработает пять раз, для пяти разных символов.
В коде у меня обращение к функциям SymbolSelect() , SymbolIsSynchronized(), CopyRates() по "чужим" символам (следовательно история должна подкачаться). При первом тестировании данные есть, а при повторном их нет и эксперт в тестере вылетает с ошибкой.
Этот код находится в цикле по валютным парам, Exp_Symbol на каждом проходе кроме первого "чужая" валютная пара. В коде у меня обращение к функциям SymbolSelect() , SymbolIsSynchronized(), CopyRates() по "чужим" символам (следовательно история должна подкачаться). При первом тестировании данные есть, а при повторном их нет и эксперт в тестере вылетает с ошибкой.
Можете в сервисдеск прислать эксперта и описание настроек оптимизации/тестирования?
Хочу выгрузить данные за январь 2009 года. Данные по часовикам и 15-ти минуткам выгрузил,а по 5-ти минуткам не выгружается, пишет нет истории. Почему не подкачивается история по 5-ти минуткам?
void OnStart() { int size = 25; datetime dateFrom; datetime dateTo; MqlRates rates[]; MqlDateTime stDate; int FileHandle;
Print("size = " + FileSize(FileHandle)); FileFlush(FileHandle); FileClose(FileHandle); } else { Print("Не удалось получить исторические данные по символу ",Symbol()); Print("Ошибка " + GetLastError()); } }
Решил проверить как работает функция ArrayResize со всеми параметрами. Компилируеся без проблем, автоторговля везде разрешена, но эксперт выгружается с графика, даже не заходя в OnInit.
Решил проверить как работает функция ArrayResize со всеми параметрами. Компилируеся без проблем, автоторговля везде разрешена, но эксперт выгружается с графика, даже не заходя в OnInit.
В чем дело, ума не приложу.
Банальное out of range, посмотрите во вкладке "Эксперты" Резервирование не есть аллокация, у Вас массив как был так и остаётся на пять элементов, хотя память выделена под 10.
Банальное out of range, посмотрите во вкладке "Эксперты" Резервирование не есть аллокация, у Вас массив как был так и остаётся на пять элементов, хотя память выделена под 10.
Точно, спасибо. Не ту вкладку смотрел, сижу болею, видимо сказывается.
Решил проверить как работает функция ArrayResize со всеми параметрами. Компилируеся без проблем, автоторговля везде разрешена, но эксперт выгружается с графика, даже не заходя в OnInit.
Вообще говоря, на приведенном скриншоте показан Журнал терминала. А то что Вы ищете, находится на закладке Эксперты.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
А где и как формируется MarketWatch?
как я понял этот блок пытается добавить символ в список, с проверкой результата.
Но если эксперт мульт значит добавляться должны несколько валютных пар (что из приведенного выше примера не видно).
Этот код находится в цикле по валютным парам, Exp_Symbol на каждом проходе, кроме первого, "чужая" валютная пара. Если валютных пар пять, то SymbolSelect(Exp_Symbol, true) сработает пять раз, для пяти разных символов.
В коде у меня обращение к функциям SymbolSelect() , SymbolIsSynchronized(), CopyRates() по "чужим" символам (следовательно история должна подкачаться). При первом тестировании данные есть, а при повторном их нет и эксперт в тестере вылетает с ошибкой.
Этот код находится в цикле по валютным парам, Exp_Symbol на каждом проходе кроме первого "чужая" валютная пара. В коде у меня обращение к функциям SymbolSelect() , SymbolIsSynchronized(), CopyRates() по "чужим" символам (следовательно история должна подкачаться). При первом тестировании данные есть, а при повторном их нет и эксперт в тестере вылетает с ошибкой.
Можете в сервисдеск прислать эксперта и описание настроек оптимизации/тестирования?
Хочу выгрузить данные за январь 2009 года. Данные по часовикам и 15-ти минуткам выгрузил,а по 5-ти минуткам не выгружается, пишет нет истории. Почему не подкачивается история по 5-ти минуткам?
void OnStart()
{
int size = 25;
datetime dateFrom;
datetime dateTo;
MqlRates rates[];
MqlDateTime stDate;
int FileHandle;
stDate.day = 1;
stDate.hour = 0;
stDate.mon = 1;
stDate.year = 2009;
dateFrom = StructToTime( stDate );
stDate.day = 31;
dateTo = StructToTime( stDate );
ArraySetAsSeries(rates,true);
int copied=CopyRates(Symbol(), PERIOD_M5, dateFrom, dateTo, rates);
for(int i=0;i<100;i++)
{
if(GetLastError()!=0)
{
Sleep(5000);
copied=CopyRates(Symbol(), PERIOD_M5, dateFrom, dateTo, rates);
}
else
{
break;
}
Print("Нет истории, проход № " + i);
}
if(copied>0)
{
Print("Скопировано баров: "+IntegerToString(copied));
//string format="open = %G, high = %G, low = %G, close = %G, volume = %d";
string out;
size = ArraySize(rates);
ResetLastError();
FileHandle=FileOpen("Data.csv",FILE_WRITE|FILE_CSV);
if(FileHandle==INVALID_HANDLE)
{
Print("Ошибка " + IntegerToString((GetLastError())));
}
for(int i=size-1;i>=0;i--)
{
FileWrite(FileHandle, TimeToString(rates[i].time), DoubleToString(rates[i].open, _Digits), DoubleToString(rates[i].high, _Digits), DoubleToString(rates[i].low, _Digits), DoubleToString(rates[i].close, _Digits));
}
Print("size = " + FileSize(FileHandle));
FileFlush(FileHandle);
FileClose(FileHandle);
}
else
{
Print("Не удалось получить исторические данные по символу ",Symbol());
Print("Ошибка " + GetLastError());
}
}
Решил проверить как работает функция ArrayResize со всеми параметрами. Компилируеся без проблем, автоторговля везде разрешена, но эксперт выгружается с графика, даже не заходя в OnInit.
В чем дело, ума не приложу.
Решил проверить как работает функция ArrayResize со всеми параметрами. Компилируеся без проблем, автоторговля везде разрешена, но эксперт выгружается с графика, даже не заходя в OnInit.
В чем дело, ума не приложу.
Банальное out of range, посмотрите во вкладке "Эксперты"
Резервирование не есть аллокация, у Вас массив как был так и остаётся на пять элементов, хотя память выделена под 10.
Банальное out of range, посмотрите во вкладке "Эксперты"
Резервирование не есть аллокация, у Вас массив как был так и остаётся на пять элементов, хотя память выделена под 10.
Решил проверить как работает функция ArrayResize со всеми параметрами. Компилируеся без проблем, автоторговля везде разрешена, но эксперт выгружается с графика, даже не заходя в OnInit.
Здравствуйте,
У меня,после тест и включения оптимизации выходит ето:
Core 1 genetic pass (127, 1195) tested with error "critical runtime error
Тест нормально.