MQL4 Функция-член CArrayObj At (n) возвращает ноль, а функция-член Total () отображает 5 вместо 3, а At (n) возвращает 0 при индексе 0-1 и ожидаемое значение 2-4. Таким образом, мои ожидаемые данные на уровне 2-4, а резерв, который я подозреваю, на уровне 0-1. Как я могу остановить CArrayObj зарезервировать место?
Я попытался установить функцию-член CArrayObj Reserve на 0, но она настроена на игнорирование 0, как показано ниже
bool CArrayObj::Reserve(const int size){
int new_size;
//--- check
if(size<=0)
return(false);
//--- resize array
if(Available()<size)
{
new_size=m_data_max+m_step_resize*(1+(size-Available())/m_step_resize);
if(new_size<0)
//--- overflow occurred when calculating new_size
return(false);
if((m_data_max=ArrayResize(m_data,new_size))==-1)
m_data_max=ArraySize(m_data);
//--- explicitly zeroize all the loose items in the array
for(int i=m_data_total;i<m_data_max;i++)
m_data[i]=NULL;
}
//--- result
return(Available()>=size);
}
Я ожидаю, что CArrayObj будет только 3, как я хочу.