//+------------------------------------------------------------------+
//| 一键平仓含挂单全商品版脚本.mq4 |
//| Copyright 2015, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart()
{
//---
int tick[200]={-1};
int pingFlag=0,slipPage=3;
int j=0,i;
for(i=0;i
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
{
j++;
tick[j]=OrderTicket();
Print("全部平仓:",tick[j]);
}
else{Print("订单选择失败:",GetLastError());}
}
if(j!=0) //如果有持仓
{
for(i=1;i<=j;i++)
{
int ticket=tick;
if(OrderSelect(ticket,SELECT_BY_TICKET)==true)
{
int cmd=OrderType();
if(cmd==OP_BUY)
{
if(OrderClose(ticket,OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),slipPage)==false)
{pingFlag=1;Print("多头平仓失败:",GetLastError()," 订单号:",ticket);}
}
else if(cmd==OP_SELL)
{
if(OrderClose(ticket,OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),slipPage)==false)
{pingFlag=1;Print("空头平仓失败:",GetLastError()," 订单号:",ticket);}
}
else if(cmd==OP_BUYLIMIT)
{
if(OrderDelete(OrderTicket(),CLR_NONE)==false)
{pingFlag=1;Print("多头Limit挂单撤销失败:",GetLastError()," 订单号:",ticket);}
}
else if(cmd==OP_SELLLIMIT)
{
if(OrderDelete(OrderTicket(),CLR_NONE)==false)
{pingFlag=1;Print("空头Limit挂单撤销失败:",GetLastError()," 订单号:",ticket);}
}
else if(cmd==OP_BUYSTOP)
{
if(OrderDelete(OrderTicket(),CLR_NONE)==false)
{pingFlag=1;Print("多头Stop挂单撤销失败:",GetLastError()," 订单号:",ticket);}
}
else if(cmd==OP_SELLSTOP)
{
if(OrderDelete(OrderTicket(),CLR_NONE)==false)
{pingFlag=1;Print("空头Stop挂单撤销失败:",GetLastError()," 订单号:",ticket);}
}
}
else
{Print("选择订单失败:",GetLastError()," 订单号:",ticket);}
}//for
}//if
if(pingFlag==0)
{Alert("平仓成功");}
else
{Alert("平仓失败,再来一次");}
}
//+------------------------------------------------------------------+
|