Ошибки, баги, вопросы - страница 2819

Привет!!!    Что не так с этим примером скрипта  ?


void OnStart()
  {
   datetime time= iTime(
                     "NULL",          // символ
                     PERIOD_CURRENT,  // период
                     0                // сдвиг
                  );
   Alert("Time= ",time);
  }

выдаёт --- D'1970.01.01 00:00:00'

Документация по MQL5: Константы, перечисления и структуры / Константы графиков / Периоды графиков
Документация по MQL5: Константы, перечисления и структуры / Константы графиков / Периоды графиков
  • www.mql5.com
Все предопределенные периоды графиков имеют уникальные идентификаторы. Идентификатор PERIOD_CURRENT означает текущий период графика, на котором запущена mql5-программа.
Kira27:

Привет!!!    Что не так с этим примером скрипта  ?


выдаёт --- D'1970.01.01 00:00:00'

Это означает, что символа с именем 

"NULL"

не существует. 

Бывает 

"EURUSD"

бывает

"USDJPY"


, но такого символа:

"NULL"

не бывает.


Добавлено: правильно так:


Vladimir Karputov:

Это означает, что символа с именем 

не существует. 

Бывает 

бывает


, но такого символа:

не бывает.


Добавлено: правильно так:

Спасибо!!!


Спасибо!!!
Vladimir Karputov:

Это означает, что символа с именем 

не существует. 

Бывает 

бывает


, но такого символа:

не бывает.


Добавлено: правильно так:


Справка ввела меня в ступор)))  



Kira27:

Справка ввела меня в ступор)))  

В справке написано без кавычек. Так-что вы сами ввели себя туда.

Бородатый вопрос. Но не понимаю такого результата.
void OnStart()
{
  Print(NormalizeDouble(1.79435, 5) == 1.79435); // false  
}
fxsaber:
Бородатый вопрос. Но не понимаю такого результата.

100 раз было сказано: "не используйте точное сравнение даблов, а используйте эпсилон". В том числе в нашей документации.

Даже 0.3 или 0.7 не сравнятся со своими представлениями. Примите и смиритесь. Или идите и учитесь (в MTI, например)

Slava:

100 раз было сказано: "не используйте точное сравнение даблов, а используйте эпсилон". В том числе в нашей документации.

Сравнение даблов делать умею, конечно.

Даже 0.3 или 0.7 не сравнятся со своими представлениями. Примите и смиритесь. Или идите и учитесь (в MTI, например)

Print(NormalizeDouble(0.3, 5) == 0.3); // true
Print(NormalizeDouble(0.7, 5) == 0.7); // true

Print(NormalizeDouble(0.12345, 5) == 0.12345); // true

Вы не поняли вопроса.

decimal мог бы упростить задачу, но он медленный(
fxsaber:

Сравнение даблов делать умею, конечно.

Вы не поняли вопроса.

Тут есть ещё нюансы.

Вещественное число, умноженное на 0.5 может не сравниться с тем же числом, разделённым на 2.0