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

2026-02-06 09:39
小编
阅读
行业动态

void CloseAllOrder()//平掉所有仓位包括挂单

{

int tick[200];

PingFlag=0;

int j=0;

for(int i=0;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;

}

点击咨询交易开户相关问题

免责声明:本文内容仅供参考,不构成投资建议。投资有风险,入市需谨慎。