通用自定义函数-平调所有持仓单(含挂单)

阅读 :
欢迎访问 外 汇 邦 WWW.WaiHuiBang.com

 void CloseAllOrder()//平掉所有仓位包括挂单
{  
  int tick[200]; 
  PingFlag=0;
  int j=0;
  for(int i=0;i<OrdersTotal();i++)
   {
     OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
     if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
     {j=j+1;
      tick[j]=OrderTicket();      
      Print("全部平仓! :",tick[j]);    
     }
   }
if (j!=0)
{
   for(i=1;i<=j;i++)
    {
     OrderSelect(tick, SELECT_BY_TICKET);
     if(OrderType()==OP_BUY)
      {
       if(OrderClose(OrderTicket(),OrderLots(),Bid,滑点可接受范围)==false)
       {
        PingFlag=1;
        Print("多头平仓失败"+GetLastError());
       } 
      } 
      
     //OrderSelect(tick, SELECT_BY_TICKET);
     if(OrderType()==OP_BUYSTOP)
      {
       if(OrderDelete(OrderTicket(),CLR_NONE)==false)
       {
        PingFlag=1;
        Print("多头挂单撤销失败"+GetLastError());
       } 
      } 
     //OrderSelect(tick, SELECT_BY_TICKET);
     if(OrderType()==OP_BUYLIMIT)
      {
       if(OrderDelete(OrderTicket(),CLR_NONE)==false)
       {
        PingFlag=1;
   Print("多头挂单撤销失败"+GetLastError());
       } 
      } 
     if(OrderType()==OP_SELL)
      {
       if(OrderClose(OrderTicket(),OrderLots(),Ask,滑点可接受范围)==false)
       {
        PingFlag=1;
        Print("空头平仓失败"+GetLastError());
       } 
      } 
      
      if(OrderType()==OP_SELLSTOP)
      {
       if(OrderDelete(OrderTicket(),CLR_NONE)==false)
       {
        PingFlag=1;
        Print("空头挂单撤销失败"+GetLastError());
       } 
      }     
      if(OrderType()==OP_SELLLIMIT)
      {
       if(OrderDelete(OrderTicket(),CLR_NONE)==false)
       {
        PingFlag=1;
        Print("空头挂单撤销失败"+GetLastError());
       } 
      } 
    }
   }
  if (PingFlag==0) PingStop=1;
}

欢迎访问 外 汇 邦 WWW.WaiHuiBang.com
本文标题:通用自定义函数-平调所有持仓单(含挂单) - MT4平台MQL4编程学习
本文地址:http://www.ea666.cn/fxschool/autotrading/mql4/40675.html

相关文章

  • EA是外汇交易的圣杯吗?

    EA程序化系统虽然相对人而言更有客观性更有执行力,也是阿右能够接受和认可的工具,但是系统优化与执行效率、概率事件与实际序列分布、变量与系统绩效评价是量化策略的三大悖论,将交易获利的希望完全建立在完美的一套E...

    MQL4编程学习
  • 新版MQL4错误代码中文释义(含新增错误代码)

    新版MQL4增加了许多内容,于是,自定义了一个错误代码函数,并重新翻译了错误代码的中文意思。作为手册查看也是不错的。...

    MQL4编程学习
  • MT4编程实例分析:MessageBox的用法

    我们在编写MT4 EA或者MT4 脚本的时候,很多时候会遇到止损,止盈小于平台最小止损值,下单不成功的情况。那么我想到的一个解决方案是,弹出一个提示框,让我们选择。选择是,就修改止损,止盈值。 下面是相关的代码: double 冻...

    MQL4编程学习
  • 外汇EA社群发展方向和十大日内模型
    外汇EA社群发展方向和十大日内模型

    这两年程序化设计风起云涌,以期货程序化设计为核心的量化对冲策略蓬勃发展,围绕量化设计的金融社区也日渐兴盛。各种量化沙龙、量化峰会在神州大地遍地开花。这说明程序化设计的春天已经到来! 外汇EA的发展速度不如期...

    MQL4编程学习
  • EA智能交易测试报告中数字的意义
    EA智能交易测试报告中数字的意义

    任何交易可以在历史数据上测试。在测试完成之后,总结性的结果和一些特性会在“报告”标签显示。报告允许对不同智能交易进行对比,对于相同而不同输入数据的智能交易进行对比。本文将会详细解析测试报告中的数字意义。...

    MQL4编程学习
你可能感兴趣