либо присвоить значение функции переменной и делать с ней все что угодно
например
такой вопрос еще: а каким образом в переменную result (внутри тела функции) вообще попадает какой то результат? (в данном случае максимальной цены чарта) ведь у нас же указано в условии что должно произойти в случае false в разрезе доступа к чарту:
if(!ChartGetDouble(chart_ID,CHART_PRICE_MAX,sub_window,result))
{
//--- выведем сообщение об ошибке в журнал "Эксперты"Print(__FUNCTION__+", Error Code = ",GetLastError());
}
И переменная result инициирована пустым значением:
double result=EMPTY_VALUE;
в случае true - ничего не указано что должно произойти с переменной - почему тогда она изменяет свое значение? (из empty на какое то другое)
Mike Kharkov: такой вопрос еще: а каким образом в переменную result (внутри тела функции) вообще попадает какой то результат? (в данном случае максимальной цены чарта) ведь у нас же указано в условии что должно произойти в случае false в разрезе доступа к чарту: И переменная result инициирована пустым значением:
в случае true - ничего не указано что должно произойти с переменной - почему тогда она изменяет свое значение? (из empty на какое то другое)
ну это уже сам MQL постарался, т.к. они придумали такое
можно объявить: double result; вообще в самом верху кода, т.е. на глобальном уровне, тогда результат выполнения этой функции будет сразу понятен Вашему коду
но эту строчку нужно будет убрать:
double result=EMPTY_VALUE;
false там будет, если какие то параметры функции
ChartGetDouble
заданы не верно
а если
result!=false || result!=EMPTY_VALUE
здесь Ваше право - допишите сами
по умолчанию здесь переменная result просто присвоит результат выполнения и все, так получается
счас вот подумал, что в result лучше записать сразу true, т.е.:
double result=true
if(!ChartGetDouble(chart_ID,CHART_PRICE_MAX,sub_window,result))
{
//--- выведем сообщение об ошибке в журнал "Эксперты"Print(__FUNCTION__+", Error Code = ",GetLastError());
}
и потом при необходимости применить ветвление условия с помощью else
double result=true
if(!ChartGetDouble(chart_ID,CHART_PRICE_MAX,sub_window,result))
{
//--- выведем сообщение об ошибке в журнал "Эксперты"Print(__FUNCTION__+", Error Code = ",GetLastError());
}
else
{....}
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
не еще, а для того чтобы увидеть
либо присвоить значение функции переменной и делать с ней все что угодно
например
а каким образом в переменную result (внутри тела функции) вообще попадает какой то результат?
(в данном случае максимальной цены чарта)
ведь у нас же указано в условии что должно произойти в случае false в разрезе доступа к чарту:
И переменная result инициирована пустым значением:
в случае true - ничего не указано что должно произойти с переменной - почему тогда она изменяет свое значение?
(из empty на какое то другое)
такой вопрос еще:
а каким образом в переменную result (внутри тела функции) вообще попадает какой то результат?
(в данном случае максимальной цены чарта)
ведь у нас же указано в условии что должно произойти в случае false в разрезе доступа к чарту:
И переменная result инициирована пустым значением:
в случае true - ничего не указано что должно произойти с переменной - почему тогда она изменяет свое значение?
(из empty на какое то другое)
ну это уже сам MQL постарался, т.к. они придумали такое
можно объявить: double result; вообще в самом верху кода, т.е. на глобальном уровне, тогда результат выполнения этой функции будет сразу понятен Вашему коду
но эту строчку нужно будет убрать:
false там будет, если какие то параметры функцииChartGetDoubleзаданы не верно
а если
здесь Ваше право - допишите сами
по умолчанию здесь переменная result просто присвоит результат выполнения и все, так получается
счас вот подумал, что в result лучше записать сразу true, т.е.:
и потом при необходимости применить ветвление условия с помощью else
код будет более понятным