[存档!]任何菜鸟问题,为了不使论坛变得混乱。专业人士,不要路过。没有你,哪里都不能去 - 4. - 页 564 1...557558559560561562563564565566567568569570571...631 新评论 [删除] 2012.12.02 12:49 #5631 Ekburg: 没有,当其中一个仓位被关闭时,改变仓位订单号的问题已经解决了,我已经检查了不止一次,认为那里可能有一个错误,但那里一切都很好,所需的订单被选中,并且正确计算了它的止损,但订单不愿意被修改... 只有当传递给OrderModify( )函数的所有参数与被修改的订单的所有参数相等时,才会产生错误1,而您( 通过票号) 或OrderSelect()函数选择了修改。检查的使用实例。只有 "来自KimIV的有用功能"。ModifyOrder()函数https://www.mql5.com/ru/forum/131859 [删除] 2012.12.02 13:27 #5632 rigonich: 只有当传递给OrderModify( )函数的所有参数与您选择的可修改订单(通过票号)或OrderSelect()函数修改的所有参数相等时,才会产生错误1。1 (ERR_NO_RESULT) - 如果没有任何参数被改变或 没有错误,但结果是未知的,很可能是由于某种原因没有修改订单... TarasBY 2012.12.02 13:46 #5633 abeiks: 是的,我同意,编程不是我的专长,这就是我在这里学习和提问的原因。我试图在你的 算法中加入平仓,但没有成功(所有的买入头寸都在平仓),所以我决定从另一个方面 来解决这个问题,看看 提供给我的现成平仓块上最后两个买入头寸的平仓方案。如果你能告诉我如何关闭最后两个买入头寸,我将非常感激。我 将理解我在哪里犯了错误。 int Slippage = 3; int Close_buy_2pos() { int ordercount = 0, OpenOrders = OrdersTotal(); for (int cnt = OpenOrders - 1; cnt >= 0; cnt--) // scan all orders and positions. .. { if (!OrderSelect (cnt, SELECT_BY_POS)) return (ordercount); if (OrderSymbol() != Symbol()) continue; if (OrderMagicNumber() != magic) continue; if (OrderType() != OP_BUY) continue; if (OrderClose (OrderTicket(), OrderLots(), Bid, Slippage)) ordercount++; else return (ordercount); if (ordercount == 2) break; } Print ("::::::::::::::::::::::::: ordercount = ", ordercount); return (ordercount); } 在一般情况下,它是这样的。如果我们使用 "低能 "变体(这是我使用的),那么我们必须开始一个循环:首先,找到最后一个开放的 BUY位置,然后从票据中删除它,并根据需要多次重复循环。P.S. 将 "买 "和 "卖 "的功能分开写--这从一开始就是个错误的想法(IMHO)。而这种情况下的函数看起来不会太复杂。int Slippage = 3; int Close_LastPos (string fs_Symbol, int fi_Magic, int fi_Type = -1, // тип закрываемых позиций int fi_cnt = 1) // количсетво закрываемых позиций { int ordercount = 0, OpenOrders = OrdersTotal(); double ld_PriceClose; for (int cnt = OpenOrders - 1; cnt >= 0; cnt--) // scan all orders and positions. .. { if (!OrderSelect (cnt, SELECT_BY_POS)) return (ordercount); if (OrderSymbol() != fs_Symbol) continue; if (OrderMagicNumber() != fi_Magic) continue; if (OrderType() != fi_Type) if (fi_Type != -1) continue; if (OrderType() > 1) continue; if (OrderType() == OP_BUY) ld_PriceClose = NormalizeDouble (Bid, Digits); else ld_PriceClose = NormalizeDouble (Ask, Digits); if (OrderClose (OrderTicket(), OrderLots(), ld_PriceClose, Slippage)) ordercount++; else return (ordercount); if (ordercount == fi_cnt) break; } Print ("::::::::::::::::::::::::: ordercount = ", ordercount); return (ordercount); } [删除] 2012.12.02 14:11 #5634 Ekburg: 1 (ERR_NO_RESULT) - 如果没有任何参数被改变或 没有错误,但结果是未知的,很可能只是因为某些原因没有修改订单... ERR_NO_RESULT 不是非此即彼,而是没有错误但结果 不明。在什么情况下会返回这个错误,上面已经介绍了。如果函数GetLastError()在函数OrderModify()之后被调用,它肯定 会返回错误代码(即订单未被修改的原因)或0(在修改成功的情况下)。 Nauris Zukas 2012.12.02 16:47 #5635 TarasBY:在一般情况下如此。如果我们使用 "低能 "变体(这是我使用的变体),那么我们必须开始一个循环:首先,找到最后一个开放的BUY位置,然后从票据中删除它,并根据需要多次重复循环。P.S. 将 "买 "和 "卖 "的功能分开写--这从一开始就是个错误的想法(IMHO)。而在这种情况下,功能看起来不会太复杂。 谢谢,我会研究的。 [删除] 2012.12.02 21:24 #5636 大家晚上好,请告诉我为什么MetaTrader4(最新)完全不更新?我昨天安装了它,但最后的更新日期显示为11月30日,而且没有任何货币对的动态,当我购买任何货币时,市场是关闭的。(我有一个模拟账户)。你能告诉我如何启用更新,或者我必须做什么来跟踪价格变化吗? Marcelo Ferreira 2012.12.02 21:30 #5637 Lucifer982:大家晚上好,请告诉绿色和没有经验的人,为什么MetaTrader4(最新)完全不更新?我昨天安装了它,但最后的更新日期显示为11月30日,而且没有任何货币对的动态,当我购买任何货币时,市场是关闭的。(我有一个模拟账户)。你能告诉我如何启用更新,或者我必须做什么来跟踪价格变化吗? 系统将在几个小时内开始自我更新(取决于你的时区)。DoC在周六、周日有一天休息。 所以他们没有什么可担心的))))。或者第二种选择:向财政部服务台写信投诉。 [删除] 2012.12.02 22:00 #5638 T1000: 它将在几个小时内自行开启(取决于你的时区)。服务台在周六、周日有一天休息。所以他们没有任何问讯))))。或者第二种选择:向财政部的服务台写投诉。 我明白了,谢谢你,我会等待的) evgens 2012.12.02 22:17 #5639 如何获得某一货币对的未平仓订单总数?我有一个开放的图表,EA在10个符号上工作。我决定让图表上的评论显示每个符号的未结订单总数。我如何做到这一点? 如果OrdersTotal 显示的总金额为 [删除] 2012.12.02 22:58 #5640 gheka:以何种方式? 例如,像这样。 1...557558559560561562563564565566567568569570571...631 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
没有,当其中一个仓位被关闭时,改变仓位订单号的问题已经解决了,我已经检查了不止一次,认为那里可能有一个错误,但那里一切都很好,所需的订单被选中,并且正确计算了它的止损,但订单不愿意被修改...
只有当传递给OrderModify( )函数的所有参数与被修改的订单的所有参数相等时,才会产生错误1,而您( 通过票号) 或OrderSelect()函数选择了修改。检查的使用实例。
只有 "来自KimIV的有用功能"。
ModifyOrder()函数https://www.mql5.com/ru/forum/131859
只有当传递给OrderModify( )函数的所有参数与您选择的可修改订单(通过票号)或OrderSelect()函数修改的所有参数相等时,才会产生错误1。
1 (ERR_NO_RESULT) - 如果没有任何参数被改变或 没有错误,但结果是未知的,很可能是由于某种原因没有修改订单...
是的,我同意,编程不是我的专长,这就是我在这里学习和提问的原因。我试图在你的 算法中加入平仓,但没有成功(所有的买入头寸都在平仓),所以我决定从另一个方面 来解决这个问题,看看 提供给我的现成平仓块上最后两个买入头寸的平仓方案。
如果你能告诉我如何关闭最后两个买入头寸,我将非常感激。我 将理解我在哪里犯了错误。
在一般情况下,它是这样的。如果我们使用 "低能 "变体(这是我使用的),那么我们必须开始一个循环:首先,找到最后一个开放的 BUY位置,然后从票据中删除它,并根据需要多次重复循环。
P.S. 将 "买 "和 "卖 "的功能分开写--这从一开始就是个错误的想法(IMHO)。
而这种情况下的函数看起来不会太复杂。
1 (ERR_NO_RESULT) - 如果没有任何参数被改变或 没有错误,但结果是未知的,很可能只是因为某些原因没有修改订单...
在一般情况下如此。如果我们使用 "低能 "变体(这是我使用的变体),那么我们必须开始一个循环:首先,找到最后一个开放的BUY位置,然后从票据中删除它,并根据需要多次重复循环。
P.S. 将 "买 "和 "卖 "的功能分开写--这从一开始就是个错误的想法(IMHO)。
而在这种情况下,功能看起来不会太复杂。
谢谢,我会研究的。
大家晚上好,请告诉我为什么MetaTrader4(最新)完全不更新?我昨天安装了它,但最后的更新日期显示为11月30日,而且没有任何货币对的动态,当我购买任何货币时,市场是关闭的。(我有一个模拟账户)。你能告诉我如何启用更新,或者我必须做什么来跟踪价格变化吗?
大家晚上好,请告诉绿色和没有经验的人,为什么MetaTrader4(最新)完全不更新?我昨天安装了它,但最后的更新日期显示为11月30日,而且没有任何货币对的动态,当我购买任何货币时,市场是关闭的。(我有一个模拟账户)。你能告诉我如何启用更新,或者我必须做什么来跟踪价格变化吗?
系统将在几个小时内开始自我更新(取决于你的时区)。DoC在周六、周日有一天休息。 所以他们没有什么可担心的))))。
或者第二种选择:向财政部服务台写信投诉。
它将在几个小时内自行开启(取决于你的时区)。服务台在周六、周日有一天休息。所以他们没有任何问讯))))。
或者第二种选择:向财政部的服务台写投诉。
我明白了,谢谢你,我会等待的)
如何获得某一货币对的未平仓订单总数?
我有一个开放的图表,EA在10个符号上工作。
我决定让图表上的评论显示每个符号的未结订单总数。
我如何做到这一点? 如果OrdersTotal 显示的总金额为
以何种方式?
例如,像这样。