欢迎访问 外汇EA下载与MT4/MT5自动交易资源 - 聚合外汇EA、黄金EA、量化交易工具与自动化交易实战内容。
登录 注册

关闭所有订单和头寸 - MetaTrader 5 脚本

author emer | 706 人阅读 | 0 人评论 |

当您创建 EA 并且您没有注意到导致开立订单过多(如果不是订单)的错误时,有时会发生这种情况。或者,当您使用 Metaeditor 时,Ontick 中某处的 If 语句之外可能存在交易执行代码,该代码会在 MT5 后台打开交易

尝试手动关闭太多订单和头寸很无聊,而且很耗时。让我们创建可以关闭所有这些的脚本。

01:实例化要使用的库

#包括<贸易\贸易.mqh>//建立交易执行库
#包括<交易\OrderInfo.mqh>//建立订单信息库
#包括<交易\PositionInfo.mqh>//建立仓位信息库
//---CTrade         m_trade;// 交易信息和执行库COrderInfo     m_order;//订单信息库CPositionInfo  m_position;// 所有位置特征和信息的库

02:我们的简单输入

输入          颜色    订单颜色 =clr道奇蓝;// 图表上的订单计数器颜色
输入          颜色    位置颜色 =clr绿色黄色;//在图表上设置计数器颜色

03:(可选)让我们在图表上绘制对象来计算 MT5 交易部分可用的头寸和订单数量。

   图表写入(「职位」,「职位」+ (细绳持仓总数(),100,80,20,清绿);// 在图表上写入仓位数量   图表写入(“订单”,“订单”+ (细绳订单总数(),100,50,20,clr道奇蓝);//在图表上写入订单数量

04:让我们的脚本首先通过关闭所有仓位来处理仓位

      为了整数我=持仓总数()-1;我 >=0;我 - )// 循环所有未平仓头寸        如果(m_position.SelectByIndex(i))  // 选择一个位置           {
            m_trade.PositionClose(m_position.Ticket());// 然后删除它--period            睡觉100);// 放松 100 毫秒            图表写入(「职位」,「职位」+ (细绳持仓总数(),100,80,20, 位置颜色);//在图表上重新写入持仓数量           }

05:然后通过关闭我们的订单来完成

      为了整数我=订单总数()-1;我 >=0;我 - )// 循环所有可用订单        如果(m_order.SelectByIndex(i))  // 选择一个订单           {
            m_trade.OrderDelete(m_order.Ticket());// 删除它--句点            睡觉100);// 放松 100 毫秒            图表写入(“订单”,“订单”+ (细绳订单总数(),100,50,20,订单颜色);//在图表上重新写入订单数量           }

这是我们的对象被初始化的地方。要了解对象,请阅读文档 这里

空白图表写入(细绳  姓名,
                细绳  评论,
                整数     x_距离,
                整数     y_距离,
                整数     字体大小,
                颜色   清除)
  {
  对象创建0, 姓名,OBJ_LABEL,0,0,0);
  对象集整数0, 姓名,OBJPROP_角,角左上);
  对象集整数0, 姓名,OBJPROP_COLOR,清除);
  对象集字符串0, 姓名,OBJPROP_TEXT, 评论);
  对象集整数0, 姓名,OBJPROP_FONTSIZE,字体大小);
  对象集字符串0, 姓名,  OBJPROP_FONT,“露西达控制台”);
  对象集整数0, 姓名,OBJPROP_SELECTABLE,错误的);
  对象集整数0, 姓名,OBJPROP_XDISTANCE,x_距离);
  对象集整数0, 姓名,OBJPROP_Y距离,y_距离);
  }//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+

这个脚本可以帮助你关闭所有订单和仓位在眨眼之间。


附件下载

📎 close_all_orders_and_positions.mq5 (3.75 KB)

Source: MQL5 #36010

🔐
请登录后参与评论
注册满12小时后评论,即可解锁附件下载
立即登录