Особенности языка mql4, тонкости и приёмы работы - страница 37

 
Alexey Viktorov #:
NormalizeDouble(Open[1]-Close[1],_Digits)

Спасибо!

fxsaber #:
Выглядит, как баг. Т.к. цены баров должны быть уже нормализованы и, соответственно, сравниваться напрямую.

Не знаю, может проблема в другом, посмотрю с нормализацией.

 
Vitaly Muzichenko #:

Какие есть варианты?

double fDelta = Point() / 10.0;
if (fabs(Open[1] - Close[1]) < fDelta)
{
        // значения равны
}
 
fxsaber #:
Выглядит, как баг. Т.к. цены баров должны быть уже нормализованы и, соответственно, сравниваться напрямую.

С нормализацией всё работает

if(NormalizeDouble(Open[1]-Close[1],_Digits) == 0)


 

Вопрос по MT4(MQL4)

Делаю в терминале экспорт архива котировок. Появляется сообщение «не достаточно памяти» каждые три секунды.

Такое уже было раньше, памяти действительно не хватало, и это было актуально.

Однако, после «реорганизации» памяти, свободной стало больше, но сообщение все равно появляется.

На скрине:  GBPUSD таймфрейм M5 открывается нормально. При переходе на таймфрейм M1 пишет «недостаточно памяти» каждые 3 секунды, и не открывается.


По монитору ресурсов свободной памяти около 3,8Гб