//close void zcloseall(){
bool result;
double bprice;
int cmd,error;
int total = OrdersTotal();
for (int i = total - 1; i >= 0; i --)
{
if(OrderSelect(i,SELECT_BY_POS))
{
cmd=OrderType();
//---- if order is buy if(cmd==OP_BUY )
{bprice=Bid;
while(true)
{
Profit=OrderProfit();
k=OrderTicket();
// call sell ticket
mcloseall();
}
}
}
elsePrint( "Error when order select ", GetLastError());
}
}
void mcloseall(){
bool result;
double sprice;
int cmd,error;
int total = OrdersTotal();
for (int i = total - 1; i >= 0; i --)
{
if(OrderSelect(i,SELECT_BY_POS))
{
cmd=OrderType();
//---- if order is sellif(cmd==OP_SELL)
{
while(true)
{sprice=Ask;
if (Profit+OrderProfit()>0&&Profit+OrderProfit()<5)
{ result=OrderClose(OrderTicket(),OrderLots(),sprice,3,CLR_NONE) ;
OrderClose(k,OrderLots(),sprice,3,CLR_NONE) ;
}
}
}
}
elsePrint( "Error when order select ", GetLastError());
}
//----
}
下了好多单,有buy 和sell的,手数都不同。
如果一个buy 的利润加上一个sell的利润大于0, 同时平了这两个单。
我写的代码总是测试不成功,那位高手帮看看啊?或者发一段现成的代码给我也可以的。