[存档!]任何菜鸟问题,为了不使论坛变得混乱。专业人士,不要路过。没有你,哪里都不能去 - 4. - 页 39 1...323334353637383940414243444546...631 新评论 Paladin80 2012.04.02 09:30 #381 artem86: 能否请你帮助我?如何在达到一定价格时,用同样的魔法关闭5个挂单。 提前感谢您! if (OrdersTotal()>0) { for (int i=OrdersTotal()-1; i>=0; i--) { if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true) { if(OrderMagicNumber()==magic_number) { if (OrderClose(OrderTicket(),LOT,price,3)==true) { Print("Error = ",GetLastError()); return(0); } } } } } 如果这些订单都是卖出的,那么价格=Ask,如果是买入的,那么价格=Bid。 Alekseu Fedotov 2012.04.02 09:44 #382 paladin80: 如果订单是为了卖出,那么价格=询价,如果是为了买入,那么价格=竞价。 错了,你应该 if (OrdersTotal()>0) { for (int i=OrdersTotal()-1; i>=0; i--) { if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true) { if(OrderMagicNumber()==magic_number) { if (OrderDelete(OrderTicket())==true) { Print("Error = ",GetLastError()); return(0); } } } } } Paladin80 2012.04.02 10:15 #383 r772ra: 错了,你必须 妈的,没注意到我应该关闭挂单,我在想平仓的事。 Роман 2012.04.02 10:30 #384 伙计们 - 告诉我,在测试器中,然后在交易账户上进行交易时,包括手动交易,结果发现可以不对开仓量 进行正常化,而会按要求的量开仓。例如,如果我开了一个0.1210手的订单,终端将以0.12开仓,也就是说,"额外的 "小数部分被默认丢弃了。 请告知这是否是终端的另一次 "升级",还是原本就可以做到。 我以前使用过这种交易量正常化的方法,但我在一个操作中错过了这一点,订单一直在开仓,专家顾问选项卡在开仓前给了我初步的交易量,特别是0.121手--我在一个模拟账户上测试。 批量的规范化的功能。 //+------------------------------------------------------------------+ //| Нормализация лота | //+------------------------------------------------------------------+ double NormalizeLots(double lot) { double lotStep = MarketInfo(Symbol(), MODE_LOTSTEP); double lots = NormalizeDouble(lot / lotStep, 0) * lotStep; lots = MathMax(lots, MarketInfo(Symbol(), MODE_MINLOT)); lots = MathMin(lots, MarketInfo(Symbol(), MODE_MAXLOT)); return (lots); } 从EA开始就叫它。 // ---------НОРМАЛИЗУЕМ НОВЫЕ РАСЧЕТНЫЕ ЛОТЫ И ОТКРЫВАЕМ ОЧЕРЕДНУЮ ПОЗИЦИЮ... Lots_New = NormalizeLots(Lots_New); if (lastType == OP_SELL) WmOrderSend(Symbol(), OP_BUY, Lots_New, Ask, 0, 0, "итерация" , MagicNumber); if (lastType == OP_BUY) WmOrderSend(Symbol(), OP_SELL,Lots_New, Bid, 0, 0, "итерация" , MagicNumber); 谁意识到了这一点--评论,请... P.S. 再次检查--显然有一种情况,当你试图打开0.1466的量时--打开0.14,即拒绝小数点后第二个符号右边的一切。 如果你做一个归一化,看起来会开出0.15手--即有四舍五入。 我得去看看... P.P.S. 都一样:谁知道--请发表评论... игорь 2012.04.02 10:46 #385 他妈的无视。 Elena Selezneva 2012.04.02 11:22 #386 求助......我在一个模拟和一个真实账户上运行专家顾问,它说:将在下一个刻度线时启动......刻度线来了,但它不会启动,尽管 "允许EA交易 "选项被选中,EA被启用,日志中没有错误,互联网工作,其他EA也在工作。 --- 2012.04.02 11:31 #387 sellena: 如果有帮助的话:在我添加了这篇文章 中的过滤功能后,EA就不再开启了 如果有帮助,可以和这里的 一个工人谈谈。 Роман 2012.04.02 11:47 #388 sergeev: 如果有帮助,可以和这里的 一个工人谈谈。 亚历克斯,如果你有时间,看看我的问题...谢谢你。 Рустам 2012.04.02 11:56 #389 Roman.: 亚历克斯,如果你有时间,看看我的问题...谢谢你。 我可以告诉你一件事--我已经联系了服务部门(在另一个场合),他们告诉我:"依赖 默认值是有害的,如果你想确定,就使用你自己的过滤器和处理方法"。所以这取决于你... --- 2012.04.02 12:02 #390 Roman.: 亚历克斯,如果你有时间的话,请看看我的问题...谢谢。 常见问题中说得很对。你不能依赖 "默认值"。因为我记得,如果你在发送订单 前不做规范化处理,经常会出现131错误(错误的批次)。 也许现在MMO在发送执行命令时,已经在服务器上做了他们自己的默认批量检查。 因此,在发送之前,你应该总是做你自己的价格和批次的规范化。 这对你来说是良好的编码规则,也是对未来潜在问题的更少麻烦的保证。 1...323334353637383940414243444546...631 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
能否请你帮助我?如何在达到一定价格时,用同样的魔法关闭5个挂单。
提前感谢您!
如果订单是为了卖出,那么价格=询价,如果是为了买入,那么价格=竞价。
错了,你应该
错了,你必须
伙计们 - 告诉我,在测试器中,然后在交易账户上进行交易时,包括手动交易,结果发现可以不对开仓量 进行正常化,而会按要求的量开仓。例如,如果我开了一个0.1210手的订单,终端将以0.12开仓,也就是说,"额外的 "小数部分被默认丢弃了。
请告知这是否是终端的另一次 "升级",还是原本就可以做到。
我以前使用过这种交易量正常化的方法,但我在一个操作中错过了这一点,订单一直在开仓,专家顾问选项卡在开仓前给了我初步的交易量,特别是0.121手--我在一个模拟账户上测试。
批量的规范化的功能。
从EA开始就叫它。
谁意识到了这一点--评论,请...
P.S. 再次检查--显然有一种情况,当你试图打开0.1466的量时--打开0.14,即拒绝小数点后第二个符号右边的一切。
如果你做一个归一化,看起来会开出0.15手--即有四舍五入。
我得去看看...
P.P.S. 都一样:谁知道--请发表评论...
他妈的无视。
如果有帮助的话:在我添加了这篇文章 中的过滤功能后,EA就不再开启了
如果有帮助,可以和这里的 一个工人谈谈。
如果有帮助,可以和这里的 一个工人谈谈。
亚历克斯,如果你有时间,看看我的问题...谢谢你。
我可以告诉你一件事--我已经联系了服务部门(在另一个场合),他们告诉我:"依赖 默认值是有害的,如果你想确定,就使用你自己的过滤器和处理方法"。所以这取决于你...
亚历克斯,如果你有时间的话,请看看我的问题...谢谢。
常见问题中说得很对。你不能依赖 "默认值"。因为我记得,如果你在发送订单 前不做规范化处理,经常会出现131错误(错误的批次)。
也许现在MMO在发送执行命令时,已经在服务器上做了他们自己的默认批量检查。
因此,在发送之前,你应该总是做你自己的价格和批次的规范化。
这对你来说是良好的编码规则,也是对未来潜在问题的更少麻烦的保证。