阵列超出范围,需要帮助 - 页 14 1...7891011121314151617 新评论 Tretyakov Rostyslav 2020.12.14 06:17 #131 Dark Kchlyzov:想从官方安装MT4,并进行试运行。下午。我 在安装MT4终端 时遇到了 问题。我从网站上下载了第4版,开始安装,但安装完毕后出现了MT5终端。我如何准确安装MT4?回答:不能。对以前版本的支持已经停止。请使用MT5。 你可以做到这一点 Tretyakov Rostyslav 2020.12.14 07:03 #132 在整个可用期内进行测试 澳元兑美元自2016.01.01以来欧元兑美元自2011.01.01以来 英镑兑美元自2011.01.01起 使用和 for(int i = 1; ;i++)и for(int i = 1; i<ArrayRange(Bar_data_D1,0) ;i++) 没有附上错误日志 附加的文件: AUDUSD.log 305 kb EURUSD.log 612 kb GBPUSD.log 612 kb Tretyakov Rostyslav 2020.12.14 07:04 #133 解决办法 for(int i = 1; i<ArrayRange(Bar_data_D1,0) ;i++) { if(Bar_data_D1 [i][2]!=Bar_data_D1 [i+1][2]&&Bar_data_D1 [i][2] < Low_D1_Level) {Min_D_Level = Bar_data_D1 [i][2]; break;} if(Bar_data_D1 [i][2]==Bar_data_D1 [i+1][2]) {Min_D_Level = Low_D1_Level; break;} } Tretyakov Rostyslav 2020.12.14 08:24 #134 做了一个指标,似乎一切都画得很正确 Dark Kchlyzov 2020.12.14 08:32 #135 MakarFX:解决方案 回到帖子的第一页 ! 2020.12.14 14:23:44.222 Expert Test_Level AUDUSD,H1: 删除 2020.12.14 14 14:23:44.234 Expert Test_Level AUDUSD,H1:加载成功 2020.12.14 14:23:44.365 TestGenerator: 当前使用了20个价差。 2020.12.14 14 14:23:45.263 2020.01.24 00:00:00 Test_Level测试开始。 2020.12.14 14:24:29.044 2020.02.10 00:05:00 Test_Level AUDUSD,H1: array out of range in 'Test_Level.mq4' (39,40)。 2020.12.14 14 14:24:29.044 2020.02.10 00:05:00 由于EA出现严重错误,测试通道停止。 2020.12.14 14:24:29.044 AUDUSD,H1: 245717 tick events (265 bars, 9638212 bar states) in 0:00:43.781 (total time 0:00:44.766) processed. 删除了所有不必要的东西,将函数移到正文中,添加了你的解决方案,在'Test_Level.mq4'(39,40)中 再次出现数组超出范围 -:) 一切顺利 而这里实际上是数组的范围之外,在 //+------------------------------------------------------------------+ //| Test_Level.mq4 | //| Copyright 2020, MetaQuotes Software Corp. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2020, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property version "3.0" #property strict double Bar_data_D1 [][6]; // Копирует в массив данные баров указанного графика и возвращает количество скопированных баров D1 double Low_D1_Level; // Возвращает значение минимальной цены бара D1 double Min_D_Level ; // ближайшей минимальный D уровень int A_C_R; // возвращает количество скопированных баров D1 //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { DestroyObject(); } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { A_C_R = ArrayCopyRates(Bar_data_D1,_Symbol,PERIOD_D1); // Копирует в массив данные баров указанного графика и возвращает количество скопированных баров Low_D1_Level = iLow (_Symbol,PERIOD_D1,1); // Возвращает значение минимальной цены бара D1 //--- Min_D_Leve V 1.2 for(int i = 1; i<ArrayRange(Bar_data_D1,0) ;i++) { if(Bar_data_D1 [i][2] != Bar_data_D1 [i+1][2] && Bar_data_D1 [i][2] < Low_D1_Level) { Min_D_Level = Bar_data_D1 [i][2];break; } if(Bar_data_D1 [i][2] == Bar_data_D1 [i+1][2]) { Min_D_Level = Low_D1_Level;break; } } /* //--- Min_D_Leve V 1.0 //for(int i = 1; i<ArrayRange(Bar_data_D1,0) ;i++) // так ошибки нет и линия не перерисовывается for(int i = 1; ;i++) // а так выход за массив { Print(" i = ",i," Bar_data_D1 [i][2] = ",Bar_data_D1 [i][2]); if(Bar_data_D1 [i][2]>=0) { if( Bar_data_D1 [i][2] < Low_D1_Level) { Min_D_Level = Bar_data_D1 [i][2];break; } } } */ //+-------------------------Low_D1_Level----------------------------+ if(ObjectFind("Low_D1")!=Low_D1_Level) { ObjectDelete("Low_D1"); if(ObjectFind("Low_D1")!=0) { ObjectCreate("Low_D1",OBJ_HLINE, 0, Time[0],Low_D1_Level); ObjectSet("Low_D1", OBJPROP_COLOR, clrMaroon); ObjectSet("Low_D1", OBJPROP_WIDTH, 1); } } if(ObjectFind("Low_D1_label")!=Low_D1_Level) { ObjectDelete("Low_D1_label"); if(ObjectFind("Low_D1_label") != 0) { ObjectCreate("Low_D1_label", OBJ_TEXT, 0, Time[13], Low_D1_Level); ObjectSetText("Low_D1_label", "Low_D1: " + DoubleToStr(Low_D1_Level,_Digits), 8,"Verdana", Brown); } } //+-------------------------Min_D_Level----------------------------+ if(ObjectFind("Min_D")!= Min_D_Level) { ObjectDelete("Min_D"); if(ObjectFind("Min_D")!=0) { ObjectCreate("Min_D",OBJ_HLINE, 0, Time[0],Min_D_Level); ObjectSet("Min_D", OBJPROP_COLOR, clrMaroon); ObjectSet("Min_D", OBJPROP_WIDTH, 1); } } if(ObjectFind("Min_D_label")!=Min_D_Level) { ObjectDelete("Min_D_label"); if(ObjectFind("Min_D_label") != 0) { ObjectCreate("Min_D_label", OBJ_TEXT, 0, Time[30], Min_D_Level); ObjectSetText("Min_D_label", "Min_D: " + DoubleToStr(Min_D_Level,_Digits), 8,"Verdana", Brown); } } Comment(" A_C_R возвращает количество скопированных баров D1 = ",A_C_R); } //+------------------------------------------------------------------+ //| функция удаление всех объектов созданных советником //+------------------------------------------------------------------+ void DestroyObject() { int tot=ObjectsTotal(); for( int i=tot; i>=0; i--) { if(ObjectName(i)=="Low_MN1"){ObjectDelete(0,"Low_MN1");Print("<< Объект Low_MN удалён >>");} if(ObjectName(i)=="Low_MN1_label"){ObjectDelete(0,"Low_MN1_label");Print("<< Объект Low_MN1_label удалён >>");} if(ObjectName(i)=="Min_D"){ObjectDelete(0,"Min_D");Print("<< Объект Min_D удалён >>");} if(ObjectName(i)=="Min_D_label"){ObjectDelete(0,"Min_D_label");Print("<< Объект Min_D_label удалён >>");} } } Array out of range Any questions from newcomers 编码帮助 Tretyakov Rostyslav 2020.12.14 08:44 #136 Dark Kchlyzov:从帖子的第一页回来 !删除了所有不必要的东西,将函数移到正文中,添加了你的解决方案,并再次在'Test_Level.mq4'(39,40)中出现数组超出范围 -:) 终端的错误 从上面的帖子中复制了代码并进行了测试 这里是日志 附加的文件: AUDUSD.log 7368 kb Tretyakov Rostyslav 2020.12.14 08:48 #137 我现在将尝试另一个经纪人,即另一个终端。 Tretyakov Rostyslav 2020.12.14 08:52 #138 10年后的Alpari,没有错误 附加的文件: Alpari_AUDUSD.log 15491 kb Dark Kchlyzov 2020.12.14 08:52 #139 MakarFX:终端的错误从上面的帖子中复制了代码并进行了测试这里是日志。 这里是新闻. 而随着可视化的运行,从1.01.2020 AUDUSD 我想这没有什么区别。 Tretyakov Rostyslav 2020.12.14 08:54 #140 谁是你的经纪人? 你用什么终端? 1...7891011121314151617 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
想从官方安装MT4,并进行试运行。
下午。我 在安装MT4终端 时遇到了 问题。我从网站上下载了第4版,开始安装,但安装完毕后出现了MT5终端。我如何准确安装MT4?
回答:不能。对以前版本的支持已经停止。请使用MT5。
你可以做到这一点
在整个可用期内进行测试
澳元兑美元自2016.01.01以来
欧元兑美元自2011.01.01以来
英镑兑美元自2011.01.01起
使用和
и
没有附上错误日志解决办法
做了一个指标,似乎一切都画得很正确
解决方案
回到帖子的第一页 !
2020.12.14 14:23:44.222 Expert Test_Level AUDUSD,H1: 删除
2020.12.14 14 14:23:44.234 Expert Test_Level AUDUSD,H1:加载成功
2020.12.14 14:23:44.365 TestGenerator: 当前使用了20个价差。
2020.12.14 14 14:23:45.263 2020.01.24 00:00:00 Test_Level测试开始。
2020.12.14 14:24:29.044 2020.02.10 00:05:00 Test_Level AUDUSD,H1: array out of range in 'Test_Level.mq4' (39,40)。
2020.12.14 14 14:24:29.044 2020.02.10 00:05:00 由于EA出现严重错误,测试通道停止。
2020.12.14 14:24:29.044 AUDUSD,H1: 245717 tick events (265 bars, 9638212 bar states) in 0:00:43.781 (total time 0:00:44.766) processed.
删除了所有不必要的东西,将函数移到正文中,添加了你的解决方案,在'Test_Level.mq4'(39,40)中 再次出现数组超出范围 -:)
一切顺利
而这里实际上是数组的范围之外,在
从帖子的第一页回来 !
删除了所有不必要的东西,将函数移到正文中,添加了你的解决方案,并再次在'Test_Level.mq4'(39,40)中出现数组超出范围 -:)
终端的错误
从上面的帖子中复制了代码并进行了测试
这里是日志
终端的错误
从上面的帖子中复制了代码并进行了测试
这里是日志。
这里是新闻.
而随着可视化的运行,从1.01.2020 AUDUSD
我想这没有什么区别。
谁是你的经纪人?
你用什么终端?