将开放的职位分成若干组 - 页 5 12345678910111213 新评论 Aliaksandr Hryshyn 2020.03.23 13:54 #41 Alexey Viktorov: 用大量的什么?阵列项目 甚至没有在每次打勾时被填满?它将如何被注意到? 这个代码刺痛了眼睛,仿佛是故意让它变得更糟。 好吧,如果没有什么区别,我们就这样做吧。 for(int i = 0; i < 10; i++) { ArrayResize(arrTest, i+1); arrTest[i][0] = iOpen(_Symbol, PERIOD_CURRENT, i); arrTest[i][1] = iClose(_Symbol, PERIOD_CURRENT, i); for(int j=0;j<100;j++) Sleep(1); } 为什么不呢? ArrayResize(arrTest, 10); for(int i = 0; i < 10; i++) { arrTest[i][0] = iOpen(_Symbol, PERIOD_CURRENT, i); arrTest[i][1] = iClose(_Symbol, PERIOD_CURRENT, i); } Alexey Viktorov 2020.03.23 13:57 #42 Aliaksandr Hryshyn: 这个代码刺痛了眼睛,仿佛是故意让它变得更糟。 如果没有什么区别,我们就这样做。 为什么? ps;啊,我明白了。嗯,这是一个例子。当工作数组被填充时,肯定会被一个索引填充。不是你必须注意这种细微差别的变体。 Aliaksandr Hryshyn 2020.03.23 13:58 #43 Alexey Viktorov: 为什么? 可能是为了在事先知道大小的情况下,你让数组在循环内变化的原因。 我不知道具体原因 :)。 你是自由职业者,对吗!?太可怕了 :)。 Alexey Viktorov 2020.03.23 14:07 #44 Aliaksandr Hryshyn: 可能是为了在事先知道大小的情况下,你让数组在循环内变化的原因。 我不知道具体原因 :)。 你是自由职业者,对吗!?太可怕了 :)。 那么它是什么呢? Sergey Voytsekhovsky 2020.03.23 16:11 #45 Alexey Viktorov:那是垃圾。我没有看手册就使用了这个功能,... 它的工作,非常感谢你!!!。我写的确实是废话,ArrayRemove 删除函数 对任何维度的数组都能正常工作。 错误在其他地方。应用该函数后,我不得不重新定义它,这次是一个较小的数组,因为在下一步中,这个变量又被用于循环,数组超出了范围(我的术语可能有误,但我希望我说得很清楚)。 我将在下面和附件文件中发布工作版本。突出了微妙的要点。 //+------------------------------------------------------------------+ int Array_Caste_Positions_Creating(){ int n = 0; long ticket = 0; bool new_pos = true; //---Запись новых тикетов в массив позиций int All_Position = PositionsTotal(); int Array_Size = ArrayRange(Arr_Position,0); //--- for(int i = 0; i < All_Position; i++){ if(m_position.SelectByIndex(i)){ ticket = PositionGetInteger(POSITION_TICKET); new_pos = true;} for(int e = 0; e < Array_Size; e++){ if(Arr_Position[e][0]==ticket){ new_pos = false; n++; break;}} if(new_pos){ int New_Size = Array_Size+1; ArrayResize(Arr_Position,New_Size,0); Arr_Position[Array_Size][0] = (int)ticket;//Ticket Arr_Position[Array_Size][1] = 0;//Number_Caste (0 = начальные позиции) n++;}} //---Удаление из массива мёртвых тикетов Array_Size = ArrayRange(Arr_Position,0); All_Position = PositionsTotal(); //--- for(int e = 0; e < Array_Size; e++){ int ticket_dead = Arr_Position[e][0]; bool dead_pos = true; for(int i = 0; i < All_Position; i++){ if(m_position.SelectByIndex(i)){ if(ticket_dead == PositionGetInteger(POSITION_TICKET)){ dead_pos = false; n++; break;}}} if(dead_pos){ ArrayRemove(Arr_Position,e,1); Array_Size = ArrayRange(Arr_Position,0);}} //--- return(n);} //+------------------------------------------------------------------+ 附加的文件: Sower_1_6.mq5 19 kb Sergey Voytsekhovsky 2020.03.23 16:33 #46 我觉得自己就像一个不守规矩的学生,不知不觉地出现在两位老师的争论中,他们各自坚持自己教学方法的正确性。 请允许我插入我脆弱的三分钱。 尽管Alexey Viktorov 发布的例子的代码有一点不完善,但他提出的想法是正确的,它们帮助我们理解了它。如果一个自由职业者准备并愿意免费提供帮助,而不是试图勒索额外的一分钱--那么请称赞他,我真的很尊重他。谢谢你。 Aliaksandr Hryshyn- 非常感谢你,你也不是无动于衷,真诚地想帮忙,你也做到了。谁知道如果没有你的批评,事件会如何发展? Alexey Viktorov 2020.03.23 16:34 #47 Sergey Voytsekhovsky: 它的工作,非常感谢你!!!。我写的东西确实是胡说八道,ArrayRemove 删除函数 在任何维度的数组上都能正常工作。 错误在其他地方。应用该函数后,我不得不重新定义它,这次是一个较小的数组,因为在下一步中,这个变量又被用于循环,数组超出了范围(我的术语可能有误,但我希望我说得很清楚)。 我将在下面和附件文件中发布工作版本。突出了微妙的要点。 快速教程。 在这里,它是 if(m_position.SelectByIndex(i)){ ticket = PositionGetInteger(POSITION_TICKET); 可以用 t icket = PositionGetTicket(i); Sergey Voytsekhovsky 2020.03.23 16:39 #48 Alexey Viktorov: 具备一点识字能力。 这个人 可以用以下方式代替。 很好,如果代码中的其他地方引起拒绝--请给我看,我是一个自制的程序员,我挖的东西,那是我的,知识是不系统的、零散的。我将非常感谢对正确道路的指导。 纠正了,现在是这样的。 //---Запись новых тикетов в массив позиций int All_Position = PositionsTotal(); int Array_Size = ArrayRange(Arr_Position,0); //--- for(int i = 0; i < All_Position; i++){ ticket = (int)PositionGetTicket(i); new_pos = true; for(int e = 0; e < Array_Size; e++){ if(Arr_Position[e][0]==ticket){ new_pos = false; n++; break;}} if(new_pos){ int New_Size = Array_Size+1; ArrayResize(Arr_Position,New_Size,0); Arr_Position[Array_Size][0] = (int)ticket;//Ticket Arr_Position[Array_Size][1] = 0;//Number_Caste (0 = начальные позиции) n++;}} Alexey Viktorov 2020.03.23 17:01 #49 Sergey Voytsekhovsky: 很好,如果代码中还有其他导致拒绝的地方--请告诉我,我是一个自制的程序员,我发现的是我的,知识不系统,很零散。如果能在正确的道路上得到指导,我将非常感激。 只是偶尔为之。我不会记下它。事实上,我是自学成才的,也是一个自学成才的老先生。 mql5中的门票是ulong类型 的 那么就不会有那么多的人加入到这个行列中来了。 Sergey Voytsekhovsky 2020.03.23 17:09 #50 Alexey Viktorov: 只有在有机会的情况下。我不会去看。一般来说,我也是自学成才,而且是老牌的自学成才者。 mql5中的门票是ulong类型的 那么就不会有那么多的人加入到这个行列中来了。 谢谢你,我会考虑到这一点,以后我会在这里重做。 12345678910111213 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
用大量的什么?阵列项目 甚至没有在每次打勾时被填满?它将如何被注意到?
这个代码刺痛了眼睛,仿佛是故意让它变得更糟。
好吧,如果没有什么区别,我们就这样做吧。
为什么不呢?
这个代码刺痛了眼睛,仿佛是故意让它变得更糟。
如果没有什么区别,我们就这样做。
为什么?
ps;啊,我明白了。嗯,这是一个例子。当工作数组被填充时,肯定会被一个索引填充。不是你必须注意这种细微差别的变体。为什么?
可能是为了在事先知道大小的情况下,你让数组在循环内变化的原因。
我不知道具体原因 :)。
你是自由职业者,对吗!?太可怕了 :)。
可能是为了在事先知道大小的情况下,你让数组在循环内变化的原因。
我不知道具体原因 :)。
你是自由职业者,对吗!?太可怕了 :)。
那么它是什么呢?
那是垃圾。我没有看手册就使用了这个功能,...
它的工作,非常感谢你!!!。我写的确实是废话,ArrayRemove 删除函数 对任何维度的数组都能正常工作。
错误在其他地方。应用该函数后,我不得不重新定义它,这次是一个较小的数组,因为在下一步中,这个变量又被用于循环,数组超出了范围(我的术语可能有误,但我希望我说得很清楚)。
我将在下面和附件文件中发布工作版本。突出了微妙的要点。
我觉得自己就像一个不守规矩的学生,不知不觉地出现在两位老师的争论中,他们各自坚持自己教学方法的正确性。
请允许我插入我脆弱的三分钱。
尽管Alexey Viktorov 发布的例子的代码有一点不完善,但他提出的想法是正确的,它们帮助我们理解了它。如果一个自由职业者准备并愿意免费提供帮助,而不是试图勒索额外的一分钱--那么请称赞他,我真的很尊重他。谢谢你。
Aliaksandr Hryshyn- 非常感谢你,你也不是无动于衷,真诚地想帮忙,你也做到了。谁知道如果没有你的批评,事件会如何发展?
它的工作,非常感谢你!!!。我写的东西确实是胡说八道,ArrayRemove 删除函数 在任何维度的数组上都能正常工作。
错误在其他地方。应用该函数后,我不得不重新定义它,这次是一个较小的数组,因为在下一步中,这个变量又被用于循环,数组超出了范围(我的术语可能有误,但我希望我说得很清楚)。
我将在下面和附件文件中发布工作版本。突出了微妙的要点。
快速教程。
在这里,它是
可以用
具备一点识字能力。
这个人
可以用以下方式代替。
很好,如果代码中的其他地方引起拒绝--请给我看,我是一个自制的程序员,我挖的东西,那是我的,知识是不系统的、零散的。我将非常感谢对正确道路的指导。
纠正了,现在是这样的。
很好,如果代码中还有其他导致拒绝的地方--请告诉我,我是一个自制的程序员,我发现的是我的,知识不系统,很零散。如果能在正确的道路上得到指导,我将非常感激。
只是偶尔为之。我不会记下它。事实上,我是自学成才的,也是一个自学成才的老先生。
mql5中的门票是ulong类型 的
那么就不会有那么多的人加入到这个行列中来了。
只有在有机会的情况下。我不会去看。一般来说,我也是自学成才,而且是老牌的自学成才者。
mql5中的门票是ulong类型的
那么就不会有那么多的人加入到这个行列中来了。
谢谢你,我会考虑到这一点,以后我会在这里重做。