[存档!]任何菜鸟问题,为了不使论坛变得混乱。专业人士,不要路过。没有你,哪里都不能去 - 4. - 页 311 1...304305306307308309310311312313314315316317318...631 新评论 pavelrev 2012.08.08 17:18 #3101 drknn: 1.蜡烛变量没有在任何地方使用。 2.航线 的写法不正确。它位于循环中--在循环的每个迭代中,你创建一个新的变量Cls。而且你不需要它在那里。下面的文字就足够了。 1.我忘了指出,指标工作还没有完成。但在任何情况下,这都不应该以任何方式影响这个特定功能的运作。 2.起初就是这样的。但当它开始给我一个错误时,我想问题可能出在把数据从一个数组传入一个数组。 pavelrev 2012.08.08 17:19 #3102 drknn: 并试试这句话 将其改为 没有帮助。错误仍然是一样的。 pavelrev 2012.08.08 17:24 #3103 drknn: 还有一件事。如果你在数组维度之一声明了一个4格维度,你就不能调用Buffer_OHLC[4][]--重点是编号从0开始,而不是1。所以你最多可以调用Buffer_OHLC[3][]; 零单元格也可以保持为空。教科书中也描述了一个类似的例子。那么,一般来说,即使改变数组的大小,错误仍然存在。 PS 该指标应从另一个工具中获取数据,并将其应用于当前工具。也许我在解决这项任务时做了一些根本性的错误? Алексей Тарабанов 2012.08.08 17:59 #3104 silhouette: 空单元格也可以保持为空。教科书中也描述了一个类似的例子。嗯,一般来说,即使改变了数组的大小,错误仍然存在。 PS 该指标应从另一个工具中获取数据并应用于当前工具。也许我在解决这个问题时做了一些根本性的错误? 你根本没有正确使用二维数组 Алексей Тарабанов 2012.08.08 18:01 #3105 1.将第一个索引与第二个索引互换 2.使用ArrayResize Владимир Тезис 2012.08.08 18:18 #3106 silhouette: 零单元格也可以保持为空。教科书中也描述了一个类似的例子。那么,一般来说,即使改变数组的大小,错误仍然存在。PS 该指标应从另一个工具中获取数据,并将其应用于当前工具。也许我在解决这项任务时,在原则上做错了什么? 你声明了 Buffer_OHLC[4][]数组。你正在寻址一个不存在的数组单元,即Buffer_OHLC[4][i]--在你声明的数组中没有这样一个单元。其中最大的一个是Buffer_OHLC[3][i]。 让我解释一下:你在数组的第二维中声明了4个单元格(比方说,某个列数无限多的表格的4行)。由于编号从零开始,所以可以访问的第一行是Buffer_OHLC[0][],第二行是Buffer_OHLC[1][],第三行是Buffer_OHLC[2][],第四是Buffer_OHLC[3][]。在你声明的数组中不存在 Buffer_OHLC[4][]这一行! Алексей Тарабанов 2012.08.08 18:41 #3107 当i>0时,[3,i]也不存在 :) pavelrev 2012.08.09 06:16 #3108 不要介意刹车,这是我第一次处理多维数组 :) drknn, 谢谢你!我理解你的评论 tara:1.将第一个索引与第二个索引对调2. 使用ArrayResize 谢谢你!我有了结果。但我还想澄清一下ArrayResize函数 和数组第一维的大小。 int counted_bars=IndicatorCounted(); int limit=Bars-counted_bars-1; if (limit>1) limit=Bars-1; ArrayResize(Buffer_OHLC,limit-1); for(int i=limit; i>=0; i--) { Buffer_OHLC[i][0]=iOpen (Smb,Period(),i); Buffer_OHLC[i][1]=iHigh (Smb,Period(),i); Buffer_OHLC[i][2]=iLow (Smb,Period(),i); Buffer_OHLC[i][3]=iClose(Smb,Period(),i); if(Line==true) { Buffer_ind[i]=Buffer_OHLC[i][3]; } } return(0); 当使用limit-1时,有一个图形,但弹出4051 "函数参数的无效值 "的错误。 GarKain 2012.08.09 06:43 #3109 谁能解释一下,如何在一个柱状图的任何时间开立订单,并且只在下一个柱状图上开立下一个订单? Владимир Тезис 2012.08.09 06:44 #3110 silhouette:不要介意刹车,这是我第一次处理多维数组 :) 如果你把多维数组看成是别的东西,就会更容易定位。也就是说,如果你为阵列找到一个能抓住其本质的模型--这个模型更容易保持在你的眼前。 一个一维数组是直线上的对象(从零开始的坐标射线)。这种阵列的一个例子是商店里的队列。排在第一位的是站在现在买东西的人后面的那个人。买东西的人不能被称为排在第一位的人--他正在买东西--他是零。他在一维数组的零单元内。 二维数组是在一个平面(坐标平面)上的对象。一个例子是一个礼堂。这样那样的行,这样那样的地方。在这个模型中加入行零和座零,你就有了一个二维数组的精确模型。 三维数组是空间(坐标空间)中的一个物体--该物体的坐标由三个数值给出。它是一个立方体,有面。一个模型可以是一栋住宅楼,入口号为0,楼层号为0,单元号为0(包括所有其他)。只要在每个入口处,平面编号从零开始。 四维数组 与一维数组类似。它是一条坐标射线,其中所有的点都是三维数组。该模型是一条街道。坐标阵列将由以下数值指定:门牌号、入口号、楼层号、单元号。 如此这般,进入多维度--从街道到地区,从地区到城市,从地区到城市,从城市到国家,从国家到行星......。 1...304305306307308309310311312313314315316317318...631 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
1.蜡烛变量没有在任何地方使用。
2.航线
的写法不正确。它位于循环中--在循环的每个迭代中,你创建一个新的变量Cls。而且你不需要它在那里。下面的文字就足够了。
1.我忘了指出,指标工作还没有完成。但在任何情况下,这都不应该以任何方式影响这个特定功能的运作。
2.起初就是这样的。但当它开始给我一个错误时,我想问题可能出在把数据从一个数组传入一个数组。
并试试这句话
将其改为
没有帮助。错误仍然是一样的。
还有一件事。如果你在数组维度之一声明了一个4格维度,你就不能调用Buffer_OHLC[4][]--重点是编号从0开始,而不是1。所以你最多可以调用Buffer_OHLC[3][];
零单元格也可以保持为空。教科书中也描述了一个类似的例子。那么,一般来说,即使改变数组的大小,错误仍然存在。
PS 该指标应从另一个工具中获取数据,并将其应用于当前工具。也许我在解决这项任务时做了一些根本性的错误?
空单元格也可以保持为空。教科书中也描述了一个类似的例子。嗯,一般来说,即使改变了数组的大小,错误仍然存在。
PS 该指标应从另一个工具中获取数据并应用于当前工具。也许我在解决这个问题时做了一些根本性的错误?
你根本没有正确使用二维数组
1.将第一个索引与第二个索引互换
2.使用ArrayResize
零单元格也可以保持为空。教科书中也描述了一个类似的例子。那么,一般来说,即使改变数组的大小,错误仍然存在。
PS 该指标应从另一个工具中获取数据,并将其应用于当前工具。也许我在解决这项任务时,在原则上做错了什么?
你声明了 Buffer_OHLC[4][]数组。你正在寻址一个不存在的数组单元,即Buffer_OHLC[4][i]--在你声明的数组中没有这样一个单元。其中最大的一个是Buffer_OHLC[3][i]。
让我解释一下:你在数组的第二维中声明了4个单元格(比方说,某个列数无限多的表格的4行)。由于编号从零开始,所以可以访问的第一行是Buffer_OHLC[0][],第二行是Buffer_OHLC[1][],第三行是Buffer_OHLC[2][],第四是Buffer_OHLC[3][]。在你声明的数组中不存在 Buffer_OHLC[4][]这一行!
不要介意刹车,这是我第一次处理多维数组 :)
drknn, 谢谢你!我理解你的评论
1.将第一个索引与第二个索引对调
2. 使用ArrayResize
谢谢你!我有了结果。但我还想澄清一下ArrayResize函数 和数组第一维的大小。
当使用limit-1时,有一个图形,但弹出4051 "函数参数的无效值 "的错误。
不要介意刹车,这是我第一次处理多维数组 :)
如果你把多维数组看成是别的东西,就会更容易定位。也就是说,如果你为阵列找到一个能抓住其本质的模型--这个模型更容易保持在你的眼前。
一个一维数组是直线上的对象(从零开始的坐标射线)。这种阵列的一个例子是商店里的队列。排在第一位的是站在现在买东西的人后面的那个人。买东西的人不能被称为排在第一位的人--他正在买东西--他是零。他在一维数组的零单元内。
二维数组是在一个平面(坐标平面)上的对象。一个例子是一个礼堂。这样那样的行,这样那样的地方。在这个模型中加入行零和座零,你就有了一个二维数组的精确模型。
三维数组是空间(坐标空间)中的一个物体--该物体的坐标由三个数值给出。它是一个立方体,有面。一个模型可以是一栋住宅楼,入口号为0,楼层号为0,单元号为0(包括所有其他)。只要在每个入口处,平面编号从零开始。
四维数组 与一维数组类似。它是一条坐标射线,其中所有的点都是三维数组。该模型是一条街道。坐标阵列将由以下数值指定:门牌号、入口号、楼层号、单元号。
如此这般,进入多维度--从街道到地区,从地区到城市,从地区到城市,从城市到国家,从国家到行星......。