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;
}
声明:本站所有文章,如无特殊说明或标注,均为发布作者原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
风险提示:擅自从事外汇保证金交易的双方不受法律保护!本站展示的EA等外汇交易软件,本网站没有审核职责,用户应谨慎下载使用,使用过程中带来的风险与EA分享网(www.eafxw.com)无关,用户需自行承担相关后果和责任。