Контекстное меню вкладки "алерты" не активно, там можно только "создать". Во вкладке "сигналы" можно только просматривать поступающие сигналы, от них нельзя не отписаться,ни удалить???
Я пытаюсь разобраться с mql5 и переписать эксперт с 4 версии, и столкнулся с несколькими вопросами:
1. Компилятор пишет 'cH' - undeclared identifier в строке if(fcorH==1) countH=cH;, хотя переменная назначена. В чем подвох?
if(fdelH==0) // проверить на близость при отсутствии уровня в массиве удаленных
{
int cH=countH-1; // предыдущее значение счетчика
...
fcorH=1; // перезапись уровня в массиве
}
if(f1==0) // если занесение хая в массив разрешено
{
if(fcorH==1) countH=cH; // если разрешена перезапись уровня, то счетчик отматывается на один назад
...
}
2. Такая же история с другой переменной TimeRes:
for(int y2=0;y2<finish;y2++) // поиск ближайших уровней
{
double Level=SupRes[y2][0]; // выбор проверяемого уровняdouble rL=Level-Bid; // разность цены и уровняif((rL<dPlus && rL>0) || (rL>0 && dPlus==0)) // при наличии положительной разницы
{
dPlus=rL; // фиксировать ее
Res=NormalizeDouble(SupRes[y2][0],_Digits); // уровень сопротивленияdatetime TimeRes=SupRes[y2][1]; // время сопротивления
}
}
ObjectSetInteger(0,oRes,OBJPROP_TIME,TimeRes); // отрисовка ближайшего сопротивления
Но кроме этого во втором примере возникает предупреждение "possible loss of data due to type conversion" в строке datetime TimeRes=SupRes[y2][1];
Массив на глобальном уровне объевлен в таком виде - double SupRes[][2];
Пожалуйста, подскажите, что надо сделать, чтобы исправить эти ошибки и предупреждения?
Вопрос: как настроить, что и где, чтобы сигналы не поступали? Ни на один из сигналов я не подписывался.
+ и отключить вкладку сигналов в терминале.
+ и отключить вкладку сигналов в терминале.
Добрый день!
Я пытаюсь разобраться с mql5 и переписать эксперт с 4 версии, и столкнулся с несколькими вопросами:
1. Компилятор пишет 'cH' - undeclared identifier в строке if(fcorH==1) countH=cH;, хотя переменная назначена. В чем подвох?
2. Такая же история с другой переменной TimeRes:
Но кроме этого во втором примере возникает предупреждение "possible loss of data due to type conversion" в строке datetime TimeRes=SupRes[y2][1];
Массив на глобальном уровне объевлен в таком виде - double SupRes[][2];
Пожалуйста, подскажите, что надо сделать, чтобы исправить эти ошибки и предупреждения?
Добрый день!
Я пытаюсь разобраться с mql5 и переписать эксперт с 4 версии, и столкнулся с несколькими вопросами:
1. Компилятор пишет 'cH' - undeclared identifier в строке if(fcorH==1) countH=cH;, хотя переменная назначена. В чем подвох?
2. Такая же история с другой переменной TimeRes:
В обоих случаях Вы объявляете переменную внутри условия/цикла, т.е. если условие не выполняется, то переменная не определяется.
Вынесите определение переменных в начало функции или сделайте их глобальными.
Но кроме этого во втором примере возникает предупреждение "possible loss of data due to type conversion" в строке datetime TimeRes=SupRes[y2][1];
Массив на глобальном уровне объевлен в таком виде - double SupRes[][2];
Пожалуйста, подскажите, что надо сделать, чтобы исправить эти ошибки и предупреждения?
Ну либо приводите к одному типу
или изначально определяйте массив и переменную одним типом.В обоих случаях Вы объявляете переменную внутри условия/цикла, т.е. если условие не выполняется, то переменная не определяется.
Вынесите определение переменных в начало функции или сделайте их глобальными.
Вынес определение переменных, при этом возникли предупреждения "possible use of uninitialized variable" для переменных cH и TimeRes.
Что с ним делать и что делать с предупреждением "possible loss of data due to type conversion" в строке datetime TimeRes=SupRes[y2][1]; ???
Вынес определение переменных, при этом возникло предупреждение "possible use of uninitialized variable 'cH' ".
Вынесли это хорошо, а задали ей значение инициализации?
Ведь по коду идет чтение значение, а если там ничего нет, то что можно читать. Вот и предупреждение.Ну либо приводите к одному типу
или изначально определяйте массив и переменную одним типом.datetime TimeRes=(datetime)SupRes[y2][1];
А как можно определить массив и переменную один типом, если массив должен содержать уровни в виде double и время этих уровней в виде datetime?
В этом случае понадобится 2а массива: double и datetime.
И как только будет найден уровень и записан в первый массив, нужно будет получить время и записать его во второй массив.
Спасибо, ваши советы помогли. А про такое опредления типа (datetime)SupRes[y2][1]; где можно почитать?
Приведение типов