新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 1748 1...174117421743174417451746174717481749175017511752175317541755...1953 新评论 Galim_V 2021.11.15 12:01 #17471 MakarFX #:你能告诉我如何正确操作吗?不需要输入我想加的所有元素,只需指定5个元素即可。 #property copyright "Copyright 2020, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property version "1.00" #property strict int Label1Buffer[]; int Label2Buffer[]; //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { int i=0, f=0, limit=9; ArrayResize(Label1Buffer,limit); ArrayResize(Label2Buffer,limit); for(i=limit-1; i>=0; i--) { Label1Buffer[i]= 3; if(i<=4) f+=Label1Buffer[i]; Label2Buffer[i]= f; Print(Label2Buffer[i]); } Print(" ! ",Label2Buffer[0]); } //+------------------------------------------------------------------+ Tretyakov Rostyslav 2021.11.15 13:19 #17472 Galim_V #: 不,不是这样的。到目前为止,我已经做了这些 for(i=limit;i>=0;i--) { Label1Buffer[i] = MathRand(); tmp = 0.0; for(int a=Input1; a>0; a--) { tmp += Label1Buffer[i+a]; } Label2Buffer[i] = tmp; } Ivan Butko 2021.11.15 23:23 #17473 iHigh(NULL,PERIOD_H1,i)和 double H=iHigh(NULL,PERIOD_H1,i); 不是一回事? 由于某些原因,在while循环之后,它们给出了不同的结果。,我想对它进行优化,这样我就不会不断地写一个长行iHigh(NULL,PERIOD_H1,i),而是将其 存储在一个变量中。把它改成循环中的一个变量,结果就不同了。 Nikolay Ivanov 2021.11.15 23:34 #17474 Ivan Butko iHigh(NULL,PERIOD_H1,i)和 double H=iHigh(NULL,PERIOD_H1,i); 不是一回事?由于某些原因,在while循环之后,它们给出了不同的结果。 ,我想对它进行优化,这样我就不会不断地写一个长行iHigh(NULL,PERIOD_H1,i),而是将其 存储在一个变量中。把它改成循环中的一个变量,结果就不同了。 取决于考虑什么背景... 如果你的while循环播放i,那么iHigh(NULL,PERIOD_H1,i)和H将是不同的。因为H存储了其他i的数据 Ivan Butko 2021.11.15 23:39 #17475 Nikolay Ivanov iHigh(NULL,PERIOD_H1,i)和H将是不同的。因为H存储的是另一个i的数据 是的,你是对的,它在玩I。我是说,谢谢你。 Ivan Butko 2021.11.16 09:54 #17476 有什么办法可以削减历史吗?当你下载它时,它是20年前的,但你需要它2-3年前的... Tretyakov Rostyslav 2021.11.16 10:28 #17477 Ivan Butko #: 有什么办法可以削减历史吗?当你下载它时,它是20年前的,但你需要它2-3年前的... 使用 "Shift "键选择你不想要的数据并删除它。 Ivan Butko 2021.11.16 10:42 #17478 MakarFX #: 使用 "Shift "键选择你不想要的数据并删除它。 谢谢你 Maksim Burov 2021.11.16 10:52 #17479 下午好。 void CloseAll() { for (int i=OrdersTotal()-1; i>=0; i--) { if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) { if (OrderType() == OP_BUY) { if (!OrderClose(OrderTicket(),OrderLots(), Bid, Slippage)) Print (" Не удалось закрыть ордер на покупку!"); } if (OrderType() == OP_SELL) { if (!OrderClose(OrderTicket(),OrderLots(), Ask, Slippage)) Print (" Не удалось закрыть ордер на продажу!"); } } } } } 我使用这个代码来关闭所有的订单。但我注意到,如果有很多人,并不是所有的人都是封闭的。我可以添加什么来关闭所有的人,即使不是第一次。如果可能的话,请举例说明。 Maksim Burov 2021.11.16 10:59 #17480 下午好,再次) 第二个问题:,我想部分关闭订单。但有一个问题,当部分关闭订单时,按照我的理解,订单票改变了,由此最后一个变成了第一个,而对我来说最主要的是要保持开盘的顺序。为了让最后的人留在最后。我们可以如何追踪之前的订单。开盘价 有变化吗?如果可能的话,请举例说明),提前感谢。 1...174117421743174417451746174717481749175017511752175317541755...1953 新评论 原因: 取消 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
你能告诉我如何正确操作吗?
不需要输入我想加的所有元素,只需指定5个元素即可。
不,不是这样的。到目前为止,我已经做了这些
由于某些原因,在while循环之后,它们给出了不同的结果。
,我想对它进行优化,这样我就不会不断地写一个长行iHigh(NULL,PERIOD_H1,i),而是将其 存储在一个变量中。把它改成循环中的一个变量,结果就不同了。
iHigh(NULL,PERIOD_H1,i),而是将其 存储在一个变量中。把它改成循环中的一个变量,结果就不同了。
取决于考虑什么背景...
如果你的while循环播放i,那么iHigh(NULL,PERIOD_H1,i)和H将是不同的。因为H存储了其他i的数据
是的,你是对的,它在玩I。我是说,谢谢你。
有什么办法可以削减历史吗?当你下载它时,它是20年前的,但你需要它2-3年前的...
使用 "Shift "键选择你不想要的数据并删除它。
使用 "Shift "键选择你不想要的数据并删除它。
谢谢你
下午好,再次)
第二个问题:
,我想部分关闭订单。但有一个问题,当部分关闭订单时,按照我的理解,订单票改变了,由此最后一个变成了第一个,而对我来说最主要的是要保持开盘的顺序。为了让最后的人留在最后。我们可以如何追踪之前的订单。开盘价 有变化吗?如果可能的话,请举例说明)
,提前感谢。