Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 202

 
Уважаемые, спецы.    Имеется два робота, которые работают на домашнем КП. Но при установке на ВПС они даже не высвечиваются в мт, таком же . даже серверы менял-не помогает.   где глюки не пойму
 
StrangerNet:
Функция if(OrderSelect(tik)==true) пишет ошибку 4754 - Не найден ордер, причем значение tik в отладке 42276230 равно номеру созданного ордера 42276230, в чем может быть косяк?
 
romadd:
Уважаемые, спецы.    Имеется два робота, которые работают на домашнем КП. Но при установке на ВПС они даже не высвечиваются в мт, таком же . даже серверы менял-не помогает.   где глюки не пойму
А вы их в папку Experts скопировали?
 
pako:


А у меня присваивает)))

 
StrangerNet:


А у меня присваивает)))

внесите переменные, не только тик

 

Почему после нормализации появляется неправильное значение?

upenv[Number] = NormalizeDouble(UpFraSum/3,5);

2013.01.09 00:15:36   +++++++++upenv[Number](USDJPY)= 87.28400000000001

 
вabeiks:

Почему после нормализации появляется неправильное значение?

upenv[Number] = NormalizeDouble(UpFraSum/3,5);

2013.01.09 00:15:36   +++++++++upenv[Number](USDJPY)= 87.28400000000001

Внимательно читаем документацию к  NormalizeDouble:

Примечание

...

Нужно иметь в виду, что нормализованное число при выводе в Журнал с помощью Print() может содержать большее количество знаков после запятой, чем вы ожидаете. Например,

   double a=76.671;             // нормализованное число с 3 знаками после запятой
   Print("Print(76.671)=",a);   // выведем его как есть
   Print("DoubleToString(a,8)=",DoubleToString(a,8)); // выведем с заданной точностью

выдаст в терминале:

 DoubleToString(a,8)=76.67100000

 Print(76.671)=76.67100000000001

 
C-4:

Внимательно читаем документацию к  NormalizeDouble:


Понял, спасибо!
 
Reshetov:
А вы их в папку Experts скопировали?
говорю же одинаковые билды 604. на домашнем все нормально.
 
romadd:
говорю же одинаковые билды 604. на домашнем все нормально.
Причём тут билды и коды советников?
Причина обращения: