平掉所有持仓单
先循环读取所有持仓单,并过滤掉非本K线商品的持仓单,循环的同时,用数组记录所有过滤后的持仓单的Ticket号码及多空类型。然后循环一次选择每一个Ticket对应的持仓单,并更具多空类型进行平仓。bool ClosePosition()//Close all holding positions
{
bool Flag=true;
int tick,tp;
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=OrderTicket();
tp=OrderType();
}
}
if (j!=0)
{
for(i=1;i<=j;i++)
{
OrderSelect(tick, SELECT_BY_TICKET);
switch(tp)
{
case OP_BUY:
if(OrderClose(tick,OrderLots(),Bid,滑点偏移点数,CLR_NONE)==false) Flag=false;
break;
case OP_SELL:
if(OrderClose(tick,OrderLots(),Ask,滑点偏移点数,CLR_NONE)==false) Flag=false;
break;
}
}
}
return(Flag);
}
6666666666666666 很好的 学习帖子。谢谢! 谢谢分享谢谢分享
页:
[1]