Если вы создали переменную int i; , то почему ее не проинициализировали? Фактически Вы сами сказали "мне не важно что в этой переменной" и в результате получили в ней мусор.
Правильно надо делать так: int i=0;
Да, все верно - можно внутри блока создавать такие переменные.
По привычке. Раньше (в MQL4) int i; и int i=0; работали одинаково. Эх....
Renat: Выложите, пожалуйста, в сервисдеске кусок кода, на котором проявляется такая ситуация.
Я и выложил его полностью (код), (когда эту строку с этим символом "&" объявляешь полностью возникает ошибка, а если убрать этот символ из строки полностью, то всё работает... или хотя бы половину строки за комментировать то будет работать с этим символов НО!! Длина строки 159 символов. В чём дело тогда????) и попробуйте объявить её на Windows 7 64 bit (это важно) так как ошибка возникает именно на ней, хотя до этого Билда 306 у меня 15 билдов всё работало нормально, на 305 - Я неделю работал с таким кодом на этой версии Windows всё было нормально.
И в Сервис Деск Я уже пишу два дня но так и немогу ничего добиться...
P/S. Уже отписали что разбираются... (через СервисДеск).
Возвращает "2010.08.17 15:44:31 time (GBPJPY,H1) 1970.01.01 00:00:00-1970.01.02 00:00:00"
Что такое session_index, // номер сессии, как узнать этот номер?
bool SymbolInfoSessionTrade(
string name, // имя символаENUM_DAY_OF_WEEK day_of_week, // день неделиuint session_index, // номер сессииdatetime& from, // время начала сессииdatetime& to // время окончания сессии
);
И зачем session_index++; если при session_index=1 уже false:
//+------------------------------------------------------------------+//| Вывести информацию о котировочных сессиях |//+------------------------------------------------------------------+void PrintInfoForQuoteSessions(string symbol,ENUM_DAY_OF_WEEK day)
{
//--- начало и конец сессииdatetime start,finish;
uint session_index=0;
bool session_exist=true;
//--- пройдемся по всем сессиям за этот деньwhile(session_exist)
{
//--- проверим наличие котировочной сессии с номером session_index
session_exist=SymbolInfoSessionQuote(symbol,day,session_index,start,finish);
//--- если такая сессия естьif(session_exist)
{
//--- выведем день недели, номер сессии и время начала и окончанияPrint(DayToString(day),": session index=",session_index," start=",
TimeToString(start,TIME_MINUTES)," finish=",TimeToString(finish-1,TIME_MINUTES|TIME_SECONDS));
}
//--- увеличим счетчик сессий
session_index++;
}
}
Нет.
Если вы создали переменную int i; , то почему ее не проинициализировали? Фактически Вы сами сказали "мне не важно что в этой переменной" и в результате получили в ней мусор.
Правильно надо делать так: int i=0;
Да, все верно - можно внутри блока создавать такие переменные.Выложите, пожалуйста, в сервисдеске кусок кода, на котором проявляется такая ситуация.
Я и выложил его полностью (код), (когда эту строку с этим символом "&" объявляешь полностью возникает ошибка, а если убрать этот символ из строки полностью, то всё работает... или хотя бы половину строки за комментировать то будет работать с этим символов НО!! Длина строки 159 символов. В чём дело тогда????) и попробуйте объявить её на Windows 7 64 bit (это важно) так как ошибка возникает именно на ней, хотя до этого Билда 306 у меня 15 билдов всё работало нормально, на 305 - Я неделю работал с таким кодом на этой версии Windows всё было нормально.
И в Сервис Деск Я уже пишу два дня но так и немогу ничего добиться...
P/S. Уже отписали что разбираются... (через СервисДеск).
Котировки в четверг 00:00 - 24:00. В пятницу 00:00 - ~22:45 .
Как получать данную информацию?
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
Возвращает "2010.08.17 15:44:31 time (GBPJPY,H1) 1970.01.01 00:00:00-1970.01.02 00:00:00"
Что такое session_index, // номер сессии, как узнать этот номер?
Котировки в четверг 00:00 - 24:00. В пятницу 00:00 - ~22:45 .
Как получать данную информацию?
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
Возвращает "2010.08.17 15:44:31 time (GBPJPY,H1) 1970.01.01 00:00:00-1970.01.02 00:00:00"
Что такое session_index, // номер сессии, как узнать этот номер?
Смотрите статью Ограничения и проверки в экспертах
2010.08.17 17:35:37 time (EURUSD,H1) Monday: session index=0 start=00:00 finish=23:59:59
2010.08.17 17:34:58 time (EURUSD,H1) Friday: session index=0 start=00:00 finish=23:59:59
session_index всегда ноль
Я так и не понял зачем session index!?
Кроме 0 всегда false
Разработчикам посвящяется ...
Ребята вы бы хоть предупреждали если даёте возможности которые раньше в принципе были не возможны.
Сутки угробил чтоб выловиль вот такой баг
только не нужно меня учить что так и нужно ну конечно же, я всё это знаю но реально убил сутки только потому что привык что при таком
вызове компилятор должен дать ошибку.
Разработчикам посвящяется ...
Ребята вы бы хоть предупреждали если даёте возможности которые раньше в принципе были не возможны.
Сутки угробил чтоб выловиль вот такой баг
только не нужно меня учить что так и нужно ну конечно же, я всё это знаю но реально убил сутки только потому что привык что при таком
вызове компилятор должен дать ошибку.
Ошибки нет. В следующем обновлении будет выдаваться предупреждение о том что выражение не логическое.
Есть ли принудительное прекращение функции OnTester()
или почему история сделок до пользовательской функции существует а после выдаёт ноль :
какие функции не работают в тестере ??
как из тестрера(при оптимизации) подать сигнал наружу что чтото не так (принты алерты ничего же не работает) ??
Хоть убейте не пойму.
Почему так: Ведь в пятницу не в 24:00 заканчивается.
Или как?
Смотрите статью Ограничения и проверки в экспертах
И зачем session_index++; если при session_index=1 уже false: