📅 财经日历 📊 实时波动 📈 大盘云图 📶 行情走势 🆚 投机情绪 🚀 今日热点

    自定义函数 平所有持仓单(含挂单)

    2017-02-16 · 3290 阅读
    1. void CloseAllOrder()//平掉所有仓位包括挂单
    2. {  
    3.   int tick[200];
    4.   PingFlag=0;
    5.   int j=0;
    6.   for(int i=0;i<OrdersTotal();i++)
    7.    {
    8.      OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
    9.      if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
    10.      {j=j+1;
    11.       tick[j]=OrderTicket();      
    12.       Print("全部平仓! :",tick[j]);   
    13.      }
    14.    }
    15. if (j!=0)
    16. {
    17.    for(i=1;i<=j;i++)
    18.     {
    19.      OrderSelect(tick, SELECT_BY_TICKET);
    20.      if(OrderType()==OP_BUY)
    21.       {
    22.        if(OrderClose(OrderTicket(),OrderLots(),Bid,滑点可接受范围)==false)
    23.        {
    24.         PingFlag=1;
    25.         Print("多头平仓失败"+GetLastError());
    26.        }
    27.       }
    28.       
    29.      //OrderSelect(tick, SELECT_BY_TICKET);
    30.      if(OrderType()==OP_BUYSTOP)
    31.       {
    32.        if(OrderDelete(OrderTicket(),CLR_NONE)==false)
    33.        {
    34.         PingFlag=1;
    35.         Print("多头挂单撤销失败"+GetLastError());
    36.        }
    37.       }
    38.      //OrderSelect(tick, SELECT_BY_TICKET);
    39.      if(OrderType()==OP_BUYLIMIT)
    40.       {
    41.        if(OrderDelete(OrderTicket(),CLR_NONE)==false)
    42.        {
    43.         PingFlag=1;
    44.    Print("多头挂单撤销失败"+GetLastError());
    45.        }
    46.       }
    47.      if(OrderType()==OP_SELL)
    48.       {
    49.        if(OrderClose(OrderTicket(),OrderLots(),Ask,滑点可接受范围)==false)
    50.        {
    51.         PingFlag=1;
    52.         Print("空头平仓失败"+GetLastError());
    53.        }
    54.       }
    55.       
    56.       if(OrderType()==OP_SELLSTOP)
    57.       {
    58.        if(OrderDelete(OrderTicket(),CLR_NONE)==false)
    59.        {
    60.         PingFlag=1;
    61.         Print("空头挂单撤销失败"+GetLastError());
    62.        }
    63.       }     
    64.       if(OrderType()==OP_SELLLIMIT)
    65.       {
    66.        if(OrderDelete(OrderTicket(),CLR_NONE)==false)
    67.        {
    68.         PingFlag=1;
    69.         Print("空头挂单撤销失败"+GetLastError());
    70.        }
    71.       }
    72.     }
    73.    }
    74.   if (PingFlag==0) PingStop=1;
    75. }
    复制代码


    ""
    还没有人打赏,支持一下
    回复

    举报

     

    回答|共 1 个

    ssvlq LV0

    发表于 2018-9-25 14:46:48 | 显示全部楼层

    点赞
    您需要登录后才可以回帖 登录 | 注册

    提醒: 禁止引战、谩骂、灌水内容

    微信二维码

    有问题联系客服