小女子刚学EA 简单问题请大家指点一下

 
for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()<=OP_SELL && OrderSymbol()==Symbol())
{
if(OrderType()==OP_SELL)
{
if(macdb>macds)
{
OrderClose(OrderTicket(),OrderLots(),Ask,300,Violet);
}
if (OrderType()==OP_BUY)
{
if(macdb<macds)
{
OrderClose(OrderTicket(),OrderLots(),Bid,300,Violet);

}

这段代码里为什么只平卖单 平不了买单?也就是只能第一个If 的语句

我把买卖倒一下 买放上面 卖放下面 结果只平买单了

 
for(cnt=0;cnt<total;cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

if(OrderType()<=OP_SELL && OrderSymbol()==Symbol())
{
if(OrderType()==OP_SELL)
{
if(macdb>macds)
{
OrderClose(OrderTicket(),OrderLots(),Ask,300,Violet);

}

}

if (OrderType()==OP_BUY)
{
if(macdb<macds)
{
OrderClose(OrderTicket(),OrderLots(),Bid,300,Violet);

}

}

}

原因: