如何在 MQL5 CopyBuffer 函数中传递多维数组?

时间:2021-04-29 08:51:33

标签: arrays mql5

我正在尝试将存储在多维数组中的数组传递给接受数组作为参数的 copyBuffer 函数,如下所示;

int handle_iMA[10];
double arr_iMA[10][50];

CopyBuffer(handle_iMA[0],0,0,50,arr_iMA[0]);

我在最后一行的“arr_iMA[0]”处收到编译错误“数组访问无效”。

我可以为每个 iMA 定义一个数组并将其传递给函数,没有任何问题。但是我需要将数组保留在多维数组中以便于访问。

有人可以指出我正确的方向来实现这一目标吗?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

MQL5 中的

CopyBuffer() 使用数组句柄,您正试图直接使用数组。您还混合了数组类型(intdouble),这将导致数据丢失。复制简单数组的最简单方法是

double array1[10];
double array2[10][50];

for(int i=0; i<=ArrayRange(array1,0)-1; i++) array2[i][0]=array1[i];
相关问题