mql4 - MQL4 CArrayObj 如何将储备设置为 0 或完全避免?
问题描述
MQL4 CArrayObj 成员函数 At(n) 返回零,成员函数 Total() 显示 5 而不是 3,At(n) 在索引 0-1 处返回 0,在 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,因为我希望它是。
解决方案
推荐阅读
- php - 是否可以通过 PHP 在数据库中创建新列并自动显示在 HTML 表中?
- reactjs - 自动预测在 iOS 13 中无法使用 textContentType 到 TextInput
- visual-studio - 强制 TLS1.2 用于 Visual Studio 调试
- python - 使用 python(cx_oracle) 连接到 oracle 数据库
- c# - 将字典按其值分组
- python - 如何定义已定义函数中的变量?
- r - travis 上的 R bookdown 乳胶失败:\includegraphics 像素大小?
- hibernate - 动态更新设置为 true 的 Grails Gorm beforeUpdate 行为
- kotlin - Kotlin 流程重放功能
- angularjs - 倒置显示chartjs的三角形pointStyle